feat: groups integration

This commit is contained in:
Timothy Jaeryang Baek
2024-11-14 18:37:42 -08:00
parent 2f893fd373
commit dae764fa5a
3 changed files with 217 additions and 52 deletions

View File

@@ -22,6 +22,7 @@
import Pencil from '$lib/components/icons/Pencil.svelte';
import GroupItem from './Groups/GroupItem.svelte';
import AddGroupModal from './Groups/AddGroupModal.svelte';
import { createNewGroup, getGroups } from '$lib/apis/groups';
const i18n = getContext('i18n');
@@ -51,56 +52,58 @@
if ($user?.role !== 'admin') {
await goto('/');
} else {
groups = [
{
id: '1',
name: 'Group A',
description: 'Group A description',
permissions: {
model: {
enable_filter: false, // boolean
ids: [], // array of strings
default_id: null // null or string
},
workspace: {
models: false, // boolean
knowledge: false, // boolean
prompts: false // boolean
},
chat: {
delete: true, // boolean
edit: true, // boolean
temporary: true // boolean
}
},
user_ids: ['1', '2', '3'], // array of strings
admin_ids: ['1'] // array of strings
},
{
id: '2',
name: 'Moderators',
description: 'Moderators description',
permissions: {
model: {
enable_filter: false, // boolean
ids: [], // array of strings
default_id: null // null or string
},
workspace: {
models: false, // boolean
knowledge: false, // boolean
prompts: false // boolean
},
chat: {
delete: true, // boolean
edit: true, // boolean
temporary: true // boolean
}
},
user_ids: ['1', '5', '6'], // array of strings
admin_ids: ['1'] // array of strings
}
];
groups = await getGroups(localStorage.token);
// [
// {
// id: '1',
// name: 'Group A',
// description: 'Group A description',
// permissions: {
// model: {
// enable_filter: false, // boolean
// ids: [], // array of strings
// default_id: null // null or string
// },
// workspace: {
// models: false, // boolean
// knowledge: false, // boolean
// prompts: false // boolean
// },
// chat: {
// delete: true, // boolean
// edit: true, // boolean
// temporary: true // boolean
// }
// },
// user_ids: ['1', '2', '3'], // array of strings
// admin_ids: ['1'] // array of strings
// },
// {
// id: '2',
// name: 'Moderators',
// description: 'Moderators description',
// permissions: {
// model: {
// enable_filter: false, // boolean
// ids: [], // array of strings
// default_id: null // null or string
// },
// workspace: {
// models: false, // boolean
// knowledge: false, // boolean
// prompts: false // boolean
// },
// chat: {
// delete: true, // boolean
// edit: true, // boolean
// temporary: true // boolean
// }
// },
// user_ids: ['1', '5', '6'], // array of strings
// admin_ids: ['1'] // array of strings
// }
// ];
}
loaded = true;
});

View File

@@ -19,8 +19,7 @@
const group = {
name,
description,
user_ids: userIds
description
};
await onSubmit(group);