diff --git a/src/directory-sync/interfaces/directory-user.interface.ts b/src/directory-sync/interfaces/directory-user.interface.ts index d0933ac77..42274999d 100644 --- a/src/directory-sync/interfaces/directory-user.interface.ts +++ b/src/directory-sync/interfaces/directory-user.interface.ts @@ -20,6 +20,8 @@ export interface DirectoryUser< firstName: string | null; email: string | null; lastName: string | null; + /** The full name of the user, as provided by the identity provider. */ + name: string | null; state: 'active' | 'suspended' | 'inactive'; role?: RoleResponse; roles?: RoleResponse[]; @@ -41,6 +43,7 @@ export interface DirectoryUserResponse< first_name: string | null; email: string | null; last_name: string | null; + name: string | null; state: 'active' | 'suspended' | 'inactive'; role?: RoleResponse; roles?: RoleResponse[]; diff --git a/src/directory-sync/serializers/directory-user.serializer.ts b/src/directory-sync/serializers/directory-user.serializer.ts index 363484e1c..8a58a6681 100644 --- a/src/directory-sync/serializers/directory-user.serializer.ts +++ b/src/directory-sync/serializers/directory-user.serializer.ts @@ -24,6 +24,7 @@ export const deserializeDirectoryUser = < firstName: directoryUser.first_name, email: directoryUser.email, lastName: directoryUser.last_name, + name: directoryUser.name ?? null, state: directoryUser.state, ...(directoryUser.role !== undefined && { role: directoryUser.role }), ...(directoryUser.roles !== undefined && { roles: directoryUser.roles }), @@ -53,6 +54,7 @@ export const deserializeUpdatedEventDirectoryUser = ( firstName: directoryUser.first_name, email: directoryUser.email, lastName: directoryUser.last_name, + name: directoryUser.name ?? null, state: directoryUser.state, ...(directoryUser.role !== undefined && { role: directoryUser.role }), ...(directoryUser.roles !== undefined && { roles: directoryUser.roles }), diff --git a/src/events/events.spec.ts b/src/events/events.spec.ts index 411da43fe..c8b123216 100644 --- a/src/events/events.spec.ts +++ b/src/events/events.spec.ts @@ -1537,6 +1537,7 @@ describe('Event', () => { organizationId: 'org_123', email: 'jonsnow@workos.com', firstName: 'Jon', + name: 'Jon Snow', idpId: 'idp_foo', lastName: 'Snow', rawAttributes: {}, @@ -1564,6 +1565,7 @@ describe('Event', () => { organization_id: 'org_123', email: 'jonsnow@workos.com', first_name: 'Jon', + name: 'Jon Snow', idp_id: 'idp_foo', last_name: 'Snow', raw_attributes: {}, diff --git a/src/webhooks/fixtures/webhook.json b/src/webhooks/fixtures/webhook.json index 8e54220f8..ca238cd30 100644 --- a/src/webhooks/fixtures/webhook.json +++ b/src/webhooks/fixtures/webhook.json @@ -7,6 +7,7 @@ "object": "directory_user", "last_name": "Lunchford", "first_name": "Blair", + "name": "Blair Lunchford", "directory_id": "directory_01F9M7F68PZP8QXP8G7X5QRHS7", "created_at": "2021-06-25T19:07:33.155Z", "updated_at": "2021-06-25T19:07:33.155Z", diff --git a/src/webhooks/webhooks.spec.ts b/src/webhooks/webhooks.spec.ts index 13419933c..ba3457286 100644 --- a/src/webhooks/webhooks.spec.ts +++ b/src/webhooks/webhooks.spec.ts @@ -42,6 +42,7 @@ describe('Webhook signatures', () => { object: 'directory_user', lastName: 'Lunchford', firstName: 'Blair', + name: 'Blair Lunchford', directoryId: 'directory_01F9M7F68PZP8QXP8G7X5QRHS7', createdAt: new Date('2021-06-25T19:07:33.155Z'), updatedAt: new Date('2021-06-25T19:07:33.155Z'),