@qelos/sdk 3.3.6 → 3.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -5,6 +5,8 @@ import QlAppConfigurations from './configurations';
5
5
  import QlBlocks from './blocks';
6
6
  import QlLayouts from './administrator/layouts';
7
7
  import QlAuthentication from './authentication';
8
+ import QlWorkspaces from './workspaces';
9
+ import QlInvites from './invites';
8
10
  export default class QelosSDK extends BaseSDK {
9
11
  private options;
10
12
  menus: QlMenus;
@@ -12,5 +14,7 @@ export default class QelosSDK extends BaseSDK {
12
14
  layouts: QlLayouts;
13
15
  appConfigurations: QlAppConfigurations;
14
16
  authentication: QlAuthentication;
17
+ workspaces: QlWorkspaces;
18
+ invites: QlInvites;
15
19
  constructor(options: QelosSDKOptions);
16
20
  }
package/dist/index.js CHANGED
@@ -4,6 +4,8 @@ import QlAppConfigurations from './configurations';
4
4
  import QlBlocks from './blocks';
5
5
  import QlLayouts from './administrator/layouts';
6
6
  import QlAuthentication from './authentication';
7
+ import QlWorkspaces from './workspaces';
8
+ import QlInvites from './invites';
7
9
  const noExtraHeadersUrls = new Set(['/api/token/refresh', '/api/signin', '/api/signup']);
8
10
  export default class QelosSDK extends BaseSDK {
9
11
  options;
@@ -12,6 +14,8 @@ export default class QelosSDK extends BaseSDK {
12
14
  layouts;
13
15
  appConfigurations;
14
16
  authentication;
17
+ workspaces;
18
+ invites;
15
19
  constructor(options) {
16
20
  super(options);
17
21
  this.options = options;
@@ -20,6 +24,8 @@ export default class QelosSDK extends BaseSDK {
20
24
  this.layouts = new QlLayouts(this.options);
21
25
  this.appConfigurations = new QlAppConfigurations(this.options);
22
26
  this.authentication = new QlAuthentication(this.options);
27
+ this.workspaces = new QlWorkspaces(this.options);
28
+ this.invites = new QlInvites(this.options);
23
29
  if (!options.getAccessToken) {
24
30
  options.getAccessToken = () => this.authentication.accessToken;
25
31
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AACnD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,gBAAgB,MAAM,kBAAkB,CAAC;AAEhD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAA;AAExF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAQvB;IANpB,KAAK,CAAU;IACf,MAAM,CAAW;IACjB,OAAO,CAAY;IACnB,iBAAiB,CAAsB;IACvC,cAAc,CAAmB;IAEjC,YAAoB,OAAwB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QADG,YAAO,GAAP,OAAO,CAAiB;QAE1C,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;SAChE;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,CAAC,YAAY,GAAG,KAAK,EAAE,WAAmB,EAAE,YAAsB,EAAE,EAAE;gBAC3E,IAAI,UAAU,CAAC,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBAC/D,OAAO,EAAE,CAAC;iBACX;gBACD,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzD,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;oBACzC,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;iBAClC;gBACD,IAAI,KAAK,EAAE;oBACT,OAAO,EAAC,aAAa,EAAE,SAAS,GAAG,KAAK,EAAC,CAAA;iBAC1C;gBACD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;SACF;IACH,CAAC;CAEF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AACnD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,gBAAgB,MAAM,kBAAkB,CAAC;AAChD,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAA;AAExF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAUvB;IARpB,KAAK,CAAU;IACf,MAAM,CAAW;IACjB,OAAO,CAAY;IACnB,iBAAiB,CAAsB;IACvC,cAAc,CAAmB;IACjC,UAAU,CAAe;IACzB,OAAO,CAAY;IAEnB,YAAoB,OAAwB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QADG,YAAO,GAAP,OAAO,CAAiB;QAE1C,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;SAChE;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,CAAC,YAAY,GAAG,KAAK,EAAE,WAAmB,EAAE,YAAsB,EAAE,EAAE;gBAC3E,IAAI,UAAU,CAAC,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBAC/D,OAAO,EAAE,CAAC;iBACX;gBACD,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzD,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;oBACzC,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;iBAClC;gBACD,IAAI,KAAK,EAAE;oBACT,OAAO,EAAC,aAAa,EAAE,SAAS,GAAG,KAAK,EAAC,CAAA;iBAC1C;gBACD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;SACF;IACH,CAAC;CAEF"}
@@ -0,0 +1,20 @@
1
+ import { QelosSDKOptions } from './types';
2
+ import BaseSDK from './base-sdk';
3
+ export interface IInvite {
4
+ workspace: {
5
+ name: string;
6
+ logo?: string;
7
+ _id: string;
8
+ };
9
+ }
10
+ export declare enum InviteKind {
11
+ DECLINE = "decline",
12
+ ACCEPT = "accept"
13
+ }
14
+ export default class QlInvites extends BaseSDK {
15
+ private relativePath;
16
+ constructor(options: QelosSDKOptions);
17
+ getList(): Promise<IInvite[]>;
18
+ acceptWorkspace(workspaceId: string): Promise<unknown>;
19
+ declineWorkspace(workspaceId: string): Promise<unknown>;
20
+ }
@@ -0,0 +1,36 @@
1
+ import BaseSDK from './base-sdk';
2
+ export var InviteKind;
3
+ (function (InviteKind) {
4
+ InviteKind["DECLINE"] = "decline";
5
+ InviteKind["ACCEPT"] = "accept";
6
+ })(InviteKind || (InviteKind = {}));
7
+ export default class QlInvites extends BaseSDK {
8
+ relativePath = '/api/invites';
9
+ constructor(options) {
10
+ super(options);
11
+ }
12
+ getList() {
13
+ return this.callJsonApi(this.relativePath);
14
+ }
15
+ acceptWorkspace(workspaceId) {
16
+ return this.callApi(this.relativePath, {
17
+ method: 'post',
18
+ headers: { 'content-type': 'application/json' },
19
+ body: JSON.stringify({
20
+ workspace: workspaceId,
21
+ kind: InviteKind.ACCEPT
22
+ })
23
+ });
24
+ }
25
+ declineWorkspace(workspaceId) {
26
+ return this.callApi(this.relativePath, {
27
+ method: 'post',
28
+ headers: { 'content-type': 'application/json' },
29
+ body: JSON.stringify({
30
+ workspace: workspaceId,
31
+ kind: InviteKind.DECLINE
32
+ })
33
+ });
34
+ }
35
+ }
36
+ //# sourceMappingURL=invites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invites.js","sourceRoot":"","sources":["../src/invites.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AAUjC,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IACpC,YAAY,GAAG,cAAc,CAAC;IAEtC,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CAAY,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,eAAe,CAAC,WAAmB;QACjC,OAAO,IAAI,CAAC,OAAO,CACjB,IAAI,CAAC,YAAY,EACjB;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,UAAU,CAAC,MAAM;aACxB,CAAC;SACH,CACF,CAAA;IACH,CAAC;IAED,gBAAgB,CAAC,WAAmB;QAClC,OAAO,IAAI,CAAC,OAAO,CACjB,IAAI,CAAC,YAAY,EACjB;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,UAAU,CAAC,OAAO;aACzB,CAAC;SACH,CACF,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ import { QelosSDKOptions } from './types';
2
+ import BaseSDK from './base-sdk';
3
+ export interface IWorkspaceMember {
4
+ user: string;
5
+ roles: string[];
6
+ created?: string | Date;
7
+ }
8
+ export interface IInvite {
9
+ name?: string;
10
+ email: string;
11
+ created?: string | Date;
12
+ }
13
+ export interface IWorkspace {
14
+ name: string;
15
+ logo?: string;
16
+ isPrivilegedUser?: boolean;
17
+ members?: IWorkspaceMember[];
18
+ invites?: IInvite[];
19
+ [key: string]: any;
20
+ }
21
+ export default class QlWorkspaces extends BaseSDK {
22
+ private relativePath;
23
+ constructor(options: QelosSDKOptions);
24
+ getWorkspace(workspaceId: string): Promise<IWorkspace>;
25
+ getMembers(workspaceId: string): Promise<IWorkspaceMember[]>;
26
+ getList(): Promise<IWorkspace[]>;
27
+ remove(workspaceId: string): Promise<any>;
28
+ update(workspaceId: string, changes: Partial<IWorkspace>): Promise<IWorkspace>;
29
+ create(workspace: Partial<IWorkspace> & {
30
+ name: string;
31
+ }): Promise<IWorkspace>;
32
+ activate(workspaceId: string): Promise<IWorkspace>;
33
+ }
@@ -0,0 +1,40 @@
1
+ import BaseSDK from './base-sdk';
2
+ export default class QlWorkspaces extends BaseSDK {
3
+ relativePath = '/api/workspaces';
4
+ constructor(options) {
5
+ super(options);
6
+ }
7
+ getWorkspace(workspaceId) {
8
+ return this.callJsonApi(`${this.relativePath}/${workspaceId}`);
9
+ }
10
+ getMembers(workspaceId) {
11
+ return this.callJsonApi(`${this.relativePath}/${workspaceId}/members`);
12
+ }
13
+ getList() {
14
+ return this.callJsonApi(this.relativePath);
15
+ }
16
+ remove(workspaceId) {
17
+ return this.callApi(`${this.relativePath}/${workspaceId}`, { method: 'delete' });
18
+ }
19
+ update(workspaceId, changes) {
20
+ return this.callJsonApi(`${this.relativePath}/${workspaceId}`, {
21
+ method: 'put',
22
+ headers: { 'content-type': 'application/json' },
23
+ body: JSON.stringify(changes)
24
+ });
25
+ }
26
+ create(workspace) {
27
+ return this.callJsonApi(this.relativePath, {
28
+ method: 'post',
29
+ headers: { 'content-type': 'application/json' },
30
+ body: JSON.stringify(workspace)
31
+ });
32
+ }
33
+ activate(workspaceId) {
34
+ return this.callJsonApi(`${this.relativePath}/${workspaceId}`, {
35
+ method: 'post',
36
+ headers: { 'content-type': 'application/json' },
37
+ });
38
+ }
39
+ }
40
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../src/workspaces.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AAyBjC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IACvC,YAAY,GAAG,iBAAiB,CAAC;IAEzC,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IAED,YAAY,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAa,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,UAAU,CAAC,WAAmB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAqB,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,UAAU,CAAC,CAAA;IAC5F,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CAAe,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,WAAmB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,WAAmB,EAAE,OAA4B;QACtD,OAAO,IAAI,CAAC,WAAW,CACrB,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE,EACrC;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CACF,CAAA;IACH,CAAC;IAED,MAAM,CAAC,SAAiD;QACtD,OAAO,IAAI,CAAC,WAAW,CAAa,IAAI,CAAC,YAAY,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAC,WAAmB;QAC1B,OAAO,IAAI,CAAC,WAAW,CACrB,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE,EACrC;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;SAC9C,CACF,CAAA;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qelos/sdk",
3
- "version": "3.3.6",
3
+ "version": "3.3.9",
4
4
  "description": "SDK for Qelos API",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
package/src/index.ts CHANGED
@@ -5,6 +5,8 @@ import QlAppConfigurations from './configurations';
5
5
  import QlBlocks from './blocks';
6
6
  import QlLayouts from './administrator/layouts';
7
7
  import QlAuthentication from './authentication';
8
+ import QlWorkspaces from './workspaces';
9
+ import QlInvites from './invites';
8
10
 
9
11
  const noExtraHeadersUrls = new Set(['/api/token/refresh', '/api/signin', '/api/signup'])
10
12
 
@@ -15,6 +17,8 @@ export default class QelosSDK extends BaseSDK {
15
17
  layouts: QlLayouts;
16
18
  appConfigurations: QlAppConfigurations;
17
19
  authentication: QlAuthentication;
20
+ workspaces: QlWorkspaces;
21
+ invites: QlInvites;
18
22
 
19
23
  constructor(private options: QelosSDKOptions) {
20
24
  super(options);
@@ -23,6 +27,8 @@ export default class QelosSDK extends BaseSDK {
23
27
  this.layouts = new QlLayouts(this.options);
24
28
  this.appConfigurations = new QlAppConfigurations(this.options);
25
29
  this.authentication = new QlAuthentication(this.options);
30
+ this.workspaces = new QlWorkspaces(this.options);
31
+ this.invites = new QlInvites(this.options);
26
32
 
27
33
  if (!options.getAccessToken) {
28
34
  options.getAccessToken = () => this.authentication.accessToken;
package/src/invites.ts ADDED
@@ -0,0 +1,55 @@
1
+ import {QelosSDKOptions} from './types';
2
+ import BaseSDK from './base-sdk';
3
+
4
+ export interface IInvite {
5
+ workspace: {
6
+ name: string;
7
+ logo?: string;
8
+ _id: string;
9
+ }
10
+ }
11
+
12
+ export enum InviteKind {
13
+ DECLINE = 'decline',
14
+ ACCEPT = 'accept',
15
+ }
16
+
17
+ export default class QlInvites extends BaseSDK {
18
+ private relativePath = '/api/invites';
19
+
20
+ constructor(options: QelosSDKOptions) {
21
+ super(options)
22
+ }
23
+
24
+ getList() {
25
+ return this.callJsonApi<IInvite[]>(this.relativePath);
26
+ }
27
+
28
+ acceptWorkspace(workspaceId: string): Promise<unknown> {
29
+ return this.callApi(
30
+ this.relativePath,
31
+ {
32
+ method: 'post',
33
+ headers: {'content-type': 'application/json'},
34
+ body: JSON.stringify({
35
+ workspace: workspaceId,
36
+ kind: InviteKind.ACCEPT
37
+ })
38
+ }
39
+ )
40
+ }
41
+
42
+ declineWorkspace(workspaceId: string): Promise<unknown> {
43
+ return this.callApi(
44
+ this.relativePath,
45
+ {
46
+ method: 'post',
47
+ headers: {'content-type': 'application/json'},
48
+ body: JSON.stringify({
49
+ workspace: workspaceId,
50
+ kind: InviteKind.DECLINE
51
+ })
52
+ }
53
+ )
54
+ }
55
+ }
@@ -0,0 +1,78 @@
1
+ import {QelosSDKOptions} from './types';
2
+ import BaseSDK from './base-sdk';
3
+
4
+ export interface IWorkspaceMember {
5
+ user: string;
6
+ roles: string[];
7
+ created?: string | Date;
8
+ }
9
+
10
+ export interface IInvite {
11
+ name?: string;
12
+ email: string;
13
+ created?: string | Date;
14
+ }
15
+
16
+ export interface IWorkspace {
17
+ name: string;
18
+ logo?: string;
19
+ isPrivilegedUser?: boolean;
20
+
21
+ members?: IWorkspaceMember[];
22
+ invites?: IInvite[];
23
+
24
+ [key: string]: any;
25
+ }
26
+
27
+ export default class QlWorkspaces extends BaseSDK {
28
+ private relativePath = '/api/workspaces';
29
+
30
+ constructor(options: QelosSDKOptions) {
31
+ super(options)
32
+ }
33
+
34
+ getWorkspace(workspaceId: string) {
35
+ return this.callJsonApi<IWorkspace>(`${this.relativePath}/${workspaceId}`)
36
+ }
37
+
38
+ getMembers(workspaceId: string) {
39
+ return this.callJsonApi<IWorkspaceMember[]>(`${this.relativePath}/${workspaceId}/members`)
40
+ }
41
+
42
+ getList() {
43
+ return this.callJsonApi<IWorkspace[]>(this.relativePath);
44
+ }
45
+
46
+ remove(workspaceId: string): Promise<any> {
47
+ return this.callApi(`${this.relativePath}/${workspaceId}`, {method: 'delete'});
48
+ }
49
+
50
+ update(workspaceId: string, changes: Partial<IWorkspace>): Promise<IWorkspace> {
51
+ return this.callJsonApi<IWorkspace>(
52
+ `${this.relativePath}/${workspaceId}`,
53
+ {
54
+ method: 'put',
55
+ headers: {'content-type': 'application/json'},
56
+ body: JSON.stringify(changes)
57
+ }
58
+ )
59
+ }
60
+
61
+ create(workspace: Partial<IWorkspace> & { name: string }): Promise<IWorkspace> {
62
+ return this.callJsonApi<IWorkspace>(this.relativePath, {
63
+ method: 'post',
64
+ headers: {'content-type': 'application/json'},
65
+ body: JSON.stringify(workspace)
66
+ })
67
+ }
68
+
69
+ activate(workspaceId: string): Promise<IWorkspace> {
70
+ return this.callJsonApi<IWorkspace>(
71
+ `${this.relativePath}/${workspaceId}`,
72
+ {
73
+ method: 'post',
74
+ headers: {'content-type': 'application/json'},
75
+ }
76
+ )
77
+ }
78
+ }