Skip to content

Commit f4bc19a

Browse files
committed
return related partner to UI from user - org methods
1 parent 6f22b46 commit f4bc19a

File tree

3 files changed

+23
-10
lines changed

3 files changed

+23
-10
lines changed

src/components/user/dto/assign-organization-to-user.dto.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Field, InputType, ObjectType } from '@nestjs/graphql';
22
import { Type } from 'class-transformer';
33
import { ValidateNested } from 'class-validator';
44
import { type ID, IdField } from '~/common';
5-
import { User } from './user.dto';
5+
import { Partner } from '../../../components/partner/dto';
66

77
@InputType()
88
export class AssignOrganizationToUser {
@@ -27,5 +27,5 @@ export abstract class AssignOrganizationToUserInput {
2727
@ObjectType()
2828
export abstract class AssignOrganizationToUserOutput {
2929
@Field()
30-
readonly assignment: User;
30+
readonly partner: Partner;
3131
}

src/components/user/dto/remove-organization-from-user.dto.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { Field, InputType, ObjectType } from '@nestjs/graphql';
22
import { Type } from 'class-transformer';
33
import { ValidateNested } from 'class-validator';
4-
import { type ID, IdField, MutationPlaceholderOutput } from '~/common';
4+
import { type ID, IdField } from '~/common';
5+
import { Partner } from '../../../components/partner/dto';
56

67
@InputType()
78
export class RemoveOrganizationFromUser {
@@ -21,4 +22,7 @@ export abstract class RemoveOrganizationFromUserInput {
2122
}
2223

2324
@ObjectType()
24-
export abstract class RemoveOrganizationFromUserOutput extends MutationPlaceholderOutput {}
25+
export abstract class RemoveOrganizationFromUserOutput {
26+
@Field()
27+
readonly partner: Partner;
28+
}

src/components/user/user.resolver.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,15 @@ import { TimeZoneService } from '../timezone';
3131
import { SecuredTimeZone } from '../timezone/timezone.dto';
3232
import {
3333
AssignOrganizationToUserInput,
34+
AssignOrganizationToUserOutput,
3435
CheckEmailArgs,
3536
CreatePersonInput,
3637
CreatePersonOutput,
3738
DeleteUserOutput,
3839
KnownLanguage,
3940
ModifyKnownLanguageArgs,
4041
RemoveOrganizationFromUserInput,
42+
RemoveOrganizationFromUserOutput,
4143
UpdateUserInput,
4244
UpdateUserOutput,
4345
User,
@@ -264,24 +266,31 @@ export class UserResolver {
264266
return await this.userService.readOne(userId);
265267
}
266268

267-
@Mutation(() => User, {
269+
@Mutation(() => AssignOrganizationToUserOutput, {
268270
description: 'Assign organization OR primaryOrganization to user',
269271
})
270272
async assignOrganizationToUser(
271273
@Args('input') input: AssignOrganizationToUserInput,
272-
): Promise<User> {
274+
): Promise<AssignOrganizationToUserOutput> {
273275
await this.userService.assignOrganizationToUser(input.assignment);
274-
return await this.userService.readOne(input.assignment.userId);
276+
const partner = await this.partnerService.readOnePartnerByOrgId(
277+
input.assignment.orgId,
278+
);
279+
280+
return { partner };
275281
}
276282

277-
@Mutation(() => User, {
283+
@Mutation(() => RemoveOrganizationFromUserOutput, {
278284
description: 'Remove organization OR primaryOrganization from user',
279285
})
280286
async removeOrganizationFromUser(
281287
@Args('input') input: RemoveOrganizationFromUserInput,
282-
): Promise<User> {
288+
): Promise<RemoveOrganizationFromUserOutput> {
283289
await this.userService.removeOrganizationFromUser(input.assignment);
284-
return await this.userService.readOne(input.assignment.userId);
290+
const partner = await this.partnerService.readOnePartnerByOrgId(
291+
input.assignment.orgId,
292+
);
293+
return { partner };
285294
}
286295

287296
@Mutation(() => User, {

0 commit comments

Comments
 (0)