@gsb-core/core
Version:
GSB core services and classes for platform-independent web applications
254 lines (253 loc) • 5.92 kB
TypeScript
import { GsbUser } from './gsb-user.model';
import { GsbEnum } from './gsb-enum.model';
import { GsbPermission } from './gsb-user.model';
import { GsbWorkflowTrigger } from './gsb-workflow.model';
import { GsbModule } from './gsb-module.model';
/**
* Represents a widget template for UI controls
*/
export declare class GsbWidgetTemplate {
_entDefName?: string;
id?: string;
name?: string;
title?: string;
description?: string;
type?: string;
properties?: any;
createDate?: Date;
lastUpdateDate?: Date;
createdBy_id?: string;
lastUpdatedBy_id?: string;
constructor(obj?: Partial<GsbWidgetTemplate>);
}
/**
* Represents a code generator for entity properties
*/
export declare class GsbCodeGenerator {
_entDefName?: string;
id?: string;
name?: string;
title?: string;
description?: string;
code?: string;
createDate?: Date;
lastUpdateDate?: Date;
createdBy_id?: string;
lastUpdatedBy_id?: string;
constructor(obj?: Partial<GsbCodeGenerator>);
}
/**
* Enum for reference types that matches backend values
*/
export declare enum RefType {
NoRef = 0,
OneToOne = 1,
OneToMany = 2,
ManyToOne = 3,
ManyToMany = 4
}
/**
* Enum for view modes
*/
export declare enum ViewMode {
Disabled = 8,
Editable = 1,
ReadOnly = 2,
Hidden = 4
}
/**
* Enum for copy actions
*/
export declare enum CopyAction {
Default = 0,
Include = 1,
Exclude = 2,
Reference = 3
}
/**
* Enum for screen types (bitwise)
*/
export declare enum ScreenType {
PC = 1,
Tablet = 2,
Mobile = 4,
All = 7
}
/**
* Enum for activity logging levels that matches backend values
*/
export declare enum ActivityLogLevel {
None = 0,
Read = 1,
Create = 2,
Update = 4,
Delete = 8,
Execute = 16,
List = 32
}
/**
* Enum for data types that matches backend values
*/
export declare enum DataType {
Unknown = 0,
Guid = 1,
Decimal = 2,
Int = 3,
Long = 4,
StringUnicode = 5,
Binary = 6,
Bool = 7,
Enum = 8,
DateTime = 9,
Reference = 10,
Raw = 11,
File = 12,
StringASCII = 13,
JSON = 14
}
/**
* Represents a GSB Entity Definition
*/
export declare class GsbEntityDef {
_entDefName?: string;
id?: string;
name?: string;
title?: string;
description?: string;
dbTableName?: string;
publicAccess?: boolean;
activityLogLevel?: ActivityLogLevel;
properties?: GsbProperty[];
isActive?: boolean;
isDeleted?: boolean;
createDate?: Date;
lastUpdateDate?: Date;
createdBy_id?: string;
lastUpdatedBy_id?: string;
permissions?: GsbPermission[];
workflowTriggers?: GsbWorkflowTrigger[];
variationType?: number;
undeleteable?: boolean;
module_id?: string;
module?: GsbModule;
isSystem?: boolean;
constructor(obj?: Partial<GsbEntityDef>);
}
/**
* Represents a property of a GSB Entity Definition
*/
export declare class GsbProperty {
_entDefName?: string;
maxLength?: number;
isVisible?: boolean;
lastEditTime?: Date;
isUnique?: boolean;
defaultValue?: string;
refEntDef_id?: string;
multiControlComponent?: GsbWidgetTemplate;
definition?: GsbPropertyDef;
refCount?: number;
isPartialPrimaryKey?: boolean;
enum?: GsbEnum;
cascadeReference?: boolean;
isEncrypted?: boolean;
name?: string;
scale?: number;
multiControlComponent_id?: string;
refType?: RefType;
refEntDef?: GsbEntityDef;
clientValidationScript?: string;
dataMemberName?: string;
isMultiple?: boolean;
groupName?: string;
isIndexed?: boolean;
isMultiLingual?: boolean;
controlComponent_id?: string;
refEntPropName?: string;
fullTextIndex?: boolean;
categoryDef_id?: string;
formModes?: number;
noDeploy?: boolean;
id?: string;
definition_id?: string;
ownerEntDef_id?: string;
isEditable?: boolean;
isQuickEditable?: boolean;
ownerEntDef?: GsbEntityDef;
createdBy_id?: string;
permissions?: GsbPermission[];
codeGenerator?: GsbCodeGenerator;
contains?: GsbProperty[];
within?: GsbProperty;
multiTableName?: string;
categoryDef?: GsbEntityDef;
lastUpdatedBy?: GsbUser;
orderNumber?: number;
enum_id?: string;
description?: string;
title?: string;
serverValidationScript?: string;
lastUpdateDate?: Date;
createDate?: Date;
codeGenerator_id?: string;
isSystemOnly?: boolean;
createdBy?: GsbUser;
copyAction?: CopyAction;
isRequired?: boolean;
isSearchable?: boolean;
isPublic?: boolean;
controlComponent?: GsbWidgetTemplate;
undeletable?: boolean;
listScreens?: ScreenType;
lastUpdatedBy_id?: string;
defUiCtrlName?: string;
within_id?: string;
isPrimaryKey?: boolean;
isDynamic?: boolean;
availableColumn?: string;
regex?: string;
createFormMode?: ViewMode;
viewFormMode?: ViewMode;
updateFormMode?: ViewMode;
type?: string;
isDefault?: boolean;
constructor(obj?: Partial<GsbProperty>);
}
/**
* Represents a property definition in the GSB system
*/
export declare class GsbPropertyDef {
_entDefName?: string;
id?: string;
dataType?: DataType;
title?: string;
name?: string;
description?: string;
maxLength?: number;
scale?: number;
regex?: string;
usage?: number;
createDate?: Date;
lastUpdateDate?: Date;
lastUpdatedBy?: {
title: string;
id: string;
};
defaultControlComponent?: {
title: string;
id: string;
};
defaultControlComponentMulti?: {
title: string;
id: string;
};
module?: {
title: string;
id: string;
};
createdBy?: {
title: string;
id: string;
};
constructor(obj?: Partial<GsbPropertyDef>);
}