@neuralinnovations/dataisland-sdk 0.5.1 → 0.5.2

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.
Files changed (27) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/dto/invitesResponse.d.ts +3 -0
  3. package/dist/src/dto/invitesResponse.d.ts.map +1 -1
  4. package/dist/src/dto/workspacesResponse.d.ts +3 -0
  5. package/dist/src/dto/workspacesResponse.d.ts.map +1 -1
  6. package/dist/src/services/statistics.d.ts +3 -0
  7. package/dist/src/services/statistics.d.ts.map +1 -1
  8. package/dist/src/services/statistics.js +5 -0
  9. package/dist/src/services/statistics.js.map +1 -1
  10. package/dist/src/storages/administration/administration.d.ts +2 -0
  11. package/dist/src/storages/administration/administration.d.ts.map +1 -1
  12. package/dist/src/storages/administration/administration.js.map +1 -1
  13. package/dist/src/storages/administration/cheats.administration.d.ts +41 -0
  14. package/dist/src/storages/administration/cheats.administration.d.ts.map +1 -0
  15. package/dist/src/storages/administration/cheats.administration.impl.d.ts +17 -0
  16. package/dist/src/storages/administration/cheats.administration.impl.d.ts.map +1 -0
  17. package/dist/src/storages/administration/cheats.administration.impl.js +109 -0
  18. package/dist/src/storages/administration/cheats.administration.impl.js.map +1 -0
  19. package/dist/src/storages/administration/cheats.administration.js +7 -0
  20. package/dist/src/storages/administration/cheats.administration.js.map +1 -0
  21. package/package.json +1 -1
  22. package/src/dto/invitesResponse.ts +4 -0
  23. package/src/dto/workspacesResponse.ts +4 -0
  24. package/src/services/statistics.ts +9 -0
  25. package/src/storages/administration/administration.ts +3 -0
  26. package/src/storages/administration/cheats.administration.impl.ts +155 -0
  27. package/src/storages/administration/cheats.administration.ts +48 -0
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
@@ -18,4 +18,7 @@ export interface UserInviteData {
18
18
  name: string;
19
19
  email: string;
20
20
  }
21
+ export interface EmailsWhitelistResponse {
22
+ emails: string[];
23
+ }
21
24
  //# sourceMappingURL=invitesResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invitesResponse.d.ts","sourceRoot":"","sources":["../../../src/dto/invitesResponse.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,CAAC,CAAA;IACX,MAAM,EAAE,CAAC,CAAA;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd"}
1
+ {"version":3,"file":"invitesResponse.d.ts","sourceRoot":"","sources":["../../../src/dto/invitesResponse.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,CAAC,CAAA;IACX,MAAM,EAAE,CAAC,CAAA;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB"}
@@ -76,4 +76,7 @@ export declare enum ResourceType {
76
76
  User = 5,
77
77
  File = 6
78
78
  }
79
+ export interface BrokenFilesResponse {
80
+ files: string[];
81
+ }
79
82
  //# sourceMappingURL=workspacesResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspacesResponse.d.ts","sourceRoot":"","sources":["../../../src/dto/workspacesResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,WAAW,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,mBAAmB,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,oBAAY,mBAAmB;IAC7B,IAAI,IAAI;IACR,kBAAkB,KAAK;IACvB,UAAU,KAAK;IACf,kBAAkB,KAAK;IACvB,UAAU,KAAK;IACf,KAAK,KAAK;IACV,IAAI,MAAM;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,mBAAmB,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B;AAED,qBAAa,WAAW;IACf,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;gBAER,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAIvC;AAGD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,oBAAY,YAAY;IACtB,IAAI,IAAI;IACR,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;CACT"}
1
+ {"version":3,"file":"workspacesResponse.d.ts","sourceRoot":"","sources":["../../../src/dto/workspacesResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,WAAW,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,mBAAmB,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,oBAAY,mBAAmB;IAC7B,IAAI,IAAI;IACR,kBAAkB,KAAK;IACvB,UAAU,KAAK;IACf,kBAAkB,KAAK;IACvB,UAAU,KAAK;IACf,KAAK,KAAK;IACV,IAAI,MAAM;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,mBAAmB,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B;AAED,qBAAa,WAAW;IACf,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;gBAER,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAIvC;AAGD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,oBAAY,YAAY;IACtB,IAAI,IAAI;IACR,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;CACT;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB"}
@@ -3,13 +3,16 @@ import { LibraryAdministration } from "../storages/administration/library.admini
3
3
  import { StatisticAdministrationImpl } from "../storages/administration/statistics.administration.impl";
4
4
  import { Administration } from "../storages/administration/administration";
5
5
  import { UsersAdministrationImpl } from "../storages/administration/users.administration.impl";
6
+ import { CheatsAdministrationImpl } from "../storages/administration/cheats.administration.impl";
6
7
  export declare class AdministrationService extends Service implements Administration {
7
8
  private readonly _libraries;
8
9
  private readonly _statistic;
9
10
  private readonly _users;
11
+ private readonly _cheats;
10
12
  constructor(context: ServiceContext);
11
13
  get libraries(): LibraryAdministration;
12
14
  get statistic(): StatisticAdministrationImpl;
13
15
  get users(): UsersAdministrationImpl;
16
+ get cheats(): CheatsAdministrationImpl;
14
17
  }
15
18
  //# sourceMappingURL=statistics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../../../src/services/statistics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAInD,OAAO,EACL,qBAAqB,EACtB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACL,2BAA2B,EAC5B,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EACL,uBAAuB,EACxB,MAAM,sDAAsD,CAAA;AAE7D,qBAAa,qBAAsB,SAAQ,OAAQ,YAAW,cAAc;IAC1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAEpC,OAAO,EAAE,cAAc;IAQnC,IAAI,SAAS,IAAI,qBAAqB,CAErC;IAED,IAAI,SAAS,IAAI,2BAA2B,CAE3C;IAED,IAAI,KAAK,IAAI,uBAAuB,CAEnC;CACF"}
1
+ {"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../../../src/services/statistics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAInD,OAAO,EACL,qBAAqB,EACtB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACL,2BAA2B,EAC5B,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EACL,uBAAuB,EACxB,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EACL,wBAAwB,EACzB,MAAM,uDAAuD,CAAA;AAE9D,qBAAa,qBAAsB,SAAQ,OAAQ,YAAW,cAAc;IAC1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,OAAO,EAAE,cAAc;IASnC,IAAI,SAAS,IAAI,qBAAqB,CAErC;IAED,IAAI,SAAS,IAAI,2BAA2B,CAE3C;IAED,IAAI,KAAK,IAAI,uBAAuB,CAEnC;IAED,IAAI,MAAM,IAAI,wBAAwB,CAErC;CACF"}
@@ -5,12 +5,14 @@ const service_1 = require("./service");
5
5
  const library_administration_impl_1 = require("../storages/administration/library.administration.impl");
6
6
  const statistics_administration_impl_1 = require("../storages/administration/statistics.administration.impl");
7
7
  const users_administration_impl_1 = require("../storages/administration/users.administration.impl");
8
+ const cheats_administration_impl_1 = require("../storages/administration/cheats.administration.impl");
8
9
  class AdministrationService extends service_1.Service {
9
10
  constructor(context) {
10
11
  super(context);
11
12
  this._libraries = new library_administration_impl_1.LibraryAdministrationImpl(context.context);
12
13
  this._statistic = new statistics_administration_impl_1.StatisticAdministrationImpl(context.context);
13
14
  this._users = new users_administration_impl_1.UsersAdministrationImpl(context.context);
15
+ this._cheats = new cheats_administration_impl_1.CheatsAdministrationImpl(context.context);
14
16
  }
15
17
  get libraries() {
16
18
  return this._libraries;
@@ -21,6 +23,9 @@ class AdministrationService extends service_1.Service {
21
23
  get users() {
22
24
  return this._users;
23
25
  }
26
+ get cheats() {
27
+ return this._cheats;
28
+ }
24
29
  }
25
30
  exports.AdministrationService = AdministrationService;
26
31
  //# sourceMappingURL=statistics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statistics.js","sourceRoot":"","sources":["../../../src/services/statistics.ts"],"names":[],"mappings":";;;AAAA,uCAAmD;AACnD,wGAE+D;AAI/D,8GAEkE;AAElE,oGAE6D;AAE7D,MAAa,qBAAsB,SAAQ,iBAAO;IAKhD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,IAAI,CAAC,UAAU,GAAG,IAAI,uDAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,4DAA2B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,mDAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;CACF;AAxBD,sDAwBC"}
1
+ {"version":3,"file":"statistics.js","sourceRoot":"","sources":["../../../src/services/statistics.ts"],"names":[],"mappings":";;;AAAA,uCAAmD;AACnD,wGAE+D;AAI/D,8GAEkE;AAElE,oGAE6D;AAC7D,sGAE8D;AAE9D,MAAa,qBAAsB,SAAQ,iBAAO;IAMhD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,IAAI,CAAC,UAAU,GAAG,IAAI,uDAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,4DAA2B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,mDAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,qDAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AA9BD,sDA8BC"}
@@ -1,9 +1,11 @@
1
1
  import { LibraryAdministration } from "./library.administration";
2
2
  import { StatisticAdministration } from "./statistics.administration";
3
3
  import { UsersAdministration } from "./users.administration";
4
+ import { CheatsAdministration } from "./cheats.administration";
4
5
  export declare abstract class Administration {
5
6
  abstract get libraries(): LibraryAdministration;
6
7
  abstract get statistic(): StatisticAdministration;
7
8
  abstract get users(): UsersAdministration;
9
+ abstract get cheats(): CheatsAdministration;
8
10
  }
9
11
  //# sourceMappingURL=administration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"administration.d.ts","sourceRoot":"","sources":["../../../../src/storages/administration/administration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAA;AAE1D,8BAAsB,cAAc;IAClC,QAAQ,KAAK,SAAS,IAAI,qBAAqB,CAAE;IAEjD,QAAQ,KAAK,SAAS,IAAI,uBAAuB,CAAC;IAElD,QAAQ,KAAK,KAAK,IAAI,mBAAmB,CAAC;CAC3C"}
1
+ {"version":3,"file":"administration.d.ts","sourceRoot":"","sources":["../../../../src/storages/administration/administration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAA;AAE5D,8BAAsB,cAAc;IAClC,QAAQ,KAAK,SAAS,IAAI,qBAAqB,CAAE;IAEjD,QAAQ,KAAK,SAAS,IAAI,uBAAuB,CAAC;IAElD,QAAQ,KAAK,KAAK,IAAI,mBAAmB,CAAC;IAE1C,QAAQ,KAAK,MAAM,IAAI,oBAAoB,CAAA;CAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"administration.js","sourceRoot":"","sources":["../../../../src/storages/administration/administration.ts"],"names":[],"mappings":";;;AAIA,MAAsB,cAAc;CAMnC;AAND,wCAMC"}
1
+ {"version":3,"file":"administration.js","sourceRoot":"","sources":["../../../../src/storages/administration/administration.ts"],"names":[],"mappings":";;;AAKA,MAAsB,cAAc;CAQnC;AARD,wCAQC"}
@@ -0,0 +1,41 @@
1
+ import { OrganizationId } from "../organizations/organizations";
2
+ import { WorkspaceId } from "../workspaces/workspaces";
3
+ import { BrokenFilesResponse } from "../../dto/workspacesResponse";
4
+ import { EmailsWhitelistResponse } from "../../dto/invitesResponse";
5
+ export declare abstract class CheatsAdministration {
6
+ /**
7
+ * Cleans redis cache on server
8
+ * @param cleanCache
9
+ */
10
+ abstract cleanRedisCache(cleanCache: boolean): Promise<void>;
11
+ /**
12
+ * Get info about broken files on server
13
+ * @param organizationId
14
+ * @param workspaceId
15
+ */
16
+ abstract getBrokenFilesInfo(organizationId: OrganizationId, workspaceId: WorkspaceId): Promise<BrokenFilesResponse>;
17
+ /**
18
+ * Delete broken files on server
19
+ * @param organizationId
20
+ * @param workspaceId
21
+ * @param isRemoveFromDb
22
+ * @param isRemoveFromService
23
+ */
24
+ abstract deleteBrokenFiles(organizationId: OrganizationId, workspaceId: WorkspaceId, isRemoveFromDb: boolean, isRemoveFromService: boolean): Promise<BrokenFilesResponse>;
25
+ /**
26
+ * Adds email to server whitelist
27
+ * @param email
28
+ * @param expiredDays
29
+ */
30
+ abstract addEmailToWhitelist(email: string, expiredDays: number): Promise<void>;
31
+ /**
32
+ * Deletes email from whitelist
33
+ * @param email
34
+ */
35
+ abstract removeEmailFromWhitelist(email: string): Promise<void>;
36
+ /**
37
+ * Get all emails from whitelise
38
+ */
39
+ abstract getWhitelistEmails(): Promise<EmailsWhitelistResponse>;
40
+ }
41
+ //# sourceMappingURL=cheats.administration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cheats.administration.d.ts","sourceRoot":"","sources":["../../../../src/storages/administration/cheats.administration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAA;AAGjE,8BAAsB,oBAAoB;IAExC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5D;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAEnH;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAEzK;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/E;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/D;;OAEG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAChE"}
@@ -0,0 +1,17 @@
1
+ import { CheatsAdministration } from "./cheats.administration";
2
+ import { Context } from "../../context";
3
+ import { OrganizationId } from "../organizations/organizations";
4
+ import { WorkspaceId } from "../workspaces/workspaces";
5
+ import { BrokenFilesResponse } from "../../dto/workspacesResponse";
6
+ import { EmailsWhitelistResponse } from "../../dto/invitesResponse";
7
+ export declare class CheatsAdministrationImpl extends CheatsAdministration {
8
+ private context;
9
+ constructor(context: Context);
10
+ cleanRedisCache(cleanCache: boolean): Promise<void>;
11
+ deleteBrokenFiles(organizationId: OrganizationId, workspaceId: WorkspaceId, isRemoveFromDb: boolean, isRemoveFromService: boolean): Promise<BrokenFilesResponse>;
12
+ getBrokenFilesInfo(organizationId: OrganizationId, workspaceId: WorkspaceId): Promise<BrokenFilesResponse>;
13
+ getWhitelistEmails(): Promise<EmailsWhitelistResponse>;
14
+ addEmailToWhitelist(email: string, expiredDays: number): Promise<void>;
15
+ removeEmailFromWhitelist(email: string): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=cheats.administration.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cheats.administration.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/administration/cheats.administration.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAA;AAKjE,qBAAa,wBAAyB,SAAQ,oBAAoB;IAChE,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,OAAO;IAKtB,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD,iBAAiB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoChK,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmB1G,kBAAkB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAiBtD,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtE,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqB7D"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheatsAdministrationImpl = void 0;
4
+ const cheats_administration_1 = require("./cheats.administration");
5
+ const rpcService_1 = require("../../services/rpcService");
6
+ const responseUtils_1 = require("../../services/responseUtils");
7
+ class CheatsAdministrationImpl extends cheats_administration_1.CheatsAdministration {
8
+ constructor(context) {
9
+ super();
10
+ this.context = context;
11
+ }
12
+ async cleanRedisCache(cleanCache) {
13
+ var _a;
14
+ if (cleanCache === undefined || cleanCache === null) {
15
+ throw new Error("cleanCache is required, must be not empty");
16
+ }
17
+ // send create request to the server
18
+ const response = await ((_a = this.context
19
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Cheats/clean/cache").sendPostJson({
20
+ cleanCache: cleanCache
21
+ }));
22
+ // check response status
23
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
24
+ await responseUtils_1.ResponseUtils.throwError("Failed to clean redis cache", response);
25
+ }
26
+ }
27
+ async deleteBrokenFiles(organizationId, workspaceId, isRemoveFromDb, isRemoveFromService) {
28
+ var _a;
29
+ if (organizationId === undefined || organizationId === null || organizationId.trim() === "") {
30
+ throw new Error("organizationId is required, must be not empty");
31
+ }
32
+ if (workspaceId === undefined || workspaceId === null || workspaceId.trim() === "") {
33
+ throw new Error("workspaceId is required, must be not empty");
34
+ }
35
+ if (isRemoveFromDb === undefined || isRemoveFromDb === null) {
36
+ throw new Error("isRemoveFromDb is required, must be not empty");
37
+ }
38
+ if (isRemoveFromService === undefined || isRemoveFromService === null) {
39
+ throw new Error("isRemoveFromService is required, must be not empty");
40
+ }
41
+ // send create request to the server
42
+ const response = await ((_a = this.context
43
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Cheats/files/broken/clean").sendPostJson({
44
+ organizationId: organizationId,
45
+ workspaceId: workspaceId,
46
+ isRemoveFromDb: isRemoveFromDb,
47
+ isRemoveFromService: isRemoveFromService
48
+ }));
49
+ // check response status
50
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
51
+ await responseUtils_1.ResponseUtils.throwError(`Failed to clean broken files for ${organizationId}, workspace ${workspaceId}`, response);
52
+ }
53
+ return (await response.json());
54
+ }
55
+ async getBrokenFilesInfo(organizationId, workspaceId) {
56
+ var _a;
57
+ const response = await ((_a = this.context
58
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Cheats/files/broken/info").searchParam("organizationId", organizationId).searchParam("workspaceId", workspaceId).sendGet());
59
+ // check response status
60
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
61
+ await responseUtils_1.ResponseUtils.throwError("Can not get broken files info", response);
62
+ }
63
+ return (await response.json());
64
+ }
65
+ async getWhitelistEmails() {
66
+ var _a;
67
+ const response = await ((_a = this.context
68
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Cheats/invites/white_list").sendGet());
69
+ // check response status
70
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
71
+ await responseUtils_1.ResponseUtils.throwError("Can not get emails whitelist", response);
72
+ }
73
+ return (await response.json());
74
+ }
75
+ async addEmailToWhitelist(email, expiredDays) {
76
+ var _a;
77
+ if (email === undefined || email === null || email.trim() === "") {
78
+ throw new Error("email is required, must be not empty");
79
+ }
80
+ if (expiredDays === undefined || expiredDays === null || expiredDays === 0) {
81
+ throw new Error("expiredDays is required, must be not empty and grater than 0");
82
+ }
83
+ // send create request to the server
84
+ const response = await ((_a = this.context
85
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Cheats/invites/white_list").sendPostJson({
86
+ email: email,
87
+ expiredDays: expiredDays
88
+ }));
89
+ // check response status
90
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
91
+ await responseUtils_1.ResponseUtils.throwError(`Failed to add email ${email} to whitelist`, response);
92
+ }
93
+ }
94
+ async removeEmailFromWhitelist(email) {
95
+ var _a;
96
+ if (email === null || email === undefined || email.length === 0 || email.trim().length === 0) {
97
+ throw new Error("Email delete from whitelist, email is empty");
98
+ }
99
+ // send request to the server
100
+ const response = await ((_a = this.context
101
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("/api/v1/Cheats/invites/white_list").searchParam("email", email).sendDelete());
102
+ // check response status
103
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
104
+ await responseUtils_1.ResponseUtils.throwError(`Email ${email} delete from whitelist failed`, response);
105
+ }
106
+ }
107
+ }
108
+ exports.CheatsAdministrationImpl = CheatsAdministrationImpl;
109
+ //# sourceMappingURL=cheats.administration.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cheats.administration.impl.js","sourceRoot":"","sources":["../../../../src/storages/administration/cheats.administration.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheatsAdministration = void 0;
4
+ class CheatsAdministration {
5
+ }
6
+ exports.CheatsAdministration = CheatsAdministration;
7
+ //# sourceMappingURL=cheats.administration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cheats.administration.js","sourceRoot":"","sources":["../../../../src/storages/administration/cheats.administration.ts"],"names":[],"mappings":";;;AAMA,MAAsB,oBAAoB;CAyCzC;AAzCD,oDAyCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
@@ -23,3 +23,7 @@ export interface UserInviteData {
23
23
  name: string
24
24
  email: string
25
25
  }
26
+
27
+ export interface EmailsWhitelistResponse{
28
+ emails: string[]
29
+ }
@@ -95,3 +95,7 @@ export enum ResourceType {
95
95
  File = 6
96
96
  }
97
97
 
98
+ export interface BrokenFilesResponse {
99
+ files: string[]
100
+ }
101
+
@@ -12,11 +12,15 @@ import { Administration } from "../storages/administration/administration"
12
12
  import {
13
13
  UsersAdministrationImpl
14
14
  } from "../storages/administration/users.administration.impl"
15
+ import {
16
+ CheatsAdministrationImpl
17
+ } from "../storages/administration/cheats.administration.impl"
15
18
 
16
19
  export class AdministrationService extends Service implements Administration {
17
20
  private readonly _libraries: LibraryAdministrationImpl
18
21
  private readonly _statistic: StatisticAdministrationImpl
19
22
  private readonly _users: UsersAdministrationImpl
23
+ private readonly _cheats: CheatsAdministrationImpl
20
24
 
21
25
  constructor(context: ServiceContext) {
22
26
  super(context)
@@ -24,6 +28,7 @@ export class AdministrationService extends Service implements Administration {
24
28
  this._libraries = new LibraryAdministrationImpl(context.context)
25
29
  this._statistic = new StatisticAdministrationImpl(context.context)
26
30
  this._users = new UsersAdministrationImpl(context.context)
31
+ this._cheats = new CheatsAdministrationImpl(context.context)
27
32
  }
28
33
 
29
34
  get libraries(): LibraryAdministration {
@@ -37,4 +42,8 @@ export class AdministrationService extends Service implements Administration {
37
42
  get users(): UsersAdministrationImpl {
38
43
  return this._users
39
44
  }
45
+
46
+ get cheats(): CheatsAdministrationImpl {
47
+ return this._cheats
48
+ }
40
49
  }
@@ -1,6 +1,7 @@
1
1
  import { LibraryAdministration } from "./library.administration"
2
2
  import { StatisticAdministration } from "./statistics.administration"
3
3
  import {UsersAdministration} from "./users.administration"
4
+ import {CheatsAdministration} from "./cheats.administration"
4
5
 
5
6
  export abstract class Administration {
6
7
  abstract get libraries(): LibraryAdministration ;
@@ -8,4 +9,6 @@ export abstract class Administration {
8
9
  abstract get statistic(): StatisticAdministration;
9
10
 
10
11
  abstract get users(): UsersAdministration;
12
+
13
+ abstract get cheats(): CheatsAdministration
11
14
  }
@@ -0,0 +1,155 @@
1
+ import {CheatsAdministration} from "./cheats.administration"
2
+ import {Context} from "../../context"
3
+ import {OrganizationId} from "../organizations/organizations"
4
+ import {WorkspaceId} from "../workspaces/workspaces"
5
+ import {BrokenFilesResponse} from "../../dto/workspacesResponse"
6
+ import {EmailsWhitelistResponse} from "../../dto/invitesResponse"
7
+ import {RpcService} from "../../services/rpcService"
8
+ import {ResponseUtils} from "../../services/responseUtils"
9
+
10
+
11
+ export class CheatsAdministrationImpl extends CheatsAdministration {
12
+ private context: Context
13
+
14
+ constructor(context: Context) {
15
+ super()
16
+ this.context = context
17
+ }
18
+
19
+ async cleanRedisCache(cleanCache: boolean): Promise<void> {
20
+ if (cleanCache === undefined ||cleanCache === null) {
21
+ throw new Error("cleanCache is required, must be not empty")
22
+ }
23
+
24
+ // send create request to the server
25
+ const response = await this.context
26
+ .resolve(RpcService)
27
+ ?.requestBuilder("api/v1/Cheats/clean/cache")
28
+ .sendPostJson({
29
+ cleanCache: cleanCache
30
+ })
31
+
32
+ // check response status
33
+ if (ResponseUtils.isFail(response)) {
34
+ await ResponseUtils.throwError("Failed to clean redis cache", response)
35
+ }
36
+ }
37
+
38
+ async deleteBrokenFiles(organizationId: OrganizationId, workspaceId: WorkspaceId, isRemoveFromDb: boolean, isRemoveFromService: boolean): Promise<BrokenFilesResponse> {
39
+ if (organizationId === undefined || organizationId === null || organizationId.trim() === "") {
40
+ throw new Error("organizationId is required, must be not empty")
41
+ }
42
+
43
+ if (workspaceId === undefined || workspaceId === null || workspaceId.trim() === "") {
44
+ throw new Error("workspaceId is required, must be not empty")
45
+ }
46
+
47
+ if (isRemoveFromDb === undefined || isRemoveFromDb === null) {
48
+ throw new Error("isRemoveFromDb is required, must be not empty")
49
+ }
50
+
51
+ if (isRemoveFromService === undefined || isRemoveFromService === null) {
52
+ throw new Error("isRemoveFromService is required, must be not empty")
53
+ }
54
+
55
+ // send create request to the server
56
+ const response = await this.context
57
+ .resolve(RpcService)
58
+ ?.requestBuilder("api/v1/Cheats/files/broken/clean")
59
+ .sendPostJson({
60
+ organizationId: organizationId,
61
+ workspaceId: workspaceId,
62
+ isRemoveFromDb: isRemoveFromDb,
63
+ isRemoveFromService: isRemoveFromService
64
+ })
65
+
66
+ // check response status
67
+ if (ResponseUtils.isFail(response)) {
68
+ await ResponseUtils.throwError(`Failed to clean broken files for ${organizationId}, workspace ${workspaceId}`, response)
69
+ }
70
+
71
+ return (await response!.json()) as BrokenFilesResponse
72
+ }
73
+
74
+ async getBrokenFilesInfo(organizationId: OrganizationId, workspaceId: WorkspaceId): Promise<BrokenFilesResponse> {
75
+ const response = await this.context
76
+ .resolve(RpcService)
77
+ ?.requestBuilder("api/v1/Cheats/files/broken/info")
78
+ .searchParam("organizationId", organizationId)
79
+ .searchParam("workspaceId", workspaceId)
80
+ .sendGet()
81
+
82
+ // check response status
83
+ if (ResponseUtils.isFail(response)) {
84
+ await ResponseUtils.throwError(
85
+ "Can not get broken files info",
86
+ response
87
+ )
88
+ }
89
+
90
+ return (await response!.json()) as BrokenFilesResponse
91
+ }
92
+
93
+ async getWhitelistEmails(): Promise<EmailsWhitelistResponse> {
94
+ const response = await this.context
95
+ .resolve(RpcService)
96
+ ?.requestBuilder("api/v1/Cheats/invites/white_list")
97
+ .sendGet()
98
+
99
+ // check response status
100
+ if (ResponseUtils.isFail(response)) {
101
+ await ResponseUtils.throwError(
102
+ "Can not get emails whitelist",
103
+ response
104
+ )
105
+ }
106
+
107
+ return (await response!.json()) as EmailsWhitelistResponse
108
+ }
109
+
110
+ async addEmailToWhitelist(email: string, expiredDays: number): Promise<void> {
111
+ if (email === undefined || email === null || email.trim() === "") {
112
+ throw new Error("email is required, must be not empty")
113
+ }
114
+
115
+ if (expiredDays === undefined || expiredDays === null || expiredDays === 0) {
116
+ throw new Error("expiredDays is required, must be not empty and grater than 0")
117
+ }
118
+
119
+ // send create request to the server
120
+ const response = await this.context
121
+ .resolve(RpcService)
122
+ ?.requestBuilder("api/v1/Cheats/invites/white_list")
123
+ .sendPostJson({
124
+ email: email,
125
+ expiredDays: expiredDays
126
+ })
127
+
128
+ // check response status
129
+ if (ResponseUtils.isFail(response)) {
130
+ await ResponseUtils.throwError(`Failed to add email ${email} to whitelist`, response)
131
+ }
132
+ }
133
+
134
+ async removeEmailFromWhitelist(email: string): Promise<void> {
135
+ if (email === null || email === undefined || email.length === 0 || email.trim().length === 0) {
136
+ throw new Error("Email delete from whitelist, email is empty")
137
+ }
138
+
139
+ // send request to the server
140
+ const response = await this.context
141
+ .resolve(RpcService)
142
+ ?.requestBuilder("/api/v1/Cheats/invites/white_list")
143
+ .searchParam("email", email)
144
+ .sendDelete()
145
+
146
+ // check response status
147
+ if (ResponseUtils.isFail(response)) {
148
+ await ResponseUtils.throwError(
149
+ `Email ${email} delete from whitelist failed`,
150
+ response
151
+ )
152
+ }
153
+ }
154
+
155
+ }
@@ -0,0 +1,48 @@
1
+ import {OrganizationId} from "../organizations/organizations"
2
+ import {WorkspaceId} from "../workspaces/workspaces"
3
+ import {BrokenFilesResponse} from "../../dto/workspacesResponse"
4
+ import {EmailsWhitelistResponse} from "../../dto/invitesResponse"
5
+
6
+
7
+ export abstract class CheatsAdministration {
8
+
9
+ /**
10
+ * Cleans redis cache on server
11
+ * @param cleanCache
12
+ */
13
+ abstract cleanRedisCache(cleanCache: boolean): Promise<void>
14
+
15
+ /**
16
+ * Get info about broken files on server
17
+ * @param organizationId
18
+ * @param workspaceId
19
+ */
20
+ abstract getBrokenFilesInfo(organizationId: OrganizationId, workspaceId: WorkspaceId): Promise<BrokenFilesResponse>
21
+
22
+ /**
23
+ * Delete broken files on server
24
+ * @param organizationId
25
+ * @param workspaceId
26
+ * @param isRemoveFromDb
27
+ * @param isRemoveFromService
28
+ */
29
+ abstract deleteBrokenFiles(organizationId: OrganizationId, workspaceId: WorkspaceId, isRemoveFromDb: boolean, isRemoveFromService: boolean): Promise<BrokenFilesResponse>
30
+
31
+ /**
32
+ * Adds email to server whitelist
33
+ * @param email
34
+ * @param expiredDays
35
+ */
36
+ abstract addEmailToWhitelist(email: string, expiredDays: number): Promise<void>
37
+
38
+ /**
39
+ * Deletes email from whitelist
40
+ * @param email
41
+ */
42
+ abstract removeEmailFromWhitelist(email: string): Promise<void>
43
+
44
+ /**
45
+ * Get all emails from whitelise
46
+ */
47
+ abstract getWhitelistEmails(): Promise<EmailsWhitelistResponse>
48
+ }