rwadurian/backend/services/identity-service/src/domain/aggregates/user-account/user-account.factory.ts

30 lines
830 B
TypeScript

import { Injectable } from '@nestjs/common';
import { UserAccount } from './user-account.aggregate';
import { AccountSequence, PhoneNumber, ProvinceCode, CityCode } from '@/domain/value-objects';
@Injectable()
export class UserAccountFactory {
createAutomatic(params: {
accountSequence: AccountSequence;
initialDeviceId: string;
deviceName?: string;
inviterSequence: AccountSequence | null;
province: ProvinceCode;
city: CityCode;
}): UserAccount {
return UserAccount.createAutomatic(params);
}
create(params: {
accountSequence: AccountSequence;
phoneNumber: PhoneNumber;
initialDeviceId: string;
deviceName?: string;
inviterSequence: AccountSequence | null;
province: ProvinceCode;
city: CityCode;
}): UserAccount {
return UserAccount.create(params);
}
}