@neuralinnovations/dataisland-sdk 0.0.1-dev41 → 0.0.1-dev42

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/README.md CHANGED
@@ -295,9 +295,9 @@ chat.answer.subscribe((event) => { const answer = event.data }, AnswerEvent.UPDA
295
295
  Users can buy subscriptions if they want to increase their limits. You can create an order for subscriptions passing key of selected plan. All available aubscription plans, as well as order creation and user active plan you can get in acquiring service.
296
296
 
297
297
  ```
298
- const plans = app.acquiring.get_plans()
299
- const subscription_request_data = app.acquiring.create_order(selected_plan_key)
300
- const userPlan = app.acquiring.get_user_plan()
298
+ const plans = app.acquiring.getPlans()
299
+ const subscription_request_data = app.acquiring.createOrder(selected_plan_key)
300
+ const userPlan = app.acquiring.getUserPlan()
301
301
  ```
302
302
 
303
303
  ### Use access groups
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.0.1-dev41",
3
+ "version": "0.0.1-dev42",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
@@ -1,8 +1,8 @@
1
1
  import { Service } from "./service";
2
2
  import { AcquiringPlansResponse, CreateOrederData as CreateOrderData, UserAcquiringPlan } from "../dto/acquiringResponse";
3
3
  export declare class AcquiringService extends Service {
4
- create_order(key: string): Promise<CreateOrderData>;
5
- get_plans(): Promise<AcquiringPlansResponse>;
6
- get_user_plan(): Promise<UserAcquiringPlan>;
4
+ createOrder(key: string): Promise<CreateOrderData>;
5
+ getPlans(): Promise<AcquiringPlansResponse>;
6
+ getUserPlan(): Promise<UserAcquiringPlan>;
7
7
  }
8
8
  //# sourceMappingURL=acquiringService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acquiringService.d.ts","sourceRoot":"","sources":["../../../src/services/acquiringService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,sBAAsB,EAAuB,gBAAgB,IAAI,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE9I,qBAAa,gBAAiB,SAAQ,OAAO;IAErC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiBnD,SAAS,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAa5C,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAYlD"}
1
+ {"version":3,"file":"acquiringService.d.ts","sourceRoot":"","sources":["../../../src/services/acquiringService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,sBAAsB,EAAuB,gBAAgB,IAAI,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE9I,qBAAa,gBAAiB,SAAQ,OAAO;IAErC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiBlD,QAAQ,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAa3C,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAYhD"}
@@ -5,7 +5,7 @@ const service_1 = require("./service");
5
5
  const rpcService_1 = require("./rpcService");
6
6
  const responseUtils_1 = require("./responseUtils");
7
7
  class AcquiringService extends service_1.Service {
8
- async create_order(key) {
8
+ async createOrder(key) {
9
9
  const rpc = this.resolve(rpcService_1.RpcService);
10
10
  const response = await rpc.requestBuilder("api/v1/Acquiring/order")
11
11
  .sendPostJson({
@@ -17,7 +17,7 @@ class AcquiringService extends service_1.Service {
17
17
  const order = (await response.json());
18
18
  return order.data;
19
19
  }
20
- async get_plans() {
20
+ async getPlans() {
21
21
  const rpc = this.resolve(rpcService_1.RpcService);
22
22
  const response = await rpc.requestBuilder("api/v1/Acquiring/plans").sendGet();
23
23
  if (responseUtils_1.ResponseUtils.isFail(response)) {
@@ -26,7 +26,7 @@ class AcquiringService extends service_1.Service {
26
26
  const content = (await response.json());
27
27
  return content;
28
28
  }
29
- async get_user_plan() {
29
+ async getUserPlan() {
30
30
  const rpc = this.resolve(rpcService_1.RpcService);
31
31
  const response = await rpc.requestBuilder("api/v1/Acquiring/user/subscription").sendGet();
32
32
  if (responseUtils_1.ResponseUtils.isFail(response)) {
@@ -1 +1 @@
1
- {"version":3,"file":"acquiringService.js","sourceRoot":"","sources":["../../../src/services/acquiringService.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,6CAAyC;AACzC,mDAA+C;AAG/C,MAAa,gBAAiB,SAAQ,iBAAO;IAE3C,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC;aAChE,YAAY,CAAC;YACZ,GAAG,EAAE,GAAG;SACT,CAAC,CAAA;QAEJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAA;QACpE,CAAC;QAGD,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAA;QAE5D,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAA;QAE7E,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAA;QAEjE,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC,OAAO,EAAE,CAAA;QAEzF,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAA;QAC7E,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAA;QAE5D,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AA5CD,4CA4CC"}
1
+ {"version":3,"file":"acquiringService.js","sourceRoot":"","sources":["../../../src/services/acquiringService.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,6CAAyC;AACzC,mDAA+C;AAG/C,MAAa,gBAAiB,SAAQ,iBAAO;IAE3C,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC;aAChE,YAAY,CAAC;YACZ,GAAG,EAAE,GAAG;SACT,CAAC,CAAA;QAEJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAA;QACpE,CAAC;QAGD,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAA;QAE5D,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAA;QAE7E,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAA;QAEjE,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC,OAAO,EAAE,CAAA;QAEzF,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAA;QAC7E,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAA;QAE5D,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AA5CD,4CA4CC"}
@@ -5,5 +5,6 @@ export declare class UserProfileService extends Service {
5
5
  get userProfile(): UserProfile;
6
6
  merge(anonymous_token: string): Promise<void>;
7
7
  fetch(): Promise<void>;
8
+ updateUserSettings(activeOrgId?: string, activeWorkspaceId?: string): Promise<void>;
8
9
  }
9
10
  //# sourceMappingURL=userProfileService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"userProfileService.d.ts","sourceRoot":"","sources":["../../../src/services/userProfileService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAM1D,qBAAa,kBAAmB,SAAQ,OAAO;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqD;IAE1E,IAAI,WAAW,IAAI,WAAW,CAE7B;IAEK,KAAK,CAAC,eAAe,EAAE,MAAM;IAc7B,KAAK;CAsBZ"}
1
+ {"version":3,"file":"userProfileService.d.ts","sourceRoot":"","sources":["../../../src/services/userProfileService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAO1D,qBAAa,kBAAmB,SAAQ,OAAO;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqD;IAE1E,IAAI,WAAW,IAAI,WAAW,CAE7B;IAEK,KAAK,CAAC,eAAe,EAAE,MAAM;IAc7B,KAAK;IA2BL,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY1F"}
@@ -6,6 +6,7 @@ const rpcService_1 = require("./rpcService");
6
6
  const organizationService_1 = require("./organizationService");
7
7
  const userProfile_impl_1 = require("../storages/user/userProfile.impl");
8
8
  const responseUtils_1 = require("./responseUtils");
9
+ const organizations_1 = require("../storages/organizations/organizations");
9
10
  class UserProfileService extends service_1.Service {
10
11
  constructor() {
11
12
  super(...arguments);
@@ -37,6 +38,21 @@ class UserProfileService extends service_1.Service {
37
38
  const organizationService = this.resolve(organizationService_1.OrganizationService);
38
39
  // init organization service from user profile
39
40
  await organizationService.initFrom(content.adminInOrganization, content.organizations, content.user.settings);
41
+ organizationService.organizations.subscribe(async (event) => {
42
+ this.updateUserSettings(event.data.id);
43
+ }, organizations_1.OrganizationsEvent.CURRENT_CHANGED);
44
+ }
45
+ async updateUserSettings(activeOrgId, activeWorkspaceId) {
46
+ const rpc = this.resolve(rpcService_1.RpcService);
47
+ const response = await rpc.requestBuilder("api/v1/Users/settings").sendPutJson({
48
+ settings: {
49
+ activeOrganizationId: activeOrgId,
50
+ activeWorkspaceId: activeWorkspaceId
51
+ }
52
+ });
53
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
54
+ await responseUtils_1.ResponseUtils.throwError("Failed to update user settings", response);
55
+ }
40
56
  }
41
57
  }
42
58
  exports.UserProfileService = UserProfileService;
@@ -1 +1 @@
1
- {"version":3,"file":"userProfileService.js","sourceRoot":"","sources":["../../../src/services/userProfileService.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,6CAAyC;AAGzC,+DAA2D;AAC3D,wEAAmE;AACnE,mDAA+C;AAE/C,MAAa,kBAAmB,SAAQ,iBAAO;IAA/C;;QACmB,SAAI,GAAoB,IAAI,kCAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IA0C5E,CAAC;IAxCC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,eAAuB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,8BAA8B,CAAC;aACtE,YAAY,CAAC;YACZ,cAAc,EAAE,eAAe;SAChC,CAAC,CAAA;QAEJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAA;QAC5E,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAA;QACxE,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAA;QAE3D,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAE3B,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CACtC,yCAAmB,CACG,CAAA;QAExB,8CAA8C;QAC9C,MAAM,mBAAmB,CAAC,QAAQ,CAChC,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,IAAI,CAAC,QAAQ,CACtB,CAAA;IACH,CAAC;CACF;AA3CD,gDA2CC"}
1
+ {"version":3,"file":"userProfileService.js","sourceRoot":"","sources":["../../../src/services/userProfileService.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,6CAAyC;AAGzC,+DAA2D;AAC3D,wEAAmE;AACnE,mDAA+C;AAC/C,2EAA4E;AAE5E,MAAa,kBAAmB,SAAQ,iBAAO;IAA/C;;QACmB,SAAI,GAAoB,IAAI,kCAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IA2D5E,CAAC;IAzDC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,eAAuB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,8BAA8B,CAAC;aACtE,YAAY,CAAC;YACZ,cAAc,EAAE,eAAe;SAChC,CAAC,CAAA;QAEJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAA;QAC5E,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAA;QACxE,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAA;QAE3D,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAE3B,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CACtC,yCAAmB,CACG,CAAA;QAExB,8CAA8C;QAC9C,MAAM,mBAAmB,CAAC,QAAQ,CAChC,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,IAAI,CAAC,QAAQ,CACtB,CAAA;QAED,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1D,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxC,CAAC,EAAE,kCAAkB,CAAC,eAAe,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAoB,EAAE,iBAA0B;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAU,CAAe,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC;YAC7E,QAAQ,EAAE;gBACR,oBAAoB,EAAE,WAAW;gBACjC,iBAAiB,EAAE,iBAAiB;aACrC;SACF,CAAC,CAAA;QACF,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC;CACF;AA5DD,gDA4DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.0.1-dev41",
3
+ "version": "0.0.1-dev42",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
@@ -5,7 +5,7 @@ import { AcquiringPlansResponse, CreateOrderResponse, CreateOrederData as Create
5
5
 
6
6
  export class AcquiringService extends Service {
7
7
 
8
- async create_order(key: string): Promise<CreateOrderData>{
8
+ async createOrder(key: string): Promise<CreateOrderData>{
9
9
  const rpc = this.resolve(RpcService) as RpcService
10
10
  const response = await rpc.requestBuilder("api/v1/Acquiring/order")
11
11
  .sendPostJson({
@@ -22,7 +22,7 @@ export class AcquiringService extends Service {
22
22
  return order.data
23
23
  }
24
24
 
25
- async get_plans(): Promise<AcquiringPlansResponse> {
25
+ async getPlans(): Promise<AcquiringPlansResponse> {
26
26
  const rpc = this.resolve(RpcService) as RpcService
27
27
  const response = await rpc.requestBuilder("api/v1/Acquiring/plans").sendGet()
28
28
 
@@ -35,7 +35,7 @@ export class AcquiringService extends Service {
35
35
  return content
36
36
  }
37
37
 
38
- async get_user_plan(): Promise<UserAcquiringPlan> {
38
+ async getUserPlan(): Promise<UserAcquiringPlan> {
39
39
  const rpc = this.resolve(RpcService) as RpcService
40
40
  const response = await rpc.requestBuilder("api/v1/Acquiring/user/subscription").sendGet()
41
41
 
@@ -5,6 +5,7 @@ import { UserInfoResponse } from "../dto/userInfoResponse"
5
5
  import { OrganizationService } from "./organizationService"
6
6
  import { UserProfileImpl } from "../storages/user/userProfile.impl"
7
7
  import { ResponseUtils } from "./responseUtils"
8
+ import { OrganizationsEvent } from "../storages/organizations/organizations"
8
9
 
9
10
  export class UserProfileService extends Service {
10
11
  private readonly impl: UserProfileImpl = new UserProfileImpl(this.context)
@@ -48,5 +49,22 @@ export class UserProfileService extends Service {
48
49
  content.organizations,
49
50
  content.user.settings
50
51
  )
52
+
53
+ organizationService.organizations.subscribe(async (event) => {
54
+ this.updateUserSettings(event.data.id)
55
+ }, OrganizationsEvent.CURRENT_CHANGED)
56
+ }
57
+
58
+ async updateUserSettings(activeOrgId?: string, activeWorkspaceId?: string): Promise<void>{
59
+ const rpc = this.resolve(RpcService) as RpcService
60
+ const response = await rpc.requestBuilder("api/v1/Users/settings").sendPutJson({
61
+ settings: {
62
+ activeOrganizationId: activeOrgId,
63
+ activeWorkspaceId: activeWorkspaceId
64
+ }
65
+ })
66
+ if (ResponseUtils.isFail(response)) {
67
+ await ResponseUtils.throwError("Failed to update user settings", response)
68
+ }
51
69
  }
52
70
  }