@cravery/core 0.0.2 → 0.0.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.
Files changed (188) hide show
  1. package/dist/config/ai.d.ts +3 -0
  2. package/dist/config/ai.d.ts.map +1 -0
  3. package/dist/config/ai.js +36 -0
  4. package/dist/config/ai.js.map +1 -0
  5. package/dist/config/collections.d.ts +1 -0
  6. package/dist/config/collections.d.ts.map +1 -1
  7. package/dist/config/collections.js +1 -0
  8. package/dist/config/collections.js.map +1 -1
  9. package/dist/config/index.d.ts +1 -0
  10. package/dist/config/index.d.ts.map +1 -1
  11. package/dist/config/index.js +1 -0
  12. package/dist/config/index.js.map +1 -1
  13. package/dist/enums/cuisine.d.ts +1 -1
  14. package/dist/enums/difficulty.d.ts +1 -1
  15. package/dist/enums/moderation_status.d.ts +1 -1
  16. package/dist/enums/priority.d.ts +1 -1
  17. package/dist/enums/profile_status.d.ts +2 -2
  18. package/dist/enums/recipe_source.d.ts +2 -2
  19. package/dist/enums/recipe_status.d.ts +2 -2
  20. package/dist/enums/role.d.ts +1 -1
  21. package/dist/enums/severity.d.ts +1 -1
  22. package/dist/enums/spiciness.d.ts +1 -1
  23. package/dist/enums/status.d.ts +2 -2
  24. package/dist/enums/unit.d.ts +5 -5
  25. package/dist/enums/user_status.d.ts +2 -2
  26. package/dist/lib/ai/cost.d.ts +22 -0
  27. package/dist/lib/ai/cost.d.ts.map +1 -0
  28. package/dist/lib/ai/cost.js +45 -0
  29. package/dist/lib/ai/cost.js.map +1 -0
  30. package/dist/lib/ai/embedding.d.ts +4 -0
  31. package/dist/lib/ai/embedding.d.ts.map +1 -0
  32. package/dist/lib/ai/embedding.js +48 -0
  33. package/dist/lib/ai/embedding.js.map +1 -0
  34. package/dist/lib/ai/errors.d.ts +14 -0
  35. package/dist/lib/ai/errors.d.ts.map +1 -0
  36. package/dist/lib/ai/errors.js +40 -0
  37. package/dist/lib/ai/errors.js.map +1 -0
  38. package/dist/lib/ai/flow.d.ts +53 -0
  39. package/dist/lib/ai/flow.d.ts.map +1 -0
  40. package/dist/lib/ai/flow.js +60 -0
  41. package/dist/lib/ai/flow.js.map +1 -0
  42. package/dist/lib/ai/genkit.d.ts +4 -0
  43. package/dist/lib/ai/genkit.d.ts.map +1 -0
  44. package/dist/lib/ai/genkit.js +16 -0
  45. package/dist/lib/ai/genkit.js.map +1 -0
  46. package/dist/lib/ai/image.d.ts +7 -0
  47. package/dist/lib/ai/image.d.ts.map +1 -0
  48. package/dist/lib/ai/image.js +23 -0
  49. package/dist/lib/ai/image.js.map +1 -0
  50. package/dist/lib/ai/index.d.ts +7 -0
  51. package/dist/lib/ai/index.d.ts.map +1 -0
  52. package/dist/lib/ai/index.js +23 -0
  53. package/dist/lib/ai/index.js.map +1 -0
  54. package/dist/lib/api.d.ts +18 -0
  55. package/dist/lib/api.d.ts.map +1 -0
  56. package/dist/lib/api.js +69 -0
  57. package/dist/lib/api.js.map +1 -0
  58. package/dist/lib/cost.d.ts +22 -0
  59. package/dist/lib/cost.d.ts.map +1 -0
  60. package/dist/lib/cost.js +45 -0
  61. package/dist/lib/cost.js.map +1 -0
  62. package/dist/lib/embedding.d.ts +4 -0
  63. package/dist/lib/embedding.d.ts.map +1 -0
  64. package/dist/lib/embedding.js +48 -0
  65. package/dist/lib/embedding.js.map +1 -0
  66. package/dist/lib/firebase.d.ts +3 -0
  67. package/dist/lib/firebase.d.ts.map +1 -0
  68. package/dist/lib/firebase.js +8 -0
  69. package/dist/lib/firebase.js.map +1 -0
  70. package/dist/lib/flow.d.ts +53 -0
  71. package/dist/lib/flow.d.ts.map +1 -0
  72. package/dist/lib/flow.js +60 -0
  73. package/dist/lib/flow.js.map +1 -0
  74. package/dist/lib/genkit.d.ts +4 -0
  75. package/dist/lib/genkit.d.ts.map +1 -0
  76. package/dist/lib/genkit.js +16 -0
  77. package/dist/lib/genkit.js.map +1 -0
  78. package/dist/lib/iam.d.ts +3 -0
  79. package/dist/lib/iam.d.ts.map +1 -0
  80. package/dist/lib/iam.js +57 -0
  81. package/dist/lib/iam.js.map +1 -0
  82. package/dist/lib/image.d.ts +7 -0
  83. package/dist/lib/image.d.ts.map +1 -0
  84. package/dist/lib/image.js +24 -0
  85. package/dist/lib/image.js.map +1 -0
  86. package/dist/lib/index.d.ts +6 -1
  87. package/dist/lib/index.d.ts.map +1 -1
  88. package/dist/lib/index.js +20 -0
  89. package/dist/lib/index.js.map +1 -1
  90. package/dist/lib/repository/errors.d.ts +20 -0
  91. package/dist/lib/repository/errors.d.ts.map +1 -0
  92. package/dist/lib/repository/errors.js +33 -0
  93. package/dist/lib/repository/errors.js.map +1 -0
  94. package/dist/lib/repository/firestore.repository.d.ts +50 -0
  95. package/dist/lib/repository/firestore.repository.d.ts.map +1 -0
  96. package/dist/lib/repository/firestore.repository.js +407 -0
  97. package/dist/lib/repository/firestore.repository.js.map +1 -0
  98. package/dist/lib/repository/index.d.ts +7 -0
  99. package/dist/lib/repository/index.d.ts.map +1 -0
  100. package/dist/lib/repository/index.js +23 -0
  101. package/dist/lib/repository/index.js.map +1 -0
  102. package/dist/lib/repository/profile.repository.d.ts +12 -0
  103. package/dist/lib/repository/profile.repository.d.ts.map +1 -0
  104. package/dist/lib/repository/profile.repository.js +39 -0
  105. package/dist/lib/repository/profile.repository.js.map +1 -0
  106. package/dist/lib/repository/rtdb.repository.d.ts +21 -0
  107. package/dist/lib/repository/rtdb.repository.d.ts.map +1 -0
  108. package/dist/lib/repository/rtdb.repository.js +55 -0
  109. package/dist/lib/repository/rtdb.repository.js.map +1 -0
  110. package/dist/lib/repository/settings.repository.d.ts +10 -0
  111. package/dist/lib/repository/settings.repository.d.ts.map +1 -0
  112. package/dist/lib/repository/settings.repository.js +30 -0
  113. package/dist/lib/repository/settings.repository.js.map +1 -0
  114. package/dist/lib/repository/user.repository.d.ts +11 -0
  115. package/dist/lib/repository/user.repository.d.ts.map +1 -0
  116. package/dist/lib/repository/user.repository.js +36 -0
  117. package/dist/lib/repository/user.repository.js.map +1 -0
  118. package/dist/lib/storage.d.ts +6 -0
  119. package/dist/lib/storage.d.ts.map +1 -0
  120. package/dist/lib/storage.js +34 -0
  121. package/dist/lib/storage.js.map +1 -0
  122. package/dist/types/ai/config.d.ts +2 -2
  123. package/dist/types/ai/config.d.ts.map +1 -1
  124. package/dist/types/ai/filters.d.ts +3 -3
  125. package/dist/types/ai/recipe.d.ts +10 -10
  126. package/dist/types/equipment.d.ts +2 -2
  127. package/dist/types/equipment.js +1 -1
  128. package/dist/types/error.d.ts +14 -0
  129. package/dist/types/error.d.ts.map +1 -0
  130. package/dist/types/error.js +40 -0
  131. package/dist/types/error.js.map +1 -0
  132. package/dist/types/index.d.ts +2 -0
  133. package/dist/types/index.d.ts.map +1 -1
  134. package/dist/types/index.js +2 -0
  135. package/dist/types/index.js.map +1 -1
  136. package/dist/types/ingredient.d.ts +24 -24
  137. package/dist/types/ingredient.js +1 -1
  138. package/dist/types/ingredient.js.map +1 -1
  139. package/dist/types/moderation.d.ts +5 -6
  140. package/dist/types/moderation.d.ts.map +1 -1
  141. package/dist/types/profile.d.ts +3 -3
  142. package/dist/types/profile.d.ts.map +1 -1
  143. package/dist/types/profile.js.map +1 -1
  144. package/dist/types/recipe.d.ts +28 -29
  145. package/dist/types/recipe.d.ts.map +1 -1
  146. package/dist/types/repository.d.ts +83 -0
  147. package/dist/types/repository.d.ts.map +1 -0
  148. package/dist/types/repository.js +6 -0
  149. package/dist/types/repository.js.map +1 -0
  150. package/dist/types/settings.d.ts +141 -0
  151. package/dist/types/settings.d.ts.map +1 -0
  152. package/dist/types/settings.js +70 -0
  153. package/dist/types/settings.js.map +1 -0
  154. package/dist/types/subscription.d.ts +0 -1
  155. package/dist/types/subscription.d.ts.map +1 -1
  156. package/dist/types/user.d.ts +4 -4
  157. package/dist/types/user.d.ts.map +1 -1
  158. package/package.json +2 -2
  159. package/src/config/ai.ts +34 -0
  160. package/src/config/collections.ts +1 -0
  161. package/src/config/index.ts +1 -0
  162. package/src/lib/ai/cost.ts +72 -0
  163. package/src/lib/ai/embedding.ts +53 -0
  164. package/src/lib/ai/errors.ts +43 -0
  165. package/src/lib/ai/flow.ts +88 -0
  166. package/src/lib/ai/genkit.ts +18 -0
  167. package/src/lib/ai/image.ts +27 -0
  168. package/src/lib/ai/index.ts +6 -0
  169. package/src/lib/api.ts +90 -0
  170. package/src/lib/firebase.ts +5 -0
  171. package/src/lib/iam.ts +22 -0
  172. package/src/lib/index.ts +6 -0
  173. package/src/lib/repository/errors.ts +37 -0
  174. package/src/lib/repository/firestore.repository.ts +607 -0
  175. package/src/lib/repository/index.ts +6 -0
  176. package/src/lib/repository/profile.repository.ts +51 -0
  177. package/src/lib/repository/rtdb.repository.ts +68 -0
  178. package/src/lib/repository/settings.repository.ts +38 -0
  179. package/src/lib/repository/user.repository.ts +44 -0
  180. package/src/lib/storage.ts +42 -0
  181. package/src/types/ai/config.ts +3 -2
  182. package/src/types/equipment.ts +1 -1
  183. package/src/types/index.ts +2 -0
  184. package/src/types/ingredient.ts +1 -1
  185. package/src/types/profile.ts +2 -0
  186. package/src/types/repository.ts +115 -0
  187. package/src/types/settings.ts +85 -0
  188. package/src/types/user.ts +2 -0
@@ -1,14 +1,9 @@
1
1
  import { z } from "zod";
2
2
  export declare const IngredientMetaSchema: z.ZodObject<{
3
- optional: z.ZodOptional<z.ZodBoolean>;
4
3
  quantity: z.ZodOptional<z.ZodNumber>;
4
+ required: z.ZodOptional<z.ZodBoolean>;
5
5
  slug: z.ZodString;
6
6
  unit: z.ZodOptional<z.ZodEnum<{
7
- slice: "slice";
8
- head: "head";
9
- g: "g";
10
- drop: "drop";
11
- quarter: "quarter";
12
7
  ml: "ml";
13
8
  l: "l";
14
9
  tsp: "tsp";
@@ -19,18 +14,22 @@ export declare const IngredientMetaSchema: z.ZodObject<{
19
14
  quart: "quart";
20
15
  gallon: "gallon";
21
16
  mg: "mg";
17
+ g: "g";
22
18
  kg: "kg";
23
19
  oz: "oz";
24
20
  lb: "lb";
25
21
  piece: "piece";
26
22
  whole: "whole";
27
23
  half: "half";
24
+ quarter: "quarter";
25
+ slice: "slice";
28
26
  serving: "serving";
29
27
  clove: "clove";
30
28
  stalk: "stalk";
31
29
  sprig: "sprig";
32
30
  leaf: "leaf";
33
31
  bunch: "bunch";
32
+ head: "head";
34
33
  fillet: "fillet";
35
34
  stick: "stick";
36
35
  sheet: "sheet";
@@ -41,6 +40,7 @@ export declare const IngredientMetaSchema: z.ZodObject<{
41
40
  handful: "handful";
42
41
  pinch: "pinch";
43
42
  dash: "dash";
43
+ drop: "drop";
44
44
  }>>;
45
45
  }, z.core.$strip>;
46
46
  export type IngredientMeta = z.infer<typeof IngredientMetaSchema>;
@@ -54,14 +54,9 @@ export declare const IngredientSchema: z.ZodObject<{
54
54
  name: z.ZodString;
55
55
  notes: z.ZodOptional<z.ZodString>;
56
56
  slug: z.ZodString;
57
- optional: z.ZodOptional<z.ZodBoolean>;
58
57
  quantity: z.ZodOptional<z.ZodNumber>;
58
+ required: z.ZodOptional<z.ZodBoolean>;
59
59
  unit: z.ZodOptional<z.ZodEnum<{
60
- slice: "slice";
61
- head: "head";
62
- g: "g";
63
- drop: "drop";
64
- quarter: "quarter";
65
60
  ml: "ml";
66
61
  l: "l";
67
62
  tsp: "tsp";
@@ -72,18 +67,22 @@ export declare const IngredientSchema: z.ZodObject<{
72
67
  quart: "quart";
73
68
  gallon: "gallon";
74
69
  mg: "mg";
70
+ g: "g";
75
71
  kg: "kg";
76
72
  oz: "oz";
77
73
  lb: "lb";
78
74
  piece: "piece";
79
75
  whole: "whole";
80
76
  half: "half";
77
+ quarter: "quarter";
78
+ slice: "slice";
81
79
  serving: "serving";
82
80
  clove: "clove";
83
81
  stalk: "stalk";
84
82
  sprig: "sprig";
85
83
  leaf: "leaf";
86
84
  bunch: "bunch";
85
+ head: "head";
87
86
  fillet: "fillet";
88
87
  stick: "stick";
89
88
  sheet: "sheet";
@@ -94,20 +93,16 @@ export declare const IngredientSchema: z.ZodObject<{
94
93
  handful: "handful";
95
94
  pinch: "pinch";
96
95
  dash: "dash";
96
+ drop: "drop";
97
97
  }>>;
98
98
  }, z.core.$strip>;
99
99
  export type Ingredient = z.infer<typeof IngredientSchema>;
100
100
  export declare const IngredientSectionMetaSchema: z.ZodObject<{
101
101
  ingredients: z.ZodArray<z.ZodObject<{
102
- optional: z.ZodOptional<z.ZodBoolean>;
103
102
  quantity: z.ZodOptional<z.ZodNumber>;
103
+ required: z.ZodOptional<z.ZodBoolean>;
104
104
  slug: z.ZodString;
105
105
  unit: z.ZodOptional<z.ZodEnum<{
106
- slice: "slice";
107
- head: "head";
108
- g: "g";
109
- drop: "drop";
110
- quarter: "quarter";
111
106
  ml: "ml";
112
107
  l: "l";
113
108
  tsp: "tsp";
@@ -118,18 +113,22 @@ export declare const IngredientSectionMetaSchema: z.ZodObject<{
118
113
  quart: "quart";
119
114
  gallon: "gallon";
120
115
  mg: "mg";
116
+ g: "g";
121
117
  kg: "kg";
122
118
  oz: "oz";
123
119
  lb: "lb";
124
120
  piece: "piece";
125
121
  whole: "whole";
126
122
  half: "half";
123
+ quarter: "quarter";
124
+ slice: "slice";
127
125
  serving: "serving";
128
126
  clove: "clove";
129
127
  stalk: "stalk";
130
128
  sprig: "sprig";
131
129
  leaf: "leaf";
132
130
  bunch: "bunch";
131
+ head: "head";
133
132
  fillet: "fillet";
134
133
  stick: "stick";
135
134
  sheet: "sheet";
@@ -140,6 +139,7 @@ export declare const IngredientSectionMetaSchema: z.ZodObject<{
140
139
  handful: "handful";
141
140
  pinch: "pinch";
142
141
  dash: "dash";
142
+ drop: "drop";
143
143
  }>>;
144
144
  }, z.core.$strip>>;
145
145
  slug: z.ZodString;
@@ -160,14 +160,9 @@ export declare const IngredientSectionSchema: z.ZodObject<{
160
160
  name: z.ZodString;
161
161
  notes: z.ZodOptional<z.ZodString>;
162
162
  slug: z.ZodString;
163
- optional: z.ZodOptional<z.ZodBoolean>;
164
163
  quantity: z.ZodOptional<z.ZodNumber>;
164
+ required: z.ZodOptional<z.ZodBoolean>;
165
165
  unit: z.ZodOptional<z.ZodEnum<{
166
- slice: "slice";
167
- head: "head";
168
- g: "g";
169
- drop: "drop";
170
- quarter: "quarter";
171
166
  ml: "ml";
172
167
  l: "l";
173
168
  tsp: "tsp";
@@ -178,18 +173,22 @@ export declare const IngredientSectionSchema: z.ZodObject<{
178
173
  quart: "quart";
179
174
  gallon: "gallon";
180
175
  mg: "mg";
176
+ g: "g";
181
177
  kg: "kg";
182
178
  oz: "oz";
183
179
  lb: "lb";
184
180
  piece: "piece";
185
181
  whole: "whole";
186
182
  half: "half";
183
+ quarter: "quarter";
184
+ slice: "slice";
187
185
  serving: "serving";
188
186
  clove: "clove";
189
187
  stalk: "stalk";
190
188
  sprig: "sprig";
191
189
  leaf: "leaf";
192
190
  bunch: "bunch";
191
+ head: "head";
193
192
  fillet: "fillet";
194
193
  stick: "stick";
195
194
  sheet: "sheet";
@@ -200,6 +199,7 @@ export declare const IngredientSectionSchema: z.ZodObject<{
200
199
  handful: "handful";
201
200
  pinch: "pinch";
202
201
  dash: "dash";
202
+ drop: "drop";
203
203
  }>>;
204
204
  }, z.core.$strip>>;
205
205
  slug: z.ZodString;
@@ -5,8 +5,8 @@ const zod_1 = require("zod");
5
5
  const config_1 = require("../config");
6
6
  const enums_1 = require("../enums");
7
7
  exports.IngredientMetaSchema = zod_1.z.object({
8
- optional: zod_1.z.boolean().optional(),
9
8
  quantity: zod_1.z.number().positive().optional(),
9
+ required: zod_1.z.boolean().optional(),
10
10
  slug: zod_1.z.string().regex(config_1.SlugRegex),
11
11
  unit: enums_1.UnitSchema.optional(),
12
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ingredient.js","sourceRoot":"","sources":["../../src/types/ingredient.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sCAAsC;AACtC,oCAAsC;AAEzB,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;IACjC,IAAI,EAAE,kBAAU,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAGU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;CAClC,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,iCACnC,4BAAoB,CAAC,KAAK,GAC1B,+BAAuB,CAAC,KAAK,EAChC,CAAC;AAGU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;CAClC,CAAC,CAAC;AAGU,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,+BAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;IACjC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAKU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,wBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;IACjC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
1
+ {"version":3,"file":"ingredient.js","sourceRoot":"","sources":["../../src/types/ingredient.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sCAAsC;AACtC,oCAAsC;AAEzB,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;IACjC,IAAI,EAAE,kBAAU,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAGU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;CAClC,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,iCACnC,4BAAoB,CAAC,KAAK,GAC1B,+BAAuB,CAAC,KAAK,EAChC,CAAC;AAGU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;CAClC,CAAC,CAAC;AAGU,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,+BAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;IACjC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAKU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,wBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAS,CAAC;IACjC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
- import { Timestamp } from "firebase-admin/firestore";
3
2
  export declare const ModerationSuggestionSchema: z.ZodObject<{
4
3
  category: z.ZodEnum<{
5
4
  missing_info: "missing_info";
@@ -10,9 +9,9 @@ export declare const ModerationSuggestionSchema: z.ZodObject<{
10
9
  }>;
11
10
  field: z.ZodString;
12
11
  severity: z.ZodEnum<{
13
- high: "high";
14
12
  low: "low";
15
13
  medium: "medium";
14
+ high: "high";
16
15
  }>;
17
16
  suggestion: z.ZodString;
18
17
  }, z.core.$strip>;
@@ -22,14 +21,14 @@ export declare const ModerationSchema: z.ZodObject<{
22
21
  recipeId: z.ZodString;
23
22
  userId: z.ZodString;
24
23
  status: z.ZodEnum<{
24
+ approved: "approved";
25
25
  pending: "pending";
26
26
  rejected: "rejected";
27
- approved: "approved";
28
27
  }>;
29
28
  priority: z.ZodEnum<{
30
- high: "high";
31
29
  low: "low";
32
30
  medium: "medium";
31
+ high: "high";
33
32
  }>;
34
33
  qualityScore: z.ZodOptional<z.ZodNumber>;
35
34
  aiSuggestions: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -42,9 +41,9 @@ export declare const ModerationSchema: z.ZodObject<{
42
41
  }>;
43
42
  field: z.ZodString;
44
43
  severity: z.ZodEnum<{
45
- high: "high";
46
44
  low: "low";
47
45
  medium: "medium";
46
+ high: "high";
48
47
  }>;
49
48
  suggestion: z.ZodString;
50
49
  }, z.core.$strip>>>;
@@ -73,9 +72,9 @@ export declare const ModerateRecipeOutputSchema: z.ZodObject<{
73
72
  }>;
74
73
  field: z.ZodString;
75
74
  severity: z.ZodEnum<{
76
- high: "high";
77
75
  low: "low";
78
76
  medium: "medium";
77
+ high: "high";
79
78
  }>;
80
79
  suggestion: z.ZodString;
81
80
  }, z.core.$strip>>;
@@ -1 +1 @@
1
- {"version":3,"file":"moderation.d.ts","sourceRoot":"","sources":["../../src/types/moderation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAQrD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAKrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;iBAMrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"moderation.d.ts","sourceRoot":"","sources":["../../src/types/moderation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAKrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;iBAMrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
- import { Timestamp } from "firebase-admin/firestore";
3
2
  export declare const ProfileSchema: z.ZodObject<{
4
3
  bio: z.ZodOptional<z.ZodString>;
5
4
  createdAt: z.ZodCustom<Timestamp, Timestamp>;
@@ -9,15 +8,16 @@ export declare const ProfileSchema: z.ZodObject<{
9
8
  name: z.ZodString;
10
9
  public: z.ZodBoolean;
11
10
  status: z.ZodEnum<{
12
- deleted: "deleted";
11
+ pending: "pending";
13
12
  active: "active";
13
+ deleted: "deleted";
14
14
  suspended: "suspended";
15
- pending: "pending";
16
15
  }>;
17
16
  updatedAt: z.ZodCustom<Timestamp, Timestamp>;
18
17
  verified: z.ZodBoolean;
19
18
  }, z.core.$strip>;
20
19
  export type Profile = z.infer<typeof ProfileSchema>;
20
+ export type ProfileInput = Omit<Profile, "id" | "createdAt" | "updatedAt">;
21
21
  export declare const ProfileStatsSchema: z.ZodObject<{
22
22
  followers: z.ZodNumber;
23
23
  following: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/types/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;iBAWxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,kBAAkB;;;;;;;iBAO7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/types/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;iBAWxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAE3E,eAAO,MAAM,kBAAkB;;;;;;;iBAO7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/types/profile.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,oCAA+C;AAElC,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAa;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACjC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE;IACnB,MAAM,EAAE,2BAAmB;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAa;IAChC,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;CACtB,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/types/profile.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,oCAA+C;AAElC,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAa;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACjC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE;IACnB,MAAM,EAAE,2BAAmB;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAa;IAChC,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;CACtB,CAAC,CAAC;AAKU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CAC5B,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
- import { Timestamp } from "firebase-admin/firestore";
3
2
  export declare const RecipeMetaSchema: z.ZodObject<{
4
3
  allergens: z.ZodArray<z.ZodEnum<{
5
4
  celery: "celery";
@@ -20,7 +19,6 @@ export declare const RecipeMetaSchema: z.ZodObject<{
20
19
  createdAt: z.ZodCustom<Timestamp, Timestamp>;
21
20
  createdBy: z.ZodString;
22
21
  cuisine: z.ZodEnum<{
23
- other: "other";
24
22
  african: "african";
25
23
  american: "american";
26
24
  brazilian: "brazilian";
@@ -53,6 +51,7 @@ export declare const RecipeMetaSchema: z.ZodObject<{
53
51
  thai: "thai";
54
52
  turkish: "turkish";
55
53
  vietnamese: "vietnamese";
54
+ other: "other";
56
55
  }>;
57
56
  deletedAt: z.ZodOptional<z.ZodCustom<Timestamp, Timestamp>>;
58
57
  dietaryTags: z.ZodArray<z.ZodEnum<{
@@ -73,28 +72,23 @@ export declare const RecipeMetaSchema: z.ZodObject<{
73
72
  vegetarian: "vegetarian";
74
73
  }>>;
75
74
  difficulty: z.ZodEnum<{
76
- advanced: "advanced";
77
75
  beginner: "beginner";
78
76
  intermediate: "intermediate";
77
+ advanced: "advanced";
79
78
  expert: "expert";
80
79
  }>;
81
80
  equipment: z.ZodOptional<z.ZodArray<z.ZodObject<{
82
- optional: z.ZodOptional<z.ZodBoolean>;
81
+ required: z.ZodOptional<z.ZodBoolean>;
83
82
  slug: z.ZodString;
84
83
  }, z.core.$strip>>>;
85
84
  id: z.ZodString;
86
85
  imageUrl: z.ZodOptional<z.ZodString>;
87
86
  ingredientSections: z.ZodArray<z.ZodObject<{
88
87
  ingredients: z.ZodArray<z.ZodObject<{
89
- optional: z.ZodOptional<z.ZodBoolean>;
90
88
  quantity: z.ZodOptional<z.ZodNumber>;
89
+ required: z.ZodOptional<z.ZodBoolean>;
91
90
  slug: z.ZodString;
92
91
  unit: z.ZodOptional<z.ZodEnum<{
93
- slice: "slice";
94
- head: "head";
95
- g: "g";
96
- drop: "drop";
97
- quarter: "quarter";
98
92
  ml: "ml";
99
93
  l: "l";
100
94
  tsp: "tsp";
@@ -105,18 +99,22 @@ export declare const RecipeMetaSchema: z.ZodObject<{
105
99
  quart: "quart";
106
100
  gallon: "gallon";
107
101
  mg: "mg";
102
+ g: "g";
108
103
  kg: "kg";
109
104
  oz: "oz";
110
105
  lb: "lb";
111
106
  piece: "piece";
112
107
  whole: "whole";
113
108
  half: "half";
109
+ quarter: "quarter";
110
+ slice: "slice";
114
111
  serving: "serving";
115
112
  clove: "clove";
116
113
  stalk: "stalk";
117
114
  sprig: "sprig";
118
115
  leaf: "leaf";
119
116
  bunch: "bunch";
117
+ head: "head";
120
118
  fillet: "fillet";
121
119
  stick: "stick";
122
120
  sheet: "sheet";
@@ -127,6 +125,7 @@ export declare const RecipeMetaSchema: z.ZodObject<{
127
125
  handful: "handful";
128
126
  pinch: "pinch";
129
127
  dash: "dash";
128
+ drop: "drop";
130
129
  }>>;
131
130
  }, z.core.$strip>>;
132
131
  slug: z.ZodString;
@@ -172,22 +171,22 @@ export declare const RecipeMetaSchema: z.ZodObject<{
172
171
  }>;
173
172
  servings: z.ZodNumber;
174
173
  source: z.ZodEnum<{
175
- url: "url";
176
- video: "video";
177
174
  image: "image";
178
175
  text: "text";
176
+ url: "url";
177
+ video: "video";
179
178
  }>;
180
179
  sourceUrl: z.ZodOptional<z.ZodString>;
181
180
  spiciness: z.ZodEnum<{
182
- none: "none";
183
181
  medium: "medium";
182
+ none: "none";
184
183
  mild: "mild";
185
184
  hot: "hot";
186
185
  }>;
187
186
  status: z.ZodEnum<{
188
- deleted: "deleted";
189
- active: "active";
190
187
  pending: "pending";
188
+ active: "active";
189
+ deleted: "deleted";
191
190
  archived: "archived";
192
191
  }>;
193
192
  time: z.ZodNumber;
@@ -245,7 +244,6 @@ export declare const RecipeSchema: z.ZodObject<{
245
244
  createdAt: z.ZodCustom<Timestamp, Timestamp>;
246
245
  createdBy: z.ZodString;
247
246
  cuisine: z.ZodEnum<{
248
- other: "other";
249
247
  african: "african";
250
248
  american: "american";
251
249
  brazilian: "brazilian";
@@ -278,6 +276,7 @@ export declare const RecipeSchema: z.ZodObject<{
278
276
  thai: "thai";
279
277
  turkish: "turkish";
280
278
  vietnamese: "vietnamese";
279
+ other: "other";
281
280
  }>;
282
281
  deletedAt: z.ZodOptional<z.ZodCustom<Timestamp, Timestamp>>;
283
282
  description: z.ZodString;
@@ -299,16 +298,16 @@ export declare const RecipeSchema: z.ZodObject<{
299
298
  vegetarian: "vegetarian";
300
299
  }>>;
301
300
  difficulty: z.ZodEnum<{
302
- advanced: "advanced";
303
301
  beginner: "beginner";
304
302
  intermediate: "intermediate";
303
+ advanced: "advanced";
305
304
  expert: "expert";
306
305
  }>;
307
306
  equipment: z.ZodOptional<z.ZodArray<z.ZodObject<{
308
307
  name: z.ZodString;
309
308
  notes: z.ZodOptional<z.ZodString>;
310
309
  slug: z.ZodString;
311
- optional: z.ZodOptional<z.ZodBoolean>;
310
+ required: z.ZodOptional<z.ZodBoolean>;
312
311
  }, z.core.$strip>>>;
313
312
  id: z.ZodString;
314
313
  imageUrl: z.ZodOptional<z.ZodString>;
@@ -317,14 +316,9 @@ export declare const RecipeSchema: z.ZodObject<{
317
316
  name: z.ZodString;
318
317
  notes: z.ZodOptional<z.ZodString>;
319
318
  slug: z.ZodString;
320
- optional: z.ZodOptional<z.ZodBoolean>;
321
319
  quantity: z.ZodOptional<z.ZodNumber>;
320
+ required: z.ZodOptional<z.ZodBoolean>;
322
321
  unit: z.ZodOptional<z.ZodEnum<{
323
- slice: "slice";
324
- head: "head";
325
- g: "g";
326
- drop: "drop";
327
- quarter: "quarter";
328
322
  ml: "ml";
329
323
  l: "l";
330
324
  tsp: "tsp";
@@ -335,18 +329,22 @@ export declare const RecipeSchema: z.ZodObject<{
335
329
  quart: "quart";
336
330
  gallon: "gallon";
337
331
  mg: "mg";
332
+ g: "g";
338
333
  kg: "kg";
339
334
  oz: "oz";
340
335
  lb: "lb";
341
336
  piece: "piece";
342
337
  whole: "whole";
343
338
  half: "half";
339
+ quarter: "quarter";
340
+ slice: "slice";
344
341
  serving: "serving";
345
342
  clove: "clove";
346
343
  stalk: "stalk";
347
344
  sprig: "sprig";
348
345
  leaf: "leaf";
349
346
  bunch: "bunch";
347
+ head: "head";
350
348
  fillet: "fillet";
351
349
  stick: "stick";
352
350
  sheet: "sheet";
@@ -357,6 +355,7 @@ export declare const RecipeSchema: z.ZodObject<{
357
355
  handful: "handful";
358
356
  pinch: "pinch";
359
357
  dash: "dash";
358
+ drop: "drop";
360
359
  }>>;
361
360
  }, z.core.$strip>>;
362
361
  slug: z.ZodString;
@@ -411,22 +410,22 @@ export declare const RecipeSchema: z.ZodObject<{
411
410
  }>;
412
411
  servings: z.ZodNumber;
413
412
  source: z.ZodEnum<{
414
- url: "url";
415
- video: "video";
416
413
  image: "image";
417
414
  text: "text";
415
+ url: "url";
416
+ video: "video";
418
417
  }>;
419
418
  sourceUrl: z.ZodOptional<z.ZodString>;
420
419
  spiciness: z.ZodEnum<{
421
- none: "none";
422
420
  medium: "medium";
421
+ none: "none";
423
422
  mild: "mild";
424
423
  hot: "hot";
425
424
  }>;
426
425
  status: z.ZodEnum<{
427
- deleted: "deleted";
428
- active: "active";
429
426
  pending: "pending";
427
+ active: "active";
428
+ deleted: "deleted";
430
429
  archived: "archived";
431
430
  }>;
432
431
  time: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../src/types/recipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AA6BrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwB3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;;;;iBAQ5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../src/types/recipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwB3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;;;;iBAQ5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { z } from "zod";
2
+ import type { Firestore, Transaction, WriteBatch } from "firebase-admin/firestore";
3
+ export declare const SortDirectionSchema: z.ZodEnum<{
4
+ asc: "asc";
5
+ desc: "desc";
6
+ }>;
7
+ export type SortDirection = z.infer<typeof SortDirectionSchema>;
8
+ export interface OrderBy {
9
+ field: string;
10
+ direction: SortDirection;
11
+ }
12
+ export interface QueryOptions {
13
+ limit?: number;
14
+ offset?: number;
15
+ orderBy?: OrderBy;
16
+ }
17
+ export interface PaginatedResult<T> {
18
+ data: T[];
19
+ total: number;
20
+ hasMore: boolean;
21
+ }
22
+ export interface CursorPaginatedResult<T> {
23
+ data: T[];
24
+ nextCursor: string | null;
25
+ hasMore: boolean;
26
+ }
27
+ export type WhereOp = "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "array-contains-any" | "in" | "not-in";
28
+ export interface WhereClause {
29
+ field: string;
30
+ op: WhereOp;
31
+ value: unknown;
32
+ }
33
+ export type TransactionCallback<R> = (transaction: Transaction) => Promise<R>;
34
+ export interface RepositoryConfig {
35
+ enableTimestamps?: boolean;
36
+ enableSoftDelete?: boolean;
37
+ validateOnWrite?: boolean;
38
+ }
39
+ export interface IRepository<T extends {
40
+ id: string;
41
+ }> {
42
+ findById(id: string): Promise<T | null>;
43
+ findByIds(ids: string[]): Promise<T[]>;
44
+ findAll(options?: QueryOptions): Promise<T[]>;
45
+ findWhere(clauses: WhereClause[], options?: QueryOptions): Promise<T[]>;
46
+ findPaginated(clauses?: WhereClause[], options?: QueryOptions): Promise<PaginatedResult<T>>;
47
+ findPaginatedCursor(clauses?: WhereClause[], options?: QueryOptions & {
48
+ cursor?: string;
49
+ }): Promise<CursorPaginatedResult<T>>;
50
+ exists(id: string): Promise<boolean>;
51
+ count(clauses?: WhereClause[]): Promise<number>;
52
+ create(data: Omit<T, "id" | "createdAt" | "updatedAt" | "deletedAt">, id?: string): Promise<T>;
53
+ update(id: string, data: Partial<Omit<T, "id" | "createdAt" | "updatedAt" | "deletedAt">>): Promise<T>;
54
+ delete(id: string): Promise<void>;
55
+ createMany(items: Omit<T, "id" | "createdAt" | "updatedAt" | "deletedAt">[]): Promise<T[]>;
56
+ updateMany(updates: Array<{
57
+ id: string;
58
+ data: Partial<Omit<T, "id" | "createdAt" | "updatedAt" | "deletedAt">>;
59
+ }>): Promise<void>;
60
+ deleteMany(ids: string[]): Promise<void>;
61
+ increment(id: string, field: keyof T, value?: number): Promise<void>;
62
+ decrement(id: string, field: keyof T, value?: number): Promise<void>;
63
+ runTransaction<R>(callback: TransactionCallback<R>): Promise<R>;
64
+ getFirestore(): Firestore;
65
+ batch(): WriteBatch;
66
+ createInBatch(batch: WriteBatch, data: Omit<T, "id" | "createdAt" | "updatedAt" | "deletedAt">, id?: string): T;
67
+ setInBatch(batch: WriteBatch, id: string, data: Partial<Omit<T, "id" | "createdAt" | "updatedAt" | "deletedAt">>): void;
68
+ updateInBatch(batch: WriteBatch, id: string, data: Partial<Omit<T, "id" | "createdAt" | "updatedAt" | "deletedAt">>): void;
69
+ deleteInBatch(batch: WriteBatch, id: string): void;
70
+ }
71
+ export interface IRTDBRepository<T extends {
72
+ id: string;
73
+ }> {
74
+ get(id: string): Promise<T | null>;
75
+ getAll(): Promise<T[]>;
76
+ set(id: string, data: T): Promise<void>;
77
+ update(id: string, data: Partial<T>): Promise<void>;
78
+ remove(id: string): Promise<void>;
79
+ increment(id: string, field: string, delta?: number): Promise<void>;
80
+ decrement(id: string, field: string, delta?: number): Promise<void>;
81
+ multiUpdate(updates: Record<string, unknown>): Promise<void>;
82
+ }
83
+ //# sourceMappingURL=repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/types/repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SortDirectionSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.SortDirectionSchema = zod_1.z.enum(["asc", "desc"]);
6
+ //# sourceMappingURL=repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/types/repository.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAOX,QAAA,mBAAmB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC"}