@zauru-sdk/services 1.0.6 → 1.0.7

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 (65) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/index.d.ts +20 -0
  3. package/dist/index.js +20 -0
  4. package/dist/zauru/zauru-currencies.server.d.ts +6 -0
  5. package/dist/zauru/zauru-currencies.server.js +20 -0
  6. package/dist/zauru/zauru-deliveries.server.d.ts +22 -0
  7. package/dist/zauru/zauru-deliveries.server.js +44 -0
  8. package/dist/zauru/zauru-discharges.server.d.ts +26 -0
  9. package/dist/zauru/zauru-discharges.server.js +46 -0
  10. package/dist/zauru/zauru-employees.server.d.ts +6 -0
  11. package/dist/zauru/zauru-employees.server.js +23 -0
  12. package/dist/zauru/zauru-forms.server.d.ts +96 -0
  13. package/dist/zauru/zauru-forms.server.js +343 -0
  14. package/dist/zauru/zauru-invoices.server.d.ts +26 -0
  15. package/dist/zauru/zauru-invoices.server.js +94 -0
  16. package/dist/zauru/zauru-items.server.d.ts +91 -0
  17. package/dist/zauru/zauru-items.server.js +238 -0
  18. package/dist/zauru/zauru-lote-record.server.d.ts +8 -0
  19. package/dist/zauru/zauru-lote-record.server.js +26 -0
  20. package/dist/zauru/zauru-lotes.server.d.ts +91 -0
  21. package/dist/zauru/zauru-lotes.server.js +294 -0
  22. package/dist/zauru/zauru-motivos-rechazo.server.d.ts +9 -0
  23. package/dist/zauru/zauru-motivos-rechazo.server.js +49 -0
  24. package/dist/zauru/zauru-payees.server.d.ts +97 -0
  25. package/dist/zauru/zauru-payees.server.js +227 -0
  26. package/dist/zauru/zauru-payment-terms.server.d.ts +20 -0
  27. package/dist/zauru/zauru-payment-terms.server.js +65 -0
  28. package/dist/zauru/zauru-price-lists.server.d.ts +22 -0
  29. package/dist/zauru/zauru-price-lists.server.js +40 -0
  30. package/dist/zauru/zauru-purchase-orders.server.d.ts +160 -0
  31. package/dist/zauru/zauru-purchase-orders.server.js +414 -0
  32. package/dist/zauru/zauru-receptions.server.d.ts +33 -0
  33. package/dist/zauru/zauru-receptions.server.js +94 -0
  34. package/dist/zauru/zauru-shipments.server.d.ts +20 -0
  35. package/dist/zauru/zauru-shipments.server.js +53 -0
  36. package/dist/zauru/zauru-suggested-prices.server.d.ts +30 -0
  37. package/dist/zauru/zauru-suggested-prices.server.js +83 -0
  38. package/dist/zauru/zauru-tags.server.d.ts +7 -0
  39. package/dist/zauru/zauru-tags.server.js +13 -0
  40. package/dist/zauru/zauru-templates.server.d.ts +7 -0
  41. package/dist/zauru/zauru-templates.server.js +15 -0
  42. package/dist/zauru/zauru-web-app-tables.server.d.ts +48 -0
  43. package/dist/zauru/zauru-web-app-tables.server.js +120 -0
  44. package/package.json +6 -6
  45. package/src/index.ts +20 -0
  46. package/src/zauru/zauru-currencies.server.ts +39 -0
  47. package/src/zauru/zauru-deliveries.server.ts +70 -0
  48. package/src/zauru/zauru-discharges.server.ts +90 -0
  49. package/src/zauru/zauru-employees.server.ts +43 -0
  50. package/src/zauru/zauru-forms.server.ts +618 -0
  51. package/src/zauru/zauru-invoices.server.ts +142 -0
  52. package/src/zauru/zauru-items.server.ts +427 -0
  53. package/src/zauru/zauru-lote-record.server.ts +77 -0
  54. package/src/zauru/zauru-lotes.server.ts +484 -0
  55. package/src/zauru/zauru-motivos-rechazo.server.ts +121 -0
  56. package/src/zauru/zauru-payees.server.ts +398 -0
  57. package/src/zauru/zauru-payment-terms.server.ts +126 -0
  58. package/src/zauru/zauru-price-lists.server.ts +68 -0
  59. package/src/zauru/zauru-purchase-orders.server.ts +701 -0
  60. package/src/zauru/zauru-receptions.server.ts +148 -0
  61. package/src/zauru/zauru-shipments.server.ts +88 -0
  62. package/src/zauru/zauru-suggested-prices.server.ts +134 -0
  63. package/src/zauru/zauru-tags.server.ts +22 -0
  64. package/src/zauru/zauru-templates.server.ts +24 -0
  65. package/src/zauru/zauru-web-app-tables.server.ts +200 -0
@@ -0,0 +1,398 @@
1
+ import type { Session } from "@remix-run/node";
2
+ import { handlePossibleAxiosErrors } from "@zauru-sdk/common";
3
+ import { AxiosUtilsResponse, PayeeCategoryGraphQL, PayeeGraphQL } from "@zauru-sdk/types";
4
+ import httpGraphQLAPI from "./httpGraphQL.server.js";
5
+ import { getGraphQLAPIHeaders } from "~/common.server.js";
6
+ import {
7
+ getClientCategoriesStringQuery,
8
+ getPayeeByIdStringQuery,
9
+ getPayeeCategoriesByNotesMatchStringQuery,
10
+ getPayeeCategoriesStringQuery,
11
+ getPayeeCategoryByIdStringQuery,
12
+ getPayeesStringQuery,
13
+ getProviderCategoriesStringQuery,
14
+ getProvidersStringQuery,
15
+ } from "@zauru-sdk/graphql";
16
+ import httpZauru from "./httpZauru.server.js";
17
+
18
+ /**
19
+ * getPayees
20
+ * @param headers
21
+ * @returns
22
+ */
23
+ export async function getPayees(
24
+ session: Session
25
+ ): Promise<AxiosUtilsResponse<PayeeGraphQL[]>> {
26
+ return handlePossibleAxiosErrors(async () => {
27
+ const headers = await getGraphQLAPIHeaders(session);
28
+ const response = await httpGraphQLAPI.post<{
29
+ data: { payees: PayeeGraphQL[] };
30
+ }>(
31
+ ``,
32
+ {
33
+ query: getPayeesStringQuery,
34
+ },
35
+ {
36
+ headers,
37
+ }
38
+ );
39
+
40
+ return response.data?.data.payees;
41
+ });
42
+ }
43
+
44
+ /**
45
+ * getProviders
46
+ * @param headers
47
+ * @returns
48
+ */
49
+ export async function getProviders(
50
+ session: Session
51
+ ): Promise<AxiosUtilsResponse<PayeeGraphQL[]>> {
52
+ return handlePossibleAxiosErrors(async () => {
53
+ const headers = await getGraphQLAPIHeaders(session);
54
+ const response = await httpGraphQLAPI.post<{
55
+ data: { payees: PayeeGraphQL[] };
56
+ }>(
57
+ ``,
58
+ {
59
+ query: getProvidersStringQuery,
60
+ },
61
+ {
62
+ headers,
63
+ }
64
+ );
65
+
66
+ return response.data?.data.payees;
67
+ });
68
+ }
69
+
70
+ /**
71
+ * getPayee
72
+ * @param session
73
+ * @param id
74
+ */
75
+ export async function getPayee(
76
+ session: Session,
77
+ id: number | string
78
+ ): Promise<AxiosUtilsResponse<PayeeGraphQL | undefined>> {
79
+ return handlePossibleAxiosErrors(async () => {
80
+ const headers = await getGraphQLAPIHeaders(session);
81
+
82
+ const responsePayee = await httpGraphQLAPI.post<{
83
+ data: { payees: PayeeGraphQL[] };
84
+ }>(
85
+ "",
86
+ {
87
+ query: getPayeeByIdStringQuery,
88
+ variables: {
89
+ id,
90
+ },
91
+ },
92
+ { headers }
93
+ );
94
+
95
+ if (!responsePayee?.data?.data?.payees[0]) {
96
+ throw new Error("No se encontró el beneficiario indicado");
97
+ }
98
+
99
+ return responsePayee?.data?.data?.payees[0];
100
+ });
101
+ }
102
+
103
+ /**
104
+ * getPayeesByCategoryId
105
+ * @param session
106
+ * @param categoryId
107
+ * @returns
108
+ */
109
+ export async function getPayeesByCategoryId(
110
+ session: Session,
111
+ id: number | string
112
+ ): Promise<AxiosUtilsResponse<PayeeGraphQL[]>> {
113
+ return handlePossibleAxiosErrors(async () => {
114
+ const headers = await getGraphQLAPIHeaders(session);
115
+ const response = await httpGraphQLAPI.post<{
116
+ data: {
117
+ payee_categories: { payees: PayeeGraphQL[] }[];
118
+ };
119
+ errors?: {
120
+ message: string;
121
+ extensions: { path: string; code: string };
122
+ }[];
123
+ }>(
124
+ ``,
125
+ {
126
+ query: getPayeeCategoryByIdStringQuery,
127
+ variables: { id },
128
+ },
129
+ { headers }
130
+ );
131
+
132
+ if (response.data.errors) {
133
+ throw new Error(response.data.errors.map((x) => x.message).join(";"));
134
+ }
135
+
136
+ if (!response?.data?.data?.payee_categories[0]) {
137
+ return [];
138
+ }
139
+
140
+ return response.data?.data?.payee_categories[0]?.payees;
141
+ });
142
+ }
143
+
144
+ /**
145
+ * getPayeeCategoriesByNotesMatch
146
+ * @param session
147
+ * @param match
148
+ * @returns
149
+ */
150
+ export async function getPayeeCategoriesByNotesMatch(
151
+ session: Session,
152
+ match: string
153
+ ): Promise<AxiosUtilsResponse<PayeeCategoryGraphQL[]>> {
154
+ return handlePossibleAxiosErrors(async () => {
155
+ const headers = await getGraphQLAPIHeaders(session);
156
+ const response = await httpGraphQLAPI.post<{
157
+ data: {
158
+ payee_categories: PayeeCategoryGraphQL[];
159
+ };
160
+ errors?: {
161
+ message: string;
162
+ extensions: { path: string; code: string };
163
+ }[];
164
+ }>(
165
+ ``,
166
+ {
167
+ query: getPayeeCategoriesByNotesMatchStringQuery(match),
168
+ },
169
+ { headers }
170
+ );
171
+
172
+ if (response.data.errors) {
173
+ throw new Error(response.data.errors.map((x) => x.message).join(";"));
174
+ }
175
+
176
+ return response.data?.data?.payee_categories;
177
+ });
178
+ }
179
+
180
+ /**
181
+ * getPayeeCategories
182
+ * @param session
183
+ * @param match
184
+ * @returns
185
+ */
186
+ export async function getPayeeCategories(
187
+ session: Session
188
+ ): Promise<AxiosUtilsResponse<PayeeCategoryGraphQL[]>> {
189
+ return handlePossibleAxiosErrors(async () => {
190
+ const headers = await getGraphQLAPIHeaders(session);
191
+ const response = await httpGraphQLAPI.post<{
192
+ data: {
193
+ payee_categories: PayeeCategoryGraphQL[];
194
+ };
195
+ errors?: {
196
+ message: string;
197
+ extensions: { path: string; code: string };
198
+ }[];
199
+ }>(
200
+ ``,
201
+ {
202
+ query: getPayeeCategoriesStringQuery,
203
+ },
204
+ { headers }
205
+ );
206
+
207
+ if (response.data.errors) {
208
+ throw new Error(response.data.errors.map((x) => x.message).join(";"));
209
+ }
210
+
211
+ return response.data?.data?.payee_categories;
212
+ });
213
+ }
214
+
215
+ /**
216
+ * getProviderCategories
217
+ * @param session
218
+ * @param match
219
+ * @returns
220
+ */
221
+ export async function getProviderCategories(
222
+ session: Session
223
+ ): Promise<AxiosUtilsResponse<PayeeCategoryGraphQL[]>> {
224
+ return handlePossibleAxiosErrors(async () => {
225
+ const headers = await getGraphQLAPIHeaders(session);
226
+ const response = await httpGraphQLAPI.post<{
227
+ data: {
228
+ payee_categories: PayeeCategoryGraphQL[];
229
+ };
230
+ errors?: {
231
+ message: string;
232
+ extensions: { path: string; code: string };
233
+ }[];
234
+ }>(
235
+ ``,
236
+ {
237
+ query: getProviderCategoriesStringQuery,
238
+ },
239
+ { headers }
240
+ );
241
+
242
+ if (response.data.errors) {
243
+ throw new Error(response.data.errors.map((x) => x.message).join(";"));
244
+ }
245
+
246
+ return response.data?.data?.payee_categories;
247
+ });
248
+ }
249
+
250
+ /**
251
+ * getProviderCategories
252
+ * @param session
253
+ * @param match
254
+ * @returns
255
+ */
256
+ export async function getClientCategories(
257
+ session: Session
258
+ ): Promise<AxiosUtilsResponse<PayeeCategoryGraphQL[]>> {
259
+ return handlePossibleAxiosErrors(async () => {
260
+ const headers = await getGraphQLAPIHeaders(session);
261
+ const response = await httpGraphQLAPI.post<{
262
+ data: {
263
+ payee_categories: PayeeCategoryGraphQL[];
264
+ };
265
+ errors?: {
266
+ message: string;
267
+ extensions: { path: string; code: string };
268
+ }[];
269
+ }>(
270
+ ``,
271
+ {
272
+ query: getClientCategoriesStringQuery,
273
+ },
274
+ { headers }
275
+ );
276
+
277
+ if (response.data.errors) {
278
+ throw new Error(response.data.errors.map((x) => x.message).join(";"));
279
+ }
280
+
281
+ return response.data?.data?.payee_categories;
282
+ });
283
+ }
284
+
285
+ /**
286
+ * createPayee
287
+ * @param session
288
+ * @param headers
289
+ * @returns
290
+ */
291
+ export async function createPayee(
292
+ headers: any,
293
+ body: Partial<PayeeGraphQL>
294
+ ): Promise<AxiosUtilsResponse<boolean>> {
295
+ return handlePossibleAxiosErrors(async () => {
296
+ await httpZauru.post<any>("/settings/payees", { payee: body }, { headers });
297
+ return true;
298
+ });
299
+ }
300
+
301
+ /**
302
+ * deletePayee
303
+ * @param headers
304
+ * @param id
305
+ * @returns
306
+ */
307
+ export async function deletePayee(
308
+ headers: any,
309
+ id: string | number
310
+ ): Promise<AxiosUtilsResponse<boolean>> {
311
+ return handlePossibleAxiosErrors(async () => {
312
+ await httpZauru.delete<any>(`/settings/payees/${id}?destroy=true`, {
313
+ headers,
314
+ });
315
+ return true;
316
+ });
317
+ }
318
+
319
+ /**
320
+ * updatePayee
321
+ * @param session
322
+ * @param headers
323
+ * @returns
324
+ */
325
+ export async function updatePayee(
326
+ headers: any,
327
+ body: Partial<PayeeGraphQL>
328
+ ): Promise<AxiosUtilsResponse<boolean>> {
329
+ return handlePossibleAxiosErrors(async () => {
330
+ await httpZauru.patch<any>(
331
+ `/settings/payees/${body.id}`,
332
+ { payee: body },
333
+ { headers }
334
+ );
335
+ return true;
336
+ });
337
+ }
338
+
339
+ /**
340
+ * createPayeeCategory
341
+ * @param session
342
+ * @param headers
343
+ * @returns
344
+ */
345
+ export async function createPayeeCategory(
346
+ headers: any,
347
+ body: Partial<PayeeCategoryGraphQL>
348
+ ): Promise<AxiosUtilsResponse<PayeeCategoryGraphQL>> {
349
+ return handlePossibleAxiosErrors(async () => {
350
+ const response = await httpZauru.post<any>(
351
+ "/settings/payees/payee_categories",
352
+ { payee_category: body },
353
+ { headers }
354
+ );
355
+ return response.data;
356
+ });
357
+ }
358
+
359
+ /**
360
+ * updatePayeeCategory
361
+ * @param session
362
+ * @param headers
363
+ * @returns
364
+ */
365
+ export async function updatePayeeCategory(
366
+ headers: any,
367
+ body: Partial<PayeeCategoryGraphQL>
368
+ ): Promise<AxiosUtilsResponse<boolean>> {
369
+ return handlePossibleAxiosErrors(async () => {
370
+ await httpZauru.patch<any>(
371
+ `/settings/payees/payee_categories/${body.id}`,
372
+ { payee_category: body },
373
+ { headers }
374
+ );
375
+ return true;
376
+ });
377
+ }
378
+
379
+ /**
380
+ * deletePayeeCategory
381
+ * @param headers
382
+ * @param id
383
+ * @returns
384
+ */
385
+ export async function deletePayeeCategory(
386
+ headers: any,
387
+ id: string | number
388
+ ): Promise<AxiosUtilsResponse<boolean>> {
389
+ return handlePossibleAxiosErrors(async () => {
390
+ await httpZauru.delete<any>(
391
+ `/settings/payees/payee_categories/${id}?destroy=true`,
392
+ {
393
+ headers,
394
+ }
395
+ );
396
+ return true;
397
+ });
398
+ }
@@ -0,0 +1,126 @@
1
+ import type { Session } from "@remix-run/node";
2
+ import { handlePossibleAxiosErrors } from "@zauru-sdk/common";
3
+ import { AxiosUtilsResponse, PaymentTermGraphQL } from "@zauru-sdk/types";
4
+ import { getGraphQLAPIHeaders } from "~/common.server.js";
5
+ import httpGraphQLAPI from "./httpGraphQL.server.js";
6
+ import {
7
+ getPaymentTermByIdStringQuery,
8
+ getPaymentTermsStringQuery,
9
+ } from "@zauru-sdk/graphql";
10
+ import httpZauru from "./httpZauru.server.js";
11
+
12
+ /**
13
+ * getPaymentTerms
14
+ */
15
+ export async function getPaymentTerms(
16
+ session: Session
17
+ ): Promise<AxiosUtilsResponse<PaymentTermGraphQL[]>> {
18
+ return handlePossibleAxiosErrors(async () => {
19
+ const headers = await getGraphQLAPIHeaders(session);
20
+
21
+ const response = await httpGraphQLAPI.post<{
22
+ data: { payment_terms: PaymentTermGraphQL[] };
23
+ errors?: {
24
+ message: string;
25
+ extensions: { path: string; code: string };
26
+ }[];
27
+ }>(
28
+ "",
29
+ {
30
+ query: getPaymentTermsStringQuery,
31
+ },
32
+ { headers }
33
+ );
34
+
35
+ if (response.data.errors) {
36
+ throw new Error(response.data.errors.map((x) => x.message).join(";"));
37
+ }
38
+
39
+ const registers = response?.data?.data?.payment_terms;
40
+
41
+ return registers;
42
+ });
43
+ }
44
+
45
+ /**
46
+ * getPaymentTermById
47
+ */
48
+ export async function getPaymentTermById(
49
+ session: Session,
50
+ id: string | number
51
+ ): Promise<AxiosUtilsResponse<PaymentTermGraphQL>> {
52
+ return handlePossibleAxiosErrors(async () => {
53
+ const headers = await getGraphQLAPIHeaders(session);
54
+
55
+ const response = await httpGraphQLAPI.post<{
56
+ data: { payment_terms: PaymentTermGraphQL[] };
57
+ errors?: {
58
+ message: string;
59
+ extensions: { path: string; code: string };
60
+ }[];
61
+ }>(
62
+ "",
63
+ {
64
+ query: getPaymentTermByIdStringQuery,
65
+ variables: { id },
66
+ },
67
+ { headers }
68
+ );
69
+
70
+ if (response.data.errors) {
71
+ throw new Error(response.data.errors.map((x) => x.message).join(";"));
72
+ }
73
+
74
+ if (!response?.data?.data?.payment_terms[0]) {
75
+ throw new Error(
76
+ "No se encontró ningún método de pago con este id: " + id
77
+ );
78
+ }
79
+
80
+ const registers = response?.data?.data?.payment_terms[0] ?? [];
81
+
82
+ return registers;
83
+ });
84
+ }
85
+
86
+ /**
87
+ * createPaymentTerm
88
+ * @param headers
89
+ */
90
+ export async function createPaymentTerm(
91
+ headers: any,
92
+ payment_term: PaymentTermGraphQL
93
+ ): Promise<AxiosUtilsResponse<PaymentTermGraphQL>> {
94
+ return handlePossibleAxiosErrors(async () => {
95
+ const response = await httpZauru.patch<PaymentTermGraphQL>(
96
+ `/sales/settings/payment_terms.json`,
97
+ {
98
+ payment_term,
99
+ },
100
+ { headers }
101
+ );
102
+
103
+ return response.data;
104
+ });
105
+ }
106
+
107
+ /**
108
+ * updatePaymentTerm
109
+ * @param headers
110
+ */
111
+ export async function updatePaymentTerm(
112
+ headers: any,
113
+ payment_term: Partial<PaymentTermGraphQL> & any
114
+ ): Promise<AxiosUtilsResponse<PaymentTermGraphQL>> {
115
+ return handlePossibleAxiosErrors(async () => {
116
+ const response = await httpZauru.patch<PaymentTermGraphQL>(
117
+ `/sales/settings/payment_terms/${payment_term.id}.json`,
118
+ {
119
+ payment_term,
120
+ },
121
+ { headers }
122
+ );
123
+
124
+ return response.data;
125
+ });
126
+ }
@@ -0,0 +1,68 @@
1
+ import { handlePossibleAxiosErrors } from "@zauru-sdk/common";
2
+ import {
3
+ AxiosUtilsResponse,
4
+ CreatePriceListBody,
5
+ PriceListGraphQL,
6
+ } from "@zauru-sdk/types";
7
+ import httpZauru from "./httpZauru.server.js";
8
+
9
+ /**
10
+ * createPriceList
11
+ * @param session
12
+ * @param headers
13
+ * @returns
14
+ */
15
+ export async function createPriceList(
16
+ headers: any,
17
+ body: CreatePriceListBody
18
+ ): Promise<AxiosUtilsResponse<PriceListGraphQL>> {
19
+ return handlePossibleAxiosErrors(async () => {
20
+ const response = await httpZauru.post<any>(
21
+ "/sales/settings/price_lists",
22
+ { price_list: body },
23
+ { headers }
24
+ );
25
+ return response.data;
26
+ });
27
+ }
28
+
29
+ /**
30
+ * deletePriceList
31
+ * @param headers
32
+ * @param id
33
+ * @returns
34
+ */
35
+ export async function deletePriceList(
36
+ headers: any,
37
+ id: string | number
38
+ ): Promise<AxiosUtilsResponse<boolean>> {
39
+ return handlePossibleAxiosErrors(async () => {
40
+ await httpZauru.delete<any>(
41
+ `/sales/settings/price_lists/${id}?destroy=true`,
42
+ {
43
+ headers,
44
+ }
45
+ );
46
+ return true;
47
+ });
48
+ }
49
+
50
+ /**
51
+ * updatePriceList
52
+ * @param session
53
+ * @param headers
54
+ * @returns
55
+ */
56
+ export async function updatePriceList(
57
+ headers: any,
58
+ body: Partial<PriceListGraphQL>
59
+ ): Promise<AxiosUtilsResponse<boolean>> {
60
+ return handlePossibleAxiosErrors(async () => {
61
+ await httpZauru.patch<any>(
62
+ `/sales/settings/price_lists/${body.id}`,
63
+ { price_list: body },
64
+ { headers }
65
+ );
66
+ return true;
67
+ });
68
+ }