tango-app-api-trax 3.7.73 → 3.7.75

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.
@@ -35,7 +35,6 @@ internalTraxRouter
35
35
  .get( '/getSubmittedDetails', isAllowedInternalAPIHandler, internalController.submittedInfo )
36
36
  .post( '/checklistCreation', isAllowedInternalAPIHandler, internalController.checklistCreation )
37
37
  .post( '/getSubmissionDetails', isAllowedInternalAPIHandler, internalController.checklistTaskSubmissionDetails )
38
- .post( '/posblock', isAllowedInternalAPIHandler, internalController.getStoreTaskDetails )
39
38
  ;
40
39
 
41
40
 
@@ -30,7 +30,5 @@ mobileRouter
30
30
  .post( '/checkUpdateVersionv1', mobileController.checkVersionV1 )
31
31
  .post( '/checkClientConfig', isAllowedSessionHandler, mobileController.clientConfig )
32
32
  .post( '/updatePlanoStatus', isAllowedSessionHandler, mobileController.updatePlanoStatus )
33
- .post( '/chunkUpload', isAllowedSessionHandler, mobileController.chunkUpload )
34
- .post( '/downloadChecklist', isAllowedSessionHandler, mobileController.downloadChecklist )
35
- ;
33
+ .post( '/chunkUpload', isAllowedSessionHandler, mobileController.chunkUpload );
36
34
 
@@ -35,7 +35,6 @@ traxRouter
35
35
  .post( '/updateRunAIFeatures', isAllowedSessionHandler, traxController.updateRunAIFeatures )
36
36
  .post( '/updateRunAIRequest', isAllowedSessionHandler, validate( runAIRequestValidation ), traxController.updateRunAIRequest )
37
37
  .post( '/createChecklistName', isAllowedSessionHandler, validate( createChecklistNameValidation ), traxController.createChecklistName )
38
- .post( '/updateOSProcessedData', isAllowedInternalAPIHandler, validate( updateOSDataValidation ), traxController.updateOSProcessedData )
39
- .post( '/exportQuestions', isAllowedSessionHandler, traxController.downloadQuestionTemplate );
38
+ .post( '/updateOSProcessedData', isAllowedInternalAPIHandler, validate( updateOSDataValidation ), traxController.updateOSProcessedData );
40
39
 
41
40
  // isAllowedSessionHandler, isAllowedClient, accessVerification( { userType: [ 'tango', 'client' ], access: [ { featureName: 'TangoTrax', name: 'checklist', permissions: [ ] } ] } ),
@@ -1,16 +0,0 @@
1
- import Handlebars from 'handlebars';
2
-
3
- Handlebars.registerHelper( 'eq', function( arg1, arg2, options ) {
4
- return ( arg1 == arg2 ) ? options.fn( this ) : options.inverse( this );
5
- } );
6
-
7
- Handlebars.registerHelper( 'neq', function( a, b, options ) {
8
- return a !== b ? options.fn( this ) : options.inverse( this );
9
- } );
10
-
11
- Handlebars.registerHelper( 'includes', function( array, value ) {
12
- if ( !Array.isArray( array ) ) return false;
13
- return array.includes( value );
14
- } );
15
-
16
- export default Handlebars;
package/src/hbs/flag.hbs DELETED
@@ -1,249 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
-
6
- <meta charset="utf-8">
7
- <meta http-equiv="x-ua-compatible" content="ie=edge">
8
- <title>Trial Intiate Email</title>
9
- <meta name="viewport" content="width=device-width, initial-scale=1">
10
- <style type="text/css">
11
- @media screen {
12
- @font-face {
13
- font-family: 'Inter';
14
- font-style: normal;
15
- font-weight: 400;
16
- font-display: swap;
17
- src: local("Inter"), local("Inter-Regular"), url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');
18
- unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
19
- }
20
- }
21
-
22
- body {
23
- font-family: "Inter", sans-serif !important;
24
- }
25
-
26
- body,
27
- table,
28
- td,
29
- a {
30
- -ms-text-size-adjust: 100%;
31
- -webkit-text-size-adjust: 100%;
32
- }
33
-
34
- table,
35
- td {
36
- mso-table-rspace: 0pt;
37
- mso-table-lspace: 0pt;
38
- }
39
-
40
- img {
41
- -ms-interpolation-mode: bicubic;
42
- }
43
-
44
- a[x-apple-data-detectors] {
45
- font-family: "inherit" !important;
46
- font-size: inherit !important;
47
- font-weight: inherit !important;
48
- line-height: inherit !important;
49
- color: inherit !important;
50
- text-decoration: none !important;
51
- }
52
-
53
-
54
- div[style*="margin: 16px 0;"
55
-
56
- ] {
57
- margin: 0 !important;
58
- }
59
-
60
- body {
61
- width: 100% !important;
62
- height: 100% !important;
63
- padding: 0 !important;
64
- margin: 0 !important;
65
- }
66
-
67
-
68
- table {
69
- border-collapse: collapse !important;
70
- }
71
-
72
- a {
73
- color: #1a82e2;
74
- }
75
-
76
- img {
77
- height: auto;
78
- line-height: 100%;
79
- text-decoration: none;
80
- border: 0;
81
- outline: none;
82
- }
83
-
84
- .flagText {
85
- /* font-family: 'Inter'; */
86
- /* color: #667085 !important; */
87
- font-size: 16px;
88
- font-weight: 600;
89
- line-height: 24px;
90
- text-align: left;
91
-
92
- }
93
- </style>
94
-
95
- </head>
96
-
97
- <body style="background-color: #dbe5ea;">
98
-
99
- <div class="preheader"
100
- style="display: none; max-width: 0; max-height: 0; overflow: hidden; font-size: 1px; line-height: 1px; color: #fff; opacity: 0;">
101
- Email Summary (Hidden)
102
- </div>
103
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="padding-left:10px;padding-right:10px">
104
- <tr>
105
- <td bgcolor="#dbe5ea" style="padding:32px 10px 0 10px">
106
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;" align="center">
107
- <tr>
108
- <td class="o_bg-white o_px-md o_py-md o_sans o_text"
109
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 24px;background-color: #ffffff;padding-left: 18px;padding-right: 24px;padding-top: 24px;padding-bottom: 24px;">
110
- <p style="margin-top: 0px;margin-bottom: 0px;"><a class="o_text-white"
111
- href="https://tangoeye.ai/"
112
- style="text-decoration: none;outline: none;color: #ffffff;"><img
113
- src="https://devtangoretail-api.tangoeye.ai/logo.png" width="200" height="100"
114
- alt="SimpleApp"
115
- style="-ms-interpolation-mode: bicubic;vertical-align: middle;border: 0;line-height: 100%;height: auto;outline: none;text-decoration: none;"></a>
116
- </p>
117
- </td>
118
- </tr>
119
- <tr>
120
- <td align="left" bgcolor="#ffffff"
121
- style="padding-left: 30px;padding-right: 24px; font-size: 14px; line-height: 24px;">
122
- <p class="o_heading o_mb-xxs"
123
- style="width: 624px;height: 0px;border: 1px solid #CBD5E1;flex: none;order: 1;flex-grow: 0;">
124
- </p>
125
- </td>
126
- </tr>
127
- <tr>
128
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
129
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
130
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
131
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
132
- <span class="o_heading o_text-dark o_mb-xxs"
133
- style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
134
- Hi,<br />
135
- Flag has been detected based on the response submitted in a recently completed
136
- checklist for Store {{data.storeName}}. Review
137
- the flagged item and take the necessary action from the dashboard.
138
- </span>
139
- </div>
140
- </td>
141
- </tr>
142
- <tr>
143
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
144
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
145
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
146
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
147
- <span class="o_heading o_text-dark o_mb-xxs"
148
- style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
149
- Details of the checklist are as follows:
150
- </span>
151
- </div>
152
- </td>
153
- </tr>
154
- </table>
155
- </td>
156
- </tr>
157
- <tr>
158
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
159
- <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%"
160
- style="max-width: 680px;">
161
- <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
162
- <td class="flagText" style="padding-left:30px; line-height: 24px;color:#000000">Store Name :
163
- </td>
164
- <td></td>
165
- <td></td>
166
- <td class="flagText">{{data.storeName}}</td>
167
- </tr>
168
- <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
169
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Checklist Name :</td>
170
- <td></td>
171
- <td></td>
172
- <td class="flagText">{{data.checklistName}}%</td>
173
- </tr>
174
-
175
- <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
176
- <td class="flagText" style="padding-left:30px; line-height: 24px;">No of Flags :</td>
177
- <td></td>
178
- <td></td>
179
- <td class="flagText">{{data.flagCount}}</td>
180
- </tr>
181
- <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
182
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Submitted By :</td>
183
- <td></td>
184
- <td></td>
185
- <td class="flagText">{{data.submittedBy}}</td>
186
- </tr>
187
- <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
188
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Date & Time :</td>
189
- <td></td>
190
- <td></td>
191
- <td class="flagText">{{data.time}}</td>
192
- </tr>
193
- </table>
194
- </td>
195
- </tr>
196
- <tr>
197
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
198
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
199
- <tr>
200
- <td bgcolor="#ffffff" style="padding: 20px;padding-top:15px;padding-left:30px;">
201
- <table border="0" cellpadding="0" cellspacing="0">
202
- <tr>
203
- <td align="center" bgcolor="#00A3FF" style="border-radius: 6px;height:50px;">
204
- <a href="{{data.domain}}" target="_blank"
205
- style="display: inline-block; padding: 16px 36px; font-size: 16px; color: #ffffff; text-decoration: none; border-radius: 6px;">View
206
- Flags
207
- </a>
208
- </td>
209
- </tr>
210
- </table>
211
- </td>
212
- </tr>
213
- </table>
214
- </td>
215
- </tr>
216
- <tr>
217
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 32px 10px;">
218
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
219
- <tr>
220
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
221
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-top:5px">
222
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
223
- style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
224
- <p>
225
- If you have any questions or need assistance, please reach out to us at
226
- support@tangotech.co.in.
227
- </p>
228
- </div>
229
- </td>
230
- </tr>
231
- <tr>
232
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
233
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom:15px">
234
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
235
- style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
236
- <p>
237
- © Tango Eye. All rights reserved.</p>
238
- </div>
239
- </td>
240
- </tr>
241
- </table>
242
- </td>
243
- </tr>
244
-
245
- </table>
246
-
247
- </body>
248
-
249
- </html>
@@ -1,337 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
- <title>{{data.checkListName}}</title>
6
- <style type="text/css">
7
-
8
- body {
9
- font-family: Inter !important;
10
- }
11
- .pdffile {
12
- position: relative;
13
- font-family: Inter !important;
14
- }
15
-
16
- .sectionname {
17
- width: 300px;
18
- font-weight: 600;
19
- font-size: 12px;
20
- Line height: 30px;
21
- }
22
-
23
- .pdfcontent {
24
- font-family: Inter !important;
25
- color: #000 !important;
26
- margin: 10px 20px 20px 20px !important;
27
- padding-bottom: 60pt !important;
28
-
29
- }
30
-
31
- .question {
32
- font-size: 12px !important;
33
- font-weight: 600;
34
- line-height: 30px;
35
- }
36
-
37
-
38
- .pdfheader {
39
- padding-left: 20px !important;
40
- }
41
-
42
- .headerimage {
43
- width: 100px !important;
44
- height: 60px !important;
45
- }
46
-
47
- .headertitle {
48
- color: #000 !important;
49
- font-size: 10px !important;
50
- font-weight: 600 !important;
51
- width: 120px;
52
- display: inline-block;
53
- line-height: 20px !important;
54
- }
55
-
56
- .date {
57
- width: 40px !important;
58
- }
59
-
60
- .headercontent {
61
- color: #000;
62
- font-size: 10px !important;
63
- font-weight: 400;
64
- line-height: 28px;
65
- }
66
-
67
- .dateandtime {
68
- padding-right: 5px !important;
69
- }
70
-
71
- .Reference {
72
- font-size: 10px !important;
73
- font-weight: 400 !important;
74
- color:#101828;
75
- line-height: 24px;
76
- }
77
-
78
- .horizondal-line {
79
- color: var(--gray-400, #98A2B3) !important;
80
- min-width:75% !important;
81
- }
82
-
83
- hr {
84
- margin-top: -10px;
85
- margin-left: 15%
86
- }
87
- #agreed {
88
- font-size: 10px !important;
89
- font-style: italic;
90
- font-weight: 500 !important;
91
- line-height: 28px;
92
- color:#000;
93
- }
94
-
95
- #remarks {
96
- font-size: 10px !important;
97
- font-weight: 400;
98
- line-height: 28px;
99
- }
100
-
101
- .text-center {
102
- text-align: center;
103
- }
104
-
105
- .align-items-center {
106
- align-items: center;
107
- }
108
-
109
- .justify-content-between {
110
- justify-content: space-between;
111
- }
112
-
113
- .justify-content-start {
114
- justify-content: start;
115
- }
116
-
117
- .mx-10 {
118
- margin: 10px;
119
- }
120
-
121
- .mb-6 {
122
- margin-bottom: 4px;
123
- }
124
-
125
- .mt-8 {
126
- margin-top: 8px;
127
- }
128
-
129
- .px-4 {
130
- padding: 4px;
131
- }
132
- .headertitle.questionText {
133
- width:118px !important;
134
- }
135
- .headertitle.submittedText {
136
- width:116px !important;
137
- }
138
- </style>
139
- </head>
140
-
141
- <body>
142
- <div class="pdffile">
143
- <div class="pdfheader">
144
- {{#neq data.brandLogo ''}}
145
- <div class="text-center mb-6 mt-8">
146
- <img class="headerimage" src="{{data.brandLogo}}" alt="{{data.brandName}}"/>
147
- </div>
148
- {{/neq}}
149
- {{#eq data.brandLogo ''}}
150
- <div class="text-center mb-6 mt-8 mx-10">
151
- {{data.brandName}}
152
- </div>
153
- {{/eq}}
154
- <div class="mb-6">
155
- <span class="headertitle">Store Name:</span><span class="headercontent">{{data.storeName}}
156
- {{data.city}} {{data.state}} {{data.country}}</span>
157
- </div>
158
- <div class="mb-6">
159
- <span class="headertitle">Checklist Name:</span><span
160
- class="headercontent">{{data.checkListName}}</span><br>
161
- </div>
162
- <table style="border:none;width:100%">
163
- <tr style="width:100%">
164
- <td style="width:50%">
165
- <div class="mb-6">
166
- <div><span class="headertitle questionText">No of Questions:</span><span
167
- class="headercontent">{{data.questionCount}}</span></div>
168
- </div>
169
- </td>
170
- <td style="width:50%;float:right">
171
- <div class="dateandtime mb-6">
172
- <div><span class="headertitle date">Date:</span><span
173
- class="headercontent">{{data.submitDate }}</span></div>
174
- </div>
175
- </td>
176
- </tr>
177
- <tr style="width:100%">
178
- <td style="width:50%">
179
- <div class="mb-6">
180
- <div><span class="headertitle submittedText">Submitted By:</span>
181
- <span class="headercontent">{{data.userName}}</span>
182
- </div>
183
- </div>
184
- </td>
185
- <td style="width:50%;float:right">
186
- <div class="dateandtime mb-6">
187
- <div><span class="headertitle date">Time:</span><span
188
- class="headercontent">{{data.submitTime
189
- }}</span></div>
190
- </div>
191
- </td>
192
- </tr>
193
- </table>
194
- </div>
195
- {{#if data.questionAnswers.length}}
196
- {{#each data.questionAnswers}}
197
- <div class="pdfcontent">
198
- <div style="padding-bottom:20px;">
199
- <span class="sectionname">{{sectionName}} </span>&nbsp;<div class="horizondal-line">
200
- <hr />
201
- </div>
202
- </div>
203
- {{#each questions}}
204
- <div style="padding-bottom:20px">
205
- {{#if userAnswer.length}}
206
- <span class="question">{{qno}}.</span>&nbsp;<span class="question">{{qname}}</span>
207
- {{#each userAnswer}}
208
- <div class="px-4 answer">
209
- {{#if (includes ../../../data.validateType ../answerType)}}
210
- {{#eq sopFlag true }}
211
- <span id="agreed" style="color:red">{{answer}}</span><br>
212
- {{/eq}}
213
- {{#eq sopFlag false }}
214
- <span id="agreed">{{answer}}</span><br>
215
- {{/eq}}
216
- {{#eq validation true}}
217
- {{#eq validationType 'Capture Image'}}
218
- <img src = "{{validationAnswer}}" alt="test" width="200" height="180">
219
- {{/eq}}
220
- {{#eq validationType 'Capture Video'}}
221
- <a href="{{validationAnswer}}" target="_blank" style="text-decoration: underline;color:#0085D2" id="agreed">{{validationAnswer}}</a><br>
222
- {{/eq}}
223
- {{#eq validationType 'Descriptive Answer'}}
224
- {{validationAnswer}}
225
- {{/eq}}
226
- {{/eq}}
227
- {{/if}}
228
- {{#eq ../answerType 'video'}}
229
- <a href="{{answer}}" target="_blank" style="text-decoration: underline;color:#0085D2"
230
- id="agreed">{{answer}}</a><br>
231
- {{/eq}}
232
- {{#eq ../answerType 'image'}}
233
- {{!-- {{#each ../answers}} --}}
234
- <table style="width:100%">
235
- <tr>
236
- {{#neq referenceImage ''}}
237
- <td style="width:50%">
238
- <div class="Reference"><span>Reference Image</span><br>
239
- <img src="{{referenceImage}}" width="200" height="180" />
240
- </div>
241
- </td>
242
- {{/neq}}
243
- <td style="width:50%">
244
- <div class="Reference"><span>Uploaded Image</span><br>
245
- <img src="{{answer}}" width="200" height="180" />
246
- </div>
247
- </td>
248
- </tr>
249
- </table>
250
- {{!-- {{/each}} --}}
251
- {{/eq}}
252
- {{#eq ../answerType 'multipleImage'}}
253
- {{!-- {{#each ../answers}} --}}
254
- <table style="width:100%">
255
- <tr>
256
- {{#neq referenceImage ''}}
257
- <td style="width:50%">
258
- <div class="Reference"><span>Reference Image</span><br>
259
- <img src="{{referenceImage}}" width="200" height="180" />
260
- </div>
261
- </td>
262
- {{/neq}}
263
- <td style="width:50%">
264
- <div class="Reference"><span>Uploaded Image</span><br>
265
- <img src="{{answer}}" width="200" height="180" />
266
- </div>
267
- </td>
268
- </tr>
269
- </table>
270
- {{!-- {{/each}} --}}
271
- {{/eq}}
272
- {{#eq ../answerType 'image/video'}}
273
- {{!-- {{#each ../answers}} --}}
274
- <table style="width:100%">
275
- <tr>
276
- {{#neq referenceImage ''}}
277
- <td style="width:50%">
278
- <div class="Reference"><span>Reference Image</span><br>
279
- <img src="{{referenceImage}}" width="200" height="180" />
280
- </div>
281
- </td>
282
- {{/neq}}
283
- {{#eq answerType 'image'}}
284
- <td style="width:50%">
285
- <div class="Reference"><span>Uploaded Image</span><br>
286
- <img src="{{answer}}" width="200" height="180" />
287
- </div>
288
- </td>
289
- {{/eq}}
290
- {{#eq answerType 'video'}}
291
- <td style="width:50%">
292
- <a href="{{answer}}" target="_blank" style="text-decoration: underline;color:#0085D2" id="agreed">{{answer}}</a><br>
293
- </td>
294
- {{/eq}}
295
- </tr>
296
- </table>
297
- {{!-- {{/each}} --}}
298
- {{/eq}}
299
- {{#eq ../answerType 'descriptiveImage'}}
300
- {{!-- {{#each ../answers}} --}}
301
- <table style="width:100%">
302
- <tr>
303
- {{#neq referenceImage ''}}
304
- <td style="width:50%">
305
- <div class="Reference"><span>Reference Image</span><br>
306
- <img src="{{referenceImage}}" width="200" height="180" />
307
- </div>
308
- </td>
309
- {{/neq}}
310
- <td style="width:50%">
311
- <div class="Reference"><span>Uploaded Image</span><br>
312
- <img src="{{answer}}" width="200" height="180" />
313
- </div>
314
- </td>
315
- </tr>
316
- </table>
317
- {{!-- {{/each}} --}}
318
- {{/eq}}
319
- </div>
320
- {{/each}}
321
- {{#neq answerType 'descriptive'}}
322
- {{#neq remarks ''}}
323
- <div class="mt-8">
324
- <span id="remarks">Remarks: {{remarks}}</span><br>
325
- </div>
326
- {{/neq}}
327
- {{/neq}}
328
- {{/if}}
329
- </div>
330
- {{/each}}
331
- </div>
332
- {{/each}}
333
- {{/if}}
334
- </div>
335
- </body>
336
-
337
- </html>