{"version":3,"file":"7ASsad5w.js","sources":["../../../../ClientWebAppSrc/parts/users/permissions/permissions.referential.service.ts"],"sourcesContent":["import EService from '~/parts/core/services/eService';\r\nimport { type ReferentialInfo, type Referential } from '~/parts/referentials';\r\nimport { InputType } from '~/parts/core';\r\nimport PermissionsConstantsProvider from \"~/parts/users/permissions/permissionsConstantsProvider\";\r\n\r\nconst PermissionsProvider = {\r\n SuperAdministrator: \"SuperAdministrator\",\r\n DatabaseAdministrator: \"DatabaseAdministrator\",\r\n UserAdministrator: \"UserAdministrator\",\r\n Video: \"Video\",\r\n MediasAdministrator: \"MediasAdministrator\",\r\n Monitoring: \"Monitoring\",\r\n OrganisationAdministrator: \"OrganisationAdministrator\",\r\n Organisation: \"Organisation\"\r\n}\r\n\r\nclass PermissionsService extends EService {\r\n\r\n constructor(useApiKey: boolean = false) {\r\n super(useApiKey);\r\n }\r\n\r\n static getReferentialsInfos(): Array {\r\n return [\r\n {\r\n typeName: PermissionsConstantsProvider.AccessTypeName,\r\n metaData: [\r\n { text: \"#\", value: \"id\", inputOption: { type: InputType.Number }, isKey: true },\r\n { textKey: \"accessname\", value: \"name\", inputOption: { type: InputType.Text } },\r\n { textKey: \"accessCode\", value: \"code\", inputOption: { type: InputType.Text } },\r\n {\r\n textKey: \"permissions\", value: \"permissions\", inputOption: {\r\n type: InputType.Dynamic, selectMode: \"multiple\",\r\n lookup: {\r\n typeName: PermissionsConstantsProvider.PermissionTypeName,\r\n valueField: \"id\",\r\n textField: \"name\"\r\n }\r\n }\r\n }\r\n ],\r\n helpers: {\r\n getSearchablePropertiesValues: (item: Access, lookups: { [key: string]: Array }) => {\r\n const searchablePropertiesValues = [item.id, item.code, item.name];\r\n const lookupData = lookups.permissions as Array;\r\n const permissions = lookupData.filter(p => item.permissions.includes(p.id as number));\r\n if (!!permissions)\r\n searchablePropertiesValues.push(...permissions.map(p => p.name));\r\n return searchablePropertiesValues;\r\n }\r\n }\r\n },\r\n {\r\n typeName: PermissionsConstantsProvider.PermissionTypeName,\r\n loadOnInit: false,\r\n metaData: [\r\n { text: \"#\", value: \"id\", inputOption: { type: InputType.Number }, isKey: true },\r\n { textKey: \"name\", value: \"name\", inputOption: { type: InputType.Text } },\r\n { textKey: \"code\", value: \"code\", inputOption: { type: InputType.Text }, readOnly: true },\r\n {\r\n textKey: \"parent\", value: \"parentId\", inputOption: {\r\n type: InputType.Dynamic,\r\n lookup: {\r\n typeName: PermissionsConstantsProvider.PermissionTypeName,\r\n valueField: \"id\",\r\n textField: \"name\"\r\n }\r\n }\r\n },\r\n { textKey: \"level\", value: \"level\", inputOption: { type: InputType.Text }, readOnly: true }\r\n ],\r\n helpers: {\r\n getSearchablePropertiesValues: (item: Permission, lookups: { [key: string]: Array }) => {\r\n const searchablePropertiesValues = [item.id, item.code, item.name, item.level];\r\n const lookupData = lookups.permissions as Array;\r\n const permissionParent = lookupData.find(p => p.id == item.parentId);\r\n if (!!permissionParent)\r\n searchablePropertiesValues.push(permissionParent.name);\r\n return searchablePropertiesValues;\r\n }\r\n }\r\n }\r\n ];\r\n }\r\n\r\n async initAccessAndPermissions() {\r\n const response = await this.http.get('access/init/');\r\n return response;\r\n }\r\n\r\n async getAllPermissions() {\r\n const permissions = await this.http.get>('access/AllPermissions/');\r\n return permissions;\r\n }\r\n\r\n async savePermission(permission: Permission) {\r\n const response = await this.http.post('access/permission/save/', permission);\r\n return response;\r\n }\r\n\r\n async deletePermission(permission: Permission) {\r\n const response = await this.http.post(`access/permission/delete/`, permission);\r\n return response;\r\n }\r\n\r\n async getAllAccess() {\r\n const accesses = await this.http.get>('access/AllAccess/');\r\n return accesses;\r\n }\r\n\r\n async saveAccess(access: Access) {\r\n const response = await this.http.post('access/save/', access);\r\n return response;\r\n }\r\n\r\n async deleteAccess(access: Access) {\r\n const response = await this.http.post(`access/delete/`, access);\r\n return response;\r\n }\r\n}\r\n\r\nexport default PermissionsService;\r\n\r\nexport { PermissionsProvider }; \r\n"],"names":["PermissionsProvider","PermissionsService","EService","useApiKey","PermissionsConstantsProvider","InputType","item","lookups","searchablePropertiesValues","permissions","p","permissionParent","permission","access"],"mappings":"kDAKA,MAAMA,EAAsB,CACxB,mBAAoB,qBACpB,sBAAuB,wBACvB,kBAAmB,oBACnB,MAAO,QACP,oBAAqB,sBACrB,WAAY,aACZ,0BAA2B,4BAC3B,aAAc,cAClB,EAEA,MAAMC,UAA2BC,CAAS,CAEtC,YAAYC,EAAqB,GAAO,CACpC,MAAMA,CAAS,CAAA,CAGnB,OAAO,sBAA+C,CAC3C,MAAA,CACH,CACI,SAAUC,EAA6B,eACvC,SAAU,CACN,CAAE,KAAM,IAAK,MAAO,KAAM,YAAa,CAAE,KAAMC,EAAU,QAAU,MAAO,EAAK,EAC/E,CAAE,QAAS,aAAc,MAAO,OAAQ,YAAa,CAAE,KAAMA,EAAU,KAAO,EAC9E,CAAE,QAAS,aAAc,MAAO,OAAQ,YAAa,CAAE,KAAMA,EAAU,KAAO,EAC9E,CACI,QAAS,cAAe,MAAO,cAAe,YAAa,CACvD,KAAMA,EAAU,QAAS,WAAY,WACrC,OAAQ,CACJ,SAAUD,EAA6B,mBACvC,WAAY,KACZ,UAAW,MAAA,CACf,CACJ,CAER,EACA,QAAS,CACL,8BAA+B,CAACE,EAAcC,IAAmD,CAC7F,MAAMC,EAA6B,CAACF,EAAK,GAAIA,EAAK,KAAMA,EAAK,IAAI,EAE3DG,EADaF,EAAQ,YACI,OAAOG,GAAKJ,EAAK,YAAY,SAASI,EAAE,EAAY,CAAC,EACpF,OAAMD,GACFD,EAA2B,KAAK,GAAGC,EAAY,IAASC,GAAAA,EAAE,IAAI,CAAC,EAC5DF,CAAA,CACX,CAER,EACA,CACI,SAAUJ,EAA6B,mBACvC,WAAY,GACZ,SAAU,CACN,CAAE,KAAM,IAAK,MAAO,KAAM,YAAa,CAAE,KAAMC,EAAU,QAAU,MAAO,EAAK,EAC/E,CAAE,QAAS,OAAQ,MAAO,OAAQ,YAAa,CAAE,KAAMA,EAAU,KAAO,EACxE,CAAE,QAAS,OAAQ,MAAO,OAAQ,YAAa,CAAE,KAAMA,EAAU,MAAQ,SAAU,EAAK,EACxF,CACI,QAAS,SAAU,MAAO,WAAY,YAAa,CAC/C,KAAMA,EAAU,QAChB,OAAQ,CACJ,SAAUD,EAA6B,mBACvC,WAAY,KACZ,UAAW,MAAA,CACf,CAER,EACA,CAAE,QAAS,QAAS,MAAO,QAAS,YAAa,CAAE,KAAMC,EAAU,IAAQ,EAAA,SAAU,EAAK,CAC9F,EACA,QAAS,CACL,8BAA+B,CAACC,EAAkBC,IAAmD,CAC3F,MAAAC,EAA6B,CAACF,EAAK,GAAIA,EAAK,KAAMA,EAAK,KAAMA,EAAK,KAAK,EAEvEK,EADaJ,EAAQ,YACS,QAAUG,EAAE,IAAMJ,EAAK,QAAQ,EACnE,OAAMK,GACyBH,EAAA,KAAKG,EAAiB,IAAI,EAClDH,CAAA,CACX,CACJ,CAER,CAAA,CAGJ,MAAM,0BAA2B,CAEtB,OADU,MAAM,KAAK,KAAK,IAAI,cAAc,CAC5C,CAGX,MAAM,mBAAoB,CAEf,OADa,MAAM,KAAK,KAAK,IAAuB,wBAAwB,CAC5E,CAGX,MAAM,eAAeI,EAAwB,CAElC,OADU,MAAM,KAAK,KAAK,KAA6B,0BAA2BA,CAAU,CAC5F,CAGX,MAAM,iBAAiBA,EAAwB,CAEpC,OADU,MAAM,KAAK,KAAK,KAAsB,4BAA6BA,CAAU,CACvF,CAGX,MAAM,cAAe,CAEV,OADU,MAAM,KAAK,KAAK,IAAmB,mBAAmB,CAChE,CAGX,MAAM,WAAWC,EAAgB,CAEtB,OADU,MAAM,KAAK,KAAK,KAAqB,eAAgBA,CAAM,CACrE,CAGX,MAAM,aAAaA,EAAgB,CAExB,OADU,MAAM,KAAK,KAAK,KAAkB,iBAAkBA,CAAM,CACpE,CAEf"}