@hapl/api-queries 0.2.78--canary.205.e4542e3.0 → 0.2.78

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 (37) hide show
  1. package/dist/api-queries.cjs.development.js +1343 -1137
  2. package/dist/api-queries.cjs.development.js.map +1 -1
  3. package/dist/api-queries.cjs.production.min.js +1 -1
  4. package/dist/api-queries.cjs.production.min.js.map +1 -1
  5. package/dist/api-queries.esm.js +1343 -1137
  6. package/dist/api-queries.esm.js.map +1 -1
  7. package/dist/clients/v1/api/debt/findDebts.d.ts +39 -0
  8. package/dist/clients/v1/api/index.d.ts +2 -0
  9. package/dist/clients/v1/api/photoOrder/completePhotoOrder/index.d.ts +24 -0
  10. package/dist/clients/v1/api/photoOrder/createPhotoOrder/index.d.ts +4 -0
  11. package/dist/clients/v1/dictionaries/AvailableFunds.d.ts +2 -0
  12. package/dist/clients/v1/dictionaries/Debt.d.ts +2 -0
  13. package/dist/clients/v1/index.d.ts +2 -0
  14. package/dist/clients/v1/types/AvailableFunds.d.ts +3 -1
  15. package/dist/clients/v1/types/Debt.d.ts +8 -1
  16. package/dist/clients/v1/types/PhotoOrder.d.ts +9 -0
  17. package/dist/external/api/icons/findIconById.d.ts +33 -0
  18. package/dist/external/api/icons/findIconPlatforms.d.ts +29 -0
  19. package/dist/external/api/icons/searchIcons.d.ts +54 -0
  20. package/dist/external/api/index.d.ts +3 -0
  21. package/dist/external/index.d.ts +67 -0
  22. package/package.json +1 -1
  23. package/src/clients/v1/api/debt/findDebts.ts +61 -0
  24. package/src/clients/v1/api/index.ts +2 -0
  25. package/src/clients/v1/api/photoOrder/completePhotoOrder/index.ts +37 -0
  26. package/src/clients/v1/api/photoOrder/createPhotoOrder/index.ts +2 -0
  27. package/src/clients/v1/dictionaries/AvailableFunds.ts +2 -0
  28. package/src/clients/v1/dictionaries/Debt.ts +2 -0
  29. package/src/clients/v1/index.ts +8 -0
  30. package/src/clients/v1/types/AvailableFunds.ts +2 -0
  31. package/src/clients/v1/types/Debt.ts +7 -0
  32. package/src/clients/v1/types/PhotoOrder.ts +9 -0
  33. package/src/external/api/icons/findIconById.ts +41 -0
  34. package/src/external/api/icons/findIconPlatforms.ts +37 -0
  35. package/src/external/api/icons/searchIcons.ts +64 -0
  36. package/src/external/api/index.ts +4 -0
  37. package/src/external/index.ts +12 -0
@@ -0,0 +1,39 @@
1
+ import { AxiosResponse, AxiosError } from 'axios';
2
+ import { Debt, DebtPaymentType } from '../../types';
3
+ declare type ResultData = {
4
+ ids: number[];
5
+ byId: Record<string, Debt>;
6
+ meta: {
7
+ total: number;
8
+ };
9
+ };
10
+ declare type ResultError = string;
11
+ export declare type FindDebtsHeaders = {
12
+ 'x-auth-hc'?: string;
13
+ };
14
+ export declare type FindDebtsParams = {
15
+ filter?: {
16
+ 'personalAssistant.id'?: number;
17
+ 'serviceRequest.curator.id'?: number;
18
+ 'serviceRequest.id'?: number;
19
+ isRepaid?: boolean;
20
+ paymentType?: DebtPaymentType | DebtPaymentType[];
21
+ };
22
+ limits?: {
23
+ page?: number;
24
+ count?: number | 'all';
25
+ };
26
+ sorting?: {
27
+ type: 'createdAt';
28
+ direction: 'asc' | 'desc';
29
+ };
30
+ };
31
+ export declare type FindDebtsData = AxiosResponse<ResultData>;
32
+ export declare type FindDebtsError = AxiosError<ResultError>;
33
+ export declare type FindDebtsConfig = {
34
+ baseURL?: string;
35
+ headers?: FindDebtsHeaders;
36
+ params: FindDebtsParams;
37
+ };
38
+ export declare function findDebtsRequest({ baseURL, headers, params }: FindDebtsConfig): Promise<FindDebtsData>;
39
+ export {};
@@ -100,6 +100,7 @@ export * from './deal/terminateDeal';
100
100
  export * from './deal/updateDeal';
101
101
  export * from './debt/createDebts';
102
102
  export * from './debt/deleteDebt';
103
+ export * from './debt/findDebts';
103
104
  export * from './debt/updateDebt';
104
105
  export * from './event/createEvent';
105
106
  export * from './event/deleteEvent';
@@ -148,6 +149,7 @@ export * from './phoneBookContact/updatePhoneBookContact';
148
149
  export * from './photoOrder/createPhotoOrder';
149
150
  export * from './photoOrder/findPhotoOrders';
150
151
  export * from './photoOrder/sendPhotoOrderFeedback';
152
+ export * from './photoOrder/completePhotoOrder';
151
153
  export * from './photoOrder/terminatePhotoOrder';
152
154
  export * from './realty/findRealtyDuplicate';
153
155
  export * from './realty/findRealtyPriceHistory';
@@ -0,0 +1,24 @@
1
+ import { AxiosResponse, AxiosError } from 'axios';
2
+ declare type ErrorData = {
3
+ success: false;
4
+ data: {
5
+ error: string;
6
+ };
7
+ };
8
+ declare type ResultData = null;
9
+ declare type ResultError = ErrorData['data']['error'];
10
+ export declare type CompletePhotoOrderHeaders = {
11
+ 'x-auth-hc': string;
12
+ };
13
+ export declare type CompletePhotoOrderUrlParams = {
14
+ id: string;
15
+ };
16
+ export declare type CompletePhotoOrderData = AxiosResponse<ResultData>;
17
+ export declare type CompletePhotoOrderError = AxiosError<ResultError>;
18
+ export declare type CompletePhotoOrderConfig = {
19
+ baseURL?: string;
20
+ urlParams: CompletePhotoOrderUrlParams;
21
+ headers: CompletePhotoOrderHeaders;
22
+ };
23
+ export declare function completePhotoOrderRequest({ baseURL, urlParams, headers, }: CompletePhotoOrderConfig): Promise<CompletePhotoOrderData>;
24
+ export {};
@@ -16,6 +16,7 @@ export declare type CreatePhotoOrderHeaders = {
16
16
  'x-auth-hc': string;
17
17
  };
18
18
  export declare type CreatePhotoOrderBody = {
19
+ type: NonNullable<PhotoOrder['type']>;
19
20
  serviceRequestId: NonNullable<PhotoOrder['serviceRequestId']>;
20
21
  addressId: NonNullable<PhotoOrder['addressId']>;
21
22
  scheduledAt: NonNullable<PhotoOrder['scheduledAt']>;
@@ -23,6 +24,9 @@ export declare type CreatePhotoOrderBody = {
23
24
  expertPhone: NonNullable<PhotoOrder['expertPhone']>;
24
25
  hasAccessToFlat: NonNullable<PhotoOrder['hasAccessToFlat']>;
25
26
  comment?: PhotoOrder['comment'];
27
+ internalUser?: {
28
+ id: number;
29
+ };
26
30
  };
27
31
  export declare type CreatePhotoOrderData = AxiosResponse<ResultData>;
28
32
  export declare type CreatePhotoOrderError = AxiosError<ResultError>;
@@ -31,6 +31,8 @@ export declare const AvailableFundsDictionary: {
31
31
  bonus_personal_assistant_3: string;
32
32
  bonus_portfolio_coordinator: string;
33
33
  bonus_expo_coordinator: string;
34
+ payment_for_photography: string;
35
+ payment_for_attracting_lead: string;
34
36
  };
35
37
  PaymentType: {
36
38
  advance_payment_under_the_advance_agreement: string;
@@ -21,5 +21,7 @@ export declare const DebtDictionary: {
21
21
  bonus_personal_assistant_3: string;
22
22
  bonus_portfolio_coordinator: string;
23
23
  bonus_expo_coordinator: string;
24
+ payment_for_photography: string;
25
+ payment_for_attracting_lead: string;
24
26
  };
25
27
  };
@@ -104,6 +104,7 @@ export declare class Api {
104
104
  updateDeal: (urlParams: api.UpdateDealUrlParams, body: api.UpdateDealBody, headers: api.UpdateDealHeaders) => Promise<api.UpdateDealData>;
105
105
  createDebts: (body: api.CreateDebtsBody, headers: api.CreateDebtsHeaders) => Promise<api.CreateDebtsData>;
106
106
  deleteDebt: (urlParams: api.DeleteDebtUrlParams, headers: api.DeleteDebtHeaders) => Promise<api.DeleteDebtData>;
107
+ findDebts: (params: api.FindDebtsParams, headers: api.FindDebtsHeaders) => Promise<api.FindDebtsData>;
107
108
  updateDebt: (urlParams: api.UpdateDebtUrlParams, body: api.UpdateDebtBody, headers: api.UpdateDebtHeaders) => Promise<api.UpdateDebtData>;
108
109
  createEvent: (body: api.CreateEventBody, headers: api.CreateEventHeaders) => Promise<api.CreateEventData>;
109
110
  deleteEvent: (urlParams: api.DeleteEventUrlParams, headers: api.DeleteEventHeaders) => Promise<api.DeleteEventData>;
@@ -152,6 +153,7 @@ export declare class Api {
152
153
  createPhotoOrder: (body: api.CreatePhotoOrderBody, headers: api.CreatePhotoOrderHeaders) => Promise<api.CreatePhotoOrderData>;
153
154
  findPhotoOrders: (params: api.FindPhotoOrdersParams, headers: api.FindPhotoOrdersHeaders) => Promise<api.FindPhotoOrdersData>;
154
155
  sendPhotoOrderFeedback: (urlParams: api.SendPhotoOrderFeedbackUrlParams, headers: api.SendPhotoOrderFeedbackHeaders) => Promise<api.SendPhotoOrderFeedbackData>;
156
+ completePhotoOrder: (urlParams: api.CompletePhotoOrderUrlParams, headers: api.CompletePhotoOrderHeaders) => Promise<api.CompletePhotoOrderData>;
155
157
  terminatePhotoOrder: (urlParams: api.TerminatePhotoOrderUrlParams, headers: api.TerminatePhotoOrderHeaders) => Promise<api.TerminatePhotoOrderData>;
156
158
  findRealtyDuplicate: (params: api.FindRealtyDuplicateParams, headers: api.FindRealtyDuplicateHeaders) => Promise<api.FindRealtyDuplicateData>;
157
159
  findRealtyPriceHistory: (params: api.FindRealtyPriceHistoryParams, headers: api.FindRealtyPriceHistoryHeaders) => Promise<api.FindRealtyPriceHistoryData>;
@@ -38,7 +38,9 @@ export declare enum AvailableFundsCostType {
38
38
  BonusPersonalAssistantSecondLevel = "bonus_personal_assistant_2",
39
39
  BonusPersonalAssistantThirdLevel = "bonus_personal_assistant_3",
40
40
  BonusPortfolioCoordinator = "bonus_portfolio_coordinator",
41
- BonusExpoCoordinator = "bonus_expo_coordinator"
41
+ BonusExpoCoordinator = "bonus_expo_coordinator",
42
+ PaymentForPhotography = "payment_for_photography",
43
+ PaymentForAttractingLead = "payment_for_attracting_lead"
42
44
  }
43
45
  export declare enum AvailableFundsPaymentType {
44
46
  AdvancePaymentUnderTheAdvanceAgreement = "advance_payment_under_the_advance_agreement",
@@ -1,4 +1,6 @@
1
1
  import { MoneyAmount } from './Currency';
2
+ import { ServiceRequest } from './ServiceRequest';
3
+ import { User } from './User';
2
4
  export declare enum DebtPaymentType {
3
5
  BonusToExpert = "bonus_to_expert",
4
6
  BonusToTrainee = "bonus_to_trainee",
@@ -19,11 +21,16 @@ export declare enum DebtPaymentType {
19
21
  BonusPersonalAssistantSecondLevel = "bonus_personal_assistant_2",
20
22
  BonusPersonalAssistantThirdLevel = "bonus_personal_assistant_3",
21
23
  BonusPortfolioCoordinator = "bonus_portfolio_coordinator",
22
- BonusExpoCoordinator = "bonus_expo_coordinator"
24
+ BonusExpoCoordinator = "bonus_expo_coordinator",
25
+ PaymentForPhotography = "payment_for_photography",
26
+ PaymentForAttractingLead = "payment_for_attracting_lead"
23
27
  }
24
28
  export declare type Debt = {
25
29
  amount: MoneyAmount;
26
30
  createdAt: string;
27
31
  id: number;
32
+ isRepaid: boolean;
28
33
  paymentType: DebtPaymentType;
34
+ serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;
35
+ debtToUser?: Partial<User> & Required<Pick<User, 'id'>>;
29
36
  };
@@ -1,3 +1,4 @@
1
+ import { User } from './User';
1
2
  export declare enum PhotoOrderStatus {
2
3
  Aborted = "aborted",
3
4
  Created = "created",
@@ -16,7 +17,12 @@ export declare enum PhotoOrderRenovation {
16
17
  Euro = "euro",
17
18
  None = "none"
18
19
  }
20
+ export declare enum PhotoOrderTypes {
21
+ Internal = "internal",
22
+ External = "external"
23
+ }
19
24
  export declare type PhotoOrder = {
25
+ type: PhotoOrderTypes;
20
26
  addressId: number;
21
27
  expertPhone: string;
22
28
  hasAccessToFlat: boolean;
@@ -26,6 +32,9 @@ export declare type PhotoOrder = {
26
32
  scheduledAt: string;
27
33
  serviceRequestId: number;
28
34
  status: PhotoOrderStatus;
35
+ internalUser?: Partial<User> & {
36
+ id: number;
37
+ };
29
38
  comment?: string;
30
39
  photographerName?: string;
31
40
  photographerPhone?: string;
@@ -0,0 +1,33 @@
1
+ import { AxiosResponse } from 'axios';
2
+ declare type SuccessData = {
3
+ success: boolean;
4
+ icon: {
5
+ id: string;
6
+ name: string;
7
+ isFree: boolean;
8
+ isAnimated: boolean;
9
+ platform: string;
10
+ platformName: string;
11
+ publishedAt: number;
12
+ commonId: string;
13
+ commonName: string;
14
+ categoryName: string;
15
+ tags: string[];
16
+ subcategory: string;
17
+ subcategoryName: string;
18
+ description: string;
19
+ svg: string;
20
+ category?: string;
21
+ };
22
+ };
23
+ export declare type FindIconByIdParams = {
24
+ token: string;
25
+ id: string;
26
+ language?: string;
27
+ };
28
+ export declare type FindIconByIdData = AxiosResponse<SuccessData>;
29
+ export declare type FindIconByIdConfig = {
30
+ params: FindIconByIdParams;
31
+ };
32
+ export declare function findIconByIdRequest({ params }: FindIconByIdConfig): Promise<AxiosResponse<SuccessData, any>>;
33
+ export {};
@@ -0,0 +1,29 @@
1
+ import { AxiosResponse } from 'axios';
2
+ declare type SuccessData = {
3
+ docs: Array<{
4
+ apiCode: string;
5
+ title: string;
6
+ fullTitle: string;
7
+ isColor: false;
8
+ size: number;
9
+ iconsCount: number;
10
+ mainPreviews: string[];
11
+ preview: string;
12
+ }>;
13
+ total: number;
14
+ limit: number;
15
+ page: number;
16
+ pages: number;
17
+ };
18
+ export declare type FindIconPlatformsParams = {
19
+ token: string;
20
+ limit?: number;
21
+ page?: number;
22
+ offset?: number;
23
+ };
24
+ export declare type FindIconPlatformsData = AxiosResponse<SuccessData>;
25
+ export declare type FindIconPlatformsConfig = {
26
+ params: FindIconPlatformsParams;
27
+ };
28
+ export declare function findIconPlatformsRequest({ params }: FindIconPlatformsConfig): Promise<AxiosResponse<SuccessData, any>>;
29
+ export {};
@@ -0,0 +1,54 @@
1
+ import { AxiosResponse } from 'axios';
2
+ declare type SuccessData = {
3
+ success: boolean;
4
+ icons: Array<{
5
+ id: string;
6
+ name: string;
7
+ commonName: string;
8
+ platform: string;
9
+ isAnimated: boolean;
10
+ isFree: boolean;
11
+ isExternal: boolean;
12
+ isColor: boolean;
13
+ isExplicit: boolean;
14
+ authorId: string;
15
+ authorName: string;
16
+ sourceFormat: string;
17
+ category?: string;
18
+ }>;
19
+ message?: string;
20
+ suggestion?: string;
21
+ isSuggestionApplied?: string;
22
+ parameters?: {
23
+ amount?: number;
24
+ countAll?: number;
25
+ language?: string;
26
+ foundLanguage?: string;
27
+ offset?: number;
28
+ term?: string;
29
+ searchTranslations?: Partial<Record<'en' | 'ru' | 'de' | 'es' | 'ja' | 'it' | 'hi' | 'fr' | 'pt' | 'pl' | 'ar' | 'ko' | 'zh', string>>;
30
+ };
31
+ };
32
+ export declare type SearchIconsParams = {
33
+ token: string;
34
+ term: string;
35
+ platform?: string;
36
+ suggest?: boolean;
37
+ offset?: number;
38
+ category?: string;
39
+ authors?: string;
40
+ authorId?: string;
41
+ authorName?: string;
42
+ isAnimated?: boolean;
43
+ isOuch?: boolean;
44
+ isColor?: boolean;
45
+ spellcheck?: boolean;
46
+ allowExplicit?: boolean;
47
+ replaceNameWithSynonyms?: boolean;
48
+ };
49
+ export declare type SearchIconsData = AxiosResponse<SuccessData>;
50
+ export declare type SearchIconsConfig = {
51
+ params: SearchIconsParams;
52
+ };
53
+ export declare function searchIconsRequest({ params }: SearchIconsConfig): Promise<AxiosResponse<SuccessData, any>>;
54
+ export {};
@@ -1,4 +1,7 @@
1
1
  export * from './callTransfer/findCallTransferByExpertId';
2
2
  export * from './dadata/findDadataSuggestions';
3
+ export * from './icons/findIconById';
4
+ export * from './icons/findIconPlatforms';
5
+ export * from './icons/searchIcons';
3
6
  export * from './yandex/findYandexSuggestions';
4
7
  export * from './yandex/yandexGeocode';
@@ -105,6 +105,73 @@ export declare class Api {
105
105
  };
106
106
  }[];
107
107
  }, any>>;
108
+ findIconById: (params: api.FindIconByIdParams) => Promise<import("axios").AxiosResponse<{
109
+ success: boolean;
110
+ icon: {
111
+ id: string;
112
+ name: string;
113
+ isFree: boolean;
114
+ isAnimated: boolean;
115
+ platform: string;
116
+ platformName: string;
117
+ publishedAt: number;
118
+ commonId: string;
119
+ commonName: string;
120
+ categoryName: string;
121
+ tags: string[];
122
+ subcategory: string;
123
+ subcategoryName: string;
124
+ description: string;
125
+ svg: string;
126
+ category?: string | undefined;
127
+ };
128
+ }, any>>;
129
+ findIconPlatforms: (params: api.FindIconPlatformsParams) => Promise<import("axios").AxiosResponse<{
130
+ docs: {
131
+ apiCode: string;
132
+ title: string;
133
+ fullTitle: string;
134
+ isColor: false;
135
+ size: number;
136
+ iconsCount: number;
137
+ mainPreviews: string[];
138
+ preview: string;
139
+ }[];
140
+ total: number;
141
+ limit: number;
142
+ page: number;
143
+ pages: number;
144
+ }, any>>;
145
+ searchIcons: (params: api.SearchIconsParams) => Promise<import("axios").AxiosResponse<{
146
+ success: boolean;
147
+ icons: {
148
+ id: string;
149
+ name: string;
150
+ commonName: string;
151
+ platform: string;
152
+ isAnimated: boolean;
153
+ isFree: boolean;
154
+ isExternal: boolean;
155
+ isColor: boolean;
156
+ isExplicit: boolean;
157
+ authorId: string;
158
+ authorName: string;
159
+ sourceFormat: string;
160
+ category?: string | undefined;
161
+ }[];
162
+ message?: string | undefined;
163
+ suggestion?: string | undefined;
164
+ isSuggestionApplied?: string | undefined;
165
+ parameters?: {
166
+ amount?: number | undefined;
167
+ countAll?: number | undefined;
168
+ language?: string | undefined;
169
+ foundLanguage?: string | undefined;
170
+ offset?: number | undefined;
171
+ term?: string | undefined;
172
+ searchTranslations?: Partial<Record<"en" | "ru" | "de" | "es" | "ja" | "it" | "hi" | "fr" | "pt" | "pl" | "ar" | "ko" | "zh", string>> | undefined;
173
+ } | undefined;
174
+ }, any>>;
108
175
  findYandexSuggestions: (params: api.FindYandexSuggestionsParams) => Promise<import("axios").AxiosResponse<{
109
176
  results?: {
110
177
  title: {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.78--canary.205.e4542e3.0",
2
+ "version": "0.2.78",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -0,0 +1,61 @@
1
+ import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';
2
+ import qs from 'qs';
3
+ import { Debt, DebtPaymentType } from '../../types';
4
+
5
+ type SuccessData = { success: true; data: Debt[]; pageParams: { length: number; page: number } };
6
+ type ErrorData = { success: false; data: { error: string } };
7
+
8
+ type ResultData = { ids: number[]; byId: Record<string, Debt>; meta: { total: number } };
9
+ type ResultError = string;
10
+
11
+ export type FindDebtsHeaders = { 'x-auth-hc'?: string };
12
+ export type FindDebtsParams = {
13
+ filter?: {
14
+ 'personalAssistant.id'?: number;
15
+ 'serviceRequest.curator.id'?: number;
16
+ 'serviceRequest.id'?: number;
17
+ isRepaid?: boolean;
18
+ paymentType?: DebtPaymentType | DebtPaymentType[];
19
+ };
20
+ limits?: { page?: number; count?: number | 'all' };
21
+ sorting?: { type: 'createdAt'; direction: 'asc' | 'desc' };
22
+ };
23
+ export type FindDebtsData = AxiosResponse<ResultData>;
24
+ export type FindDebtsError = AxiosError<ResultError>;
25
+ export type FindDebtsConfig = {
26
+ baseURL?: string;
27
+ headers?: FindDebtsHeaders;
28
+ params: FindDebtsParams;
29
+ };
30
+
31
+ export function findDebtsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindDebtsConfig) {
32
+ return axios
33
+ .get('/api/debt', {
34
+ baseURL,
35
+ params,
36
+ paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),
37
+ headers: { Accept: 'application/json', ...headers },
38
+ transformResponse: [
39
+ ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),
40
+ (data: SuccessData | ErrorData): ResultData | ResultError => {
41
+ if (data.success) {
42
+ const ids: ResultData['ids'] = [];
43
+ const byId: ResultData['byId'] = {};
44
+
45
+ data.data.forEach(entity => {
46
+ byId[entity.id] = entity;
47
+ ids.push(entity.id);
48
+ });
49
+
50
+ return { ids, byId, meta: { total: data.pageParams.length } };
51
+ }
52
+
53
+ return data.data.error;
54
+ },
55
+ ],
56
+ })
57
+ .then((res: FindDebtsData) => res)
58
+ .catch((err: FindDebtsError) => {
59
+ throw err;
60
+ });
61
+ }
@@ -117,6 +117,7 @@ export * from './deal/updateDeal';
117
117
 
118
118
  export * from './debt/createDebts';
119
119
  export * from './debt/deleteDebt';
120
+ export * from './debt/findDebts';
120
121
  export * from './debt/updateDebt';
121
122
 
122
123
  export * from './event/createEvent';
@@ -178,6 +179,7 @@ export * from './phoneBookContact/updatePhoneBookContact';
178
179
  export * from './photoOrder/createPhotoOrder';
179
180
  export * from './photoOrder/findPhotoOrders';
180
181
  export * from './photoOrder/sendPhotoOrderFeedback';
182
+ export * from './photoOrder/completePhotoOrder';
181
183
  export * from './photoOrder/terminatePhotoOrder';
182
184
 
183
185
  export * from './realty/findRealtyDuplicate';
@@ -0,0 +1,37 @@
1
+ import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';
2
+
3
+ type SuccessData = { success: true };
4
+ type ErrorData = { success: false; data: { error: string } };
5
+
6
+ type ResultData = null;
7
+ type ResultError = ErrorData['data']['error'];
8
+
9
+ export type CompletePhotoOrderHeaders = { 'x-auth-hc': string };
10
+ export type CompletePhotoOrderUrlParams = { id: string };
11
+ export type CompletePhotoOrderData = AxiosResponse<ResultData>;
12
+ export type CompletePhotoOrderError = AxiosError<ResultError>;
13
+ export type CompletePhotoOrderConfig = {
14
+ baseURL?: string;
15
+ urlParams: CompletePhotoOrderUrlParams;
16
+ headers: CompletePhotoOrderHeaders;
17
+ };
18
+
19
+ export function completePhotoOrderRequest({
20
+ baseURL = 'https://clients.homeapp.ru',
21
+ urlParams,
22
+ headers,
23
+ }: CompletePhotoOrderConfig) {
24
+ return axios
25
+ .patch(`/api/order-photos/${urlParams.id}/complete`, null, {
26
+ baseURL,
27
+ headers: { Accept: 'application/json', ...headers },
28
+ transformResponse: [
29
+ ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),
30
+ (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),
31
+ ],
32
+ })
33
+ .then((res: CompletePhotoOrderData) => res)
34
+ .catch((err: CompletePhotoOrderError) => {
35
+ throw err;
36
+ });
37
+ }
@@ -9,6 +9,7 @@ type ResultError = ErrorData['data']['error'];
9
9
 
10
10
  export type CreatePhotoOrderHeaders = { 'x-auth-hc': string };
11
11
  export type CreatePhotoOrderBody = {
12
+ type: NonNullable<PhotoOrder['type']>;
12
13
  serviceRequestId: NonNullable<PhotoOrder['serviceRequestId']>;
13
14
  addressId: NonNullable<PhotoOrder['addressId']>;
14
15
  scheduledAt: NonNullable<PhotoOrder['scheduledAt']>;
@@ -16,6 +17,7 @@ export type CreatePhotoOrderBody = {
16
17
  expertPhone: NonNullable<PhotoOrder['expertPhone']>;
17
18
  hasAccessToFlat: NonNullable<PhotoOrder['hasAccessToFlat']>;
18
19
  comment?: PhotoOrder['comment'];
20
+ internalUser?: { id: number };
19
21
  };
20
22
 
21
23
  export type CreatePhotoOrderData = AxiosResponse<ResultData>;
@@ -39,6 +39,8 @@ export const AvailableFundsDictionary = {
39
39
  [AvailableFundsCostType.BonusPersonalAssistantThirdLevel]: 'Выплата бонус ПА 3',
40
40
  [AvailableFundsCostType.BonusPortfolioCoordinator]: 'Выплата бонус координатору набор портфеля',
41
41
  [AvailableFundsCostType.BonusExpoCoordinator]: 'Выплата бонус координатору экспозиция',
42
+ [AvailableFundsCostType.PaymentForPhotography]: 'Оплата за фотосъемку',
43
+ [AvailableFundsCostType.PaymentForAttractingLead]: 'Оплата за привлечение лида',
42
44
  },
43
45
  PaymentType: {
44
46
  [AvailableFundsPaymentType.AdvancePaymentUnderTheAdvanceAgreement]: 'Аванс по соглашению об авансе',
@@ -22,5 +22,7 @@ export const DebtDictionary = {
22
22
  [DebtPaymentType.BonusPersonalAssistantThirdLevel]: 'Бонус ПА 3',
23
23
  [DebtPaymentType.BonusPortfolioCoordinator]: 'Бонус координатору набор портфеля',
24
24
  [DebtPaymentType.BonusExpoCoordinator]: 'Бонус координатору экспозиция',
25
+ [DebtPaymentType.PaymentForPhotography]: 'Оплата за фотосъемку',
26
+ [DebtPaymentType.PaymentForAttractingLead]: 'Оплата за привлечение лида',
25
27
  },
26
28
  };
@@ -632,6 +632,10 @@ export class Api {
632
632
  return api.deleteDebtRequest({ urlParams, headers, baseURL: await this.baseURL });
633
633
  };
634
634
 
635
+ findDebts = async (params: api.FindDebtsParams, headers: api.FindDebtsHeaders) => {
636
+ return api.findDebtsRequest({ params, headers, baseURL: await this.baseURL });
637
+ };
638
+
635
639
  updateDebt = async (urlParams: api.UpdateDebtUrlParams, body: api.UpdateDebtBody, headers: api.UpdateDebtHeaders) => {
636
640
  return api.updateDebtRequest({ urlParams, body, headers, baseURL: await this.baseURL });
637
641
  };
@@ -927,6 +931,10 @@ export class Api {
927
931
  return api.sendPhotoOrderFeedbackRequest({ urlParams, headers, baseURL: await this.baseURL });
928
932
  };
929
933
 
934
+ completePhotoOrder = async (urlParams: api.CompletePhotoOrderUrlParams, headers: api.CompletePhotoOrderHeaders) => {
935
+ return api.completePhotoOrderRequest({ urlParams, headers, baseURL: await this.baseURL });
936
+ };
937
+
930
938
  terminatePhotoOrder = async (
931
939
  urlParams: api.TerminatePhotoOrderUrlParams,
932
940
  headers: api.TerminatePhotoOrderHeaders
@@ -42,6 +42,8 @@ export enum AvailableFundsCostType {
42
42
  BonusPersonalAssistantThirdLevel = 'bonus_personal_assistant_3',
43
43
  BonusPortfolioCoordinator = 'bonus_portfolio_coordinator',
44
44
  BonusExpoCoordinator = 'bonus_expo_coordinator',
45
+ PaymentForPhotography = 'payment_for_photography',
46
+ PaymentForAttractingLead = 'payment_for_attracting_lead',
45
47
  }
46
48
 
47
49
  export enum AvailableFundsPaymentType {
@@ -1,4 +1,6 @@
1
1
  import { MoneyAmount } from './Currency';
2
+ import { ServiceRequest } from './ServiceRequest';
3
+ import { User } from './User';
2
4
 
3
5
  export enum DebtPaymentType {
4
6
  BonusToExpert = 'bonus_to_expert',
@@ -21,11 +23,16 @@ export enum DebtPaymentType {
21
23
  BonusPersonalAssistantThirdLevel = 'bonus_personal_assistant_3',
22
24
  BonusPortfolioCoordinator = 'bonus_portfolio_coordinator',
23
25
  BonusExpoCoordinator = 'bonus_expo_coordinator',
26
+ PaymentForPhotography = 'payment_for_photography',
27
+ PaymentForAttractingLead = 'payment_for_attracting_lead',
24
28
  }
25
29
 
26
30
  export type Debt = {
27
31
  amount: MoneyAmount;
28
32
  createdAt: string;
29
33
  id: number;
34
+ isRepaid: boolean;
30
35
  paymentType: DebtPaymentType;
36
+ serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;
37
+ debtToUser?: Partial<User> & Required<Pick<User, 'id'>>;
31
38
  };
@@ -1,3 +1,5 @@
1
+ import { User } from './User';
2
+
1
3
  export enum PhotoOrderStatus {
2
4
  Aborted = 'aborted',
3
5
  Created = 'created',
@@ -18,7 +20,13 @@ export enum PhotoOrderRenovation {
18
20
  None = 'none',
19
21
  }
20
22
 
23
+ export enum PhotoOrderTypes {
24
+ Internal = 'internal',
25
+ External = 'external',
26
+ }
27
+
21
28
  export type PhotoOrder = {
29
+ type: PhotoOrderTypes;
22
30
  addressId: number;
23
31
  expertPhone: string;
24
32
  hasAccessToFlat: boolean;
@@ -29,6 +37,7 @@ export type PhotoOrder = {
29
37
  serviceRequestId: number;
30
38
  status: PhotoOrderStatus;
31
39
 
40
+ internalUser?: Partial<User> & { id: number };
32
41
  comment?: string;
33
42
  photographerName?: string;
34
43
  photographerPhone?: string;