{"version":3,"file":"account-groups.js","sources":["../Account/Groups/Groups.access.ts","../Account/Groups/services/groupService.ts","../Account/Groups/GroupEdit.vue","../Account/Groups/GroupListItem.vue","../Account/Groups/Groups.vue","../Account/Groups/Groups.entry.ts"],"sourcesContent":["import { api } from '@cwd/lib/main';\r\n\r\nexport interface Group {\r\n GroupId: string;\r\n Name: string;\r\n UserCount: number;\r\n ObjectCount: number;\r\n Users?: GroupUserReference[];\r\n}\r\n\r\nexport interface SaveGroup {\r\n name: string;\r\n groupId?: string;\r\n}\r\n\r\nexport interface GroupUserReference {\r\n UserId: string;\r\n FirstName: string;\r\n LastName: string;\r\n Name: string;\r\n UserName: string;\r\n Email?: string;\r\n}\r\n\r\nexport const getGroups = (): Promise => api.get('/Groups');\r\nexport const getUsersInGroups = (groupId: string): Promise => api.get(`/Groups/${groupId}/Users`);\r\nexport const addUserToGroup = (groupId: string, userId: string): Promise => api.post(`/Groups/${groupId}/Add/${userId}`);\r\nexport const removeUserFromGroup = (groupId: string, userId: string): Promise => api.post(`/Groups/${groupId}/Remove/${userId}`);\r\nexport const saveGroup = (group: SaveGroup): Promise => api.post('/Groups', group);\r\nexport const deleteGroup = (groupId: string): Promise => api.delete(`/Groups/${groupId}`);\r\nexport const getUsersToAddToGroups = (): Promise => api.get(`/Users?$orderby=Email`);\r\n","import { addUserToGroup, deleteGroup, getGroups, saveGroup } from '../Groups.access';\r\nimport { Group } from '../Groups.access';\r\nimport { bsAlert } from '@shared/components/BsAlerts';\r\n\r\nexport const fetchGroups = async (): Promise => {\r\n try {\r\n const groups = await getGroups();\r\n return groups;\r\n } catch (error) {\r\n bsAlert({\r\n type: 'danger',\r\n title: $Resources.ErrorHeading,\r\n content: $Resources.AclErrorFetchGroups,\r\n });\r\n throw error;\r\n }\r\n};\r\n\r\nexport const saveGroupInfo = async (groupData: { name: string; groupId?: string }): Promise => {\r\n try {\r\n const groupId = await saveGroup(groupData);\r\n if (!groupId) {\r\n bsAlert({\r\n type: 'danger',\r\n title: $Resources.ErrorHeading,\r\n content: $Resources.AclErrorSaveGroup,\r\n });\r\n return null;\r\n }\r\n\r\n bsAlert({\r\n type: 'success',\r\n title: $Resources.AlertSuccessHeading,\r\n content: $Resources.AclSuccessSaveGroup,\r\n });\r\n return groupId;\r\n } catch (error) {\r\n bsAlert({\r\n type: 'danger',\r\n title: $Resources.ErrorHeading,\r\n content: $Resources.AclErrorUnexpectedSaveGroup,\r\n });\r\n return null;\r\n }\r\n};\r\n\r\nexport const addUsersToGroup = async (groupId: string, userIds: string[]): Promise => {\r\n try {\r\n const results = await Promise.all(\r\n userIds.map(async (userId) => {\r\n try {\r\n await addUserToGroup(groupId, userId);\r\n return { success: true, userId };\r\n } catch (error) {\r\n return { success: false, userId };\r\n }\r\n })\r\n );\r\n\r\n const allSucceeded = results.every((result) => result.success);\r\n\r\n if (allSucceeded) {\r\n bsAlert({\r\n type: 'success',\r\n title: $Resources.AlertSuccessHeading,\r\n content: $Resources.AclSuccessAddUsersToGroup,\r\n });\r\n } else {\r\n const failedUsers = results.filter((result) => !result.success).map((result) => result.userId);\r\n\r\n bsAlert({\r\n type: 'danger',\r\n title: $Resources.ErrorHeading,\r\n content: `${$Resources.AclErrorAddUsersToGroup} ${failedUsers.join(', ')}`,\r\n });\r\n }\r\n } catch (error) {\r\n bsAlert({\r\n type: 'danger',\r\n title: $Resources.ErrorHeading,\r\n content: $Resources.AclErrorUnexpectedAddUsers,\r\n });\r\n }\r\n};\r\n\r\nexport const deleteGroupById = async (groupId: string): Promise => {\r\n try {\r\n await deleteGroup(groupId);\r\n\r\n bsAlert({\r\n type: 'success',\r\n title: $Resources.AlertSuccessHeading,\r\n content: $Resources.AclSuccessDeleteGroup,\r\n });\r\n\r\n return true;\r\n } catch (error) {\r\n bsAlert({\r\n type: 'danger',\r\n title: $Resources.ErrorHeading,\r\n content: $Resources.AclErrorDeleteGroup,\r\n });\r\n\r\n return false;\r\n }\r\n};\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","import { rootElement } from '@shared/setup';\r\nimport Groups from './Groups.vue';\r\n\r\nconst init = async () => {\r\n rootElement({\r\n name: 'account-groups', // pascal, camel & kebab-case are valid\r\n component: Groups,\r\n vm: {},\r\n contextComponents: ['
waiting
'],\r\n });\r\n};\r\ninit();\r\n"],"names":["getGroups","api","getUsersInGroups","groupId","addUserToGroup","userId","removeUserFromGroup","saveGroup","group","deleteGroup","getUsersToAddToGroups","fetchGroups","error","bsAlert","saveGroupInfo","groupData","addUsersToGroup","userIds","results","result","failedUsers","deleteGroupById","props","__props","emit","__emit","state","reactive","onMounted","members","setupGroupFormData","selectedUsersMapped","id","user","handleAddUsers","users","handleRemoveUser","$Resources","_b","_a","getUsers","u","saveGroupDetails","_","formData","back","select","scopeAccess","inject","injectorAccessInjectionKey","ScopeAccess","requireScopeParams","Permissions","filterOptions","orderOptions","backAndDelete","selectedGroupId","g","handleAbortNewGroup","handleNewGroup","handleCreateNewGroup","newId","init","rootElement","Groups"],"mappings":"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"}