import { delay } from './api';
import { mockStores } from '@/data/mockStores';
import type { AuthSession, LoginPayload, RegisterPayload } from '@/types';

/** Auth mockada. O backend real deve emitir JWT e validar credenciais. */
export const authService = {
  login: (payload: LoginPayload): Promise<AuthSession> => {
    const store = mockStores[0];
    return delay({
      token: 'mock-token-' + Date.now(),
      user: {
        id: 'user_001',
        storeId: store.id,
        name: 'Lojista Demo',
        email: payload.email,
        role: 'lojista',
      },
    });
  },
  register: (payload: RegisterPayload): Promise<AuthSession> => {
    return delay({
      token: 'mock-token-' + Date.now(),
      user: {
        id: 'user_' + Date.now(),
        storeId: mockStores[0].id,
        name: payload.name,
        email: payload.email,
        role: 'lojista',
      },
    });
  },
  logout: () => delay({ success: true }),
};
