{"version":3,"file":"ChR8-1-m.js","sources":["../../../../ClientWebAppSrc/parts/users/usersConstantsProvider.ts","../../../../ClientWebAppSrc/parts/users/users.referential.service.ts"],"sourcesContent":["export default class UsersConstantsProvider {\r\n static UserTypeName = \"ApiWebApp.v1.Core.Persons.Api.PersonModel\";\r\n}\r\n","import EService from '~/parts/core/services/eService';\r\nimport { type PersonEntityFilter,\r\n type UserAccount, type UserAuth, type UserRef\r\n} from '~/parts/users';\r\nimport { type Filter } from \"~/parts/entityFilter\";\r\nimport {\r\n type DisplayableRef, type ReferentialInfo, type Referential\r\n} from '~/parts/referentials';\r\nimport PermissionsConstantsProvider\r\n from \"~/parts/users/permissions/permissionsConstantsProvider\";\r\nimport UsersConstantsProvider\r\n from \"~/parts/users/usersConstantsProvider\";\r\nimport { InputType } from '~/parts/core';\r\n\r\n\r\nexport function userItemText(item: User) {\r\n const name = `${item.firstName || \"\"} ${item.lastName || \"\"}`;\r\n return name.trim() == \"\" ? item.email : name;\r\n}\r\n\r\nclass UsersService 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 typeName: UsersConstantsProvider.UserTypeName,\r\n metaData: [\r\n { text: \"#\", value: \"id\", isKey: true },\r\n { textKey: \"firstName\", value: \"firstName\", inputOption: { type: InputType.Text } },\r\n { textKey: \"lastName\", value: \"lastName\", inputOption: { type: InputType.Text } },\r\n { textKey: \"email\", value: \"email\", inputOption: { type: InputType.Text } },\r\n { textKey: \"activated\", value: \"isActivated\", visibleOn: \"readOnly\", inputOption: { type: InputType.Custom } },\r\n {\r\n textKey: \"accesses\", value: \"accesses\", inputOption: {\r\n type: InputType.Dynamic, selectMode: \"multiple\",\r\n lookup: { typeName: PermissionsConstantsProvider.AccessTypeName, valueField: \"id\", textField: \"name\" }\r\n }\r\n },\r\n { textKey: \"password\", visibleOn: \"readOnly\", custom: { cellTemplateName: \"password\" } },\r\n {\r\n textKey: \"filters\", visibleOn: \"editOnly\", value: \"filters\",\r\n custom: { editTemplateName: \"filters\" }\r\n }\r\n ],\r\n helpers: {\r\n getSearchablePropertiesValues: (item: User, lookups: { [key: string]: Array }) => {\r\n const searchablePropertiesValues = [item.id, item.email, item.firstName, item.lastName];\r\n const lookupData = lookups.accesses as Array;\r\n const accesses = lookupData.filter(a => item.accesses.includes(a.id));\r\n if (!!accesses)\r\n searchablePropertiesValues.push(...accesses.map(p => p.name));\r\n return searchablePropertiesValues;\r\n }\r\n }\r\n }];\r\n }\r\n\r\n async getAll() {\r\n var persons = await this.http.get>('persons/all/');\r\n return persons;\r\n }\r\n\r\n async saveUserFilters(user: UserRef) {\r\n if (user.filters) {\r\n const filters = Object.entries(user.filters).map(curr => {\r\n const [key, value] = curr;\r\n const allSelected = (value as Array).some(f => f == 0);\r\n const entityFilters = allSelected ? [{ id: 0 } as DisplayableRef] :\r\n (value as Array).map(cu => ({ id: cu } as DisplayableRef));\r\n return {\r\n type: key,\r\n Filters: entityFilters\r\n } as Filter;\r\n });\r\n const userFilters: PersonEntityFilter = {\r\n personId: user.id,\r\n entityFilter: filters\r\n };\r\n return await this.saveFilters(userFilters);\r\n }\r\n return true;\r\n }\r\n\r\n async saveUserAccount(userAccount: UserAccount) {\r\n const accountResult = await this.http.put(\"persons/saveAccount\", userAccount);\r\n return accountResult;\r\n }\r\n\r\n async save(user: User) {\r\n const personResponse = await this.http.post('persons/save/', user);\r\n const filterResult = personResponse ? await this.saveUserFilters(user) : false;\r\n return personResponse && filterResult ? personResponse : false;\r\n }\r\n\r\n async delete(user: User) {\r\n const response = await this.http.post(`persons/delete/${user.id}/`);\r\n return response;\r\n }\r\n\r\n async activateAccount(user: User) {\r\n const response = await this.http.post(`persons/activate/${user.id}`);\r\n return response;\r\n }\r\n\r\n async desableAccount(user: User) {\r\n const response = await this.http.post(`persons/deActivate/${user.id}/`);\r\n return response;\r\n }\r\n\r\n async sendRecoveryRequest(user: User) {\r\n const response = await this.http.post(`persons/passwordRecoveryRequest/`, user);\r\n return response;\r\n }\r\n\r\n async checkPasswordRecoveryToken(token: string) {\r\n const response = await this.http.get(`persons/checkPasswordRecoveryToken?token=${token}`);\r\n return response;\r\n }\r\n\r\n async passwordRecovery(user: UserAuth, token: string) {\r\n const response = await this.http.put(`persons/passwordRecovery?token=${token}`, user);\r\n return response;\r\n }\r\n\r\n async register(user: UserAuth) {\r\n const response = await this.http.post(`authentication/singUp`, user);\r\n return response;\r\n }\r\n\r\n async saveFilters(userFilters: PersonEntityFilter) {\r\n const response = await this.http.put(`persons/saveFilters`, userFilters);\r\n return response;\r\n }\r\n\r\n override toString(user: User, isInitiale: boolean = false) {\r\n const names = [user.firstName, user.lastName, user.email]\r\n .filter(n => !!n).map(n => (n as string));\r\n if (isInitiale) {\r\n return names.slice(0, 2).map(n => n.charAt(0)).join(\" \").toUpperCase();\r\n }\r\n return names.slice(0, 2).join(\" \");\r\n }\r\n}\r\n\r\nexport default UsersService;\r\n"],"names":["UsersConstantsProvider","__publicField","userItemText","item","name","UsersService","EService","useApiKey","InputType","PermissionsConstantsProvider","lookups","searchablePropertiesValues","accesses","a","p","persons","user","filters","curr","key","value","entityFilters","f","cu","userFilters","userAccount","personResponse","filterResult","token","isInitiale","names","n"],"mappings":"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"}