@pilotdev/pilot-web-sdk 23.0.0-alpha.2 → 24.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.json +31 -0
- package/README.md +24 -5
- package/ng-package.json +7 -0
- package/package.json +6 -25
- package/src/lib/contexts/context.ts +38 -0
- package/src/lib/contexts/document-annotations-list-context.ts +21 -0
- package/src/lib/contexts/index.ts +3 -0
- package/src/lib/contexts/render-context.ts +28 -0
- package/src/lib/data/access.ts +40 -0
- package/src/lib/data/annotations.ts +20 -0
- package/src/lib/data/attribute.ts +33 -0
- package/src/lib/data/data-object.ts +78 -0
- package/src/lib/data/file.ts +25 -0
- package/src/lib/data/files-snapshot.ts +9 -0
- package/src/lib/data/index.ts +12 -0
- package/src/lib/data/modifier.ts +31 -0
- package/src/lib/data/object-builder.ts +111 -0
- package/src/lib/data/organisation-unit.ts +20 -0
- package/src/lib/data/person.ts +17 -0
- package/src/lib/data/relation.ts +10 -0
- package/src/lib/data/subscriptionType.ts +5 -0
- package/src/lib/idata.plugin.ts +2 -0
- package/src/lib/injectable/index.ts +4 -0
- package/src/lib/injectable/modifier-provider.ts +11 -0
- package/src/lib/injectable/objects-repository.ts +74 -0
- package/src/lib/injectable/render-context-provider.ts +11 -0
- package/src/lib/injectable/repository-events.ts +33 -0
- package/src/lib/menu/checkable-menu.builder.ts +15 -0
- package/{lib/menu/index.d.ts → src/lib/menu/index.ts} +5 -4
- package/src/lib/menu/menu-item.builder.ts +45 -0
- package/src/lib/menu/menu.builder.ts +79 -0
- package/src/lib/menu/menu.ts +24 -0
- package/{lib/toolbar/index.d.ts → src/lib/toolbar/index.ts} +7 -6
- package/src/lib/toolbar/toolbar-item-submenu.handler.ts +12 -0
- package/src/lib/toolbar/toolbar-item.builder.ts +45 -0
- package/src/lib/toolbar/toolbar-menu-item.builder.ts +16 -0
- package/src/lib/toolbar/toolbar-toggle-item.builder.ts +15 -0
- package/src/lib/toolbar/toolbar.builder.ts +104 -0
- package/src/lib/toolbar/toolbar.ts +31 -0
- package/src/lib/tools/attribute-permission.info.ts +51 -0
- package/src/lib/tools/guid.ts +63 -0
- package/src/lib/tools/index.ts +3 -0
- package/src/lib/tools/utils.ts +8 -0
- package/src/public-api.ts +10 -0
- package/tsconfig.lib.json +15 -0
- package/tsconfig.lib.prod.json +10 -0
- package/esm2020/lib/context.mjs +0 -11
- package/esm2020/lib/idata.plugin.mjs +0 -2
- package/esm2020/lib/injectable/index.mjs +0 -2
- package/esm2020/lib/injectable/objects.repository.mjs +0 -2
- package/esm2020/lib/menu/checkable-menu.builder.mjs +0 -14
- package/esm2020/lib/menu/index.mjs +0 -5
- package/esm2020/lib/menu/menu-item.builder.mjs +0 -39
- package/esm2020/lib/menu/menu.builder.mjs +0 -68
- package/esm2020/lib/menu/menu.mjs +0 -22
- package/esm2020/lib/toolbar/index.mjs +0 -7
- package/esm2020/lib/toolbar/toolbar-item-submenu.handler.mjs +0 -3
- package/esm2020/lib/toolbar/toolbar-item.builder.mjs +0 -41
- package/esm2020/lib/toolbar/toolbar-menu-item.builder.mjs +0 -15
- package/esm2020/lib/toolbar/toolbar-toggle-item.builder.mjs +0 -14
- package/esm2020/lib/toolbar/toolbar.builder.mjs +0 -88
- package/esm2020/lib/toolbar/toolbar.mjs +0 -27
- package/esm2020/pilotdev-pilot-web-sdk.mjs +0 -5
- package/esm2020/public-api.mjs +0 -9
- package/fesm2015/pilotdev-pilot-web-sdk.mjs +0 -349
- package/fesm2015/pilotdev-pilot-web-sdk.mjs.map +0 -1
- package/fesm2020/pilotdev-pilot-web-sdk.mjs +0 -349
- package/fesm2020/pilotdev-pilot-web-sdk.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/context.d.ts +0 -18
- package/lib/idata.plugin.d.ts +0 -2
- package/lib/injectable/index.d.ts +0 -1
- package/lib/injectable/objects.repository.d.ts +0 -5
- package/lib/menu/checkable-menu.builder.d.ts +0 -11
- package/lib/menu/menu-item.builder.d.ts +0 -27
- package/lib/menu/menu.builder.d.ts +0 -49
- package/lib/menu/menu.d.ts +0 -18
- package/lib/toolbar/toolbar-item-submenu.handler.d.ts +0 -2
- package/lib/toolbar/toolbar-item.builder.d.ts +0 -28
- package/lib/toolbar/toolbar-menu-item.builder.d.ts +0 -13
- package/lib/toolbar/toolbar-toggle-item.builder.d.ts +0 -11
- package/lib/toolbar/toolbar.builder.d.ts +0 -65
- package/lib/toolbar/toolbar.d.ts +0 -19
- package/public-api.d.ts +0 -5
package/.eslintrc.json
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
{
|
2
|
+
"extends": "../../.eslintrc.json",
|
3
|
+
"ignorePatterns": ["!**/*"],
|
4
|
+
"overrides": [
|
5
|
+
{
|
6
|
+
"files": ["*.ts"],
|
7
|
+
"rules": {
|
8
|
+
"@angular-eslint/directive-selector": [
|
9
|
+
"error",
|
10
|
+
{
|
11
|
+
"type": "attribute",
|
12
|
+
"prefix": "lib",
|
13
|
+
"style": "camelCase"
|
14
|
+
}
|
15
|
+
],
|
16
|
+
"@angular-eslint/component-selector": [
|
17
|
+
"error",
|
18
|
+
{
|
19
|
+
"type": "element",
|
20
|
+
"prefix": "lib",
|
21
|
+
"style": "kebab-case"
|
22
|
+
}
|
23
|
+
]
|
24
|
+
}
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"files": ["*.html"],
|
28
|
+
"rules": {}
|
29
|
+
}
|
30
|
+
]
|
31
|
+
}
|
package/README.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
# PilotWebSdk
|
2
|
+
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.1.0.
|
4
|
+
|
5
|
+
## Code scaffolding
|
6
|
+
|
7
|
+
Run `ng generate component component-name --project pilot-web-sdk` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project pilot-web-sdk`.
|
8
|
+
> Note: Don't forget to add `--project pilot-web-sdk` or else it will be added to the default project in your `angular.json` file.
|
9
|
+
|
10
|
+
## Build
|
11
|
+
|
12
|
+
Run `ng build pilot-web-sdk` to build the project. The build artifacts will be stored in the `dist/` directory.
|
13
|
+
|
14
|
+
## Publishing
|
15
|
+
|
16
|
+
After building your library with `ng build pilot-web-sdk`, go to the dist folder `cd dist/pilot-web-sdk` and run `npm publish`.
|
17
|
+
|
18
|
+
## Running unit tests
|
19
|
+
|
20
|
+
Run `ng test pilot-web-sdk` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
21
|
+
|
22
|
+
## Further help
|
23
|
+
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
package/ng-package.json
ADDED
package/package.json
CHANGED
@@ -1,32 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@pilotdev/pilot-web-sdk",
|
3
|
-
"version": "
|
3
|
+
"version": "24.4.0",
|
4
4
|
"peerDependencies": {
|
5
|
-
"@angular/common": "15.
|
6
|
-
"@angular/core": "15.
|
5
|
+
"@angular/common": "^15.1.4",
|
6
|
+
"@angular/core": "^15.1.4",
|
7
7
|
"rxjs": "7.8.1"
|
8
8
|
},
|
9
9
|
"dependencies": {
|
10
|
-
"tslib": "2.3.0"
|
10
|
+
"tslib": "^2.3.0"
|
11
11
|
},
|
12
|
-
"sideEffects": false
|
13
|
-
|
14
|
-
"es2020": "fesm2020/pilotdev-pilot-web-sdk.mjs",
|
15
|
-
"esm2020": "esm2020/pilotdev-pilot-web-sdk.mjs",
|
16
|
-
"fesm2020": "fesm2020/pilotdev-pilot-web-sdk.mjs",
|
17
|
-
"fesm2015": "fesm2015/pilotdev-pilot-web-sdk.mjs",
|
18
|
-
"typings": "index.d.ts",
|
19
|
-
"exports": {
|
20
|
-
"./package.json": {
|
21
|
-
"default": "./package.json"
|
22
|
-
},
|
23
|
-
".": {
|
24
|
-
"types": "./index.d.ts",
|
25
|
-
"esm2020": "./esm2020/pilotdev-pilot-web-sdk.mjs",
|
26
|
-
"es2020": "./fesm2020/pilotdev-pilot-web-sdk.mjs",
|
27
|
-
"es2015": "./fesm2015/pilotdev-pilot-web-sdk.mjs",
|
28
|
-
"node": "./fesm2015/pilotdev-pilot-web-sdk.mjs",
|
29
|
-
"default": "./fesm2020/pilotdev-pilot-web-sdk.mjs"
|
30
|
-
}
|
31
|
-
}
|
32
|
-
}
|
12
|
+
"sideEffects": false
|
13
|
+
}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { IDataObject } from "../data";
|
2
|
+
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Contex for objects view
|
6
|
+
*/
|
7
|
+
export class ObjectsViewContext {
|
8
|
+
private readonly _selectedObjects: IDataObject[];
|
9
|
+
private readonly _shortcuts: IDataObject[];
|
10
|
+
private readonly _context: IDataObject;
|
11
|
+
|
12
|
+
constructor(selectedObjects: IDataObject[], context: IDataObject, shortcuts?: IDataObject[]) {
|
13
|
+
this._selectedObjects = selectedObjects;
|
14
|
+
this._context = context;
|
15
|
+
this._shortcuts = shortcuts ?? [];
|
16
|
+
}
|
17
|
+
|
18
|
+
/**
|
19
|
+
*
|
20
|
+
*/
|
21
|
+
public get selectedObjects(): IDataObject[] {
|
22
|
+
return this._selectedObjects;
|
23
|
+
}
|
24
|
+
|
25
|
+
/**
|
26
|
+
*
|
27
|
+
*/
|
28
|
+
public get contextObject(): IDataObject {
|
29
|
+
return this._context;
|
30
|
+
}
|
31
|
+
|
32
|
+
/**
|
33
|
+
*
|
34
|
+
*/
|
35
|
+
public get shortcuts(): IDataObject[] {
|
36
|
+
return this._shortcuts;
|
37
|
+
}
|
38
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { IAnnotationContainerObject } from "../data";
|
2
|
+
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Context for document annotations list
|
6
|
+
*/
|
7
|
+
export class DocumentAnnotationsListContext {
|
8
|
+
private readonly _selectedAnnotations: IAnnotationContainerObject[];
|
9
|
+
|
10
|
+
constructor(selectedAnnotations: IAnnotationContainerObject[]) {
|
11
|
+
this._selectedAnnotations = selectedAnnotations;
|
12
|
+
}
|
13
|
+
|
14
|
+
/**
|
15
|
+
*
|
16
|
+
*/
|
17
|
+
public get selectedAnnotations(): IAnnotationContainerObject[] {
|
18
|
+
return this._selectedAnnotations;
|
19
|
+
}
|
20
|
+
|
21
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { IDataObject } from "../data";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Context for xps render
|
5
|
+
*/
|
6
|
+
export class RenderContext {
|
7
|
+
private readonly _dataObject: IDataObject;
|
8
|
+
private readonly _selectedVersion: string;
|
9
|
+
|
10
|
+
constructor(dataObject: IDataObject, selectedVersion: string) {
|
11
|
+
this._dataObject = dataObject;
|
12
|
+
this._selectedVersion = selectedVersion;
|
13
|
+
}
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Target object
|
17
|
+
*/
|
18
|
+
public get dataObject(): IDataObject {
|
19
|
+
return this._dataObject;
|
20
|
+
}
|
21
|
+
|
22
|
+
/**
|
23
|
+
* Selected version time
|
24
|
+
*/
|
25
|
+
public get selectedVersion(): string {
|
26
|
+
return this._selectedVersion;
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
export enum AccessLevel {
|
2
|
+
None = 0,
|
3
|
+
Create = 1 << 0,
|
4
|
+
Edit = 1 << 1,
|
5
|
+
View = 1 << 2,
|
6
|
+
Freeze = 1 << 3,
|
7
|
+
Agreement = 1 << 4,
|
8
|
+
Share = 1 << 5,
|
9
|
+
|
10
|
+
ViewCreate = View | Create,
|
11
|
+
ViewEdit = View | Create | Edit,
|
12
|
+
ViewEditAgrement = ViewEdit | Agreement,
|
13
|
+
Full = View | Create | Edit | Freeze | Agreement | Share
|
14
|
+
}
|
15
|
+
|
16
|
+
export enum AccessType {
|
17
|
+
Allow,
|
18
|
+
Deny
|
19
|
+
}
|
20
|
+
|
21
|
+
export enum AccessInheritance {
|
22
|
+
None,
|
23
|
+
InheritUntilSecret,
|
24
|
+
InheritWholeSubtree
|
25
|
+
}
|
26
|
+
|
27
|
+
export interface IAccessRecord {
|
28
|
+
get orgUnitId(): number;
|
29
|
+
get access(): IAccess;
|
30
|
+
get recordOwnerPosition(): number;
|
31
|
+
get inheritanceSource(): string;
|
32
|
+
}
|
33
|
+
|
34
|
+
export interface IAccess {
|
35
|
+
get type(): AccessType;
|
36
|
+
get accessLevel(): AccessLevel;
|
37
|
+
get validThrough(): string;
|
38
|
+
get inheritance(): AccessInheritance;
|
39
|
+
get typeIds(): number[];
|
40
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { IDataObject } from "./data-object";
|
2
|
+
|
3
|
+
|
4
|
+
export interface IAnnotationContainerObject {
|
5
|
+
get container(): IAnnotationContainer;
|
6
|
+
get source(): IDataObject;
|
7
|
+
get attributes(): any;
|
8
|
+
}
|
9
|
+
|
10
|
+
|
11
|
+
export interface IAnnotationContainer {
|
12
|
+
get annotationId(): string;
|
13
|
+
get version(): string;
|
14
|
+
get positionX(): number;
|
15
|
+
get positionY(): number;
|
16
|
+
get pageNumber(): number;
|
17
|
+
get data(): string;
|
18
|
+
get kind(): string;
|
19
|
+
}
|
20
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
export interface IAttribute {
|
3
|
+
get name(): string;
|
4
|
+
get title(): string;
|
5
|
+
get obligatory(): boolean;
|
6
|
+
get type(): AttributeType;
|
7
|
+
get displayHeight(): number;
|
8
|
+
get showInTree(): boolean;
|
9
|
+
get displaySortOrder(): number;
|
10
|
+
get isService(): boolean;
|
11
|
+
get configuration(): string;
|
12
|
+
get joinWithPrevious(): boolean;
|
13
|
+
get isUnique(): boolean;
|
14
|
+
get groupTitle(): string;
|
15
|
+
get editableForPositionsSource(): string[];
|
16
|
+
}
|
17
|
+
|
18
|
+
|
19
|
+
export enum AttributeType {
|
20
|
+
Integer = 0,
|
21
|
+
Double = 1,
|
22
|
+
DateTime = 2,
|
23
|
+
String = 3,
|
24
|
+
Decimal = 4,
|
25
|
+
Numerator = 5,
|
26
|
+
Array = 6,
|
27
|
+
UserState = 7,
|
28
|
+
OrgUnit = 8,
|
29
|
+
ElementBook = 9,
|
30
|
+
Guid = 10,
|
31
|
+
IntegerArray = 11,
|
32
|
+
Unknown = 99
|
33
|
+
}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
import { AccessLevel, IAccessRecord } from "./access";
|
2
|
+
import { IAttribute } from "./attribute";
|
3
|
+
import { IFileSnapshot } from "./files-snapshot";
|
4
|
+
import { IPerson } from "./person";
|
5
|
+
import { IRelation } from "./relation";
|
6
|
+
|
7
|
+
|
8
|
+
export enum RelationType {
|
9
|
+
SourceFiles = 1,
|
10
|
+
TaskInitiatorAttachments = 2,
|
11
|
+
TaskExecutorAttachments = 3,
|
12
|
+
MessageAttachments = 4,
|
13
|
+
Custom = 5,
|
14
|
+
TaskAttachments = 6,
|
15
|
+
}
|
16
|
+
|
17
|
+
export enum ObjectState {
|
18
|
+
Alive,
|
19
|
+
InRecycleBin,
|
20
|
+
DeletedPermanently,
|
21
|
+
Frozen,
|
22
|
+
LockRequested,
|
23
|
+
LockAccepted
|
24
|
+
}
|
25
|
+
|
26
|
+
export interface IDataObject {
|
27
|
+
get id(): string;
|
28
|
+
get parentId(): string;
|
29
|
+
get title(): string;
|
30
|
+
get type(): IType;
|
31
|
+
get attributes(): { [key: string]: any; };
|
32
|
+
get children(): IChild[];
|
33
|
+
get creator(): IPerson;
|
34
|
+
get created(): string;
|
35
|
+
get actualFileSnapshot(): IFileSnapshot;
|
36
|
+
get previousFileSnapshots(): IFileSnapshot[];
|
37
|
+
get context(): string[];
|
38
|
+
get relations(): IRelation[];
|
39
|
+
get access(): IAccessRecord[];
|
40
|
+
get accessLevels(): { [key: number]: AccessLevel; };
|
41
|
+
get stateInfo(): IStateInfo;
|
42
|
+
get secretInfo(): ISecretInfo;
|
43
|
+
}
|
44
|
+
|
45
|
+
export interface IType {
|
46
|
+
get id(): number;
|
47
|
+
get title(): string;
|
48
|
+
get name(): string;
|
49
|
+
get icon(): string;
|
50
|
+
get sort(): number;
|
51
|
+
get hasFiles(): boolean;
|
52
|
+
get children(): number[];
|
53
|
+
get attributes(): IAttribute[];
|
54
|
+
get isDeleted(): boolean;
|
55
|
+
get kind(): number;
|
56
|
+
get isMountable(): boolean;
|
57
|
+
get isService(): boolean;
|
58
|
+
get isProject(): boolean;
|
59
|
+
get configuration(): string;
|
60
|
+
}
|
61
|
+
|
62
|
+
export interface IChild {
|
63
|
+
get objectId(): string;
|
64
|
+
get typeId(): number;
|
65
|
+
}
|
66
|
+
|
67
|
+
export interface ISecretInfo {
|
68
|
+
get isSecret(): boolean;
|
69
|
+
get secretParentId(): string;
|
70
|
+
get secretChangedBy(): number;
|
71
|
+
}
|
72
|
+
|
73
|
+
export interface IStateInfo {
|
74
|
+
get state(): ObjectState;
|
75
|
+
get date(): string;
|
76
|
+
get personId(): number;
|
77
|
+
get positionId(): number;
|
78
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
export interface IFile {
|
2
|
+
get body(): IFileBody;
|
3
|
+
get name(): string;
|
4
|
+
get signatures(): ISignature[];
|
5
|
+
}
|
6
|
+
|
7
|
+
export interface IFileBody {
|
8
|
+
get id(): string;
|
9
|
+
get size(): number;
|
10
|
+
get md5(): any;
|
11
|
+
get modified(): string;
|
12
|
+
get created(): string;
|
13
|
+
get accessed(): string;
|
14
|
+
}
|
15
|
+
|
16
|
+
export interface ISignature {
|
17
|
+
get id(): string;
|
18
|
+
get databaseId(): string;
|
19
|
+
get positionId(): number;
|
20
|
+
get role(): string;
|
21
|
+
get sign(): string;
|
22
|
+
get requestedSigner(): string;
|
23
|
+
get isAdditional(): boolean;
|
24
|
+
get objectId(): string;
|
25
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export * from './access';
|
2
|
+
export * from './annotations';
|
3
|
+
export * from './attribute';
|
4
|
+
export * from './data-object';
|
5
|
+
export * from './file';
|
6
|
+
export * from './files-snapshot';
|
7
|
+
export * from './person';
|
8
|
+
export * from './relation';
|
9
|
+
export * from './object-builder';
|
10
|
+
export * from './modifier';
|
11
|
+
export * from './organisation-unit'
|
12
|
+
export * from './subscriptionType'
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { Observable } from "rxjs/internal/Observable";
|
2
|
+
import { IDataObject } from ".";
|
3
|
+
import { IObjectBuilder } from "./object-builder";
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Creates, modifies and deletes objects
|
7
|
+
*/
|
8
|
+
export interface IModifier {
|
9
|
+
/**
|
10
|
+
* Creates a new object
|
11
|
+
*
|
12
|
+
* @param id New object id
|
13
|
+
* @param parentId Parent id
|
14
|
+
* @param typeId Creating object's type id
|
15
|
+
* @return Fluent interface that enables you to modify created object
|
16
|
+
*/
|
17
|
+
create(id: string, parentId: string, typeId: number): IObjectBuilder;
|
18
|
+
/**
|
19
|
+
* Edits existing object
|
20
|
+
*
|
21
|
+
* @param id Id of object to modify
|
22
|
+
* @returns Fluent interface that enables you to modify created object
|
23
|
+
*/
|
24
|
+
edit(id: string) : IObjectBuilder;
|
25
|
+
/**
|
26
|
+
* Applies all the changes have been made in modifier
|
27
|
+
*
|
28
|
+
* @returns Created and edited objects wrapped in cold Observable
|
29
|
+
*/
|
30
|
+
apply(): Observable<IDataObject[]>;
|
31
|
+
}
|
@@ -0,0 +1,111 @@
|
|
1
|
+
import { AttributeType } from "./attribute";
|
2
|
+
import { IAnnotationContainer } from "./annotations";
|
3
|
+
import { IAccessRecord } from "./access";
|
4
|
+
import { IRelation } from "./relation";
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Fluent interface that enables you to modify the associated object
|
8
|
+
*/
|
9
|
+
export interface IObjectBuilder {
|
10
|
+
/**
|
11
|
+
* Sets the string attribute value
|
12
|
+
*
|
13
|
+
* @param name Attribute name
|
14
|
+
* @param value Attribute value
|
15
|
+
* @returns Self
|
16
|
+
*/
|
17
|
+
setAttribute(name: string, value: any, type: AttributeType): IObjectBuilder;
|
18
|
+
/**
|
19
|
+
* Adds access record to an object
|
20
|
+
*
|
21
|
+
* @param record Access record
|
22
|
+
* @returns Self
|
23
|
+
*/
|
24
|
+
setAccess(record: IAccessRecord): IObjectBuilder;
|
25
|
+
/**
|
26
|
+
* Removes access record
|
27
|
+
*
|
28
|
+
* @param record Access record
|
29
|
+
* @returns Self
|
30
|
+
*/
|
31
|
+
removeAccess(record: IAccessRecord): IObjectBuilder;
|
32
|
+
/**
|
33
|
+
* Adds a relation
|
34
|
+
*
|
35
|
+
* @param relation Relation
|
36
|
+
* @returns Self
|
37
|
+
*/
|
38
|
+
addRelation(relation: IRelation): IObjectBuilder;
|
39
|
+
/**
|
40
|
+
* Removes relation
|
41
|
+
*
|
42
|
+
* @param relationId Relation id
|
43
|
+
* @returns Self
|
44
|
+
*/
|
45
|
+
removeRelation(relationId: string): IObjectBuilder;
|
46
|
+
/**
|
47
|
+
* Sets new type. It is recommended to use this method only for recovering permanently deleted objects. In other cases, this can lead to system malfunction.
|
48
|
+
*
|
49
|
+
* @param typeId Type id
|
50
|
+
* @returns Self
|
51
|
+
*/
|
52
|
+
setTypeId(typeId: number): IObjectBuilder;
|
53
|
+
/**
|
54
|
+
* Sets new parent
|
55
|
+
*
|
56
|
+
* @param parentId Parent id
|
57
|
+
* @returns Self
|
58
|
+
*/
|
59
|
+
setParentId(parentId: string): IObjectBuilder;
|
60
|
+
/**
|
61
|
+
* Adds file snapshot
|
62
|
+
*
|
63
|
+
* @param reason Reason
|
64
|
+
* @returns Self
|
65
|
+
*/
|
66
|
+
createSnapshot(reason: string): IObjectBuilder;
|
67
|
+
/**
|
68
|
+
* Makes file snapshot actual
|
69
|
+
*
|
70
|
+
* @param version Version of file snapshot to make actual
|
71
|
+
* @param reason Reason
|
72
|
+
* @returns Self
|
73
|
+
*/
|
74
|
+
createSnapshotFrom(version: string, reason: string): IObjectBuilder;
|
75
|
+
/**
|
76
|
+
* Sets permanently deleted flag
|
77
|
+
*
|
78
|
+
* @param isDeleted Value
|
79
|
+
* @returns Self
|
80
|
+
*/
|
81
|
+
setIsDeleted(isDeleted: boolean): IObjectBuilder;
|
82
|
+
/**
|
83
|
+
* Set flag in recycle bin
|
84
|
+
*
|
85
|
+
* @param isInRecycleBin Value
|
86
|
+
* @returns Self
|
87
|
+
*/
|
88
|
+
setIsInRecycleBin(isInRecycleBin: boolean): IObjectBuilder;
|
89
|
+
/**
|
90
|
+
* Sets frozen flag
|
91
|
+
*
|
92
|
+
* @param isFreezed Value
|
93
|
+
* @returns Self
|
94
|
+
*/
|
95
|
+
setIsFreezed(isFreezed: boolean): IObjectBuilder;
|
96
|
+
/**
|
97
|
+
* Sets object's secret info
|
98
|
+
*
|
99
|
+
* @param isSecret Value
|
100
|
+
* @returns Self
|
101
|
+
*/
|
102
|
+
setIsSecret(isSecret: boolean): IObjectBuilder;
|
103
|
+
/**
|
104
|
+
* Adds or changes a annotation
|
105
|
+
*
|
106
|
+
* @param container Annotation container
|
107
|
+
* @param attrbutes Annotation attributes
|
108
|
+
* @returns Self
|
109
|
+
*/
|
110
|
+
addAnnotationContainer(container: IAnnotationContainer, attrbutes: any): IObjectBuilder;
|
111
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
|
2
|
+
export interface IOrganizationUnit {
|
3
|
+
get id(): number;
|
4
|
+
get title(): string;
|
5
|
+
get kind(): OrgUnitKind;
|
6
|
+
get children(): number[];
|
7
|
+
get isDeleted(): boolean;
|
8
|
+
get isBoss(): boolean;
|
9
|
+
get version(): number;
|
10
|
+
get person(): number;
|
11
|
+
get vicePersons(): number[];
|
12
|
+
get isCanceled(): boolean;
|
13
|
+
get groupPersons(): number[];
|
14
|
+
}
|
15
|
+
|
16
|
+
export enum OrgUnitKind {
|
17
|
+
Department = 0,
|
18
|
+
Position = 1,
|
19
|
+
Group = 2
|
20
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
export interface IPerson {
|
2
|
+
get id(): number;
|
3
|
+
get login(): string;
|
4
|
+
get isInactive(): boolean;
|
5
|
+
get displayName(): string;
|
6
|
+
get positions(): number[];
|
7
|
+
get groups(): number[];
|
8
|
+
get bossOf(): number[];
|
9
|
+
get allOrgUnits(): number[];
|
10
|
+
get comment(): string;
|
11
|
+
get email(): string;
|
12
|
+
get sid(): string;
|
13
|
+
get uidDn(): string;
|
14
|
+
get isDeleted(): boolean;
|
15
|
+
get isAdmin(): boolean;
|
16
|
+
get version(): number;
|
17
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { getErrorString } from "@microsoft/signalr/dist/esm/Utils";
|
2
|
+
import { RelationType } from "./data-object";
|
3
|
+
|
4
|
+
export interface IRelation {
|
5
|
+
get id(): string;
|
6
|
+
get targetId(): string;
|
7
|
+
get type(): RelationType;
|
8
|
+
get name(): string;
|
9
|
+
get versionId(): string;
|
10
|
+
}
|