@kontent-ai/management-sdk
Version:
Official Kontent.ai management SDK
62 lines (52 loc) • 2.06 kB
text/typescript
import { SharedModels } from '../shared/shared-models';
import { ProjectUserContracts, SharedContracts } from '../../contracts';
export namespace ProjectUserModels {
export interface IProjectUserCollectionGroup {
collections: SharedContracts.IReferenceObjectContract[];
roles: IProjectUserRole[];
}
export interface IProjectUserRole {
id: string;
languages: SharedContracts.IReferenceObjectContract[];
}
export class ProjectUser implements SharedModels.IBaseModel<ProjectUserContracts.IUserContract> {
userId!: string;
collectionGroups!: CollectionGroup[];
_raw!: ProjectUserContracts.IUserContract;
constructor(data: {
userId: string;
collectionGroups: CollectionGroup[];
_raw: ProjectUserContracts.IUserContract;
}) {
Object.assign(this, data);
}
}
export class CollectionGroup
implements SharedModels.IBaseModel<ProjectUserContracts.IProjectUserCollectionGroupContract>
{
collections!: SharedContracts.IReferenceObjectContract[];
roles!: ProjectUserModels.IProjectUserRole[];
_raw!: ProjectUserContracts.IProjectUserCollectionGroupContract;
constructor(data: {
collections: SharedContracts.IReferenceObjectContract[];
roles: ProjectUserModels.IProjectUserRole[];
_raw: ProjectUserContracts.IProjectUserCollectionGroupContract;
}) {
Object.assign(this, data);
}
}
export interface ICollectionGroupsData {
collections: SharedContracts.IReferenceObjectContract[];
roles: {
id: string;
languages: SharedContracts.IReferenceObjectContract[];
}[];
}
export interface IInviteUserData {
email: string;
collection_groups: ICollectionGroupsData[];
}
export interface IChangeUserRoleData {
collection_groups: ICollectionGroupsData[];
}
}