UNPKG

@allthings/sdk

Version:
78 lines (77 loc) 4.08 kB
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>;