UNPKG

@ctodev/cclibrary-typings

Version:

Library typings for use with CLARC INFINITY

386 lines (385 loc) 12.6 kB
import { TccET_APPLI } from './applications.model'; import { IExpandable, TccClarcDate, TccCompanyAddress, TccAddress, TccTranslation, TccSimpleHistory, TccCreditCard, TccDictionary, TccTrustedDomain, TccTypedValue, TccDictionaryItem, TccSystemClass, TccC4Node } from './shared.model'; export declare namespace TccET_IAM { export enum SystemClassShort { CCI_SYSTEM_CLASS_SHORT_EXTERNAL = "ext", CCI_SYSTEM_CLASS_SHORT_CORE = "cor", CCI_SYSTEM_CLASS_SHORT_PRODUCTIVE = "prd", CCI_SYSTEM_CLASS_SHORT_TEST = "tst", CCI_SYSTEM_CLASS_SHORT_DEVELOPMENT = "dev", CCI_SYSTEM_CLASS_SHORT_TRAINING = "trn", CCI_SYSTEM_CLASS_SHORT_SANDBOX = "snd" } export enum StorageClass { ccSC_Unknown = "ccSC_Unknown", ccSC_Dynamic = "ccSC_Dynamic", ccSC_Archive = "ccSC_Archive", ccSC_Public = "ccSC_Public" } export interface SessionHistory extends IExpandable { Ips?: Array<string>; Date: TccClarcDate; Count: number; } export interface DisplayName extends TccTranslation { } export interface Description extends TccTranslation { } export interface Phone extends IExpandable { Administration?: string; Verification?: string; } export interface Email extends IExpandable { Registration?: string; Administration?: string; Information?: string; Invoice?: string; Common?: string; Backup?: string; } export type UserInfos = Array<UserInfo>; export enum UserClass { ccUC_Common = "ccUC_Common", ccUC_System = "ccUC_System" } export enum UserState { ccUS_Unknown = "ccUS_Unknown", ccUS_Available = "ccUS_Available", ccUS_Busy = "ccUS_Busy", ccUS_DoNotDisturb = "ccUS_DoNotDisturb", ccUS_Away = "ccUS_Away", ccUS_BeRightBack = "ccUS_BeRightBack", ccUS_AppearOffline = "ccUS_AppearOffline", ccUS_OutOfOffice = "ccUS_OutOfOffice" } interface Organization extends IExpandable { JobTitle?: string; Office?: string; Department?: string; Company?: string; PersonnelNumber?: string; Website?: string; } interface UserContacts extends IExpandable { Private?: UserContact; Business: UserContact; } interface UserContact extends IExpandable { LandlinePhone?: string; MobilePhone?: string; Email?: string; } export interface Condition extends IExpandable { Locked: boolean; State: UserState; Online: boolean; LockReason: string; } export interface UserInfo extends TccC4Node { PasswordSalt?: string; BossOf?: TccDictionary<string, GroupMemberClass>; PasswordHash?: string; Organization?: Organization; PrivateKey?: string; Address?: TccAddress; Properties?: TccDictionary<string, TccTypedValue>; Condition?: Condition; Language?: string; Locale?: string; UserClass: UserClass; Expires?: TccClarcDate; Contacts?: UserContacts; FailedLogins?: SessionHistory; } export enum Priority { ccPR_Idle = "ccPR_Idle", ccPR_Lowest = "ccPR_Lowest", ccPR_Lower = "ccPR_Lower", ccPR_Normal = "ccPR_Normal", ccPR_Higher = "ccPR_Higher", ccPR_Highest = "ccPR_Highest", ccPR_TimeCritical = "ccPR_TimeCritical" } export enum PaymentMethod { ccPM_Invoice = "ccPM_Invoice", ccPM_CreditCard = "ccPM_CreditCard" } export enum FunctionalRights { ccTR_ExportTransport = "ccTR_ExportTransport", ccTR_ImportTransport = "ccTR_ImportTransport" } export enum Module { ccLM_ClarcInfinity = "ccLM_ClarcInfinity", ccLM_CaptureOperator = "ccLM_CaptureOperator", ccLM_ScanOperator = "ccLM_ScanOperator", ccLM_ProductiveSystem = "ccLM_ProductiveSystem", ccLM_TestSystem = "ccLM_TestSystem", ccLM_DevelopmentSystem = "ccLM_DevelopmentSystem", ccLM_TrainingSystem = "ccLM_TrainingSystem", ccLM_SandboxSystem = "ccLM_SandboxSystem", ccLM_InvoiceSolution = "ccLM_InvoiceSolution",// Invoice solution ccLM_OrderSolution = "ccLM_OrderSolution",// Order solution ccLM_ConfirmationSolution = "ccLM_ConfirmationSolution",// Confirmation solution ccLM_BillingSolution = "ccLM_BillingSolution",// Billing solution ccLM_ArchiveSolution = "ccLM_ArchiveSolution",// Archive solution ccLM_InboundSolutionsDocs = "ccLM_InboundSolutionsDocs", ccLM_OutboundSolutionsDocs = "ccLM_OutboundSolutionsDocs", ccLM_CaptureDocuments = "ccLM_CaptureDocuments", ccLM_CaptureOperatorPro = "ccLM_CaptureOperatorPro" } interface Payment extends IExpandable { PaymentMethod?: PaymentMethod; CreditCard?: TccCreditCard; } export interface LicenseModuleItem { Module: Module; Validity: TccClarcDate; Amount: number; } export interface InfinityLicense { Tenant: string; Modules: LicenseModuleItem[]; Number: string; Key: string; Licensee: string; } export interface TenantContact extends IExpandable { Phone: Phone; Email: Email; } export interface Registration extends IExpandable { Active?: boolean; Date?: TccClarcDate; Phone?: string; Email?: string; ForeName?: string; SurName?: string; CreditCard?: TccCreditCard; } export interface TccMicrosoft { Azure: Azure; } export interface Azure { TenantId: string; } export interface TenantInfo extends TccC4Node { Priority: Priority; Registration?: Registration; License: InfinityLicense; Payment: Payment; Address?: TccCompanyAddress; Domains: TccTrustedDomain[]; Language?: string; Languages?: string[]; Contact: TenantContact; FunctionalRights: FunctionalRights[]; Microsoft?: TccMicrosoft; SystemClasses: TccSystemClass[]; } export enum VerificationType { ccVT_Unknown = "ccVT_Unknown", ccVT_AzureAd = "ccVT_AzureAd" } interface baseCredentials { Tenant?: string; SystemClass?: TccSystemClass; } export interface PasswordCredentials extends baseCredentials { UserName: string; Password: string; Language?: string; Code?: string; FingerPrint?: string; } interface VerificationToken { Data: any; Type: VerificationType; } export interface TokenCredentials extends baseCredentials { Token: VerificationToken; } export type Credentials = PasswordCredentials | TokenCredentials; export interface UserResponse { CustomSettings: Object; Name: string; Email: string; ForeName: string; SurName: string; Id: string; Icon: IconResponse; Properties: TccDictionary<string, TccTypedValue>; Roles: Array<UserRoles>; Locale: string; } interface IconLinks { Image: string; Thumbnail: string; } export interface IconResponse { Color: string; Id: string; Links: IconLinks; } export interface TenantResponse { DisplayName: string; Id: string; Name: string; LicenseNumber: string; LicenseModules: Module[]; Rights: FunctionalRights[]; Priority: Priority; Language: string; Languages: string[]; } export interface SessionResponse { Expires: TccClarcDate; FailedLogins: SessionHistory; Language: string; Token: string; TokenType: string; Information: string; } export interface SystemResponse { Id: string; ClassType: TccSystemClass; ChangeLock: boolean; ChangeRecording: boolean; ChangeHistory: boolean; /** * created entities have to be added to a transport on creation */ ForceAddChangesToTransports: boolean; Ai: { AskClara?: { Reasoning?: boolean; }; }; } export interface VersionResponse { Build: string; Info: string; } export interface LoginResponse extends IExpandable { Session: SessionResponse; Tenant: TenantResponse; System: SystemResponse; User: UserResponse; Version: VersionResponse; } export interface LogoutResponse extends IExpandable { Result: boolean; } export enum MembershipRelation { ccMR_Direct = "ccMR_Direct", ccMR_Inherited = "ccMR_Inherited" } export interface GetMembershipsResponse extends IExpandable { Items: Array<Membership>; } export interface Membership extends IExpandable { Id: string; Name: string; Relation: MembershipRelation; } export type UserGroupInfos = Array<UserGroupInfo>; export enum GroupClass { ccGC_System = "ccGC_System", ccGC_Common = "ccGC_Common", ccGC_Team = "ccGC_Team" } export enum UserRoles { ccUR_Master = "ccUR_Master", ccUR_Admin = "ccUR_Admin", ccUR_Service = "ccUR_Service", ccUR_Everyone = "ccUR_Everyone", ccUR_ScanManager = "ccUR_ScanManager", ccUR_ScanOperator = "ccUR_ScanOperator", ccUR_CaptureManager = "ccUR_CaptureManager", ccUR_CaptureOperator = "ccUR_CaptureOperator", ccUR_TrainingOperator = "ccUR_TrainingOperator", ccUR_TrainingManager = "ccUR_TrainingManager", ccUR_Developer = "ccUR_Developer", ccUR_BillingSpecialist = "ccUR_BillingSpecialist", ccUR_MdMProduct = "ccUR_MdMProduct", ccUR_MdmVendor = "ccUR_MdmVendor", ccUR_MdmCustomer = "ccUR_MdmCustomer" } export enum GroupMemberClass { ccMC_User = "ccMC_User", ccMC_Group = "ccMC_Group" } export type GroupMembers = TccDictionary<string, GroupMemberClass>; export type GroupMember = TccDictionaryItem<string, GroupMemberClass>; export interface UserGroupInfo extends TccC4Node { GroupClass: GroupClass; Roles?: Array<UserRoles>; Properties?: TccDictionary<string, TccTypedValue>; Members: GroupMembers; } /** * Settings of the Ask Clara assistant */ export interface TccAskClara { /** * Enables the reasoning mode of the Ask Clara assistant * @default false */ Reasoning: boolean; } /** * AI settings of a tenant system */ export interface TccTenantSystemAi { AskClara: TccAskClara; } export interface SystemInfo extends TccC4Node { SystemClass: TccSystemClass; /** * most nodes are locked; iam paths can still be created/deleted/changed; bpi paths can still be changed; */ ChangeLock: boolean; /** * created entities have to be added to a transport on creation */ ForceAddChangesToTransports: boolean; TransportTargets: TccSystemClass[]; ChangeRecording: boolean; TransportSources: TccSystemClass[]; ChangeHistory?: boolean; CloudConnectors?: any[]; DatabaseName?: string; Ai?: TccTenantSystemAi; } export interface ClientCredentials { Id: string; ClientId: string; CheckHash: string; History: TccSimpleHistory; TenantId: string; Name: string; Secrets: ClientSecrets; Validity: TccClarcDate; } export type ClientSecrets = ClientSecret[]; export interface TccDocumentHubItemProcessManager { Type: TccET_APPLI.ProcessManager; Id: string; /** * if a mail notification should be send * @default true (Invoice, Order etc. environment false) */ Notify: boolean; } export interface ClientSecret { Id: string; Version?: number; Snippet?: string; Validity: TccClarcDate; SystemClass?: TccSystemClass; Ips: string[]; History?: TccSimpleHistory; SystemActorId?: string; ProcessTask?: TccDocumentHubItemProcessManager; } export {}; }