import { delay } from '../../../../common/utils/delay_time';
import { AuthDataSource } from '../../../domain/datasources/auth_datasource';
import { LoginInfoEntity } from '../../../domain/entities/login_info_entity';
import { RegisterInfoEntity } from '../../../domain/entities/register_info';
import { ResetPasswordInfoEntity } from '../../../domain/entities/reset_password_entity';
import { UserInfoEntity } from '../../../domain/entities/user_info_entity';
export class AuthDataSourceDev implements AuthDataSource {
    getResetCode (email: string): Promise<void>{
        throw new Error("Method not implemented.");
    }
    resetPassword (resetInfo: ResetPasswordInfoEntity): Promise<void> {
        throw new Error("Method not implemented.");
    }
    async login(email: string, password: string): Promise<LoginInfoEntity>{
        await delay(1000);
        return new Promise((resolve) => {
            resolve({
                user: {
                    id: 1,
                    email: email,
                    name: 'John',
                    lastName: 'Doe',
                    birthDate: new Date('1990-01-01'),
                },
                token: 'token'
            })});
    }
    async register(user: RegisterInfoEntity): Promise<LoginInfoEntity>{
        return new Promise((resolve) => {
            resolve({
                user: {
                    id: 1,
                    email: user.email,
                    name: user.name,
                    lastName: user.lastName,
                    birthDate: new Date('1990-01-01'),
                },
                token: 'token'
            })});
    }
    
}
