@marcoappio/marco-config 2.0.504 → 2.0.505

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 (108) hide show
  1. package/dist/types/AuthData.d.ts +4 -0
  2. package/dist/types/AuthData.d.ts.map +1 -0
  3. package/dist/types/AuthData.js +1 -0
  4. package/dist/types/IMAPSourceLocation.d.ts +7 -0
  5. package/dist/types/IMAPSourceLocation.d.ts.map +1 -0
  6. package/dist/types/IMAPSourceLocation.js +1 -0
  7. package/dist/types/Zero.d.ts +14 -8
  8. package/dist/types/Zero.d.ts.map +1 -1
  9. package/dist/types/index.d.ts +2 -0
  10. package/dist/types/index.d.ts.map +1 -1
  11. package/dist/types/index.js +2 -0
  12. package/dist/zero/index.d.ts +7745 -3109
  13. package/dist/zero/index.d.ts.map +1 -1
  14. package/dist/zero/index.js +14 -5
  15. package/dist/zero/mutatorSchemas/account.d.ts +80 -0
  16. package/dist/zero/mutatorSchemas/account.d.ts.map +1 -0
  17. package/dist/zero/mutatorSchemas/account.js +66 -0
  18. package/dist/zero/mutatorSchemas/draft.d.ts +150 -0
  19. package/dist/zero/mutatorSchemas/draft.d.ts.map +1 -0
  20. package/dist/zero/mutatorSchemas/draft.js +104 -0
  21. package/dist/zero/mutatorSchemas/index.d.ts +323 -0
  22. package/dist/zero/mutatorSchemas/index.d.ts.map +1 -0
  23. package/dist/zero/mutatorSchemas/index.js +10 -0
  24. package/dist/zero/mutatorSchemas/thread.d.ts +71 -0
  25. package/dist/zero/mutatorSchemas/thread.d.ts.map +1 -0
  26. package/dist/zero/mutatorSchemas/thread.js +47 -0
  27. package/dist/zero/mutatorSchemas/user.d.ts +26 -0
  28. package/dist/zero/mutatorSchemas/user.d.ts.map +1 -0
  29. package/dist/zero/mutatorSchemas/user.js +27 -0
  30. package/dist/zero/mutators/accountMutators/accountMutators.d.ts +3 -188
  31. package/dist/zero/mutators/accountMutators/accountMutators.d.ts.map +1 -1
  32. package/dist/zero/mutators/accountMutators/accountMutators.js +82 -118
  33. package/dist/zero/mutators/accountMutators/accountMutators.test.d.ts +2 -0
  34. package/dist/zero/mutators/accountMutators/accountMutators.test.d.ts.map +1 -0
  35. package/dist/zero/mutators/accountMutators/accountMutators.test.js +372 -0
  36. package/dist/zero/mutators/accountMutators/index.d.ts +1 -1
  37. package/dist/zero/mutators/accountMutators/index.d.ts.map +1 -1
  38. package/dist/zero/mutators/accountMutators/index.js +1 -1
  39. package/dist/zero/mutators/draftMutators/draftMutators.d.ts +3 -305
  40. package/dist/zero/mutators/draftMutators/draftMutators.d.ts.map +1 -1
  41. package/dist/zero/mutators/draftMutators/draftMutators.js +83 -157
  42. package/dist/zero/mutators/draftMutators/draftMutators.test.d.ts +2 -0
  43. package/dist/zero/mutators/draftMutators/draftMutators.test.d.ts.map +1 -0
  44. package/dist/zero/mutators/draftMutators/draftMutators.test.js +416 -0
  45. package/dist/zero/mutators/draftMutators/index.d.ts +1 -1
  46. package/dist/zero/mutators/draftMutators/index.d.ts.map +1 -1
  47. package/dist/zero/mutators/draftMutators/index.js +1 -1
  48. package/dist/zero/mutators/index.d.ts +1 -251
  49. package/dist/zero/mutators/index.d.ts.map +1 -1
  50. package/dist/zero/mutators/index.js +1 -11
  51. package/dist/zero/mutators/mutators.d.ts +17 -1519
  52. package/dist/zero/mutators/mutators.d.ts.map +1 -1
  53. package/dist/zero/mutators/mutators.js +38 -11
  54. package/dist/zero/mutators/threadMutators/index.d.ts +1 -1
  55. package/dist/zero/mutators/threadMutators/index.d.ts.map +1 -1
  56. package/dist/zero/mutators/threadMutators/index.js +1 -1
  57. package/dist/zero/mutators/threadMutators/threadMutators.d.ts +6 -199
  58. package/dist/zero/mutators/threadMutators/threadMutators.d.ts.map +1 -1
  59. package/dist/zero/mutators/threadMutators/threadMutators.js +87 -119
  60. package/dist/zero/mutators/threadMutators/threadMutators.test.d.ts +2 -0
  61. package/dist/zero/mutators/threadMutators/threadMutators.test.d.ts.map +1 -0
  62. package/dist/zero/mutators/threadMutators/threadMutators.test.js +755 -0
  63. package/dist/zero/mutators/userMutators/index.d.ts +1 -1
  64. package/dist/zero/mutators/userMutators/index.d.ts.map +1 -1
  65. package/dist/zero/mutators/userMutators/index.js +1 -1
  66. package/dist/zero/mutators/userMutators/userMutators.d.ts +3 -56
  67. package/dist/zero/mutators/userMutators/userMutators.d.ts.map +1 -1
  68. package/dist/zero/mutators/userMutators/userMutators.js +26 -40
  69. package/dist/zero/mutators/userMutators/userMutators.test.d.ts +2 -0
  70. package/dist/zero/mutators/userMutators/userMutators.test.d.ts.map +1 -0
  71. package/dist/zero/mutators/userMutators/userMutators.test.js +84 -0
  72. package/dist/zero/queries/getAccounts.d.ts +1025 -4
  73. package/dist/zero/queries/getAccounts.d.ts.map +1 -1
  74. package/dist/zero/queries/getAccounts.js +3 -6
  75. package/dist/zero/queries/getContacts.d.ts +1033 -18
  76. package/dist/zero/queries/getContacts.d.ts.map +1 -1
  77. package/dist/zero/queries/getContacts.js +15 -11
  78. package/dist/zero/queries/getDrafts.d.ts +1031 -11
  79. package/dist/zero/queries/getDrafts.d.ts.map +1 -1
  80. package/dist/zero/queries/getDrafts.js +11 -7
  81. package/dist/zero/queries/getThread.d.ts +1028 -7
  82. package/dist/zero/queries/getThread.d.ts.map +1 -1
  83. package/dist/zero/queries/getThread.js +9 -5
  84. package/dist/zero/queries/getThreadList.d.ts +1035 -23
  85. package/dist/zero/queries/getThreadList.d.ts.map +1 -1
  86. package/dist/zero/queries/getThreadList.js +18 -14
  87. package/dist/zero/queries/getThreads.d.ts +1035 -23
  88. package/dist/zero/queries/getThreads.d.ts.map +1 -1
  89. package/dist/zero/queries/getThreads.js +18 -14
  90. package/dist/zero/queries/getUser.d.ts +1025 -4
  91. package/dist/zero/queries/getUser.d.ts.map +1 -1
  92. package/dist/zero/queries/getUser.js +7 -10
  93. package/dist/zero/queries/index.d.ts +141 -460
  94. package/dist/zero/queries/index.d.ts.map +1 -1
  95. package/dist/zero/queries/index.js +10 -18
  96. package/dist/zero/schema.d.ts +133 -133
  97. package/dist/zero/schema.d.ts.map +1 -1
  98. package/dist/zero/schema.js +1 -0
  99. package/package.json +2 -2
  100. package/dist/zero/crud.d.ts +0 -1024
  101. package/dist/zero/crud.d.ts.map +0 -1
  102. package/dist/zero/crud.js +0 -3
  103. package/dist/zero/mutators/typedMutator.d.ts +0 -2056
  104. package/dist/zero/mutators/typedMutator.d.ts.map +0 -1
  105. package/dist/zero/mutators/typedMutator.js +0 -2
  106. package/dist/zero/queries/z.d.ts +0 -14439
  107. package/dist/zero/queries/z.d.ts.map +0 -1
  108. package/dist/zero/queries/z.js +0 -3
@@ -1,306 +1,4 @@
1
- import * as v from 'valibot';
2
- export declare const draftMutatorSchemas: {
3
- cancelSend: v.ObjectSchema<{
4
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
5
- readonly updatedAt: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
6
- }, undefined>;
7
- createAttachment: v.ObjectSchema<{
8
- readonly attachment: v.ObjectSchema<{
9
- readonly fileName: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
10
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
11
- readonly mimeType: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
12
- readonly status: v.PicklistSchema<readonly ["PENDING", "COMPLETE", "FAILED"], undefined>;
13
- readonly totalSize: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
14
- }, undefined>;
15
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
16
- readonly updatedAt: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
17
- }, undefined>;
18
- createDraft: v.ObjectSchema<{
19
- readonly accountId: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
20
- readonly attachments: v.ArraySchema<v.ObjectSchema<{
21
- readonly fileName: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
22
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
23
- readonly mimeType: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
24
- readonly status: v.PicklistSchema<readonly ["PENDING", "COMPLETE", "FAILED"], undefined>;
25
- readonly totalSize: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
26
- }, undefined>, undefined>;
27
- readonly body: v.ObjectSchema<{
28
- readonly bcc: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
29
- readonly cc: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
30
- readonly content: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 384000, undefined>]>;
31
- readonly subject: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
32
- readonly to: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
33
- }, undefined>;
34
- readonly error: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
35
- readonly from: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
36
- readonly fromName: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
37
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
38
- readonly referencedMessageId: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
39
- readonly scheduledFor: v.NullableSchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
40
- readonly status: v.PicklistSchema<readonly ["DRAFT", "SEND_REQUESTED", "SEND_CONFIRMED", "SEND_FAILED"], undefined>;
41
- readonly type: v.PicklistSchema<readonly ["NEW", "REPLY", "FORWARD"], undefined>;
42
- readonly updatedAt: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
43
- }, undefined>;
44
- deleteAttachment: v.ObjectSchema<{
45
- readonly attachmentId: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
46
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
47
- readonly updatedAt: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
48
- }, undefined>;
49
- deleteDraft: v.ObjectSchema<{
50
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
51
- }, undefined>;
52
- setContent: v.ObjectSchema<{
53
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
54
- readonly patch: v.ArraySchema<v.ObjectSchema<{
55
- readonly index: v.NumberSchema<undefined>;
56
- readonly type: v.UnionSchema<[v.LiteralSchema<"INSERTION", undefined>, v.LiteralSchema<"DELETION", undefined>], undefined>;
57
- readonly value: v.StringSchema<undefined>;
58
- }, undefined>, undefined>;
59
- readonly updatedAt: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
60
- }, undefined>;
61
- setEnvelope: v.ObjectSchema<{
62
- readonly envelope: Omit<v.ObjectSchema<{
63
- readonly bcc: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
64
- readonly cc: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
65
- readonly content: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 384000, undefined>]>;
66
- readonly subject: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
67
- readonly to: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
68
- }, undefined>, "~standard" | "~run" | "~types" | "entries"> & {
69
- readonly entries: Omit<{
70
- readonly bcc: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
71
- readonly cc: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
72
- readonly content: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 384000, undefined>]>;
73
- readonly subject: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
74
- readonly to: v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>, undefined>;
75
- }, "content">;
76
- readonly '~standard': v.StandardProps<{
77
- bcc: string[];
78
- cc: string[];
79
- to: string[];
80
- subject: string | null;
81
- }, {
82
- bcc: string[];
83
- cc: string[];
84
- to: string[];
85
- subject: string | null;
86
- }>;
87
- readonly '~run': (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
88
- bcc: string[];
89
- cc: string[];
90
- to: string[];
91
- subject: string | null;
92
- }, v.StringIssue | v.EmailIssue<string> | v.MaxLengthIssue<string, 255> | v.NonEmptyIssue<string> | v.MaxLengthIssue<string, number> | v.ObjectIssue | v.ArrayIssue | v.NonOptionalIssue>;
93
- readonly '~types'?: {
94
- readonly input: {
95
- bcc: string[];
96
- cc: string[];
97
- to: string[];
98
- subject: string | null;
99
- };
100
- readonly output: {
101
- bcc: string[];
102
- cc: string[];
103
- to: string[];
104
- subject: string | null;
105
- };
106
- readonly issue: v.StringIssue | v.EmailIssue<string> | v.MaxLengthIssue<string, 255> | v.NonEmptyIssue<string> | v.MaxLengthIssue<string, number> | v.ObjectIssue | v.ArrayIssue | v.NonOptionalIssue;
107
- } | undefined;
108
- };
109
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
110
- readonly updatedAt: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
111
- }, undefined>;
112
- setFrom: v.ObjectSchema<{
113
- readonly accountId: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
114
- readonly aliasId: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
115
- readonly from: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
116
- readonly fromName: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
117
- readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
118
- readonly updatedAt: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
119
- }, undefined>;
120
- };
121
- export declare const draftMutators: {
122
- cancelSend: import("@rocicorp/zero").MutatorDefinition<{
123
- id: string;
124
- updatedAt: number;
125
- }, {
126
- id: string;
127
- updatedAt: number;
128
- }, {
129
- readonly userId: string;
130
- }, unknown>;
131
- createAttachment: import("@rocicorp/zero").MutatorDefinition<{
132
- attachment: {
133
- fileName: string;
134
- id: string;
135
- mimeType: string;
136
- status: "PENDING" | "COMPLETE" | "FAILED";
137
- totalSize: number;
138
- };
139
- id: string;
140
- updatedAt: number;
141
- }, {
142
- attachment: {
143
- fileName: string;
144
- id: string;
145
- mimeType: string;
146
- status: "PENDING" | "COMPLETE" | "FAILED";
147
- totalSize: number;
148
- };
149
- id: string;
150
- updatedAt: number;
151
- }, {
152
- readonly userId: string;
153
- }, unknown>;
154
- createDraft: import("@rocicorp/zero").MutatorDefinition<{
155
- accountId: string;
156
- attachments: {
157
- fileName: string;
158
- id: string;
159
- mimeType: string;
160
- status: "PENDING" | "COMPLETE" | "FAILED";
161
- totalSize: number;
162
- }[];
163
- body: {
164
- bcc: string[];
165
- cc: string[];
166
- content: string;
167
- subject: string | null;
168
- to: string[];
169
- };
170
- error: string | null;
171
- from: string;
172
- fromName: string | null;
173
- id: string;
174
- referencedMessageId: string | null;
175
- scheduledFor: number | null;
176
- status: "DRAFT" | "SEND_REQUESTED" | "SEND_CONFIRMED" | "SEND_FAILED";
177
- type: "NEW" | "REPLY" | "FORWARD";
178
- updatedAt: number;
179
- }, {
180
- accountId: string;
181
- attachments: {
182
- fileName: string;
183
- id: string;
184
- mimeType: string;
185
- status: "PENDING" | "COMPLETE" | "FAILED";
186
- totalSize: number;
187
- }[];
188
- body: {
189
- bcc: string[];
190
- cc: string[];
191
- content: string;
192
- subject: string | null;
193
- to: string[];
194
- };
195
- error: string | null;
196
- from: string;
197
- fromName: string | null;
198
- id: string;
199
- referencedMessageId: string | null;
200
- scheduledFor: number | null;
201
- status: "DRAFT" | "SEND_REQUESTED" | "SEND_CONFIRMED" | "SEND_FAILED";
202
- type: "NEW" | "REPLY" | "FORWARD";
203
- updatedAt: number;
204
- }, {
205
- readonly userId: string;
206
- }, unknown>;
207
- deleteAttachment: import("@rocicorp/zero").MutatorDefinition<{
208
- attachmentId: string;
209
- id: string;
210
- updatedAt: number;
211
- }, {
212
- attachmentId: string;
213
- id: string;
214
- updatedAt: number;
215
- }, {
216
- readonly userId: string;
217
- }, unknown>;
218
- deleteDraft: import("@rocicorp/zero").MutatorDefinition<{
219
- id: string;
220
- }, {
221
- id: string;
222
- }, {
223
- readonly userId: string;
224
- }, unknown>;
225
- scheduleSend: import("@rocicorp/zero").MutatorDefinition<{
226
- id: string;
227
- kind: "IMMEDIATE";
228
- undoMs: number;
229
- updatedAt: number;
230
- } | {
231
- id: string;
232
- kind: "SCHEDULED";
233
- scheduledFor: number;
234
- updatedAt: number;
235
- }, {
236
- id: string;
237
- kind: "IMMEDIATE";
238
- undoMs: number;
239
- updatedAt: number;
240
- } | {
241
- id: string;
242
- kind: "SCHEDULED";
243
- scheduledFor: number;
244
- updatedAt: number;
245
- }, {
246
- readonly userId: string;
247
- }, unknown>;
248
- setContent: import("@rocicorp/zero").MutatorDefinition<{
249
- id: string;
250
- patch: {
251
- index: number;
252
- type: "INSERTION" | "DELETION";
253
- value: string;
254
- }[];
255
- updatedAt: number;
256
- }, {
257
- id: string;
258
- patch: {
259
- index: number;
260
- type: "INSERTION" | "DELETION";
261
- value: string;
262
- }[];
263
- updatedAt: number;
264
- }, {
265
- readonly userId: string;
266
- }, unknown>;
267
- setEnvelope: import("@rocicorp/zero").MutatorDefinition<{
268
- envelope: {
269
- bcc: string[];
270
- cc: string[];
271
- to: string[];
272
- subject: string | null;
273
- };
274
- id: string;
275
- updatedAt: number;
276
- }, {
277
- envelope: {
278
- bcc: string[];
279
- cc: string[];
280
- to: string[];
281
- subject: string | null;
282
- };
283
- id: string;
284
- updatedAt: number;
285
- }, {
286
- readonly userId: string;
287
- }, unknown>;
288
- setFrom: import("@rocicorp/zero").MutatorDefinition<{
289
- accountId: string;
290
- aliasId: string;
291
- from: string;
292
- fromName: string | null;
293
- id: string;
294
- updatedAt: number;
295
- }, {
296
- accountId: string;
297
- aliasId: string;
298
- from: string;
299
- fromName: string | null;
300
- id: string;
301
- updatedAt: number;
302
- }, {
303
- readonly userId: string;
304
- }, unknown>;
305
- };
1
+ import { type AuthData, type HandlerMap } from '../../../types';
2
+ import type { ZeroMutatorSchemas } from '../../../zero/mutatorSchemas';
3
+ export declare const createDraftMutators: (authData: AuthData | undefined) => HandlerMap<ZeroMutatorSchemas["draft"]>;
306
4
  //# sourceMappingURL=draftMutators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draftMutators.d.ts","sourceRoot":"","sources":["../../../../src/zero/mutators/draftMutators/draftMutators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAwD5B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC/B,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyKzB,CAAA"}
1
+ {"version":3,"file":"draftMutators.d.ts","sourceRoot":"","sources":["../../../../src/zero/mutators/draftMutators/draftMutators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAiB,MAAM,qBAAqB,CAAA;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAE3E,eAAO,MAAM,mBAAmB,aAAc,QAAQ,GAAG,SAAS,KAAG,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAwJzG,CAAA"}
@@ -1,119 +1,40 @@
1
- import * as v from 'valibot';
2
- import { marcoSchemas } from '../../../schemas';
3
- import { DRAFT_ATTACHMENT_UPLOAD_STATUSES, DRAFT_STATUSES, DRAFT_TYPES, MutationError } from '../../../types';
1
+ import { MutationError } from '../../../types';
4
2
  import { stringPatch } from '../../../utils';
5
- import { zeroCRUD } from '../../../zero/crud';
6
- import { z } from '../../../zero/queries/z';
7
- import { defineMutator } from '../typedMutator';
8
- const draftBodySchema = v.object({
9
- bcc: v.array(marcoSchemas.string.email()),
10
- cc: v.array(marcoSchemas.string.email()),
11
- content: v.pipe(v.string(), v.maxLength(384000)),
12
- subject: marcoSchemas.string.nullable(),
13
- to: v.array(marcoSchemas.string.email()),
14
- });
15
- const draftAttachmentSchema = v.object({
16
- fileName: marcoSchemas.string.required(),
17
- id: marcoSchemas.string.required(),
18
- mimeType: marcoSchemas.string.required(),
19
- status: v.picklist(DRAFT_ATTACHMENT_UPLOAD_STATUSES),
20
- totalSize: marcoSchemas.number.positiveInteger(),
21
- });
22
- const draftScheduleSchema = v.union([
23
- v.object({
24
- id: marcoSchemas.string.required(),
25
- kind: v.literal('IMMEDIATE'),
26
- undoMs: marcoSchemas.number.positiveInteger(),
27
- updatedAt: marcoSchemas.number.positiveInteger(),
28
- }),
29
- v.object({
30
- id: marcoSchemas.string.required(),
31
- kind: v.literal('SCHEDULED'),
32
- scheduledFor: marcoSchemas.number.positiveInteger(),
33
- updatedAt: marcoSchemas.number.positiveInteger(),
34
- }),
35
- ]);
36
- const draftModelSchema = v.object({
37
- accountId: marcoSchemas.string.required(),
38
- attachments: v.array(draftAttachmentSchema),
39
- body: draftBodySchema,
40
- error: marcoSchemas.string.nullable(),
41
- from: marcoSchemas.string.email(),
42
- fromName: marcoSchemas.string.nullable(),
43
- id: marcoSchemas.string.required(),
44
- referencedMessageId: marcoSchemas.string.nullable(),
45
- scheduledFor: v.nullable(marcoSchemas.number.positiveInteger()),
46
- status: v.picklist(DRAFT_STATUSES),
47
- type: v.picklist(DRAFT_TYPES),
48
- updatedAt: marcoSchemas.number.positiveInteger(),
49
- });
50
- export const draftMutatorSchemas = {
51
- cancelSend: v.object({
52
- id: marcoSchemas.string.required(),
53
- updatedAt: marcoSchemas.number.positiveInteger(),
54
- }),
55
- createAttachment: v.object({
56
- attachment: draftAttachmentSchema,
57
- id: marcoSchemas.string.required(),
58
- updatedAt: marcoSchemas.number.positiveInteger(),
59
- }),
60
- createDraft: draftModelSchema,
61
- deleteAttachment: v.object({
62
- attachmentId: marcoSchemas.string.required(),
63
- id: marcoSchemas.string.required(),
64
- updatedAt: marcoSchemas.number.positiveInteger(),
65
- }),
66
- deleteDraft: v.object({
67
- id: marcoSchemas.string.required(),
68
- }),
69
- setContent: v.object({
70
- id: marcoSchemas.string.required(),
71
- patch: marcoSchemas.drafts.contentPatch.patch(),
72
- updatedAt: marcoSchemas.number.positiveInteger(),
73
- }),
74
- setEnvelope: v.object({
75
- envelope: v.omit(draftBodySchema, ['content']),
76
- id: marcoSchemas.string.required(),
77
- updatedAt: marcoSchemas.number.positiveInteger(),
78
- }),
79
- setFrom: v.object({
80
- accountId: marcoSchemas.string.required(),
81
- aliasId: marcoSchemas.string.required(),
82
- from: marcoSchemas.string.email(),
83
- fromName: marcoSchemas.string.nullable(),
84
- id: marcoSchemas.string.required(),
85
- updatedAt: marcoSchemas.number.positiveInteger(),
86
- }),
87
- };
88
- export const draftMutators = {
89
- cancelSend: defineMutator(draftMutatorSchemas.cancelSend, async ({ tx, args: { id, updatedAt } }) => {
90
- const draft = await tx.run(z.draft.where('id', id).one());
3
+ export const createDraftMutators = (authData) => ({
4
+ cancelSend: async (tx, args) => {
5
+ const draft = await tx.query.draft.where('id', args.id).one().run();
91
6
  if (!draft) {
92
7
  throw new Error(MutationError.ENTITY_NOT_FOUND);
93
8
  }
94
9
  if (draft.status === 'SEND_CONFIRMED') {
95
10
  throw new Error(MutationError.ALREADY_APPLIED);
96
11
  }
97
- await tx.mutate(zeroCRUD.draft.update({
98
- id,
12
+ await tx.mutate.draft.update({
13
+ id: args.id,
99
14
  scheduledFor: null,
100
15
  status: 'DRAFT',
101
- updatedAt,
102
- }));
103
- }),
104
- createAttachment: defineMutator(draftMutatorSchemas.createAttachment, async ({ tx, args: { id, attachment, updatedAt } }) => {
105
- await tx.mutate(zeroCRUD.draftAttachment.insert({
106
- draftId: id,
107
- fileName: attachment.fileName,
108
- id: attachment.id,
109
- mimeType: attachment.mimeType,
110
- status: attachment.status,
111
- totalSize: attachment.totalSize,
112
- }));
113
- await tx.mutate(zeroCRUD.draft.update({ id, updatedAt }));
114
- }),
115
- createDraft: defineMutator(draftMutatorSchemas.createDraft, async ({ tx, ctx: { userId }, args }) => {
116
- await tx.mutate(zeroCRUD.draft.insert({
16
+ updatedAt: args.updatedAt,
17
+ });
18
+ },
19
+ createAttachment: async (tx, args) => {
20
+ await tx.mutate.draftAttachment.insert({
21
+ draftId: args.id,
22
+ fileName: args.attachment.fileName,
23
+ id: args.attachment.id,
24
+ mimeType: args.attachment.mimeType,
25
+ status: args.attachment.status,
26
+ totalSize: args.attachment.totalSize,
27
+ });
28
+ await tx.mutate.draft.update({
29
+ id: args.id,
30
+ updatedAt: args.updatedAt,
31
+ });
32
+ },
33
+ createDraft: async (tx, args) => {
34
+ if (!authData) {
35
+ throw new Error(MutationError.AUTHENTICATION_REQUIRED);
36
+ }
37
+ await tx.mutate.draft.insert({
117
38
  accountId: args.accountId,
118
39
  body: {
119
40
  bcc: args.body.bcc,
@@ -132,85 +53,90 @@ export const draftMutators = {
132
53
  subject: args.body.subject,
133
54
  type: args.type,
134
55
  updatedAt: args.updatedAt,
135
- userId,
136
- }));
56
+ userId: authData.sub,
57
+ });
137
58
  for (const attachment of args.attachments) {
138
- await tx.mutate(zeroCRUD.draftAttachment.insert({
59
+ await tx.mutate.draftAttachment.insert({
139
60
  draftId: args.id,
140
61
  fileName: attachment.fileName,
141
62
  id: attachment.id,
142
63
  mimeType: attachment.mimeType,
143
64
  status: attachment.status,
144
65
  totalSize: attachment.totalSize,
145
- }));
66
+ });
146
67
  }
147
- }),
148
- deleteAttachment: defineMutator(draftMutatorSchemas.deleteAttachment, async ({ tx, args: { id, attachmentId, updatedAt } }) => {
149
- await tx.mutate(zeroCRUD.draftAttachment.delete({
150
- id: attachmentId,
151
- }));
152
- await tx.mutate(zeroCRUD.draft.update({ id, updatedAt }));
153
- }),
154
- deleteDraft: defineMutator(draftMutatorSchemas.deleteDraft, async ({ tx, args: { id } }) => {
155
- await tx.mutate(zeroCRUD.draft.delete({ id }));
156
- }),
157
- scheduleSend: defineMutator(draftScheduleSchema, async ({ tx, args }) => {
68
+ },
69
+ deleteAttachment: async (tx, args) => {
70
+ await tx.mutate.draftAttachment.delete({
71
+ id: args.attachmentId,
72
+ });
73
+ await tx.mutate.draft.update({
74
+ id: args.id,
75
+ updatedAt: args.updatedAt,
76
+ });
77
+ },
78
+ deleteDraft: async (tx, args) => {
79
+ await tx.mutate.draft.delete({
80
+ id: args.id,
81
+ });
82
+ },
83
+ scheduleSend: async (tx, args) => {
158
84
  if (args.kind === 'IMMEDIATE') {
159
- await tx.mutate(zeroCRUD.draft.update({
85
+ await tx.mutate.draft.update({
160
86
  id: args.id,
161
87
  scheduledFor: args.updatedAt + args.undoMs,
162
88
  status: 'SEND_REQUESTED',
163
89
  updatedAt: args.updatedAt,
164
- }));
90
+ });
165
91
  }
166
92
  else {
167
- await tx.mutate(zeroCRUD.draft.update({
93
+ await tx.mutate.draft.update({
168
94
  id: args.id,
169
95
  scheduledFor: args.scheduledFor,
170
96
  status: 'SEND_REQUESTED',
171
97
  updatedAt: args.updatedAt,
172
- }));
98
+ });
173
99
  }
174
- }),
175
- setContent: defineMutator(draftMutatorSchemas.setContent, async ({ tx, args: { id, patch, updatedAt } }) => {
176
- const draft = await tx.run(z.draft.where('id', id).one());
100
+ },
101
+ setContent: async (tx, args) => {
102
+ const draft = await tx.query.draft.where('id', args.id).one().run();
177
103
  if (!draft) {
178
104
  throw new Error(MutationError.ENTITY_NOT_FOUND);
179
105
  }
180
- await tx.mutate(zeroCRUD.draft.update({
106
+ await tx.mutate.draft.update({
181
107
  body: {
182
108
  ...draft.body,
183
- content: stringPatch.apply(typeof draft.body?.content === 'string' ? draft.body.content : '', patch),
109
+ content: stringPatch.apply(typeof draft.body?.content === 'string' ? draft.body.content : '', args.patch),
184
110
  },
185
- id,
186
- updatedAt,
187
- }));
188
- }),
189
- setEnvelope: defineMutator(draftMutatorSchemas.setEnvelope, async ({ tx, args: { id, envelope, updatedAt } }) => {
190
- const draft = await tx.run(z.draft.where('id', id).one());
111
+ id: args.id,
112
+ updatedAt: args.updatedAt,
113
+ });
114
+ },
115
+ setEnvelope: async (tx, args) => {
116
+ const draft = await tx.query.draft.where('id', args.id).one().run();
191
117
  if (!draft) {
192
118
  throw new Error(MutationError.ENTITY_NOT_FOUND);
193
119
  }
194
- await tx.mutate(zeroCRUD.draft.update({
120
+ await tx.mutate.draft.update({
195
121
  body: {
196
- bcc: envelope.bcc,
197
- cc: envelope.cc,
122
+ bcc: args.envelope.bcc,
123
+ cc: args.envelope.cc,
198
124
  content: draft.body.content,
199
- to: envelope.to,
125
+ to: args.envelope.to,
200
126
  },
201
- id,
202
- subject: envelope.subject,
203
- updatedAt,
204
- }));
205
- }),
206
- setFrom: defineMutator(draftMutatorSchemas.setFrom, async ({ tx, args: { id, accountId, aliasId, from, fromName, updatedAt } }) => {
207
- await tx.mutate(zeroCRUD.draft.update({
208
- accountId,
209
- fromAliasId: aliasId,
210
- fromEmail: from,
211
- fromName: fromName,
212
- id,
213
- updatedAt,
214
- }));
215
- }),
216
- };
127
+ id: args.id,
128
+ subject: args.envelope.subject,
129
+ updatedAt: args.updatedAt,
130
+ });
131
+ },
132
+ setFrom: async (tx, args) => {
133
+ await tx.mutate.draft.update({
134
+ accountId: args.accountId,
135
+ fromAliasId: args.aliasId,
136
+ fromEmail: args.from,
137
+ fromName: args.fromName,
138
+ id: args.id,
139
+ updatedAt: args.updatedAt,
140
+ });
141
+ },
142
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=draftMutators.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draftMutators.test.d.ts","sourceRoot":"","sources":["../../../../src/zero/mutators/draftMutators/draftMutators.test.ts"],"names":[],"mappings":""}