@ankhorage/templates 1.8.2 → 1.8.4
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/CHANGELOG.md +17 -0
- package/README.md +8 -7
- package/dist/templates/shared/route.d.ts +5 -3
- package/dist/templates/shared/route.d.ts.map +1 -1
- package/dist/templates/shared/route.js +4 -2
- package/dist/templates/shared/route.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/index.js +1 -1
- package/dist/templates/starter/categories/food-drink/index.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/bindings.d.ts.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/bindings.js +180 -100
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/bindings.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/content.d.ts +2 -44
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/content.d.ts.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/content.js +64 -138
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/content.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/data.d.ts +10 -193
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/data.d.ts.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/data.js +19 -142
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/data.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.d.ts.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.js +52 -15
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.d.ts +2 -5
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.d.ts.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.js +29 -21
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.d.ts.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.js +141 -46
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/template.js +2 -2
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/template.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
export const nutritionCatalogScanContent = {
|
|
2
2
|
catalog: {
|
|
3
|
-
eyebrow: '
|
|
4
|
-
title: '
|
|
5
|
-
description: 'Signed-in scanners browse the shared Swiss product catalog, scan
|
|
3
|
+
eyebrow: 'Signed-in nutrition catalog',
|
|
4
|
+
title: 'Catalog products',
|
|
5
|
+
description: 'Signed-in scanners browse the shared Swiss product catalog, scan barcodes, and create missing products directly through the nutrition API.',
|
|
6
6
|
sections: [
|
|
7
7
|
{
|
|
8
|
-
title: '
|
|
9
|
-
description: 'The whole app is protected by global auth. Product browsing happens after sign-in
|
|
8
|
+
title: 'Product catalog',
|
|
9
|
+
description: 'The whole app is protected by global auth. Product browsing happens after sign-in.',
|
|
10
10
|
cards: [
|
|
11
11
|
{
|
|
12
12
|
eyebrow: 'Known product',
|
|
13
13
|
title: 'Bio Greek Yogurt 250 g',
|
|
14
|
-
description: 'Example product card with brand,
|
|
14
|
+
description: 'Example product card with brand, package label, barcode, and nutritionFacts metadata.',
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
eyebrow: 'Known product',
|
|
18
18
|
title: 'Haferdrink Barista 1 l',
|
|
19
|
-
description: 'Products are read through the API
|
|
19
|
+
description: 'Products are read through the nutrition API, not directly from Supabase.',
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
eyebrow: '
|
|
22
|
+
eyebrow: 'Catalog growth',
|
|
23
23
|
title: 'Missing supermarket products',
|
|
24
|
-
description: '
|
|
24
|
+
description: 'Missing barcodes can be turned into real products immediately from the create screen.',
|
|
25
25
|
},
|
|
26
26
|
],
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
|
-
title: '
|
|
30
|
-
description: 'Friends sign in, scan products,
|
|
29
|
+
title: 'Scanner loop',
|
|
30
|
+
description: 'Friends sign in, scan products, look up known barcodes, and create missing products when needed.',
|
|
31
31
|
cards: [
|
|
32
32
|
{
|
|
33
33
|
eyebrow: 'Action',
|
|
34
34
|
title: 'Scan barcode',
|
|
35
|
-
description: 'Open the scanner, normalize barcode digits,
|
|
35
|
+
description: 'Open the scanner, normalize barcode digits, and look up the product through the nutrition API.',
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
|
-
eyebrow: '
|
|
39
|
-
title: '
|
|
40
|
-
description: '
|
|
38
|
+
eyebrow: 'Create path',
|
|
39
|
+
title: 'Direct product creation',
|
|
40
|
+
description: 'When a barcode is unknown, the app opens a direct product create form instead of any intermediate queue.',
|
|
41
41
|
},
|
|
42
42
|
],
|
|
43
43
|
},
|
|
@@ -46,21 +46,21 @@ export const nutritionCatalogScanContent = {
|
|
|
46
46
|
detail: {
|
|
47
47
|
eyebrow: 'Published product',
|
|
48
48
|
title: 'Product detail',
|
|
49
|
-
description: 'Show barcode, brand,
|
|
49
|
+
description: 'Show barcode, brand, packageLabel, imageRefs, and nutritionFacts from the nutrition API.',
|
|
50
50
|
sections: [
|
|
51
51
|
{
|
|
52
52
|
title: 'Product summary',
|
|
53
|
-
description: 'A product detail screen for
|
|
53
|
+
description: 'A product detail screen for the current NutritionProduct DTO.',
|
|
54
54
|
cards: [
|
|
55
55
|
{
|
|
56
56
|
eyebrow: 'Primary barcode',
|
|
57
|
-
title: '7612345678901 ·
|
|
57
|
+
title: '7612345678901 · ean_13',
|
|
58
58
|
description: 'Barcode values are normalized by removing non-digits before lookup.',
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
eyebrow: '
|
|
62
|
-
title: '
|
|
63
|
-
description: 'The
|
|
61
|
+
eyebrow: 'Stable DTO',
|
|
62
|
+
title: 'Product-centric response shape',
|
|
63
|
+
description: 'The detail payload exposes packageLabel, nutritionFacts, imageRefs, createdAt, updatedAt, and optional soft-delete metadata.',
|
|
64
64
|
},
|
|
65
65
|
],
|
|
66
66
|
},
|
|
@@ -69,7 +69,7 @@ export const nutritionCatalogScanContent = {
|
|
|
69
69
|
scan: {
|
|
70
70
|
eyebrow: 'Authenticated scan',
|
|
71
71
|
title: 'Scan barcode',
|
|
72
|
-
description: 'Use the ZORA BarcodeScannerView with an app-level camera adapter. Successful scans
|
|
72
|
+
description: 'Use the ZORA BarcodeScannerView with an app-level camera adapter. Successful scans look up products by barcode and branch to detail or create.',
|
|
73
73
|
sections: [
|
|
74
74
|
{
|
|
75
75
|
title: 'Scanner adapter',
|
|
@@ -83,102 +83,74 @@ export const nutritionCatalogScanContent = {
|
|
|
83
83
|
{
|
|
84
84
|
eyebrow: 'Fallback',
|
|
85
85
|
title: 'Manual barcode entry',
|
|
86
|
-
description: '
|
|
86
|
+
description: 'Manual entry should use the same lookup path as the scanner on web, simulator, denied camera permission, or damaged retail labels.',
|
|
87
87
|
},
|
|
88
88
|
],
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
title: 'Lookup branch',
|
|
92
|
-
description: 'After scanning, call GET /
|
|
92
|
+
description: 'After scanning, call GET /products/by-barcode/:barcode.',
|
|
93
93
|
cards: [
|
|
94
94
|
{
|
|
95
95
|
eyebrow: 'Found',
|
|
96
|
-
title: '
|
|
97
|
-
description: 'A known barcode
|
|
96
|
+
title: 'Open product detail',
|
|
97
|
+
description: 'A known barcode opens the product detail screen.',
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
eyebrow: 'Unknown',
|
|
101
|
-
title: 'Create
|
|
102
|
-
description: 'A missing barcode opens the
|
|
101
|
+
title: 'Create product',
|
|
102
|
+
description: 'A missing barcode opens the direct product create form.',
|
|
103
103
|
},
|
|
104
104
|
],
|
|
105
105
|
},
|
|
106
106
|
],
|
|
107
107
|
},
|
|
108
|
-
|
|
109
|
-
eyebrow: '
|
|
110
|
-
title: '
|
|
111
|
-
description: 'Collect the minimal data needed to create a
|
|
108
|
+
create: {
|
|
109
|
+
eyebrow: 'Direct create flow',
|
|
110
|
+
title: 'Create product',
|
|
111
|
+
description: 'Collect the minimal data needed to create a nutrition product directly through the nutrition API.',
|
|
112
112
|
sections: [
|
|
113
113
|
{
|
|
114
114
|
title: 'Required fields',
|
|
115
|
-
description: 'Keep in-store entry fast
|
|
115
|
+
description: 'Keep in-store entry fast while matching the current product API.',
|
|
116
116
|
cards: [
|
|
117
117
|
{
|
|
118
118
|
eyebrow: 'Product identity',
|
|
119
|
-
title: '
|
|
119
|
+
title: 'barcode, name, brand',
|
|
120
120
|
description: 'The barcode is prefilled from the scanner or manual input.',
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
|
-
eyebrow: '
|
|
124
|
-
title: '
|
|
125
|
-
description: '
|
|
123
|
+
eyebrow: 'Packaging',
|
|
124
|
+
title: 'packageLabel',
|
|
125
|
+
description: 'Store package text such as 500ml, 1L, or 6 x 33cl.',
|
|
126
126
|
},
|
|
127
127
|
{
|
|
128
|
-
eyebrow: '
|
|
129
|
-
title: '
|
|
130
|
-
description: '
|
|
128
|
+
eyebrow: 'Structured data',
|
|
129
|
+
title: 'nutritionFacts and imageRefs',
|
|
130
|
+
description: 'Use the current DTO fields directly so create requests can match the live product contract.',
|
|
131
131
|
},
|
|
132
132
|
],
|
|
133
133
|
},
|
|
134
134
|
],
|
|
135
135
|
},
|
|
136
|
-
|
|
137
|
-
eyebrow: '
|
|
138
|
-
title: '
|
|
139
|
-
description: '
|
|
136
|
+
stats: {
|
|
137
|
+
eyebrow: 'Catalog progress',
|
|
138
|
+
title: 'Stats',
|
|
139
|
+
description: 'Use this screen for catalog growth, scan throughput, and contributor-facing nutrition app metrics.',
|
|
140
140
|
sections: [
|
|
141
141
|
{
|
|
142
|
-
title: '
|
|
143
|
-
description: '
|
|
142
|
+
title: 'Suggested metrics',
|
|
143
|
+
description: 'This starter keeps metrics focused on the product catalog and scanner flow.',
|
|
144
144
|
cards: [
|
|
145
145
|
{
|
|
146
|
-
eyebrow: '
|
|
147
|
-
title: '
|
|
148
|
-
description: '
|
|
146
|
+
eyebrow: 'Catalog',
|
|
147
|
+
title: 'Products added',
|
|
148
|
+
description: 'Track how many products were created or enriched through the app.',
|
|
149
149
|
},
|
|
150
150
|
{
|
|
151
|
-
eyebrow: '
|
|
152
|
-
title: '
|
|
153
|
-
description: '
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
eyebrow: 'Accepted capture',
|
|
157
|
-
title: '20 points',
|
|
158
|
-
description: 'Awarded later when review tooling publishes or accepts the captured product.',
|
|
159
|
-
},
|
|
160
|
-
],
|
|
161
|
-
},
|
|
162
|
-
],
|
|
163
|
-
},
|
|
164
|
-
leaderboard: {
|
|
165
|
-
eyebrow: 'Friends ranking',
|
|
166
|
-
title: 'Leaderboard',
|
|
167
|
-
description: 'Rank signed-in scanners by challenge points, then scan count as a tie breaker.',
|
|
168
|
-
sections: [
|
|
169
|
-
{
|
|
170
|
-
title: 'Top scanners',
|
|
171
|
-
description: 'The API Gateway should expose leaderboard rows for the active challenge.',
|
|
172
|
-
cards: [
|
|
173
|
-
{
|
|
174
|
-
eyebrow: '#1',
|
|
175
|
-
title: 'Scanner with most points',
|
|
176
|
-
description: 'Show display name, points, scan count, accepted captures, and current rank.',
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
eyebrow: 'Anti-spam',
|
|
180
|
-
title: 'Backend ranking rules',
|
|
181
|
-
description: 'Duplicate and rejected captures should not increase score.',
|
|
151
|
+
eyebrow: 'Quality',
|
|
152
|
+
title: 'Lookup hit rate',
|
|
153
|
+
description: 'Compare known-barcode hits against direct product creation prompts.',
|
|
182
154
|
},
|
|
183
155
|
],
|
|
184
156
|
},
|
|
@@ -187,7 +159,7 @@ export const nutritionCatalogScanContent = {
|
|
|
187
159
|
profile: {
|
|
188
160
|
eyebrow: 'Scanner profile',
|
|
189
161
|
title: 'Profile',
|
|
190
|
-
description: 'Show signed-in scanner profile, stats, invite status, and sign-out action.',
|
|
162
|
+
description: 'Show signed-in scanner profile, catalog stats, invite status, and sign-out action.',
|
|
191
163
|
sections: [
|
|
192
164
|
{
|
|
193
165
|
title: 'Profile data',
|
|
@@ -200,54 +172,8 @@ export const nutritionCatalogScanContent = {
|
|
|
200
172
|
},
|
|
201
173
|
{
|
|
202
174
|
eyebrow: 'Stats',
|
|
203
|
-
title: '
|
|
204
|
-
description: 'Aggregate
|
|
205
|
-
},
|
|
206
|
-
],
|
|
207
|
-
},
|
|
208
|
-
],
|
|
209
|
-
},
|
|
210
|
-
success: {
|
|
211
|
-
eyebrow: 'Submission queued',
|
|
212
|
-
title: 'Thanks — product queued',
|
|
213
|
-
description: 'The API returns a submission id and queued status. Points can be updated immediately or after review.',
|
|
214
|
-
sections: [
|
|
215
|
-
{
|
|
216
|
-
title: 'Next actions',
|
|
217
|
-
description: 'Keep contributors in the scan loop.',
|
|
218
|
-
cards: [
|
|
219
|
-
{
|
|
220
|
-
eyebrow: 'Continue',
|
|
221
|
-
title: 'Scan another product',
|
|
222
|
-
description: 'Return to the scan screen for fast in-store collection.',
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
eyebrow: 'Ranking',
|
|
226
|
-
title: 'Open leaderboard',
|
|
227
|
-
description: 'Show the scanner how the capture affected their challenge ranking.',
|
|
228
|
-
},
|
|
229
|
-
],
|
|
230
|
-
},
|
|
231
|
-
],
|
|
232
|
-
},
|
|
233
|
-
queue: {
|
|
234
|
-
eyebrow: 'Offline-ready shell',
|
|
235
|
-
title: 'Capture queue',
|
|
236
|
-
description: 'A simple local queue abstraction prepares the signed-in app for offline retry without losing field data.',
|
|
237
|
-
sections: [
|
|
238
|
-
{
|
|
239
|
-
title: 'Queue states',
|
|
240
|
-
description: 'Use ZORA cards and notices for pending, failed, and submitted items.',
|
|
241
|
-
cards: [
|
|
242
|
-
{
|
|
243
|
-
eyebrow: 'Pending',
|
|
244
|
-
title: 'Waiting for connection',
|
|
245
|
-
description: 'Submissions can be stored locally with user id and clientCapturedAt.',
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
eyebrow: 'Failed',
|
|
249
|
-
title: 'Retry required',
|
|
250
|
-
description: 'Keep failures visible instead of silently dropping scanner data.',
|
|
175
|
+
title: 'Catalog activity',
|
|
176
|
+
description: 'Aggregate product contributions and lookup activity from app-facing analytics.',
|
|
251
177
|
},
|
|
252
178
|
],
|
|
253
179
|
},
|
|
@@ -256,25 +182,25 @@ export const nutritionCatalogScanContent = {
|
|
|
256
182
|
signIn: {
|
|
257
183
|
eyebrow: 'Restricted access',
|
|
258
184
|
title: 'Sign in',
|
|
259
|
-
description: 'Friends sign in before entering the scanner
|
|
185
|
+
description: 'Friends sign in before entering the nutrition scanner app.',
|
|
260
186
|
sections: [
|
|
261
187
|
{
|
|
262
|
-
title: '
|
|
188
|
+
title: 'Scanner access',
|
|
263
189
|
description: 'This template uses global auth, so app entry is protected.',
|
|
264
190
|
cards: [
|
|
265
191
|
{
|
|
266
192
|
eyebrow: 'Auth provider',
|
|
267
193
|
title: 'Supabase Auth',
|
|
268
|
-
description: 'Email sign-in is the default identity flow for generated
|
|
194
|
+
description: 'Email sign-in is the default identity flow for generated nutrition scanner apps.',
|
|
269
195
|
},
|
|
270
196
|
],
|
|
271
197
|
},
|
|
272
198
|
],
|
|
273
199
|
},
|
|
274
200
|
signUp: {
|
|
275
|
-
eyebrow: 'Join
|
|
201
|
+
eyebrow: 'Join scanner app',
|
|
276
202
|
title: 'Create scanner account',
|
|
277
|
-
description: 'Create an account with display name
|
|
203
|
+
description: 'Create an account with display name before scanning.',
|
|
278
204
|
sections: [
|
|
279
205
|
{
|
|
280
206
|
title: 'Profile creation',
|
|
@@ -283,16 +209,16 @@ export const nutritionCatalogScanContent = {
|
|
|
283
209
|
{
|
|
284
210
|
eyebrow: 'Required fields',
|
|
285
211
|
title: 'Email, password, display name',
|
|
286
|
-
description: 'The profile table stores display name and avatar for
|
|
212
|
+
description: 'The profile table stores display name and avatar for shared catalog attribution.',
|
|
287
213
|
},
|
|
288
214
|
],
|
|
289
215
|
},
|
|
290
216
|
],
|
|
291
217
|
},
|
|
292
218
|
settings: {
|
|
293
|
-
eyebrow: '
|
|
219
|
+
eyebrow: 'Nutrition app settings',
|
|
294
220
|
title: 'Settings',
|
|
295
|
-
description: 'Configuration for API
|
|
221
|
+
description: 'Configuration for nutrition API base URL, locale, profile table, and nutrition scanner auth.',
|
|
296
222
|
sections: [
|
|
297
223
|
{
|
|
298
224
|
title: 'Runtime configuration',
|
|
@@ -301,7 +227,7 @@ export const nutritionCatalogScanContent = {
|
|
|
301
227
|
{
|
|
302
228
|
eyebrow: 'Auth',
|
|
303
229
|
title: 'Global Supabase auth',
|
|
304
|
-
description: 'Friends sign in before entering the scanner
|
|
230
|
+
description: 'Friends sign in before entering the scanner app.',
|
|
305
231
|
},
|
|
306
232
|
],
|
|
307
233
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/content.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,OAAO,EAAE;QACP,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,41 +21,29 @@ export declare const nutritionCatalogScanData: {
|
|
|
21
21
|
type: "uuid";
|
|
22
22
|
required: true;
|
|
23
23
|
unique?: never;
|
|
24
|
-
defaultValue?: never;
|
|
25
24
|
} | {
|
|
26
25
|
name: string;
|
|
27
26
|
type: "text";
|
|
28
27
|
required: true;
|
|
29
28
|
unique: true;
|
|
30
|
-
defaultValue?: never;
|
|
31
|
-
} | {
|
|
32
|
-
name: string;
|
|
33
|
-
type: "text";
|
|
34
|
-
required: true;
|
|
35
|
-
unique?: never;
|
|
36
|
-
defaultValue?: never;
|
|
37
29
|
} | {
|
|
38
30
|
name: string;
|
|
39
31
|
type: "text";
|
|
40
32
|
required?: never;
|
|
41
33
|
unique?: never;
|
|
42
|
-
defaultValue?: never;
|
|
43
34
|
} | {
|
|
44
35
|
name: string;
|
|
45
36
|
type: "text";
|
|
46
37
|
required: true;
|
|
47
|
-
defaultValue: string;
|
|
48
38
|
unique?: never;
|
|
49
39
|
} | {
|
|
50
40
|
name: string;
|
|
51
41
|
type: "json";
|
|
52
42
|
required?: never;
|
|
53
43
|
unique?: never;
|
|
54
|
-
defaultValue?: never;
|
|
55
44
|
} | {
|
|
56
45
|
name: string;
|
|
57
|
-
type: "
|
|
58
|
-
defaultValue: number;
|
|
46
|
+
type: "uuid";
|
|
59
47
|
required?: never;
|
|
60
48
|
unique?: never;
|
|
61
49
|
} | {
|
|
@@ -63,7 +51,11 @@ export declare const nutritionCatalogScanData: {
|
|
|
63
51
|
type: "datetime";
|
|
64
52
|
required: true;
|
|
65
53
|
unique?: never;
|
|
66
|
-
|
|
54
|
+
} | {
|
|
55
|
+
name: string;
|
|
56
|
+
type: "datetime";
|
|
57
|
+
required?: never;
|
|
58
|
+
unique?: never;
|
|
67
59
|
})[];
|
|
68
60
|
};
|
|
69
61
|
};
|
|
@@ -85,66 +77,6 @@ export declare const nutritionCatalogScanData: {
|
|
|
85
77
|
auth: {
|
|
86
78
|
readonly required: true;
|
|
87
79
|
};
|
|
88
|
-
})[];
|
|
89
|
-
};
|
|
90
|
-
nutritionProductCaptures: {
|
|
91
|
-
id: string;
|
|
92
|
-
kind: "generated";
|
|
93
|
-
preset: "crud";
|
|
94
|
-
label: string;
|
|
95
|
-
description: string;
|
|
96
|
-
basePath: string;
|
|
97
|
-
auth: {
|
|
98
|
-
readonly required: true;
|
|
99
|
-
};
|
|
100
|
-
resource: {
|
|
101
|
-
kind: "collection";
|
|
102
|
-
collection: {
|
|
103
|
-
name: string;
|
|
104
|
-
schema: string;
|
|
105
|
-
primaryKey: string;
|
|
106
|
-
fields: ({
|
|
107
|
-
name: string;
|
|
108
|
-
type: "uuid";
|
|
109
|
-
required: true;
|
|
110
|
-
defaultValue?: never;
|
|
111
|
-
} | {
|
|
112
|
-
name: string;
|
|
113
|
-
type: "text";
|
|
114
|
-
required: true;
|
|
115
|
-
defaultValue?: never;
|
|
116
|
-
} | {
|
|
117
|
-
name: string;
|
|
118
|
-
type: "text";
|
|
119
|
-
required?: never;
|
|
120
|
-
defaultValue?: never;
|
|
121
|
-
} | {
|
|
122
|
-
name: string;
|
|
123
|
-
type: "text";
|
|
124
|
-
required: true;
|
|
125
|
-
defaultValue: string;
|
|
126
|
-
} | {
|
|
127
|
-
name: string;
|
|
128
|
-
type: "json";
|
|
129
|
-
required?: never;
|
|
130
|
-
defaultValue?: never;
|
|
131
|
-
} | {
|
|
132
|
-
name: string;
|
|
133
|
-
type: "datetime";
|
|
134
|
-
required: true;
|
|
135
|
-
defaultValue?: never;
|
|
136
|
-
})[];
|
|
137
|
-
};
|
|
138
|
-
};
|
|
139
|
-
endpoints: ({
|
|
140
|
-
id: string;
|
|
141
|
-
label: string;
|
|
142
|
-
method: "GET";
|
|
143
|
-
path: string;
|
|
144
|
-
intent: "list";
|
|
145
|
-
auth: {
|
|
146
|
-
readonly required: true;
|
|
147
|
-
};
|
|
148
80
|
} | {
|
|
149
81
|
id: string;
|
|
150
82
|
label: string;
|
|
@@ -154,136 +86,21 @@ export declare const nutritionCatalogScanData: {
|
|
|
154
86
|
auth: {
|
|
155
87
|
readonly required: true;
|
|
156
88
|
};
|
|
157
|
-
})[];
|
|
158
|
-
};
|
|
159
|
-
nutritionScanChallenges: {
|
|
160
|
-
id: string;
|
|
161
|
-
kind: "generated";
|
|
162
|
-
preset: "crud";
|
|
163
|
-
label: string;
|
|
164
|
-
description: string;
|
|
165
|
-
basePath: string;
|
|
166
|
-
auth: {
|
|
167
|
-
readonly required: true;
|
|
168
|
-
};
|
|
169
|
-
resource: {
|
|
170
|
-
kind: "collection";
|
|
171
|
-
collection: {
|
|
172
|
-
name: string;
|
|
173
|
-
schema: string;
|
|
174
|
-
primaryKey: string;
|
|
175
|
-
fields: ({
|
|
176
|
-
name: string;
|
|
177
|
-
type: "uuid";
|
|
178
|
-
required: true;
|
|
179
|
-
defaultValue?: never;
|
|
180
|
-
} | {
|
|
181
|
-
name: string;
|
|
182
|
-
type: "text";
|
|
183
|
-
required: true;
|
|
184
|
-
defaultValue?: never;
|
|
185
|
-
} | {
|
|
186
|
-
name: string;
|
|
187
|
-
type: "text";
|
|
188
|
-
required?: never;
|
|
189
|
-
defaultValue?: never;
|
|
190
|
-
} | {
|
|
191
|
-
name: string;
|
|
192
|
-
type: "datetime";
|
|
193
|
-
required: true;
|
|
194
|
-
defaultValue?: never;
|
|
195
|
-
} | {
|
|
196
|
-
name: string;
|
|
197
|
-
type: "boolean";
|
|
198
|
-
required: true;
|
|
199
|
-
defaultValue: true;
|
|
200
|
-
} | {
|
|
201
|
-
name: string;
|
|
202
|
-
type: "json";
|
|
203
|
-
required?: never;
|
|
204
|
-
defaultValue?: never;
|
|
205
|
-
})[];
|
|
206
|
-
};
|
|
207
|
-
};
|
|
208
|
-
endpoints: ({
|
|
209
|
-
id: string;
|
|
210
|
-
label: string;
|
|
211
|
-
method: "GET";
|
|
212
|
-
path: string;
|
|
213
|
-
intent: "list";
|
|
214
|
-
auth: {
|
|
215
|
-
readonly required: true;
|
|
216
|
-
};
|
|
217
89
|
} | {
|
|
218
90
|
id: string;
|
|
219
91
|
label: string;
|
|
220
|
-
method: "
|
|
221
|
-
path: string;
|
|
222
|
-
intent: "read";
|
|
223
|
-
auth: {
|
|
224
|
-
readonly required: true;
|
|
225
|
-
};
|
|
226
|
-
})[];
|
|
227
|
-
};
|
|
228
|
-
nutritionScanEvents: {
|
|
229
|
-
id: string;
|
|
230
|
-
kind: "generated";
|
|
231
|
-
preset: "crud";
|
|
232
|
-
label: string;
|
|
233
|
-
description: string;
|
|
234
|
-
basePath: string;
|
|
235
|
-
auth: {
|
|
236
|
-
readonly required: true;
|
|
237
|
-
};
|
|
238
|
-
resource: {
|
|
239
|
-
kind: "collection";
|
|
240
|
-
collection: {
|
|
241
|
-
name: string;
|
|
242
|
-
schema: string;
|
|
243
|
-
primaryKey: string;
|
|
244
|
-
fields: ({
|
|
245
|
-
name: string;
|
|
246
|
-
type: "uuid";
|
|
247
|
-
required: true;
|
|
248
|
-
defaultValue?: never;
|
|
249
|
-
} | {
|
|
250
|
-
name: string;
|
|
251
|
-
type: "text";
|
|
252
|
-
required: true;
|
|
253
|
-
defaultValue?: never;
|
|
254
|
-
} | {
|
|
255
|
-
name: string;
|
|
256
|
-
type: "uuid";
|
|
257
|
-
required?: never;
|
|
258
|
-
defaultValue?: never;
|
|
259
|
-
} | {
|
|
260
|
-
name: string;
|
|
261
|
-
type: "number";
|
|
262
|
-
required: true;
|
|
263
|
-
defaultValue: number;
|
|
264
|
-
} | {
|
|
265
|
-
name: string;
|
|
266
|
-
type: "datetime";
|
|
267
|
-
required: true;
|
|
268
|
-
defaultValue?: never;
|
|
269
|
-
})[];
|
|
270
|
-
};
|
|
271
|
-
};
|
|
272
|
-
endpoints: ({
|
|
273
|
-
id: string;
|
|
274
|
-
label: string;
|
|
275
|
-
method: "GET";
|
|
92
|
+
method: "PATCH";
|
|
276
93
|
path: string;
|
|
277
|
-
intent: "
|
|
94
|
+
intent: "update";
|
|
278
95
|
auth: {
|
|
279
96
|
readonly required: true;
|
|
280
97
|
};
|
|
281
98
|
} | {
|
|
282
99
|
id: string;
|
|
283
100
|
label: string;
|
|
284
|
-
method: "
|
|
101
|
+
method: "DELETE";
|
|
285
102
|
path: string;
|
|
286
|
-
intent: "
|
|
103
|
+
intent: "delete";
|
|
287
104
|
auth: {
|
|
288
105
|
readonly required: true;
|
|
289
106
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/data.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/data.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFN,CAAC"}
|