2025-05-20 04:07:50 +00:00
|
|
|
export enum SubjectType {
|
|
|
|
|
GROUP = 'group',
|
|
|
|
|
ACCOUNT = 'account',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export enum AccessMode {
|
|
|
|
|
PUBLIC = 'public',
|
|
|
|
|
SPECIFIC_GROUPS_MEMBERS = 'private',
|
|
|
|
|
ORGANIZATION = 'private_all',
|
2025-06-05 02:55:17 +00:00
|
|
|
EXTERNAL_MEMBERS = 'sso_verified',
|
2025-05-20 04:07:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type AccessControlGroup = {
|
|
|
|
|
id: 'string'
|
|
|
|
|
name: 'string'
|
|
|
|
|
groupSize: 5
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type AccessControlAccount = {
|
|
|
|
|
id: 'string'
|
|
|
|
|
name: 'string'
|
|
|
|
|
email: 'string'
|
|
|
|
|
avatar: 'string'
|
|
|
|
|
avatarUrl: 'string'
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-23 08:58:55 +00:00
|
|
|
export type SubjectGroup = { subjectId: string, subjectType: SubjectType, groupData: AccessControlGroup }
|
|
|
|
|
export type SubjectAccount = { subjectId: string, subjectType: SubjectType, accountData: AccessControlAccount }
|
2025-05-20 04:07:50 +00:00
|
|
|
|
|
|
|
|
export type Subject = SubjectGroup | SubjectAccount
|