@up-im/medotvet_sdk 0.0.18 → 0.0.20

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
@@ -77,7 +77,10 @@ const client = createClient({
77
77
  сортировка по приоритету.
78
78
  - `getBookmarks({ page?, select? })` — избранные опросы, 401 без
79
79
  авторизации.
80
- - `getOne({ id })` — опрос с вопросами.
80
+ - `getOne({ id })` — опрос с вопросами и текущее прохождение,
81
+ ответ `{ item: iSurvey, userSurvey: iUserSurvey | null }`.
82
+ Если `userSurvey` не null и статус `in_progress` — опрос уже начат,
83
+ используй `userSurvey.id` для `saveAnswer()`/`cancel()`.
81
84
  - `start(surveyId, signal?)` — начать прохождение, ответ
82
85
  `{ success, userSurvey }`.
83
86
  - `saveAnswer({ userSurveyId, questionIndex, answer, signal? })` —
@@ -35,7 +35,10 @@ export declare class ApiSurvey extends ApiAbstract {
35
35
  */
36
36
  getOne({ id }: {
37
37
  id: number;
38
- }): Promise<iSurvey>;
38
+ }): Promise<{
39
+ item: iSurvey;
40
+ userSurvey: iUserSurvey | null;
41
+ }>;
39
42
  /**
40
43
  * Начать прохождение опроса
41
44
  * @param {number} surveyId - id опроса
@@ -46,10 +46,10 @@ class ApiSurvey extends abstract_1.ApiAbstract {
46
46
  * @param {number} id - id опроса
47
47
  */
48
48
  async getOne({ id }) {
49
- return (await this.fetcher({
49
+ return await this.fetcher({
50
50
  route: (0, apiRoute_1.apiRouteSurveyItem)(id),
51
51
  options: { addToken: true }
52
- })).item;
52
+ });
53
53
  }
54
54
  /**
55
55
  * Начать прохождение опроса
package/dist/api/user.js CHANGED
@@ -81,8 +81,13 @@ class ApiUser extends abstract_1.ApiAbstract {
81
81
  postBody: data,
82
82
  options: { addToken: true }
83
83
  });
84
- if (data.firstname?.length && data.lastname?.length) {
85
- await this.userStorage.saveUser({ firstname: data.firstname, lastname: data.lastname });
84
+ const updates = {};
85
+ if (data.firstname?.length)
86
+ updates["firstname"] = data.firstname;
87
+ if (data.lastname?.length)
88
+ updates["lastname"] = data.lastname;
89
+ if (Object.keys(updates).length) {
90
+ await this.userStorage.saveUser(updates);
86
91
  }
87
92
  return true;
88
93
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@up-im/medotvet_sdk",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/api/survey.ts CHANGED
@@ -73,10 +73,10 @@ export class ApiSurvey extends ApiAbstract {
73
73
  * @param {number} id - id опроса
74
74
  */
75
75
  async getOne({ id }: { id: number }) {
76
- return (await this.fetcher<{ item: iSurvey }>({
76
+ return await this.fetcher<{ item: iSurvey, userSurvey: iUserSurvey | null }>({
77
77
  route: apiRouteSurveyItem(id),
78
78
  options: { addToken: true }
79
- })).item
79
+ })
80
80
  }
81
81
 
82
82
  /**
package/src/api/user.ts CHANGED
@@ -81,8 +81,11 @@ export class ApiUser extends ApiAbstract {
81
81
  postBody: data,
82
82
  options: { addToken: true }
83
83
  })
84
- if (data.firstname?.length && data.lastname?.length) {
85
- await this.userStorage.saveUser({ firstname: data.firstname, lastname: data.lastname })
84
+ const updates: Record<string, string> = {}
85
+ if (data.firstname?.length) updates["firstname"] = data.firstname
86
+ if (data.lastname?.length) updates["lastname"] = data.lastname
87
+ if (Object.keys(updates).length) {
88
+ await this.userStorage.saveUser(updates)
86
89
  }
87
90
  return true
88
91
  } catch (error) {