@ctodev/cclibrary-typings
Version:
Library typings for use with CLARC INFINITY
386 lines (385 loc) • 12.6 kB
TypeScript
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 {};
}