diff --git a/dictation_server/src/gateways/adb2c/adb2c.service.ts b/dictation_server/src/gateways/adb2c/adb2c.service.ts index 1704f44..7d8c17b 100644 --- a/dictation_server/src/gateways/adb2c/adb2c.service.ts +++ b/dictation_server/src/gateways/adb2c/adb2c.service.ts @@ -233,6 +233,26 @@ export class AdB2cService { this.logger.log(`[OUT] [${context.trackingId}] ${this.getUsers.name}`); } } + /** + * Azure AD B2Cからユーザ情報を削除する + * @param externalId 外部ユーザーID + * @param context コンテキスト + */ + async deleteUser(externalId: string, context: Context): Promise { + this.logger.log( + `[IN] [${context.trackingId}] ${this.deleteUser.name} | params: { externalId: ${externalId} };`, + ); + + try { + // https://learn.microsoft.com/en-us/graph/api/user-delete?view=graph-rest-1.0&tabs=javascript#example + await this.graphClient.api(`users/${externalId}`).delete(); + } catch (e) { + this.logger.error(`error=${e}`); + throw e; + } finally { + this.logger.log(`[OUT] [${context.trackingId}] ${this.deleteUser.name}`); + } + } } // TODO [Task2002] 文字列の配列を15要素ずつ区切る(この処理も別タスクで削除予定)