{"version":3,"file":"unlock-user.repository-B_8SNkuA.js","sources":["../../../src/packages/user/user/repository/unlock/unlock-user.server.data-source.ts","../../../src/packages/user/user/repository/unlock/unlock-user.repository.ts"],"sourcesContent":["import type { UmbUnlockUserDataSource } from './types.js';\r\nimport { UserService } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources';\r\n\r\n/**\r\n * A server data source for unlocking users\r\n * @class UmbUnlockUserServerDataSource\r\n */\r\nexport class UmbUnlockUserServerDataSource implements UmbUnlockUserDataSource {\r\n\t#host: UmbControllerHost;\r\n\r\n\t/**\r\n\t * Creates an instance of UmbUnlockUserServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbUnlockUserServerDataSource\r\n\t */\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tthis.#host = host;\r\n\t}\r\n\r\n\t/**\r\n\t * Unlock users\r\n\t * @param {string[]} userIds\r\n\t * @returns {Promise}\r\n\t * @memberof UmbUnlockUserServerDataSource\r\n\t */\r\n\tasync unlock(userIds: string[]) {\r\n\t\tif (!userIds) throw new Error('User ids are missing');\r\n\r\n\t\treturn tryExecuteAndNotify(\r\n\t\t\tthis.#host,\r\n\t\t\tUserService.postUserUnlock({\r\n\t\t\t\trequestBody: {\r\n\t\t\t\t\tuserIds: userIds.map((id) => ({ id })),\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n}\r\n","import { UmbUserRepositoryBase } from '../user-repository-base.js';\r\nimport { UmbUnlockUserServerDataSource } from './unlock-user.server.data-source.js';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { UserStateModel } from '@umbraco-cms/backoffice/external/backend-api';\r\n\r\nexport class UmbUnlockUserRepository extends UmbUserRepositoryBase {\r\n\t#source: UmbUnlockUserServerDataSource;\r\n\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host);\r\n\t\tthis.#source = new UmbUnlockUserServerDataSource(host);\r\n\t}\r\n\r\n\tasync unlock(ids: Array) {\r\n\t\tif (ids.length === 0) throw new Error('User ids are missing');\r\n\t\tawait this.init;\r\n\r\n\t\tconst { data, error } = await this.#source.unlock(ids);\r\n\r\n\t\tif (!error) {\r\n\t\t\tids.forEach((id) => {\r\n\t\t\t\tthis.detailStore?.updateItem(id, { state: UserStateModel.ACTIVE, failedLoginAttempts: 0 });\r\n\t\t\t});\r\n\r\n\t\t\tconst notification = { data: { message: `User unlocked` } };\r\n\t\t\tthis.notificationContext?.peek('positive', notification);\r\n\t\t}\r\n\r\n\t\treturn { data, error };\r\n\t}\r\n}\r\n\r\nexport default UmbUnlockUserRepository;\r\n"],"names":["UmbUnlockUserServerDataSource","#host","host","userIds","tryExecuteAndNotify","UserService","id","UmbUnlockUserRepository","UmbUserRepositoryBase","#source","ids","data","error","UserStateModel","notification"],"mappings":";;;AASO,MAAMA,EAAiE;AAAA,EAC7EC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAYC,GAAyB;AACpC,SAAKD,KAAQC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASd,MAAM,OAAOC,GAAmB;AAC/B,QAAI,CAACA,EAAe,OAAA,IAAI,MAAM,sBAAsB;AAE7C,WAAAC;AAAA,MACN,KAAKH;AAAA,MACLI,EAAY,eAAe;AAAA,QAC1B,aAAa;AAAA,UACZ,SAASF,EAAQ,IAAI,CAACG,OAAQ,EAAE,IAAAA,IAAK;AAAA,QAAA;AAAA,MAEtC,CAAA;AAAA,IACF;AAAA,EAAA;AAEF;AClCO,MAAMC,UAAgCC,EAAsB;AAAA,EAClEC;AAAA,EAEA,YAAYP,GAAyB;AACpC,UAAMA,CAAI,GACL,KAAAO,KAAU,IAAIT,EAA8BE,CAAI;AAAA,EAAA;AAAA,EAGtD,MAAM,OAAOQ,GAAoB;AAChC,QAAIA,EAAI,WAAW,EAAS,OAAA,IAAI,MAAM,sBAAsB;AAC5D,UAAM,KAAK;AAEL,UAAA,EAAE,MAAAC,GAAM,OAAAC,EAAM,IAAI,MAAM,KAAKH,GAAQ,OAAOC,CAAG;AAErD,QAAI,CAACE,GAAO;AACP,MAAAF,EAAA,QAAQ,CAACJ,MAAO;AACd,aAAA,aAAa,WAAWA,GAAI,EAAE,OAAOO,EAAe,QAAQ,qBAAqB,GAAG;AAAA,MAAA,CACzF;AAED,YAAMC,IAAe,EAAE,MAAM,EAAE,SAAS,kBAAkB;AACrD,WAAA,qBAAqB,KAAK,YAAYA,CAAY;AAAA,IAAA;AAGjD,WAAA,EAAE,MAAAH,GAAM,OAAAC,EAAM;AAAA,EAAA;AAEvB;"}