@allthings/sdk
Version:
Allthings Node/Javascript SDK
78 lines (77 loc) • 4.08 kB
TypeScript
import { IAllthingsRestClient } from '../types';
import { IRegistrationCodeTenant } from './registrationCode';
import { IUser } from './user';
export declare enum EnumUtilisationPeriodType {
tenant = "tenant",
ownership = "ownership",
vacant = "vacant"
}
export interface IUtilisationPeriod {
readonly _embedded: {
readonly [key: string]: any;
readonly invitations: readonly any[];
};
readonly dataSource?: string;
readonly endDate: string | null;
readonly externalId?: string;
readonly id: string;
readonly invitations: readonly IUtilisationPeriodInvite[];
readonly name: string;
readonly readOnly: boolean;
readonly startDate: string;
readonly stats: {
readonly invitationCount: number | null;
readonly tenantCount: number | null;
};
readonly tenantIds: readonly string[];
readonly type: EnumUtilisationPeriodType;
readonly userCount: number | null;
readonly users: readonly IUser[];
}
export interface IUtilisationPeriodInvite {
readonly code: string;
readonly createdAt: string;
readonly email: string | null;
readonly expiresAt: string | null;
readonly externalId: string;
readonly id: string;
readonly invitationSent: boolean;
readonly organizations: readonly string[];
readonly permanent: boolean;
readonly resendAttempts: readonly string[];
readonly teams: readonly string[];
readonly tenant: IRegistrationCodeTenant;
readonly usedAt: string | null;
readonly utilisationPeriods: readonly string[];
}
export type PartialUtilisationPeriod = Partial<IUtilisationPeriod>;
export type UtilisationPeriodResult = Promise<IUtilisationPeriod>;
export type UtilisationPeriodResults = Promise<readonly IUtilisationPeriod[]>;
export type MethodUtilisationPeriodCreate = (unitId: string, data: PartialUtilisationPeriod & {
readonly endDate?: string;
readonly startDate: string;
readonly type?: EnumUtilisationPeriodType;
}) => UtilisationPeriodResult;
export declare function utilisationPeriodCreate(client: IAllthingsRestClient, unitId: string, data: PartialUtilisationPeriod & {
readonly endDate?: string;
readonly startDate: string;
readonly type?: EnumUtilisationPeriodType;
}): UtilisationPeriodResult;
export type MethodUtilisationPeriodGetById = (id: string) => UtilisationPeriodResult;
export declare function utilisationPeriodGetById(client: IAllthingsRestClient, utilisationPeriodId: string): UtilisationPeriodResult;
export type MethodUtilisationPeriodUpdateById = (unitId: string, data: PartialUtilisationPeriod) => UtilisationPeriodResult;
export declare function utilisationPeriodUpdateById(client: IAllthingsRestClient, utilisationPeriodId: string, data: PartialUtilisationPeriod & {
readonly startDate: string;
}): UtilisationPeriodResult;
export type MethodUtilisationPeriodDelete = (utilisationPeriodId: string) => Promise<boolean>;
export declare function utilisationPeriodDelete(client: IAllthingsRestClient, utilisationPeriodId: string): Promise<boolean>;
export type MethodUtilisationPeriodCheckInUser = (utilisationPeriodId: string, data: {
readonly email: string;
}) => UtilisationPeriodResult;
export declare function utilisationPeriodCheckInUser(client: IAllthingsRestClient, utilisationPeriodId: string, data: {
readonly email: string;
}): UtilisationPeriodResult;
export type MethodUtilisationPeriodCheckOutUser = (utilisationPeriodId: string, userId: string) => UtilisationPeriodResult;
export declare function utilisationPeriodCheckOutUser(client: IAllthingsRestClient, utilisationPeriodId: string, userId: string): Promise<boolean>;
export type MethodUtilisationPeriodAddRegistrationCode = (utilisationPeriodId: string, code: string, tenant?: IRegistrationCodeTenant, permanent?: boolean) => Promise<IUtilisationPeriodInvite>;
export declare function utilisationPeriodAddRegistrationCode(client: IAllthingsRestClient, utilisationPeriodId: string, code: string, tenant?: IRegistrationCodeTenant, permanent?: boolean): Promise<IUtilisationPeriodInvite>;