import { IRole } from '../roles/interfaces'; import { GroupManagedByEnum, GroupRelations } from './enums'; export type IGetGroup = { groupId: string; }; export type IGroupUser = { id: string; email: string; name: string; profilePictureUrl: string | null; activatedForTenant?: boolean; createdAt: Date; }; export type IGroupResponse = { id: string; name: string; color?: string; description?: string; metadata?: string; roles?: IRole[]; users?: IGroupUser[]; managedBy: GroupManagedByEnum; }; export type ICreateGroup = { name: string; color?: string; description?: string; metadata?: string; }; export type ICreateGroupResponse = { id: string; name: string; color?: string; description?: string; metadata?: string; managedBy: GroupManagedByEnum; }; export type IUpdateGroup = { groupId: string; name?: string; color?: string; description?: string; metadata?: string; }; export type IUpdateGroupConfig = { enabled?: boolean; rolesEnabled?: boolean; }; export type IGroupConfigResponse = { enabled: boolean; rolesEnabled: boolean; }; export type IUpdateGroupRoles = { roleIds: string[]; }; export type IUpdateGroupUsers = { userIds: string[]; }; export type IGetGroupQueryOptions = { _groupsRelations?: GroupRelations; }; export type IGetGroupsByIds = { groupsIds: string[]; };