@aptly-as/types
Version:
Aptly types and enums
29 lines (28 loc) • 1.23 kB
TypeScript
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;
}