dify/web/models/access-control.ts
2025-04-24 13:10:01 +08:00

30 lines
694 B
TypeScript

export enum SubjectType {
GROUP = 'group',
ACCOUNT = 'account',
}
export enum AccessMode {
PUBLIC = 'public',
SPECIFIC_GROUPS_MEMBERS = 'private',
ORGANIZATION = 'private_all',
}
export type AccessControlGroup = {
'id': 'string'
'name': 'string'
'groupSize': 5
}
export type AccessControlAccount = {
'id': 'string'
'name': 'string'
'email': 'string'
'avatar': 'string'
'avatarUrl': 'string'
}
export type SubjectGroup = { subjectId: string; subjectType: SubjectType; groupData: AccessControlGroup }
export type SubjectAccount = { subjectId: string; subjectType: SubjectType; accountData: AccessControlAccount }
export type Subject = SubjectGroup | SubjectAccount