Files
windmill/frontend/src/lib/components/apps/editor/componentsPanel/groupUtils.ts
Faton Ramadani 0ec664d739 feat(frontend): add app groups management (#2347)
* feat(frontend): add app groups management

* feat(frontend): add app groups management

* app groups

* app groups

* app groups

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-09-28 01:18:35 +02:00

74 lines
1.4 KiB
TypeScript

import { ResourceService } from '$lib/gen'
import { sendUserToast } from '$lib/toast'
export interface Group {
path: string
value: {
value?: object
name: string
}
}
export function createGroup(workspace: string, group: Group): Promise<string> {
const createGroupRequest = {
workspace,
requestBody: {
...group,
resource_type: 'app_group',
value: group.value || ''
}
}
return ResourceService.createResource(createGroupRequest)
}
export async function getGroup(
workspace: string,
path: string
): Promise<{
name: string,
value: any
}> {
try {
return ResourceService.getResourceValue({
workspace,
path
})
} catch (e) {
sendUserToast(`Group not found ${path}`)
return {
value: '',
name: 'Not found'
}
}
}
export function updateGroup(workspace: string, path: string, updatedGroup: any): Promise<string> {
const updateGroupRequest = {
workspace,
path,
requestBody: updatedGroup
}
return ResourceService.updateResource(updateGroupRequest)
}
export function deleteGroup(workspace: string, path: string): Promise<string> {
const deleteGroupRequest = {
workspace,
path: path
}
return ResourceService.deleteResource(deleteGroupRequest)
}
export async function listGroups(workspace: string): Promise<
Array<{
name: string
path: string
}>
> {
const listGroupsRequest = {
workspace,
name: 'app_group'
}
return ResourceService.listResourceNames(listGroupsRequest)
}