view data fixes
This commit is contained in:
@@ -1,32 +1,39 @@
|
||||
import { Result } from '@/lib/contracts/Result';
|
||||
import type { Mutation } from '@/lib/contracts/mutations/Mutation';
|
||||
import type { DomainError } from '@/lib/contracts/services/Service';
|
||||
import { DriverProfileUpdateService } from '@/lib/services/drivers/DriverProfileUpdateService';
|
||||
import type { Mutation } from '@/lib/contracts/mutations/Mutation';
|
||||
import { Result } from '@/lib/contracts/Result';
|
||||
|
||||
export interface UpdateDriverProfileCommand {
|
||||
bio?: string;
|
||||
country?: string;
|
||||
}
|
||||
|
||||
type UpdateDriverProfileMutationError = 'DRIVER_PROFILE_UPDATE_FAILED';
|
||||
|
||||
const mapToMutationError = (_: DomainError): UpdateDriverProfileMutationError => {
|
||||
return 'DRIVER_PROFILE_UPDATE_FAILED';
|
||||
};
|
||||
export type UpdateDriverProfileMutationError = 'DRIVER_PROFILE_UPDATE_FAILED';
|
||||
|
||||
export class UpdateDriverProfileMutation
|
||||
implements Mutation<UpdateDriverProfileCommand, void, UpdateDriverProfileMutationError>
|
||||
{
|
||||
private readonly service: DriverProfileUpdateService;
|
||||
|
||||
constructor() {
|
||||
this.service = new DriverProfileUpdateService();
|
||||
}
|
||||
|
||||
async execute(
|
||||
command: UpdateDriverProfileCommand,
|
||||
): Promise<Result<void, UpdateDriverProfileMutationError>> {
|
||||
const service = new DriverProfileUpdateService();
|
||||
const result = await service.updateProfile({ bio: command.bio, country: command.country });
|
||||
try {
|
||||
const result = await this.service.updateProfile({
|
||||
bio: command.bio,
|
||||
country: command.country,
|
||||
});
|
||||
|
||||
if (result.isErr()) {
|
||||
return Result.err(mapToMutationError(result.getError()));
|
||||
if (result.isErr()) {
|
||||
return Result.err('DRIVER_PROFILE_UPDATE_FAILED');
|
||||
}
|
||||
|
||||
return Result.ok(undefined);
|
||||
} catch (error) {
|
||||
return Result.err('DRIVER_PROFILE_UPDATE_FAILED');
|
||||
}
|
||||
|
||||
return Result.ok(undefined);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user