Skip to content

Commit 12deff5

Browse files
committed
set first and last name when provisioning a new member
1 parent b16c132 commit 12deff5

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

src/api/functions/entraId.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ export async function patchUserProfile(
431431
token: string,
432432
email: string,
433433
userId: string,
434-
data: ProfilePatchRequest,
434+
data: Partial<ProfilePatchRequest>,
435435
): Promise<void> {
436436
try {
437437
const url = `https://graph.microsoft.com/v1.0/users/${userId}`;

src/api/functions/membership.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
addToTenant,
1111
isUserInGroup,
1212
modifyGroup,
13+
patchUserProfile,
1314
resolveEmailToOid,
1415
} from "./entraId.js";
1516
import { EntraGroupError } from "common/errors/index.js";
@@ -112,6 +113,8 @@ export async function setPaidMembershipInTable(
112113

113114
type SetPaidMembershipInput = {
114115
netId: string;
116+
firstName: string;
117+
lastName: string;
115118
dynamoClient: DynamoDBClient;
116119
entraToken: string;
117120
paidMemberGroup: string;
@@ -126,6 +129,8 @@ export async function setPaidMembership({
126129
dynamoClient,
127130
entraToken,
128131
paidMemberGroup,
132+
firstName,
133+
lastName,
129134
}: SetPaidMembershipInput): Promise<SetPaidMembershipOutput> {
130135
const dynamoResult = await setPaidMembershipInTable(
131136
netId,
@@ -151,13 +156,19 @@ export async function setPaidMembership({
151156
30000,
152157
4000,
153158
);
159+
const oid = await resolveEmailToOid(entraToken, email);
154160
await modifyGroup(
155161
entraToken,
156162
email,
157163
paidMemberGroup,
158164
EntraGroupActions.ADD,
159165
dynamoClient,
160166
);
167+
await patchUserProfile(entraToken, email, oid, {
168+
displayName: `${firstName} ${lastName}`,
169+
givenName: firstName,
170+
surname: lastName,
171+
});
161172

162173
return { updated: true };
163174
}

src/api/sqs/handlers/provisionNewMember.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ export const provisionNewMemberHandler: SQSHandlerFunction<
3939
dynamoClient: clients.dynamoClient,
4040
entraToken,
4141
paidMemberGroup: currentEnvironmentConfig.PaidMemberGroupId,
42+
firstName,
43+
lastName,
4244
});
4345
if (updated) {
4446
const logPromise = createAuditLogEntry({

0 commit comments

Comments
 (0)