{"version":3,"file":"enable-user.repository-CfOnjr7X.js","sources":["../../../src/packages/user/user/repository/enable/enable-user.server.data-source.ts","../../../src/packages/user/user/repository/enable/enable-user.repository.ts"],"sourcesContent":["import type { UmbEnableUserDataSource } 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 enabling users\r\n * @class UmbEnableUserServerDataSource\r\n */\r\nexport class UmbEnableUserServerDataSource implements UmbEnableUserDataSource {\r\n\t#host: UmbControllerHost;\r\n\r\n\t/**\r\n\t * Creates an instance of UmbEnableUserServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbEnableUserServerDataSource\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 * Enables the specified user ids\r\n\t * @param {string[]} userIds\r\n\t * @returns {Promise}\r\n\t * @memberof UmbEnableUserServerDataSource\r\n\t */\r\n\tasync enable(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.postUserEnable({\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 { UmbUserItemRepository } from '../item/index.js';\r\nimport { UmbEnableUserServerDataSource } from './enable-user.server.data-source.js';\r\nimport { UmbLocalizationController } from '@umbraco-cms/backoffice/localization-api';\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 UmbEnableUserRepository extends UmbUserRepositoryBase {\r\n\t#enableSource: UmbEnableUserServerDataSource;\r\n\t#localize = new UmbLocalizationController(this);\r\n\t#userItemRepository = new UmbUserItemRepository(this);\r\n\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host);\r\n\t\tthis.#enableSource = new UmbEnableUserServerDataSource(host);\r\n\t}\r\n\r\n\tasync enable(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.#enableSource.enable(ids);\r\n\r\n\t\tif (!error) {\r\n\t\t\tconst { data: items } = await this.#userItemRepository.requestItems(ids);\r\n\t\t\tif (!items) throw new Error('Could not load user item');\r\n\r\n\t\t\t// TODO: get state from item when available\r\n\t\t\tids.forEach((id) => {\r\n\t\t\t\tthis.detailStore?.updateItem(id, { state: UserStateModel.ACTIVE });\r\n\t\t\t});\r\n\r\n\t\t\tlet message = this.#localize.term('speechBubbles_enableUsersSuccess', items.length);\r\n\r\n\t\t\tif (items.length === 1) {\r\n\t\t\t\tconst names = items?.map((item) => item.name).join(', ');\r\n\t\t\t\tmessage = this.#localize.term('speechBubbles_enableUserSuccess', names);\r\n\t\t\t}\r\n\r\n\t\t\tconst notification = { data: { message } };\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 UmbEnableUserRepository;\r\n"],"names":["UmbEnableUserServerDataSource","#host","host","userIds","tryExecuteAndNotify","UserService","id","UmbEnableUserRepository","UmbUserRepositoryBase","#enableSource","#localize","UmbLocalizationController","#userItemRepository","UmbUserItemRepository","ids","data","error","items","UserStateModel","message","names","item","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;AChCO,MAAMC,UAAgCC,EAAsB;AAAA,EAClEC;AAAA,EACAC,KAAY,IAAIC,EAA0B,IAAI;AAAA,EAC9CC,KAAsB,IAAIC,EAAsB,IAAI;AAAA,EAEpD,YAAYX,GAAyB;AACpC,UAAMA,CAAI,GACL,KAAAO,KAAgB,IAAIT,EAA8BE,CAAI;AAAA,EAAA;AAAA,EAG5D,MAAM,OAAOY,GAAoB;AAChC,QAAIA,EAAI,WAAW,EAAS,OAAA,IAAI,MAAM,sBAAsB;AAC5D,UAAM,KAAK;AAEL,UAAA,EAAE,MAAAC,GAAM,OAAAC,EAAM,IAAI,MAAM,KAAKP,GAAc,OAAOK,CAAG;AAE3D,QAAI,CAACE,GAAO;AACL,YAAA,EAAE,MAAMC,EAAM,IAAI,MAAM,KAAKL,GAAoB,aAAaE,CAAG;AACvE,UAAI,CAACG,EAAa,OAAA,IAAI,MAAM,0BAA0B;AAGlD,MAAAH,EAAA,QAAQ,CAACR,MAAO;AACnB,aAAK,aAAa,WAAWA,GAAI,EAAE,OAAOY,EAAe,QAAQ;AAAA,MAAA,CACjE;AAED,UAAIC,IAAU,KAAKT,GAAU,KAAK,oCAAoCO,EAAM,MAAM;AAE9E,UAAAA,EAAM,WAAW,GAAG;AACjB,cAAAG,IAAQH,GAAO,IAAI,CAACI,MAASA,EAAK,IAAI,EAAE,KAAK,IAAI;AACvD,QAAAF,IAAU,KAAKT,GAAU,KAAK,mCAAmCU,CAAK;AAAA,MAAA;AAGvE,YAAME,IAAe,EAAE,MAAM,EAAE,SAAAH,IAAU;AACpC,WAAA,qBAAqB,KAAK,YAAYG,CAAY;AAAA,IAAA;AAGjD,WAAA,EAAE,MAAAP,GAAM,OAAAC,EAAM;AAAA,EAAA;AAEvB;"}