@terreno/api 0.0.18 → 0.1.0

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 (48) hide show
  1. package/.claude/CLAUDE.local.md +204 -0
  2. package/.cursor/rules/00-root.mdc +338 -0
  3. package/.github/copilot-instructions.md +333 -0
  4. package/AGENTS.md +23 -3
  5. package/README.md +73 -3
  6. package/dist/api.d.ts +68 -1
  7. package/dist/api.js +139 -4
  8. package/dist/api.test.js +906 -2
  9. package/dist/auth.js +3 -1
  10. package/dist/errors.js +14 -11
  11. package/dist/example.js +7 -7
  12. package/dist/githubAuth.test.js +3 -3
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.js +2 -0
  15. package/dist/openApi.test.js +8 -5
  16. package/dist/openApiBuilder.d.ts +69 -1
  17. package/dist/openApiBuilder.js +109 -5
  18. package/dist/openApiValidator.d.ts +296 -0
  19. package/dist/openApiValidator.js +698 -0
  20. package/dist/openApiValidator.test.d.ts +1 -0
  21. package/dist/openApiValidator.test.js +346 -0
  22. package/dist/plugins.test.js +3 -3
  23. package/dist/terrenoPlugin.d.ts +4 -0
  24. package/dist/terrenoPlugin.js +2 -0
  25. package/dist/tests.js +34 -24
  26. package/package.json +4 -1
  27. package/src/__snapshots__/openApi.test.ts.snap +399 -0
  28. package/src/__snapshots__/openApiBuilder.test.ts.snap +108 -0
  29. package/src/api.test.ts +743 -2
  30. package/src/api.ts +209 -3
  31. package/src/auth.ts +3 -1
  32. package/src/errors.ts +14 -11
  33. package/src/example.ts +7 -7
  34. package/src/githubAuth.test.ts +3 -3
  35. package/src/index.ts +2 -0
  36. package/src/openApi.test.ts +8 -5
  37. package/src/openApiBuilder.ts +188 -15
  38. package/src/openApiValidator.test.ts +241 -0
  39. package/src/openApiValidator.ts +860 -0
  40. package/src/plugins.test.ts +3 -3
  41. package/src/terrenoPlugin.ts +5 -0
  42. package/src/tests.ts +34 -24
  43. package/.cursorrules +0 -107
  44. package/.windsurfrules +0 -107
  45. package/dist/response.d.ts +0 -0
  46. package/dist/response.js +0 -1
  47. package/index.ts +0 -1
  48. package/src/response.ts +0 -0
@@ -125,9 +125,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
125
125
  "type": "string",
126
126
  },
127
127
  "calories": {
128
+ "description": "Number of calories in the food",
128
129
  "type": "number",
129
130
  },
130
131
  "categories": {
132
+ "description": "Categories this food belongs to",
131
133
  "items": {
132
134
  "properties": {
133
135
  "_id": {
@@ -138,9 +140,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
138
140
  "type": "string",
139
141
  },
140
142
  "name": {
143
+ "description": "The name of the food category",
141
144
  "type": "string",
142
145
  },
143
146
  "show": {
147
+ "description": "Whether this category is visible",
144
148
  "type": "boolean",
145
149
  },
146
150
  "updated": {
@@ -154,6 +158,7 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
154
158
  "type": "array",
155
159
  },
156
160
  "created": {
161
+ "description": "When this food was created",
157
162
  "format": "date-time",
158
163
  "type": "string",
159
164
  },
@@ -162,15 +167,18 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
162
167
  },
163
168
  "eatenBy": {
164
169
  "items": {
170
+ "description": "Users who have eaten this food",
165
171
  "required": true,
166
172
  "type": "schemaobjectid",
167
173
  },
168
174
  "type": "array",
169
175
  },
170
176
  "expiration": {
177
+ "description": "Expiration date of the food",
171
178
  "type": "dateonly",
172
179
  },
173
180
  "hidden": {
181
+ "description": "Whether this food is hidden from listings",
174
182
  "type": "boolean",
175
183
  },
176
184
  "lastEatenWith": {
@@ -178,18 +186,22 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
178
186
  "format": "date-time",
179
187
  "type": "string",
180
188
  },
189
+ "description": "Map of user names to dates they last ate this food with",
181
190
  "type": "object",
182
191
  },
183
192
  "likesIds": {
193
+ "description": "User likes for this food",
184
194
  "items": {
185
195
  "properties": {
186
196
  "_id": {
187
197
  "type": "string",
188
198
  },
189
199
  "likes": {
200
+ "description": "Whether the user liked the item",
190
201
  "type": "boolean",
191
202
  },
192
203
  "userId": {
204
+ "description": "The user who liked the item",
193
205
  "type": "string",
194
206
  },
195
207
  },
@@ -199,26 +211,32 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
199
211
  "type": "array",
200
212
  },
201
213
  "name": {
214
+ "description": "The name of the food",
202
215
  "type": "string",
203
216
  },
204
217
  "ownerId": {
218
+ "description": "The user who owns this food entry",
205
219
  "type": "string",
206
220
  },
207
221
  "source": {
208
222
  "properties": {
209
223
  "dateAdded": {
224
+ "description": "When the source was added",
210
225
  "type": "string",
211
226
  },
212
227
  "href": {
228
+ "description": "URL of the source",
213
229
  "type": "string",
214
230
  },
215
231
  "name": {
232
+ "description": "Name of the source",
216
233
  "type": "string",
217
234
  },
218
235
  },
219
236
  "type": "object",
220
237
  },
221
238
  "tags": {
239
+ "description": "Tags associated with this food",
222
240
  "items": {
223
241
  "type": "string",
224
242
  },
@@ -312,9 +330,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
312
330
  "type": "string",
313
331
  },
314
332
  "calories": {
333
+ "description": "Number of calories in the food",
315
334
  "type": "number",
316
335
  },
317
336
  "categories": {
337
+ "description": "Categories this food belongs to",
318
338
  "items": {
319
339
  "properties": {
320
340
  "_id": {
@@ -325,9 +345,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
325
345
  "type": "string",
326
346
  },
327
347
  "name": {
348
+ "description": "The name of the food category",
328
349
  "type": "string",
329
350
  },
330
351
  "show": {
352
+ "description": "Whether this category is visible",
331
353
  "type": "boolean",
332
354
  },
333
355
  "updated": {
@@ -341,6 +363,7 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
341
363
  "type": "array",
342
364
  },
343
365
  "created": {
366
+ "description": "When this food was created",
344
367
  "format": "date-time",
345
368
  "type": "string",
346
369
  },
@@ -349,15 +372,18 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
349
372
  },
350
373
  "eatenBy": {
351
374
  "items": {
375
+ "description": "Users who have eaten this food",
352
376
  "required": true,
353
377
  "type": "schemaobjectid",
354
378
  },
355
379
  "type": "array",
356
380
  },
357
381
  "expiration": {
382
+ "description": "Expiration date of the food",
358
383
  "type": "dateonly",
359
384
  },
360
385
  "hidden": {
386
+ "description": "Whether this food is hidden from listings",
361
387
  "type": "boolean",
362
388
  },
363
389
  "lastEatenWith": {
@@ -365,18 +391,22 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
365
391
  "format": "date-time",
366
392
  "type": "string",
367
393
  },
394
+ "description": "Map of user names to dates they last ate this food with",
368
395
  "type": "object",
369
396
  },
370
397
  "likesIds": {
398
+ "description": "User likes for this food",
371
399
  "items": {
372
400
  "properties": {
373
401
  "_id": {
374
402
  "type": "string",
375
403
  },
376
404
  "likes": {
405
+ "description": "Whether the user liked the item",
377
406
  "type": "boolean",
378
407
  },
379
408
  "userId": {
409
+ "description": "The user who liked the item",
380
410
  "type": "string",
381
411
  },
382
412
  },
@@ -386,26 +416,32 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
386
416
  "type": "array",
387
417
  },
388
418
  "name": {
419
+ "description": "The name of the food",
389
420
  "type": "string",
390
421
  },
391
422
  "ownerId": {
423
+ "description": "The user who owns this food entry",
392
424
  "type": "string",
393
425
  },
394
426
  "source": {
395
427
  "properties": {
396
428
  "dateAdded": {
429
+ "description": "When the source was added",
397
430
  "type": "string",
398
431
  },
399
432
  "href": {
433
+ "description": "URL of the source",
400
434
  "type": "string",
401
435
  },
402
436
  "name": {
437
+ "description": "Name of the source",
403
438
  "type": "string",
404
439
  },
405
440
  },
406
441
  "type": "object",
407
442
  },
408
443
  "tags": {
444
+ "description": "Tags associated with this food",
409
445
  "items": {
410
446
  "type": "string",
411
447
  },
@@ -428,9 +464,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
428
464
  "type": "string",
429
465
  },
430
466
  "calories": {
467
+ "description": "Number of calories in the food",
431
468
  "type": "number",
432
469
  },
433
470
  "categories": {
471
+ "description": "Categories this food belongs to",
434
472
  "items": {
435
473
  "properties": {
436
474
  "_id": {
@@ -441,9 +479,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
441
479
  "type": "string",
442
480
  },
443
481
  "name": {
482
+ "description": "The name of the food category",
444
483
  "type": "string",
445
484
  },
446
485
  "show": {
486
+ "description": "Whether this category is visible",
447
487
  "type": "boolean",
448
488
  },
449
489
  "updated": {
@@ -457,6 +497,7 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
457
497
  "type": "array",
458
498
  },
459
499
  "created": {
500
+ "description": "When this food was created",
460
501
  "format": "date-time",
461
502
  "type": "string",
462
503
  },
@@ -465,15 +506,18 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
465
506
  },
466
507
  "eatenBy": {
467
508
  "items": {
509
+ "description": "Users who have eaten this food",
468
510
  "required": true,
469
511
  "type": "schemaobjectid",
470
512
  },
471
513
  "type": "array",
472
514
  },
473
515
  "expiration": {
516
+ "description": "Expiration date of the food",
474
517
  "type": "dateonly",
475
518
  },
476
519
  "hidden": {
520
+ "description": "Whether this food is hidden from listings",
477
521
  "type": "boolean",
478
522
  },
479
523
  "lastEatenWith": {
@@ -481,18 +525,22 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
481
525
  "format": "date-time",
482
526
  "type": "string",
483
527
  },
528
+ "description": "Map of user names to dates they last ate this food with",
484
529
  "type": "object",
485
530
  },
486
531
  "likesIds": {
532
+ "description": "User likes for this food",
487
533
  "items": {
488
534
  "properties": {
489
535
  "_id": {
490
536
  "type": "string",
491
537
  },
492
538
  "likes": {
539
+ "description": "Whether the user liked the item",
493
540
  "type": "boolean",
494
541
  },
495
542
  "userId": {
543
+ "description": "The user who liked the item",
496
544
  "type": "string",
497
545
  },
498
546
  },
@@ -502,26 +550,32 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
502
550
  "type": "array",
503
551
  },
504
552
  "name": {
553
+ "description": "The name of the food",
505
554
  "type": "string",
506
555
  },
507
556
  "ownerId": {
557
+ "description": "The user who owns this food entry",
508
558
  "type": "string",
509
559
  },
510
560
  "source": {
511
561
  "properties": {
512
562
  "dateAdded": {
563
+ "description": "When the source was added",
513
564
  "type": "string",
514
565
  },
515
566
  "href": {
567
+ "description": "URL of the source",
516
568
  "type": "string",
517
569
  },
518
570
  "name": {
571
+ "description": "Name of the source",
519
572
  "type": "string",
520
573
  },
521
574
  },
522
575
  "type": "object",
523
576
  },
524
577
  "tags": {
578
+ "description": "Tags associated with this food",
525
579
  "items": {
526
580
  "type": "string",
527
581
  },
@@ -1023,9 +1077,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1023
1077
  "type": "string",
1024
1078
  },
1025
1079
  "calories": {
1080
+ "description": "Number of calories in the food",
1026
1081
  "type": "number",
1027
1082
  },
1028
1083
  "categories": {
1084
+ "description": "Categories this food belongs to",
1029
1085
  "items": {
1030
1086
  "properties": {
1031
1087
  "_id": {
@@ -1036,9 +1092,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1036
1092
  "type": "string",
1037
1093
  },
1038
1094
  "name": {
1095
+ "description": "The name of the food category",
1039
1096
  "type": "string",
1040
1097
  },
1041
1098
  "show": {
1099
+ "description": "Whether this category is visible",
1042
1100
  "type": "boolean",
1043
1101
  },
1044
1102
  "updated": {
@@ -1052,6 +1110,7 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1052
1110
  "type": "array",
1053
1111
  },
1054
1112
  "created": {
1113
+ "description": "When this food was created",
1055
1114
  "format": "date-time",
1056
1115
  "type": "string",
1057
1116
  },
@@ -1060,15 +1119,18 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1060
1119
  },
1061
1120
  "eatenBy": {
1062
1121
  "items": {
1122
+ "description": "Users who have eaten this food",
1063
1123
  "required": true,
1064
1124
  "type": "schemaobjectid",
1065
1125
  },
1066
1126
  "type": "array",
1067
1127
  },
1068
1128
  "expiration": {
1129
+ "description": "Expiration date of the food",
1069
1130
  "type": "dateonly",
1070
1131
  },
1071
1132
  "hidden": {
1133
+ "description": "Whether this food is hidden from listings",
1072
1134
  "type": "boolean",
1073
1135
  },
1074
1136
  "lastEatenWith": {
@@ -1076,18 +1138,22 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1076
1138
  "format": "date-time",
1077
1139
  "type": "string",
1078
1140
  },
1141
+ "description": "Map of user names to dates they last ate this food with",
1079
1142
  "type": "object",
1080
1143
  },
1081
1144
  "likesIds": {
1145
+ "description": "User likes for this food",
1082
1146
  "items": {
1083
1147
  "properties": {
1084
1148
  "_id": {
1085
1149
  "type": "string",
1086
1150
  },
1087
1151
  "likes": {
1152
+ "description": "Whether the user liked the item",
1088
1153
  "type": "boolean",
1089
1154
  },
1090
1155
  "userId": {
1156
+ "description": "The user who liked the item",
1091
1157
  "type": "string",
1092
1158
  },
1093
1159
  },
@@ -1097,26 +1163,32 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1097
1163
  "type": "array",
1098
1164
  },
1099
1165
  "name": {
1166
+ "description": "The name of the food",
1100
1167
  "type": "string",
1101
1168
  },
1102
1169
  "ownerId": {
1170
+ "description": "The user who owns this food entry",
1103
1171
  "type": "string",
1104
1172
  },
1105
1173
  "source": {
1106
1174
  "properties": {
1107
1175
  "dateAdded": {
1176
+ "description": "When the source was added",
1108
1177
  "type": "string",
1109
1178
  },
1110
1179
  "href": {
1180
+ "description": "URL of the source",
1111
1181
  "type": "string",
1112
1182
  },
1113
1183
  "name": {
1184
+ "description": "Name of the source",
1114
1185
  "type": "string",
1115
1186
  },
1116
1187
  },
1117
1188
  "type": "object",
1118
1189
  },
1119
1190
  "tags": {
1191
+ "description": "Tags associated with this food",
1120
1192
  "items": {
1121
1193
  "type": "string",
1122
1194
  },
@@ -1203,9 +1275,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1203
1275
  "type": "string",
1204
1276
  },
1205
1277
  "calories": {
1278
+ "description": "Number of calories in the food",
1206
1279
  "type": "number",
1207
1280
  },
1208
1281
  "categories": {
1282
+ "description": "Categories this food belongs to",
1209
1283
  "items": {
1210
1284
  "properties": {
1211
1285
  "_id": {
@@ -1216,9 +1290,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1216
1290
  "type": "string",
1217
1291
  },
1218
1292
  "name": {
1293
+ "description": "The name of the food category",
1219
1294
  "type": "string",
1220
1295
  },
1221
1296
  "show": {
1297
+ "description": "Whether this category is visible",
1222
1298
  "type": "boolean",
1223
1299
  },
1224
1300
  "updated": {
@@ -1232,6 +1308,7 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1232
1308
  "type": "array",
1233
1309
  },
1234
1310
  "created": {
1311
+ "description": "When this food was created",
1235
1312
  "format": "date-time",
1236
1313
  "type": "string",
1237
1314
  },
@@ -1240,15 +1317,18 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1240
1317
  },
1241
1318
  "eatenBy": {
1242
1319
  "items": {
1320
+ "description": "Users who have eaten this food",
1243
1321
  "required": true,
1244
1322
  "type": "schemaobjectid",
1245
1323
  },
1246
1324
  "type": "array",
1247
1325
  },
1248
1326
  "expiration": {
1327
+ "description": "Expiration date of the food",
1249
1328
  "type": "dateonly",
1250
1329
  },
1251
1330
  "hidden": {
1331
+ "description": "Whether this food is hidden from listings",
1252
1332
  "type": "boolean",
1253
1333
  },
1254
1334
  "lastEatenWith": {
@@ -1256,18 +1336,22 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1256
1336
  "format": "date-time",
1257
1337
  "type": "string",
1258
1338
  },
1339
+ "description": "Map of user names to dates they last ate this food with",
1259
1340
  "type": "object",
1260
1341
  },
1261
1342
  "likesIds": {
1343
+ "description": "User likes for this food",
1262
1344
  "items": {
1263
1345
  "properties": {
1264
1346
  "_id": {
1265
1347
  "type": "string",
1266
1348
  },
1267
1349
  "likes": {
1350
+ "description": "Whether the user liked the item",
1268
1351
  "type": "boolean",
1269
1352
  },
1270
1353
  "userId": {
1354
+ "description": "The user who liked the item",
1271
1355
  "type": "string",
1272
1356
  },
1273
1357
  },
@@ -1277,26 +1361,32 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1277
1361
  "type": "array",
1278
1362
  },
1279
1363
  "name": {
1364
+ "description": "The name of the food",
1280
1365
  "type": "string",
1281
1366
  },
1282
1367
  "ownerId": {
1368
+ "description": "The user who owns this food entry",
1283
1369
  "type": "string",
1284
1370
  },
1285
1371
  "source": {
1286
1372
  "properties": {
1287
1373
  "dateAdded": {
1374
+ "description": "When the source was added",
1288
1375
  "type": "string",
1289
1376
  },
1290
1377
  "href": {
1378
+ "description": "URL of the source",
1291
1379
  "type": "string",
1292
1380
  },
1293
1381
  "name": {
1382
+ "description": "Name of the source",
1294
1383
  "type": "string",
1295
1384
  },
1296
1385
  },
1297
1386
  "type": "object",
1298
1387
  },
1299
1388
  "tags": {
1389
+ "description": "Tags associated with this food",
1300
1390
  "items": {
1301
1391
  "type": "string",
1302
1392
  },
@@ -1319,9 +1409,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1319
1409
  "type": "string",
1320
1410
  },
1321
1411
  "calories": {
1412
+ "description": "Number of calories in the food",
1322
1413
  "type": "number",
1323
1414
  },
1324
1415
  "categories": {
1416
+ "description": "Categories this food belongs to",
1325
1417
  "items": {
1326
1418
  "properties": {
1327
1419
  "_id": {
@@ -1332,9 +1424,11 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1332
1424
  "type": "string",
1333
1425
  },
1334
1426
  "name": {
1427
+ "description": "The name of the food category",
1335
1428
  "type": "string",
1336
1429
  },
1337
1430
  "show": {
1431
+ "description": "Whether this category is visible",
1338
1432
  "type": "boolean",
1339
1433
  },
1340
1434
  "updated": {
@@ -1348,6 +1442,7 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1348
1442
  "type": "array",
1349
1443
  },
1350
1444
  "created": {
1445
+ "description": "When this food was created",
1351
1446
  "format": "date-time",
1352
1447
  "type": "string",
1353
1448
  },
@@ -1356,15 +1451,18 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1356
1451
  },
1357
1452
  "eatenBy": {
1358
1453
  "items": {
1454
+ "description": "Users who have eaten this food",
1359
1455
  "required": true,
1360
1456
  "type": "schemaobjectid",
1361
1457
  },
1362
1458
  "type": "array",
1363
1459
  },
1364
1460
  "expiration": {
1461
+ "description": "Expiration date of the food",
1365
1462
  "type": "dateonly",
1366
1463
  },
1367
1464
  "hidden": {
1465
+ "description": "Whether this food is hidden from listings",
1368
1466
  "type": "boolean",
1369
1467
  },
1370
1468
  "lastEatenWith": {
@@ -1372,18 +1470,22 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1372
1470
  "format": "date-time",
1373
1471
  "type": "string",
1374
1472
  },
1473
+ "description": "Map of user names to dates they last ate this food with",
1375
1474
  "type": "object",
1376
1475
  },
1377
1476
  "likesIds": {
1477
+ "description": "User likes for this food",
1378
1478
  "items": {
1379
1479
  "properties": {
1380
1480
  "_id": {
1381
1481
  "type": "string",
1382
1482
  },
1383
1483
  "likes": {
1484
+ "description": "Whether the user liked the item",
1384
1485
  "type": "boolean",
1385
1486
  },
1386
1487
  "userId": {
1488
+ "description": "The user who liked the item",
1387
1489
  "type": "string",
1388
1490
  },
1389
1491
  },
@@ -1393,26 +1495,32 @@ exports[`OpenApiMiddlewareBuilder snapshot tests matches OpenAPI spec snapshot 1
1393
1495
  "type": "array",
1394
1496
  },
1395
1497
  "name": {
1498
+ "description": "The name of the food",
1396
1499
  "type": "string",
1397
1500
  },
1398
1501
  "ownerId": {
1502
+ "description": "The user who owns this food entry",
1399
1503
  "type": "string",
1400
1504
  },
1401
1505
  "source": {
1402
1506
  "properties": {
1403
1507
  "dateAdded": {
1508
+ "description": "When the source was added",
1404
1509
  "type": "string",
1405
1510
  },
1406
1511
  "href": {
1512
+ "description": "URL of the source",
1407
1513
  "type": "string",
1408
1514
  },
1409
1515
  "name": {
1516
+ "description": "Name of the source",
1410
1517
  "type": "string",
1411
1518
  },
1412
1519
  },
1413
1520
  "type": "object",
1414
1521
  },
1415
1522
  "tags": {
1523
+ "description": "Tags associated with this food",
1416
1524
  "items": {
1417
1525
  "type": "string",
1418
1526
  },