sysone-api-mapper 1.0.48 → 1.0.50

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sysone-api-mapper",
3
- "version": "1.0.48",
3
+ "version": "1.0.50",
4
4
  "description": "Paquete mapper para portal de productores",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -393,6 +393,20 @@ export const tenantsConfig = {
393
393
  responseMapper: (response) => getQuotationsList(response)
394
394
  }
395
395
  },
396
+ GET_QUOTATION_DETAILS: {
397
+ default: {
398
+ url: '{0}/v1/quotations/{1}',
399
+ method: methods.GET,
400
+ requestMapper: (request) => ({ mappedParams: request }),
401
+ responseMapper: (response) => response
402
+ },
403
+ cnp: {
404
+ url: 'quotation/v1/quotations/{0}',
405
+ method: methods.GET,
406
+ requestMapper: request => ({ mappedParams: request }),
407
+ responseMapper: (response) => getQuotationDetail(response)
408
+ }
409
+ },
396
410
 
397
411
  //------------- POST -----------------------------
398
412
  POST_INSURED_UPDATE: {
@@ -40,6 +40,146 @@ export const getQuotationsList = async (response) => {
40
40
  };
41
41
  };
42
42
 
43
+ export const getQuotationDetail = async (res) => {
44
+ const quotation = {
45
+ code: res?.code || null,
46
+ commercialStructure: {
47
+ data: {
48
+ code: null,
49
+ description: null,
50
+ name: null,
51
+ status: {
52
+ code: null,
53
+ name: null
54
+ },
55
+ version: 0
56
+ },
57
+ intermediaries: {
58
+ values: []
59
+ }
60
+ },
61
+ creationDate: res?.creationDate || null,
62
+ email: res?.email || null,
63
+ intermediary: {
64
+ code: res?.intermediary?.code || null,
65
+ group: {
66
+ code: null,
67
+ name: null
68
+ },
69
+ licence: res?.intermediary?.licence || null,
70
+ name: res?.intermediary?.name || null,
71
+ roles: [
72
+ {
73
+ code: null,
74
+ name: null
75
+ }
76
+ ],
77
+ status: {
78
+ code: null,
79
+ name: null
80
+ }
81
+ },
82
+ number: res?.number || null,
83
+ paymentFrequency: {
84
+ code: res?.paymentFrequency?.code || null,
85
+ months: res?.paymentFrequency?.months || null,
86
+ name: res?.paymentFrequency?.name || null
87
+ },
88
+ phone: res?.phone || null,
89
+ product: {
90
+ code: res?.product?.code || null,
91
+ currency: {
92
+ code: null,
93
+ mnemonic: null,
94
+ name: null,
95
+ symbol: null
96
+ },
97
+ name: res?.product?.name || null,
98
+ status: {
99
+ code: null,
100
+ name: null
101
+ },
102
+ subsection: {
103
+ code: res?.product?.subsection?.code || null,
104
+ name: res?.product?.subsection?.name || null,
105
+ section: {
106
+ category: null,
107
+ code: res?.product?.subsection?.section?.code || null,
108
+ name: res?.product?.subsection?.section?.name || null,
109
+ type: null
110
+ }
111
+ },
112
+ version: res?.product?.version || 0
113
+ },
114
+ productSegment: null,
115
+ status: {
116
+ code: res?.status?.code || null,
117
+ name: res?.status?.name || null
118
+ },
119
+ validity: {
120
+ code: null,
121
+ months: 0,
122
+ name: null
123
+ },
124
+ values: {
125
+ commercialAgreement: {
126
+ code: null,
127
+ intermediaries: []
128
+ },
129
+ expenses: [],
130
+ groupedEconomicValues: res?.values?.groupedEconomicValues?.map((e) => ({
131
+ type: {
132
+ code: e?.type?.code || null,
133
+ name: e?.type?.name || null
134
+ },
135
+ value: e?.value || null
136
+ })) || [],
137
+ risks: res?.values?.risks?.map((risk) => ({
138
+ adherents: [],
139
+ code: risk?.code || null,
140
+ coverages: risk?.coverages?.map((cv) => ({
141
+ code: cv?.code || null,
142
+ coverageValues: cv?.coverageValues?.map((c) => ({
143
+ type: {
144
+ code: c?.type?.code || null,
145
+ name: c?.type?.name || null
146
+ },
147
+ value: c?.value || null
148
+ })) || [],
149
+ deductible: null,
150
+ economicValues: [
151
+ {
152
+ type: {
153
+ code: null,
154
+ name: null
155
+ },
156
+ value: 0
157
+ }
158
+ ],
159
+ name: cv?.name || null
160
+ })) || [],
161
+ data: {
162
+ city: {
163
+ code: risk?.data?.city?.code || null,
164
+ name: risk?.data?.city?.name || null,
165
+ province: null
166
+ },
167
+ gender: {
168
+ code: risk?.data?.gender?.code || null,
169
+ name: risk?.data?.gender?.name || null
170
+ },
171
+ birthdate: risk?.data?.birthdate || null,
172
+ savings: risk?.data?.savings || null,
173
+ values: risk?.data?.values || null
174
+ },
175
+ groupedEconomicValues: []
176
+ })) || []
177
+ }
178
+ };
179
+
180
+ return quotation;
181
+ };
182
+
43
183
  export const getQuotationByCode = async (response) => {
44
184
  const objectMapped = {
45
185
  code: response.quotationNumber?.toString() || null,