@ankhorage/templates 1.8.2 → 1.8.3

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 (24) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/templates/starter/categories/food-drink/index.js +1 -1
  3. package/dist/templates/starter/categories/food-drink/index.js.map +1 -1
  4. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/bindings.js +1 -1
  5. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/bindings.js.map +1 -1
  6. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/content.d.ts +0 -14
  7. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/content.d.ts.map +1 -1
  8. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/content.js +59 -87
  9. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/content.js.map +1 -1
  10. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/data.d.ts +10 -193
  11. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/data.d.ts.map +1 -1
  12. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/data.js +19 -142
  13. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/data.js.map +1 -1
  14. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.d.ts.map +1 -1
  15. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.js +27 -7
  16. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.js.map +1 -1
  17. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.d.ts +0 -1
  18. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.d.ts.map +1 -1
  19. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.js +0 -1
  20. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.js.map +1 -1
  21. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.d.ts.map +1 -1
  22. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.js +27 -17
  23. package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.js.map +1 -1
  24. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @ankhorage/templates
2
2
 
3
+ ## 1.8.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 481d13b: Align the food/drink nutrition catalog scanner starter with the current product-centric nutrition API.
8
+
9
+ Generated nutrition scanner manifests now use direct product CRUD operations under `/v1/nutrition/products`, full runtime product operation paths, and `packageLabel`-based product data instead of the legacy capture/challenge/event flow.
10
+ EOF
11
+
3
12
  ## 1.8.2
4
13
 
5
14
  ### Patch Changes
@@ -10,7 +10,7 @@ export const foodDrinkStarterTemplates = [
10
10
  {
11
11
  id: 'nutrition-catalog-scan',
12
12
  label: 'Nutrition catalog scan',
13
- description: 'A Swiss product catalog starter with ZORA-first product browsing and scan-to-add capture flow.',
13
+ description: 'A Swiss product catalog starter with ZORA-first product browsing and direct barcode-to-product creation flow.',
14
14
  create: createNutritionCatalogScanStarterTemplate,
15
15
  },
16
16
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/food-drink/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,yCAAyC,EAAE,MAAM,0BAA0B,CAAC;AAErF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,4EAA4E;QACzF,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,gGAAgG;QAClG,MAAM,EAAE,yCAAyC;KAClD;CACqD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/food-drink/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,yCAAyC,EAAE,MAAM,0BAA0B,CAAC;AAErF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,4EAA4E;QACzF,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,+GAA+G;QACjH,MAAM,EAAE,yCAAyC;KAClD;CACqD,CAAC"}
@@ -23,7 +23,7 @@ function createProductCardBinding(args) {
23
23
  subtitle: {
24
24
  source: {
25
25
  kind: 'context',
26
- path: 'item.quantity',
26
+ path: 'item.packageLabel',
27
27
  },
28
28
  },
29
29
  description: {
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/bindings.ts"],"names":[],"mappings":"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"}
@@ -55,20 +55,6 @@ export declare const nutritionCatalogScanContent: {
55
55
  }[];
56
56
  }[];
57
57
  };
58
- challenge: {
59
- eyebrow: string;
60
- title: string;
61
- description: string;
62
- sections: {
63
- title: string;
64
- description: string;
65
- cards: {
66
- eyebrow: string;
67
- title: string;
68
- description: string;
69
- }[];
70
- }[];
71
- };
72
58
  leaderboard: {
73
59
  eyebrow: string;
74
60
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/content.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8UiB,CAAC"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/content.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkTiB,CAAC"}
@@ -1,17 +1,17 @@
1
1
  export const nutritionCatalogScanContent = {
2
2
  catalog: {
3
- eyebrow: 'Friends-only scanner challenge',
4
- title: 'Challenge products',
5
- description: 'Signed-in scanners browse the shared Swiss product catalog, scan new products, and collect points for the active challenge.',
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 gateway.',
6
6
  sections: [
7
7
  {
8
8
  title: 'Restricted catalog',
9
- description: 'The whole app is protected by global auth. Product browsing happens after sign-in inside the challenge app.',
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, quantity, barcode, and confidence metadata.',
14
+ description: 'Example product card with brand, package label, barcode, and typed nutrition metadata.',
15
15
  },
16
16
  {
17
17
  eyebrow: 'Known product',
@@ -21,23 +21,23 @@ export const nutritionCatalogScanContent = {
21
21
  {
22
22
  eyebrow: 'Contribution target',
23
23
  title: 'Missing supermarket products',
24
- description: 'Scanners earn more points when a missing barcode becomes a queued capture submission.',
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: 'Challenge loop',
30
- description: 'Friends sign in, scan products, submit missing products, and climb the leaderboard.',
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, then record a scan event for the signed-in user.',
35
+ description: 'Open the scanner, normalize barcode digits, and look up the product through the gateway.',
36
36
  },
37
37
  {
38
- eyebrow: 'Ranking',
39
- title: 'Points and leaderboard',
40
- description: 'Known product scans, missing product captures, and accepted captures can use different point values.',
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 a capture queue.',
41
41
  },
42
42
  ],
43
43
  },
@@ -46,7 +46,7 @@ export const nutritionCatalogScanContent = {
46
46
  detail: {
47
47
  eyebrow: 'Published product',
48
48
  title: 'Product detail',
49
- description: 'Show barcode, brand, quantity, confidence, store observations, and nutrition facts from the API Gateway.',
49
+ description: 'Show barcode, brand, package label, image refs, and nutrition facts from the API Gateway.',
50
50
  sections: [
51
51
  {
52
52
  title: 'Product summary',
@@ -58,9 +58,9 @@ export const nutritionCatalogScanContent = {
58
58
  description: 'Barcode values are normalized by removing non-digits before lookup.',
59
59
  },
60
60
  {
61
- eyebrow: 'Challenge value',
62
- title: 'Known scan: 1 point',
63
- description: 'The backend should avoid duplicate point farming with per-user barcode limits.',
61
+ eyebrow: 'Stable DTO',
62
+ title: 'Gateway-owned product shape',
63
+ description: 'The detail payload exposes packageLabel, nutritionFacts, imageRefs, and soft-delete-safe product reads.',
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 create signed-in scan events.',
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',
@@ -93,92 +93,64 @@ export const nutritionCatalogScanContent = {
93
93
  cards: [
94
94
  {
95
95
  eyebrow: 'Found',
96
- title: 'Record known scan',
97
- description: 'A known barcode creates a scan event and can open the product detail screen.',
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 capture',
102
- description: 'A missing barcode opens the capture form and can earn more challenge points.',
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
108
  capture: {
109
- eyebrow: 'Challenge contribution',
110
- title: 'Capture missing product',
111
- description: 'Collect the minimal data needed to create a queued capture submission for the signed-in scanner.',
109
+ eyebrow: 'Direct create flow',
110
+ title: 'Create product',
111
+ description: 'Collect the minimal data needed to create a nutrition product directly through the gateway.',
112
112
  sections: [
113
113
  {
114
114
  title: 'Required fields',
115
- description: 'Keep in-store entry fast and reward useful missing-product captures.',
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: 'Name, brand, quantity',
119
+ title: 'Barcode, name, brand',
120
120
  description: 'The barcode is prefilled from the scanner or manual input.',
121
121
  },
122
122
  {
123
- eyebrow: 'Store observation',
124
- title: 'Store chain and location label',
125
- description: 'Country defaults to CH with de-CH client locale for the Swiss MVP.',
123
+ eyebrow: 'Packaging',
124
+ title: 'Package label',
125
+ description: 'Store package text such as 500ml, 1L, or 6 x 33cl.',
126
126
  },
127
127
  {
128
128
  eyebrow: 'Photos placeholder',
129
129
  title: 'Front, nutrition, ingredients, barcode',
130
- description: 'Real image upload can be added after the first challenge flow works.',
131
- },
132
- ],
133
- },
134
- ],
135
- },
136
- challenge: {
137
- eyebrow: 'Active challenge',
138
- title: 'Scanner challenge',
139
- description: 'Show challenge rules, dates, invite status, scoring, and the signed-in scanner progress.',
140
- sections: [
141
- {
142
- title: 'Scoring rules',
143
- description: 'Point rules should reward useful scans and discourage duplicate barcode farming.',
144
- cards: [
145
- {
146
- eyebrow: 'Known scan',
147
- title: '1 point',
148
- description: 'Awarded for a valid known product scan within the duplicate limits.',
149
- },
150
- {
151
- eyebrow: 'Missing product',
152
- title: '5 points',
153
- description: 'Awarded when a signed-in scanner submits a new missing product capture.',
154
- },
155
- {
156
- eyebrow: 'Accepted capture',
157
- title: '20 points',
158
- description: 'Awarded later when review tooling publishes or accepts the captured product.',
130
+ description: 'Real image upload can be added later through typed imageRefs inputs.',
159
131
  },
160
132
  ],
161
133
  },
162
134
  ],
163
135
  },
164
136
  leaderboard: {
165
- eyebrow: 'Friends ranking',
166
- title: 'Leaderboard',
167
- description: 'Rank signed-in scanners by challenge points, then scan count as a tie breaker.',
137
+ eyebrow: 'Catalog progress',
138
+ title: 'Stats',
139
+ description: 'Use this screen for catalog growth, scan throughput, and contributor-facing nutrition app metrics.',
168
140
  sections: [
169
141
  {
170
- title: 'Top scanners',
171
- description: 'The API Gateway should expose leaderboard rows for the active challenge.',
142
+ title: 'Suggested metrics',
143
+ description: 'This starter no longer assumes extra event or leaderboard APIs.',
172
144
  cards: [
173
145
  {
174
- eyebrow: '#1',
175
- title: 'Scanner with most points',
176
- description: 'Show display name, points, scan count, accepted captures, and current rank.',
146
+ eyebrow: 'Catalog',
147
+ title: 'Products added',
148
+ description: 'Track how many products were created or enriched through the app.',
177
149
  },
178
150
  {
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
  },
@@ -200,17 +172,17 @@ export const nutritionCatalogScanContent = {
200
172
  },
201
173
  {
202
174
  eyebrow: 'Stats',
203
- title: 'Scans, captures, points',
204
- description: 'Aggregate challenge stats from scan events and capture submissions.',
175
+ title: 'Catalog activity',
176
+ description: 'Aggregate product contributions and lookup activity from app-facing analytics.',
205
177
  },
206
178
  ],
207
179
  },
208
180
  ],
209
181
  },
210
182
  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.',
183
+ eyebrow: 'Product created',
184
+ title: 'Thanks - product created',
185
+ description: 'The API returns the created product directly, so the app can open detail or continue scanning immediately.',
214
186
  sections: [
215
187
  {
216
188
  title: 'Next actions',
@@ -223,8 +195,8 @@ export const nutritionCatalogScanContent = {
223
195
  },
224
196
  {
225
197
  eyebrow: 'Ranking',
226
- title: 'Open leaderboard',
227
- description: 'Show the scanner how the capture affected their challenge ranking.',
198
+ title: 'Open product detail',
199
+ description: 'Show the freshly created product and let the scanner add more metadata later.',
228
200
  },
229
201
  ],
230
202
  },
@@ -232,8 +204,8 @@ export const nutritionCatalogScanContent = {
232
204
  },
233
205
  queue: {
234
206
  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.',
207
+ title: 'Create queue',
208
+ description: 'A simple local queue abstraction prepares the signed-in app for offline retry without losing direct-create field data.',
237
209
  sections: [
238
210
  {
239
211
  title: 'Queue states',
@@ -242,7 +214,7 @@ export const nutritionCatalogScanContent = {
242
214
  {
243
215
  eyebrow: 'Pending',
244
216
  title: 'Waiting for connection',
245
- description: 'Submissions can be stored locally with user id and clientCapturedAt.',
217
+ description: 'Create requests can be stored locally until the gateway is reachable again.',
246
218
  },
247
219
  {
248
220
  eyebrow: 'Failed',
@@ -256,23 +228,23 @@ export const nutritionCatalogScanContent = {
256
228
  signIn: {
257
229
  eyebrow: 'Restricted access',
258
230
  title: 'Sign in',
259
- description: 'Friends sign in before entering the scanner challenge app.',
231
+ description: 'Friends sign in before entering the nutrition scanner app.',
260
232
  sections: [
261
233
  {
262
- title: 'Challenge access',
234
+ title: 'Scanner access',
263
235
  description: 'This template uses global auth, so app entry is protected.',
264
236
  cards: [
265
237
  {
266
238
  eyebrow: 'Auth provider',
267
239
  title: 'Supabase Auth',
268
- description: 'Email sign-in is the default identity flow for generated challenge apps.',
240
+ description: 'Email sign-in is the default identity flow for generated nutrition scanner apps.',
269
241
  },
270
242
  ],
271
243
  },
272
244
  ],
273
245
  },
274
246
  signUp: {
275
- eyebrow: 'Join challenge',
247
+ eyebrow: 'Join scanner app',
276
248
  title: 'Create scanner account',
277
249
  description: 'Create an account with display name and optional invite code before scanning.',
278
250
  sections: [
@@ -283,16 +255,16 @@ export const nutritionCatalogScanContent = {
283
255
  {
284
256
  eyebrow: 'Required fields',
285
257
  title: 'Email, password, display name',
286
- description: 'The profile table stores display name and avatar for leaderboard rows.',
258
+ description: 'The profile table stores display name and avatar for shared catalog attribution.',
287
259
  },
288
260
  ],
289
261
  },
290
262
  ],
291
263
  },
292
264
  settings: {
293
- eyebrow: 'Challenge app settings',
265
+ eyebrow: 'Nutrition app settings',
294
266
  title: 'Settings',
295
- description: 'Configuration for API Gateway base URL, locale, profile table, and challenge auth.',
267
+ description: 'Configuration for API Gateway base URL, locale, profile table, and nutrition scanner auth.',
296
268
  sections: [
297
269
  {
298
270
  title: 'Runtime configuration',
@@ -301,7 +273,7 @@ export const nutritionCatalogScanContent = {
301
273
  {
302
274
  eyebrow: 'Auth',
303
275
  title: 'Global Supabase auth',
304
- description: 'Friends sign in before entering the scanner challenge app.',
276
+ description: 'Friends sign in before entering the scanner app.',
305
277
  },
306
278
  ],
307
279
  },
@@ -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,gCAAgC;QACzC,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,6HAA6H;QAC/H,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,EACT,6GAA6G;gBAC/G,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,eAAe;wBACxB,KAAK,EAAE,wBAAwB;wBAC/B,WAAW,EACT,8EAA8E;qBACjF;oBACD;wBACE,OAAO,EAAE,eAAe;wBACxB,KAAK,EAAE,wBAAwB;wBAC/B,WAAW,EAAE,wEAAwE;qBACtF;oBACD;wBACE,OAAO,EAAE,qBAAqB;wBAC9B,KAAK,EAAE,8BAA8B;wBACrC,WAAW,EACT,uFAAuF;qBAC1F;iBACF;aACF;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,qFAAqF;gBACvF,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,cAAc;wBACrB,WAAW,EACT,8FAA8F;qBACjG;oBACD;wBACE,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,wBAAwB;wBAC/B,WAAW,EACT,sGAAsG;qBACzG;iBACF;aACF;SACF;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,0GAA0G;QAC5G,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,+DAA+D;gBAC5E,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,iBAAiB;wBAC1B,KAAK,EAAE,wBAAwB;wBAC/B,WAAW,EAAE,qEAAqE;qBACnF;oBACD;wBACE,OAAO,EAAE,iBAAiB;wBAC1B,KAAK,EAAE,qBAAqB;wBAC5B,WAAW,EACT,gFAAgF;qBACnF;iBACF;aACF;SACF;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,kHAAkH;QACpH,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EACT,iHAAiH;gBACnH,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,cAAc;wBACvB,KAAK,EAAE,oBAAoB;wBAC3B,WAAW,EACT,uFAAuF;qBAC1F;oBACD;wBACE,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,sBAAsB;wBAC7B,WAAW,EACT,+EAA+E;qBAClF;iBACF;aACF;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,uEAAuE;gBACpF,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,OAAO;wBAChB,KAAK,EAAE,mBAAmB;wBAC1B,WAAW,EACT,8EAA8E;qBACjF;oBACD;wBACE,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,gBAAgB;wBACvB,WAAW,EACT,8EAA8E;qBACjF;iBACF;aACF;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,wBAAwB;QACjC,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,kGAAkG;QACpG,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,sEAAsE;gBACnF,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,kBAAkB;wBAC3B,KAAK,EAAE,uBAAuB;wBAC9B,WAAW,EAAE,4DAA4D;qBAC1E;oBACD;wBACE,OAAO,EAAE,mBAAmB;wBAC5B,KAAK,EAAE,gCAAgC;wBACvC,WAAW,EAAE,oEAAoE;qBAClF;oBACD;wBACE,OAAO,EAAE,oBAAoB;wBAC7B,KAAK,EAAE,wCAAwC;wBAC/C,WAAW,EAAE,sEAAsE;qBACpF;iBACF;aACF;SACF;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,0FAA0F;QAC5F,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,kFAAkF;gBACpF,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,YAAY;wBACrB,KAAK,EAAE,SAAS;wBAChB,WAAW,EAAE,qEAAqE;qBACnF;oBACD;wBACE,OAAO,EAAE,iBAAiB;wBAC1B,KAAK,EAAE,UAAU;wBACjB,WAAW,EAAE,yEAAyE;qBACvF;oBACD;wBACE,OAAO,EAAE,kBAAkB;wBAC3B,KAAK,EAAE,WAAW;wBAClB,WAAW,EACT,8EAA8E;qBACjF;iBACF;aACF;SACF;KACF;IACD,WAAW,EAAE;QACX,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,0EAA0E;gBACvF,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EACT,6EAA6E;qBAChF;oBACD;wBACE,OAAO,EAAE,WAAW;wBACpB,KAAK,EAAE,uBAAuB;wBAC9B,WAAW,EAAE,4DAA4D;qBAC1E;iBACF;aACF;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,4EAA4E;QACzF,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,gFAAgF;gBAClF,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,yBAAyB;wBAChC,WAAW,EACT,6EAA6E;qBAChF;oBACD;wBACE,OAAO,EAAE,OAAO;wBAChB,KAAK,EAAE,yBAAyB;wBAChC,WAAW,EAAE,qEAAqE;qBACnF;iBACF;aACF;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,uGAAuG;QACzG,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,qCAAqC;gBAClD,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,sBAAsB;wBAC7B,WAAW,EAAE,yDAAyD;qBACvE;oBACD;wBACE,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,kBAAkB;wBACzB,WAAW,EAAE,oEAAoE;qBAClF;iBACF;aACF;SACF;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE,qBAAqB;QAC9B,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,0GAA0G;QAC5G,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,sEAAsE;gBACnF,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,wBAAwB;wBAC/B,WAAW,EAAE,sEAAsE;qBACpF;oBACD;wBACE,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,gBAAgB;wBACvB,WAAW,EAAE,kEAAkE;qBAChF;iBACF;aACF;SACF;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,4DAA4D;QACzE,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,4DAA4D;gBACzE,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,eAAe;wBACxB,KAAK,EAAE,eAAe;wBACtB,WAAW,EAAE,0EAA0E;qBACxF;iBACF;aACF;SACF;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,+EAA+E;QAC5F,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,uEAAuE;gBACpF,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,iBAAiB;wBAC1B,KAAK,EAAE,+BAA+B;wBACtC,WAAW,EAAE,wEAAwE;qBACtF;iBACF;aACF;SACF;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,wBAAwB;QACjC,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,oFAAoF;QACtF,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,+DAA+D;gBAC5E,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,MAAM;wBACf,KAAK,EAAE,sBAAsB;wBAC7B,WAAW,EAAE,4DAA4D;qBAC1E;iBACF;aACF;SACF;KACF;CACsD,CAAC"}
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: "number";
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
- defaultValue?: never;
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: "GET";
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: "list";
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: "POST";
101
+ method: "DELETE";
285
102
  path: string;
286
- intent: "create";
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgNN,CAAC"}
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"}
@@ -6,7 +6,7 @@ export const nutritionCatalogScanData = {
6
6
  kind: 'generated',
7
7
  preset: 'crud',
8
8
  label: 'Nutrition products',
9
- description: 'Published product catalog entries available to signed-in challenge scanners.',
9
+ description: 'Nutrition product records available to the scanner app through the gateway.',
10
10
  basePath: '/v1/nutrition/products',
11
11
  auth: authRequired,
12
12
  resource: {
@@ -18,14 +18,17 @@ export const nutritionCatalogScanData = {
18
18
  fields: [
19
19
  { name: 'id', type: 'uuid', required: true },
20
20
  { name: 'barcode', type: 'text', required: true, unique: true },
21
+ { name: 'normalizedBarcode', type: 'text', required: true, unique: true },
22
+ { name: 'barcodeType', type: 'text' },
21
23
  { name: 'name', type: 'text', required: true },
22
24
  { name: 'brand', type: 'text' },
23
- { name: 'quantity', type: 'text' },
24
- { name: 'country', type: 'text', required: true, defaultValue: 'CH' },
25
+ { name: 'packageLabel', type: 'text' },
25
26
  { name: 'nutritionFacts', type: 'json' },
26
- { name: 'confidence', type: 'number', defaultValue: 0 },
27
+ { name: 'imageRefs', type: 'json' },
28
+ { name: 'createdByUserId', type: 'uuid' },
27
29
  { name: 'createdAt', type: 'datetime', required: true },
28
30
  { name: 'updatedAt', type: 'datetime', required: true },
31
+ { name: 'deletedAt', type: 'datetime' },
29
32
  ],
30
33
  },
31
34
  },
@@ -54,154 +57,28 @@ export const nutritionCatalogScanData = {
54
57
  intent: 'read',
55
58
  auth: authRequired,
56
59
  },
57
- ],
58
- },
59
- nutritionProductCaptures: {
60
- id: 'nutritionProductCaptures',
61
- kind: 'generated',
62
- preset: 'crud',
63
- label: 'Nutrition product captures',
64
- description: 'Queued missing-product submissions created by signed-in scanners.',
65
- basePath: '/v1/nutrition/products/captures',
66
- auth: authRequired,
67
- resource: {
68
- kind: 'collection',
69
- collection: {
70
- name: 'nutrition_product_captures',
71
- schema: 'public',
72
- primaryKey: 'id',
73
- fields: [
74
- { name: 'id', type: 'uuid', required: true },
75
- { name: 'userId', type: 'uuid', required: true },
76
- { name: 'barcode', type: 'text', required: true },
77
- { name: 'productName', type: 'text', required: true },
78
- { name: 'brand', type: 'text' },
79
- { name: 'quantity', type: 'text' },
80
- { name: 'storeChain', type: 'text' },
81
- { name: 'country', type: 'text', required: true, defaultValue: 'CH' },
82
- { name: 'status', type: 'text', required: true, defaultValue: 'queued' },
83
- { name: 'photoRefs', type: 'json' },
84
- { name: 'clientCapturedAt', type: 'datetime', required: true },
85
- { name: 'createdAt', type: 'datetime', required: true },
86
- { name: 'updatedAt', type: 'datetime', required: true },
87
- ],
88
- },
89
- },
90
- endpoints: [
91
- {
92
- id: 'listNutritionProductCaptures',
93
- label: 'List captures',
94
- method: 'GET',
95
- path: '/',
96
- intent: 'list',
97
- auth: authRequired,
98
- },
99
60
  {
100
- id: 'createNutritionProductCapture',
101
- label: 'Create capture',
61
+ id: 'createNutritionProduct',
62
+ label: 'Create product',
102
63
  method: 'POST',
103
64
  path: '/',
104
65
  intent: 'create',
105
66
  auth: authRequired,
106
67
  },
107
- ],
108
- },
109
- nutritionScanChallenges: {
110
- id: 'nutritionScanChallenges',
111
- kind: 'generated',
112
- preset: 'crud',
113
- label: 'Nutrition scan challenges',
114
- description: 'Friends-only challenge windows, scoring rules, and leaderboard context.',
115
- basePath: '/v1/nutrition/challenges',
116
- auth: authRequired,
117
- resource: {
118
- kind: 'collection',
119
- collection: {
120
- name: 'nutrition_scan_challenges',
121
- schema: 'public',
122
- primaryKey: 'id',
123
- fields: [
124
- { name: 'id', type: 'uuid', required: true },
125
- { name: 'title', type: 'text', required: true },
126
- { name: 'description', type: 'text' },
127
- { name: 'startsAt', type: 'datetime', required: true },
128
- { name: 'endsAt', type: 'datetime', required: true },
129
- { name: 'isActive', type: 'boolean', required: true, defaultValue: true },
130
- { name: 'scoringRules', type: 'json' },
131
- { name: 'createdAt', type: 'datetime', required: true },
132
- ],
133
- },
134
- },
135
- endpoints: [
136
68
  {
137
- id: 'listNutritionScanChallenges',
138
- label: 'List challenges',
139
- method: 'GET',
140
- path: '/',
141
- intent: 'list',
142
- auth: authRequired,
143
- },
144
- {
145
- id: 'getCurrentNutritionScanChallenge',
146
- label: 'Get current challenge',
147
- method: 'GET',
148
- path: '/current',
149
- intent: 'read',
150
- auth: authRequired,
151
- },
152
- {
153
- id: 'getCurrentNutritionScanLeaderboard',
154
- label: 'Get current leaderboard',
155
- method: 'GET',
156
- path: '/current/leaderboard',
157
- intent: 'read',
158
- auth: authRequired,
159
- },
160
- ],
161
- },
162
- nutritionScanEvents: {
163
- id: 'nutritionScanEvents',
164
- kind: 'generated',
165
- preset: 'crud',
166
- label: 'Nutrition scan events',
167
- description: 'Signed-in scanner actions used for points, duplicate rules, and rankings.',
168
- basePath: '/v1/nutrition/scan-events',
169
- auth: authRequired,
170
- resource: {
171
- kind: 'collection',
172
- collection: {
173
- name: 'nutrition_scan_events',
174
- schema: 'public',
175
- primaryKey: 'id',
176
- fields: [
177
- { name: 'id', type: 'uuid', required: true },
178
- { name: 'challengeId', type: 'uuid', required: true },
179
- { name: 'userId', type: 'uuid', required: true },
180
- { name: 'barcode', type: 'text', required: true },
181
- { name: 'productId', type: 'uuid' },
182
- { name: 'captureId', type: 'uuid' },
183
- { name: 'eventType', type: 'text', required: true },
184
- { name: 'points', type: 'number', required: true, defaultValue: 0 },
185
- { name: 'clientCapturedAt', type: 'datetime', required: true },
186
- { name: 'createdAt', type: 'datetime', required: true },
187
- ],
188
- },
189
- },
190
- endpoints: [
191
- {
192
- id: 'listNutritionScanEvents',
193
- label: 'List scan events',
194
- method: 'GET',
195
- path: '/',
196
- intent: 'list',
69
+ id: 'updateNutritionProduct',
70
+ label: 'Update product',
71
+ method: 'PATCH',
72
+ path: '/:id',
73
+ intent: 'update',
197
74
  auth: authRequired,
198
75
  },
199
76
  {
200
- id: 'createNutritionScanEvent',
201
- label: 'Create scan event',
202
- method: 'POST',
203
- path: '/',
204
- intent: 'create',
77
+ id: 'deleteNutritionProduct',
78
+ label: 'Delete product',
79
+ method: 'DELETE',
80
+ path: '/:id',
81
+ intent: 'delete',
205
82
  auth: authRequired,
206
83
  },
207
84
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/data.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataSources.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,wBAAgB,qCAAqC,IAAI,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CA2D/F"}
1
+ {"version":3,"file":"dataSources.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,wBAAgB,qCAAqC,IAAI,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CA+E/F"}
@@ -4,7 +4,7 @@ export function createNutritionCatalogScanDataSources() {
4
4
  id: 'nutrition-api',
5
5
  kind: 'rest',
6
6
  name: 'Nutrition API',
7
- description: 'Runtime data-source bindings for product browsing, lookup, and creation.',
7
+ description: 'Runtime data-source bindings for nutrition product browsing, lookup, and CRUD.',
8
8
  baseUrl: 'https://api.ankhorage.com/v1/nutrition',
9
9
  endpoints: {
10
10
  products: {
@@ -20,7 +20,7 @@ export function createNutritionCatalogScanDataSources() {
20
20
  protocol: 'http',
21
21
  intent: 'read',
22
22
  method: 'GET',
23
- path: '/',
23
+ path: '/products',
24
24
  },
25
25
  'products.read': {
26
26
  id: 'products.read',
@@ -30,7 +30,7 @@ export function createNutritionCatalogScanDataSources() {
30
30
  protocol: 'http',
31
31
  intent: 'read',
32
32
  method: 'GET',
33
- path: '/:id',
33
+ path: '/products/:id',
34
34
  },
35
35
  'products.lookupByBarcode': {
36
36
  id: 'products.lookupByBarcode',
@@ -40,17 +40,37 @@ export function createNutritionCatalogScanDataSources() {
40
40
  protocol: 'http',
41
41
  intent: 'read',
42
42
  method: 'GET',
43
- path: '/by-barcode/:barcode',
43
+ path: '/products/by-barcode/:barcode',
44
44
  },
45
45
  'products.create': {
46
46
  id: 'products.create',
47
47
  endpointId: 'products',
48
- name: 'Create product capture',
49
- description: 'Creates a missing-product capture from the create screen.',
48
+ name: 'Create nutrition product',
49
+ description: 'Creates a product directly from the create screen.',
50
50
  protocol: 'http',
51
51
  intent: 'create',
52
52
  method: 'POST',
53
- path: '/captures',
53
+ path: '/products',
54
+ },
55
+ 'products.update': {
56
+ id: 'products.update',
57
+ endpointId: 'products',
58
+ name: 'Update nutrition product',
59
+ description: 'Updates an existing product by ID.',
60
+ protocol: 'http',
61
+ intent: 'update',
62
+ method: 'PATCH',
63
+ path: '/products/:id',
64
+ },
65
+ 'products.delete': {
66
+ id: 'products.delete',
67
+ endpointId: 'products',
68
+ name: 'Delete nutrition product',
69
+ description: 'Soft deletes a product by ID.',
70
+ protocol: 'http',
71
+ intent: 'delete',
72
+ method: 'DELETE',
73
+ path: '/products/:id',
54
74
  },
55
75
  },
56
76
  },
@@ -1 +1 @@
1
- {"version":3,"file":"dataSources.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qCAAqC;IACnD,OAAO;QACL,eAAe,EAAE;YACf,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,0EAA0E;YACvF,OAAO,EAAE,wCAAwC;YACjD,SAAS,EAAE;gBACT,QAAQ,EAAE;oBACR,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE;wBACV,eAAe,EAAE;4BACf,EAAE,EAAE,eAAe;4BACnB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,eAAe;4BACrB,WAAW,EAAE,+CAA+C;4BAC5D,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,GAAG;yBACV;wBACD,eAAe,EAAE;4BACf,EAAE,EAAE,eAAe;4BACnB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,qBAAqB;4BAC3B,WAAW,EAAE,4CAA4C;4BACzD,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,MAAM;yBACb;wBACD,0BAA0B,EAAE;4BAC1B,EAAE,EAAE,0BAA0B;4BAC9B,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,2BAA2B;4BACjC,WAAW,EAAE,wCAAwC;4BACrD,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,sBAAsB;yBAC7B;wBACD,iBAAiB,EAAE;4BACjB,EAAE,EAAE,iBAAiB;4BACrB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,wBAAwB;4BAC9B,WAAW,EAAE,2DAA2D;4BACxE,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE,WAAW;yBAClB;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dataSources.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/dataSources.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qCAAqC;IACnD,OAAO;QACL,eAAe,EAAE;YACf,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,gFAAgF;YAC7F,OAAO,EAAE,wCAAwC;YACjD,SAAS,EAAE;gBACT,QAAQ,EAAE;oBACR,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE;wBACV,eAAe,EAAE;4BACf,EAAE,EAAE,eAAe;4BACnB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,eAAe;4BACrB,WAAW,EAAE,+CAA+C;4BAC5D,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,WAAW;yBAClB;wBACD,eAAe,EAAE;4BACf,EAAE,EAAE,eAAe;4BACnB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,qBAAqB;4BAC3B,WAAW,EAAE,4CAA4C;4BACzD,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,eAAe;yBACtB;wBACD,0BAA0B,EAAE;4BAC1B,EAAE,EAAE,0BAA0B;4BAC9B,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,2BAA2B;4BACjC,WAAW,EAAE,wCAAwC;4BACrD,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,+BAA+B;yBACtC;wBACD,iBAAiB,EAAE;4BACjB,EAAE,EAAE,iBAAiB;4BACrB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,0BAA0B;4BAChC,WAAW,EAAE,oDAAoD;4BACjE,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE,WAAW;yBAClB;wBACD,iBAAiB,EAAE;4BACjB,EAAE,EAAE,iBAAiB;4BACrB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,0BAA0B;4BAChC,WAAW,EAAE,oCAAoC;4BACjD,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,OAAO;4BACf,IAAI,EAAE,eAAe;yBACtB;wBACD,iBAAiB,EAAE;4BACjB,EAAE,EAAE,iBAAiB;4BACrB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,0BAA0B;4BAChC,WAAW,EAAE,+BAA+B;4BAC5C,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,QAAQ;4BAChB,IAAI,EAAE,eAAe;yBACtB;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -6,7 +6,6 @@ export interface NutritionCatalogScanScreenIds {
6
6
  readonly capture: string;
7
7
  readonly success: string;
8
8
  readonly queue: string;
9
- readonly challenge: string;
10
9
  readonly leaderboard: string;
11
10
  readonly profile: string;
12
11
  readonly signIn: string;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,MAAM,GACf,6BAA6B,CAe/B;AAED,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,6BAA6B,GACvC,WAAW,CAAC,WAAW,CAAC,CA2C1B"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,MAAM,GACf,6BAA6B,CAc/B;AAED,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,6BAA6B,GACvC,WAAW,CAAC,WAAW,CAAC,CA2C1B"}
@@ -7,7 +7,6 @@ export function createNutritionCatalogScanScreenIds(idPrefix) {
7
7
  capture: `${idPrefix}-capture`,
8
8
  success: `${idPrefix}-success`,
9
9
  queue: `${idPrefix}-queue`,
10
- challenge: `${idPrefix}-challenge`,
11
10
  leaderboard: `${idPrefix}-leaderboard`,
12
11
  profile: `${idPrefix}-profile`,
13
12
  signIn: `${idPrefix}-sign-in`,
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAiBjD,MAAM,UAAU,mCAAmC,CACjD,QAAgB;IAEhB,OAAO;QACL,OAAO,EAAE,GAAG,QAAQ,UAAU;QAC9B,MAAM,EAAE,GAAG,QAAQ,SAAS;QAC5B,IAAI,EAAE,GAAG,QAAQ,OAAO;QACxB,OAAO,EAAE,GAAG,QAAQ,UAAU;QAC9B,OAAO,EAAE,GAAG,QAAQ,UAAU;QAC9B,KAAK,EAAE,GAAG,QAAQ,QAAQ;QAC1B,SAAS,EAAE,GAAG,QAAQ,YAAY;QAClC,WAAW,EAAE,GAAG,QAAQ,cAAc;QACtC,OAAO,EAAE,GAAG,QAAQ,UAAU;QAC9B,MAAM,EAAE,GAAG,QAAQ,UAAU;QAC7B,MAAM,EAAE,GAAG,QAAQ,UAAU;QAC7B,QAAQ,EAAE,GAAG,QAAQ,WAAW;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,SAAwC;IAExC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,gBAAgB,EAAE,OAAO;QACzB,MAAM,EAAE;YACN,WAAW,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,wBAAwB,EAAE;aACzE,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE;aAC/D,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS,CAAC,WAAW;gBAC/B,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE;aAC5D,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,wBAAwB,EAAE;aACzE,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,SAAS,CAAC,MAAM;gBAC1B,KAAK,EAAE,gBAAgB;gBACvB,YAAY,EAAE,IAAI;aACnB,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,gBAAgB;gBACvB,YAAY,EAAE,IAAI;aACnB,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAgBjD,MAAM,UAAU,mCAAmC,CACjD,QAAgB;IAEhB,OAAO;QACL,OAAO,EAAE,GAAG,QAAQ,UAAU;QAC9B,MAAM,EAAE,GAAG,QAAQ,SAAS;QAC5B,IAAI,EAAE,GAAG,QAAQ,OAAO;QACxB,OAAO,EAAE,GAAG,QAAQ,UAAU;QAC9B,OAAO,EAAE,GAAG,QAAQ,UAAU;QAC9B,KAAK,EAAE,GAAG,QAAQ,QAAQ;QAC1B,WAAW,EAAE,GAAG,QAAQ,cAAc;QACtC,OAAO,EAAE,GAAG,QAAQ,UAAU;QAC9B,MAAM,EAAE,GAAG,QAAQ,UAAU;QAC7B,MAAM,EAAE,GAAG,QAAQ,UAAU;QAC7B,QAAQ,EAAE,GAAG,QAAQ,WAAW;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,SAAwC;IAExC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,gBAAgB,EAAE,OAAO;QACzB,MAAM,EAAE;YACN,WAAW,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,wBAAwB,EAAE;aACzE,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE;aAC/D,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS,CAAC,WAAW;gBAC/B,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE;aAC5D,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,wBAAwB,EAAE;aACzE,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,SAAS,CAAC,MAAM;gBAC1B,KAAK,EAAE,gBAAgB;gBACvB,YAAY,EAAE,IAAI;aACnB,CAAC;YACF,WAAW,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,KAAK,EAAE,gBAAgB;gBACvB,YAAY,EAAE,IAAI;aACnB,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAUxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AA+K9D,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,6BAA6B,GACvC,WAAW,CAAC,SAAS,CAAC,CAkHxB"}
1
+ {"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAUxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AA+L9D,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,6BAA6B,GACvC,WAAW,CAAC,SAAS,CAAC,CA4GxB"}
@@ -33,7 +33,7 @@ function createProductsBody(idPrefix) {
33
33
  return [
34
34
  createZoraNode(`${idPrefix}-products-search-field`, 'FormField', {
35
35
  label: 'Search products',
36
- description: 'Search by product name, brand, barcode, or store chain.',
36
+ description: 'Search by product name, brand, barcode, or package label.',
37
37
  }),
38
38
  createZoraNode(`${idPrefix}-products-search-input`, 'Input', {
39
39
  placeholder: 'Search Migros, Coop, barcode...',
@@ -42,7 +42,7 @@ function createProductsBody(idPrefix) {
42
42
  }),
43
43
  createSection(`${idPrefix}-products-grid-section`, {
44
44
  title: 'Products',
45
- description: 'Available products in the shared challenge catalog.',
45
+ description: 'Available products in the shared nutrition catalog.',
46
46
  }, [
47
47
  {
48
48
  id: `${idPrefix}-products-grid`,
@@ -80,8 +80,8 @@ function createScanBody(idPrefix) {
80
80
  }
81
81
  function createCaptureFormPreview(idPrefix) {
82
82
  return createZoraNode(`${idPrefix}-capture-form-panel`, 'Panel', {
83
- title: 'Minimal capture form',
84
- description: 'Prioritize fast in-store entry and useful challenge contributions.',
83
+ title: 'Direct product create form',
84
+ description: 'Create a product directly when barcode lookup does not find a match.',
85
85
  tone: 'subtle',
86
86
  }, [
87
87
  createZoraNode(`${idPrefix}-capture-barcode-field`, 'FormField', {
@@ -103,8 +103,24 @@ function createCaptureFormPreview(idPrefix) {
103
103
  placeholder: 'Product name',
104
104
  size: 'm',
105
105
  }),
106
+ createZoraNode(`${idPrefix}-capture-brand-field`, 'FormField', {
107
+ label: 'Brand',
108
+ description: 'Optional product brand.',
109
+ }),
110
+ createZoraNode(`${idPrefix}-capture-brand-input`, 'Input', {
111
+ placeholder: 'Brand',
112
+ size: 'm',
113
+ }),
114
+ createZoraNode(`${idPrefix}-capture-package-label-field`, 'FormField', {
115
+ label: 'Package label',
116
+ description: 'Optional package text such as 500ml or 6 x 33cl.',
117
+ }),
118
+ createZoraNode(`${idPrefix}-capture-package-label-input`, 'Input', {
119
+ placeholder: '500ml',
120
+ size: 'm',
121
+ }),
106
122
  createZoraNode(`${idPrefix}-capture-submit-button`, 'Button', {
107
- children: 'Submit and earn points',
123
+ children: 'Create product',
108
124
  color: 'primary',
109
125
  size: 'm',
110
126
  fullWidth: true,
@@ -143,12 +159,6 @@ export function createNutritionCatalogScanScreens(seed, idPrefix, screenIds) {
143
159
  name: 'Profile',
144
160
  content: nutritionCatalogScanContent.profile,
145
161
  }),
146
- [screenIds.challenge]: createContentScreen({
147
- idPrefix,
148
- screenId: screenIds.challenge,
149
- name: 'Challenge',
150
- content: nutritionCatalogScanContent.challenge,
151
- }),
152
162
  [screenIds.detail]: createContentScreen({
153
163
  idPrefix,
154
164
  screenId: screenIds.detail,
@@ -197,23 +207,23 @@ export function createNutritionCatalogScanScreens(seed, idPrefix, screenIds) {
197
207
  title: nutritionCatalogScanContent.settings.title,
198
208
  description: nutritionCatalogScanContent.settings.description,
199
209
  }),
200
- createSettingsSection(`${idPrefix}-settings-api`, 'API Gateway', 'Runtime product, scan, capture, challenge, and leaderboard data should go through the API Gateway.', [
210
+ createSettingsSection(`${idPrefix}-settings-api`, 'API Gateway', 'Runtime nutrition product lookup and CRUD should go through the API Gateway.', [
201
211
  {
202
212
  id: 'base-url-row',
203
213
  title: 'API base URL',
204
- description: 'Defaults to https://api-gateway.fabio-gartenmann.workers.dev.',
214
+ description: 'Defaults to https://api.ankhorage.com/v1/nutrition.',
205
215
  meta: 'runtime',
206
216
  },
207
217
  {
208
- id: 'scan-events-row',
209
- title: 'Scan events endpoint',
210
- description: 'POST /v1/nutrition/scan-events records scanner progress.',
218
+ id: 'product-create-row',
219
+ title: 'Product create endpoint',
220
+ description: 'POST /v1/nutrition/products creates a product directly from the app.',
211
221
  meta: 'auth',
212
222
  },
213
223
  {
214
224
  id: 'client-row',
215
225
  title: 'Client defaults',
216
- description: `${seed.appName} sends de-CH locale, CH country, platform, user id, and clientCapturedAt.`,
226
+ description: `${seed.appName} uses de-CH locale and normalizes barcode input before gateway lookup.`,
217
227
  meta: 'de-CH',
218
228
  },
219
229
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"screens.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screens.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/screens.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/templates",
3
- "version": "1.8.2",
3
+ "version": "1.8.3",
4
4
  "description": "Reusable Ankhorage app templates, presets, and manifest generators.",
5
5
  "homepage": "https://github.com/ankhorage/templates#readme",
6
6
  "bugs": {