UNPKG

@aptly-as/types

Version:
29 lines (28 loc) 1.23 kB
import { AptlyOrganizationRoles } from '../core/index.js'; import { AptlyOrganizationSchema } from './organization.js'; import { AptlyProjectSchema } from './project.js'; import { AptlyUserSchema } from './user.js'; import { AptlyBaseSchema } from './extends.js'; import { AptlyUnitSchema } from './unit.js'; export type AptlyDepartment = AptlyDepartmentGeneric<string, string>; export interface AptlyDepartmentGeneric<ID, DATE> extends Omit<AptlyBaseSchema<ID, DATE>, 'archived'> { organization: ID | AptlyOrganizationSchema<ID, DATE>; projects: AptlyDepartmentProjectGeneric<ID, DATE>[]; users: AptlyDepartmentUserGeneric<ID, DATE>[]; } export type AptlyDepartmentProject = AptlyDepartmentProjectGeneric<string, string>; export interface AptlyDepartmentProjectGeneric<ID, DATE> { _id: ID; project: ID | AptlyProjectSchema<ID, DATE>; units: (ID | AptlyUnitSchema<ID, DATE>)[] | null; createdAt: DATE; updatedAt: DATE; } export type AptlyDepartmentUser = AptlyDepartmentUserGeneric<string, string>; export interface AptlyDepartmentUserGeneric<ID, DATE> { _id: ID; user: ID | AptlyUserSchema<ID, DATE>; permissions: AptlyOrganizationRoles[]; createdAt: DATE; updatedAt: DATE; }