@marcoappio/marco-config 2.0.413 → 2.0.414
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/instantDB/instant.perms.d.ts +27 -3
- package/dist/instantDB/instant.perms.d.ts.map +1 -1
- package/dist/instantDB/instant.perms.js +29 -5
- package/dist/instantDB/instant.schema.d.ts +95 -70
- package/dist/instantDB/instant.schema.d.ts.map +1 -1
- package/dist/instantDB/instant.schema.js +50 -26
- package/package.json +1 -1
|
@@ -5,6 +5,12 @@ declare const rules: {
|
|
|
5
5
|
};
|
|
6
6
|
bind: string[];
|
|
7
7
|
};
|
|
8
|
+
accountMailCounts: {
|
|
9
|
+
allow: {
|
|
10
|
+
view: string;
|
|
11
|
+
};
|
|
12
|
+
bind: string[];
|
|
13
|
+
};
|
|
8
14
|
accountSettings: {
|
|
9
15
|
allow: {
|
|
10
16
|
update: string;
|
|
@@ -45,6 +51,15 @@ declare const rules: {
|
|
|
45
51
|
};
|
|
46
52
|
bind: string[];
|
|
47
53
|
};
|
|
54
|
+
draftRecipients: {
|
|
55
|
+
allow: {
|
|
56
|
+
create: string;
|
|
57
|
+
delete: string;
|
|
58
|
+
update: string;
|
|
59
|
+
view: string;
|
|
60
|
+
};
|
|
61
|
+
bind: string[];
|
|
62
|
+
};
|
|
48
63
|
drafts: {
|
|
49
64
|
allow: {
|
|
50
65
|
create: string;
|
|
@@ -60,24 +75,33 @@ declare const rules: {
|
|
|
60
75
|
};
|
|
61
76
|
bind: string[];
|
|
62
77
|
};
|
|
63
|
-
|
|
78
|
+
messageAttachments: {
|
|
64
79
|
allow: {
|
|
65
80
|
view: string;
|
|
66
81
|
};
|
|
67
82
|
bind: string[];
|
|
68
83
|
};
|
|
69
|
-
|
|
84
|
+
messageLabels: {
|
|
70
85
|
allow: {
|
|
86
|
+
create: string;
|
|
87
|
+
delete: string;
|
|
88
|
+
update: string;
|
|
71
89
|
view: string;
|
|
72
90
|
};
|
|
73
91
|
bind: string[];
|
|
74
92
|
};
|
|
75
|
-
|
|
93
|
+
messages: {
|
|
76
94
|
allow: {
|
|
77
95
|
view: string;
|
|
78
96
|
};
|
|
79
97
|
bind: string[];
|
|
80
98
|
};
|
|
99
|
+
threadBagOfWords: {
|
|
100
|
+
allow: {
|
|
101
|
+
view: string;
|
|
102
|
+
};
|
|
103
|
+
bind: never[];
|
|
104
|
+
};
|
|
81
105
|
threads: {
|
|
82
106
|
allow: {
|
|
83
107
|
create: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instant.perms.d.ts","sourceRoot":"","sources":["../../src/instantDB/instant.perms.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"instant.perms.d.ts","sourceRoot":"","sources":["../../src/instantDB/instant.perms.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmIa,CAAA;AAExB,eAAe,KAAK,CAAA"}
|
|
@@ -5,6 +5,12 @@ const rules = {
|
|
|
5
5
|
},
|
|
6
6
|
bind: ['isOwner', 'data.id == auth.id'],
|
|
7
7
|
},
|
|
8
|
+
accountMailCounts: {
|
|
9
|
+
allow: {
|
|
10
|
+
view: 'isOwner',
|
|
11
|
+
},
|
|
12
|
+
bind: ['isOwner', 'data.userId == auth.id'],
|
|
13
|
+
},
|
|
8
14
|
accountSettings: {
|
|
9
15
|
allow: {
|
|
10
16
|
update: 'isOwner',
|
|
@@ -45,6 +51,15 @@ const rules = {
|
|
|
45
51
|
},
|
|
46
52
|
bind: ['isOwner', 'data.userId == auth.id'],
|
|
47
53
|
},
|
|
54
|
+
draftRecipients: {
|
|
55
|
+
allow: {
|
|
56
|
+
create: 'isOwner',
|
|
57
|
+
delete: 'isOwner',
|
|
58
|
+
update: 'isOwner',
|
|
59
|
+
view: 'isOwner',
|
|
60
|
+
},
|
|
61
|
+
bind: ['isOwner', 'data.userId == auth.id'],
|
|
62
|
+
},
|
|
48
63
|
drafts: {
|
|
49
64
|
allow: {
|
|
50
65
|
create: 'isOwner',
|
|
@@ -60,24 +75,33 @@ const rules = {
|
|
|
60
75
|
},
|
|
61
76
|
bind: ['isOwner', 'data.userId == auth.id'],
|
|
62
77
|
},
|
|
63
|
-
|
|
78
|
+
messageAttachments: {
|
|
64
79
|
allow: {
|
|
65
80
|
view: 'isOwner',
|
|
66
81
|
},
|
|
67
82
|
bind: ['isOwner', 'data.userId == auth.id'],
|
|
68
83
|
},
|
|
69
|
-
|
|
84
|
+
messageLabels: {
|
|
70
85
|
allow: {
|
|
71
|
-
|
|
86
|
+
create: 'isOwner',
|
|
87
|
+
delete: 'isOwner',
|
|
88
|
+
update: 'isOwner',
|
|
89
|
+
view: 'isOwner',
|
|
72
90
|
},
|
|
73
|
-
bind: ['
|
|
91
|
+
bind: ['isOwner', 'data.userId == auth.id'],
|
|
74
92
|
},
|
|
75
|
-
|
|
93
|
+
messages: {
|
|
76
94
|
allow: {
|
|
77
95
|
view: 'isOwner',
|
|
78
96
|
},
|
|
79
97
|
bind: ['isOwner', 'data.userId == auth.id'],
|
|
80
98
|
},
|
|
99
|
+
threadBagOfWords: {
|
|
100
|
+
allow: {
|
|
101
|
+
view: 'auth.id != null',
|
|
102
|
+
},
|
|
103
|
+
bind: [],
|
|
104
|
+
},
|
|
81
105
|
threads: {
|
|
82
106
|
allow: {
|
|
83
107
|
create: 'isOwner',
|
|
@@ -3,10 +3,13 @@ declare const schema: import("@instantdb/core").InstantSchemaDef<import("@instan
|
|
|
3
3
|
$users: import("@instantdb/core").EntityDef<{
|
|
4
4
|
email: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
5
5
|
}, {}, void>;
|
|
6
|
+
accountMailCounts: import("@instantdb/core").EntityDef<{
|
|
7
|
+
processed: import("@instantdb/core").DataAttrDef<number, true, false>;
|
|
8
|
+
total: import("@instantdb/core").DataAttrDef<number, true, false>;
|
|
9
|
+
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
10
|
+
}, {}, void>;
|
|
6
11
|
accountSettings: import("@instantdb/core").EntityDef<{
|
|
7
12
|
color: import("@instantdb/core").DataAttrDef<string, true, false>;
|
|
8
|
-
mailProcessed: import("@instantdb/core").DataAttrDef<number, true, false>;
|
|
9
|
-
mailTotal: import("@instantdb/core").DataAttrDef<number, true, false>;
|
|
10
13
|
name: import("@instantdb/core").DataAttrDef<string, false, false>;
|
|
11
14
|
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
12
15
|
}, {}, void>;
|
|
@@ -34,13 +37,18 @@ declare const schema: import("@instantdb/core").InstantSchemaDef<import("@instan
|
|
|
34
37
|
uploadedChunks: import("@instantdb/core").DataAttrDef<number, true, false>;
|
|
35
38
|
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
36
39
|
}, {}, void>;
|
|
40
|
+
draftRecipients: import("@instantdb/core").EntityDef<{
|
|
41
|
+
emailAddress: import("@instantdb/core").DataAttrDef<string, true, false>;
|
|
42
|
+
recipientType: import("@instantdb/core").DataAttrDef<string, true, false>;
|
|
43
|
+
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
44
|
+
}, {}, void>;
|
|
37
45
|
drafts: import("@instantdb/core").EntityDef<{
|
|
38
46
|
bodyContent: import("@instantdb/core").DataAttrDef<string, true, false>;
|
|
39
47
|
bodySubject: import("@instantdb/core").DataAttrDef<string, false, false>;
|
|
40
48
|
emailAccountId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
41
49
|
error: import("@instantdb/core").DataAttrDef<string, false, false>;
|
|
42
|
-
from: import("@instantdb/core").DataAttrDef<
|
|
43
|
-
|
|
50
|
+
from: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
51
|
+
fromName: import("@instantdb/core").DataAttrDef<string, false, false>;
|
|
44
52
|
referencedMessageId: import("@instantdb/core").DataAttrDef<string, false, true>;
|
|
45
53
|
scheduledFor: import("@instantdb/core").DataAttrDef<number, false, true>;
|
|
46
54
|
status: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
@@ -54,26 +62,31 @@ declare const schema: import("@instantdb/core").InstantSchemaDef<import("@instan
|
|
|
54
62
|
specialUse: import("@instantdb/core").DataAttrDef<string, false, true>;
|
|
55
63
|
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
56
64
|
}, {}, void>;
|
|
65
|
+
messageAttachments: import("@instantdb/core").EntityDef<{
|
|
66
|
+
attachmentId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
67
|
+
fileName: import("@instantdb/core").DataAttrDef<string, true, false>;
|
|
68
|
+
mimeType: import("@instantdb/core").DataAttrDef<string, true, false>;
|
|
69
|
+
size: import("@instantdb/core").DataAttrDef<number, true, false>;
|
|
70
|
+
status: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
71
|
+
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
72
|
+
}, {}, void>;
|
|
73
|
+
messageLabels: import("@instantdb/core").EntityDef<{
|
|
74
|
+
labelId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
75
|
+
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
76
|
+
}, {}, void>;
|
|
57
77
|
messages: import("@instantdb/core").EntityDef<{
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
78
|
+
envelopeDate: import("@instantdb/core").DataAttrDef<number, true, true>;
|
|
79
|
+
envelopeSubject: import("@instantdb/core").DataAttrDef<string, false, false>;
|
|
80
|
+
fromEmailAddress: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
81
|
+
fromName: import("@instantdb/core").DataAttrDef<string, false, false>;
|
|
62
82
|
messageId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
63
83
|
previewText: import("@instantdb/core").DataAttrDef<string, true, false>;
|
|
64
84
|
recipients: import("@instantdb/core").DataAttrDef<any, true, false>;
|
|
65
|
-
subject: import("@instantdb/core").DataAttrDef<string, false, false>;
|
|
66
|
-
threadId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
67
85
|
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
68
86
|
}, {}, void>;
|
|
69
87
|
threadBagOfWords: import("@instantdb/core").EntityDef<{
|
|
70
88
|
word: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
71
89
|
}, {}, void>;
|
|
72
|
-
threadBagOfWordsLink: import("@instantdb/core").EntityDef<{
|
|
73
|
-
threadId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
74
|
-
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
75
|
-
wordId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
76
|
-
}, {}, void>;
|
|
77
90
|
threads: import("@instantdb/core").EntityDef<{
|
|
78
91
|
emailAccountId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
79
92
|
flagged: import("@instantdb/core").DataAttrDef<boolean, true, true>;
|
|
@@ -82,7 +95,6 @@ declare const schema: import("@instantdb/core").InstantSchemaDef<import("@instan
|
|
|
82
95
|
messageIds: import("@instantdb/core").DataAttrDef<any, true, false>;
|
|
83
96
|
participants: import("@instantdb/core").DataAttrDef<any, true, false>;
|
|
84
97
|
seen: import("@instantdb/core").DataAttrDef<boolean, true, true>;
|
|
85
|
-
threadId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
86
98
|
userId: import("@instantdb/core").DataAttrDef<string, true, true>;
|
|
87
99
|
}, {}, void>;
|
|
88
100
|
userPushNotificationToken: import("@instantdb/core").EntityDef<{
|
|
@@ -120,6 +132,18 @@ declare const schema: import("@instantdb/core").InstantSchemaDef<import("@instan
|
|
|
120
132
|
readonly on: "accounts";
|
|
121
133
|
};
|
|
122
134
|
};
|
|
135
|
+
readonly accountMailCountsLink: {
|
|
136
|
+
readonly forward: {
|
|
137
|
+
readonly has: "one";
|
|
138
|
+
readonly label: "account";
|
|
139
|
+
readonly on: "accountMailCounts";
|
|
140
|
+
};
|
|
141
|
+
readonly reverse: {
|
|
142
|
+
readonly has: "one";
|
|
143
|
+
readonly label: "mailCounts";
|
|
144
|
+
readonly on: "accounts";
|
|
145
|
+
};
|
|
146
|
+
};
|
|
123
147
|
readonly accountSettingsLink: {
|
|
124
148
|
readonly forward: {
|
|
125
149
|
readonly has: "one";
|
|
@@ -156,16 +180,40 @@ declare const schema: import("@instantdb/core").InstantSchemaDef<import("@instan
|
|
|
156
180
|
readonly on: "drafts";
|
|
157
181
|
};
|
|
158
182
|
};
|
|
159
|
-
readonly
|
|
183
|
+
readonly draftRecipientLinks: {
|
|
160
184
|
readonly forward: {
|
|
161
185
|
readonly has: "one";
|
|
162
|
-
readonly label: "
|
|
186
|
+
readonly label: "draft";
|
|
187
|
+
readonly on: "draftRecipients";
|
|
188
|
+
};
|
|
189
|
+
readonly reverse: {
|
|
190
|
+
readonly has: "many";
|
|
191
|
+
readonly label: "bodyRecipients";
|
|
192
|
+
readonly on: "drafts";
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
readonly messageAttachmentLinks: {
|
|
196
|
+
readonly forward: {
|
|
197
|
+
readonly has: "one";
|
|
198
|
+
readonly label: "message";
|
|
199
|
+
readonly on: "messageAttachments";
|
|
200
|
+
};
|
|
201
|
+
readonly reverse: {
|
|
202
|
+
readonly has: "many";
|
|
203
|
+
readonly label: "attachments";
|
|
163
204
|
readonly on: "messages";
|
|
164
205
|
};
|
|
206
|
+
};
|
|
207
|
+
readonly messageLabelLinks: {
|
|
208
|
+
readonly forward: {
|
|
209
|
+
readonly has: "one";
|
|
210
|
+
readonly label: "message";
|
|
211
|
+
readonly on: "messageLabels";
|
|
212
|
+
};
|
|
165
213
|
readonly reverse: {
|
|
166
214
|
readonly has: "many";
|
|
167
|
-
readonly label: "
|
|
168
|
-
readonly on: "
|
|
215
|
+
readonly label: "labelIds";
|
|
216
|
+
readonly on: "messages";
|
|
169
217
|
};
|
|
170
218
|
};
|
|
171
219
|
readonly threadAccount: {
|
|
@@ -180,18 +228,30 @@ declare const schema: import("@instantdb/core").InstantSchemaDef<import("@instan
|
|
|
180
228
|
readonly on: "accounts";
|
|
181
229
|
};
|
|
182
230
|
};
|
|
183
|
-
readonly
|
|
231
|
+
readonly threadMessages: {
|
|
184
232
|
readonly forward: {
|
|
185
233
|
readonly has: "one";
|
|
186
234
|
readonly label: "thread";
|
|
187
|
-
readonly on: "
|
|
235
|
+
readonly on: "messages";
|
|
188
236
|
};
|
|
189
237
|
readonly reverse: {
|
|
190
238
|
readonly has: "many";
|
|
191
|
-
readonly label: "
|
|
239
|
+
readonly label: "messages";
|
|
192
240
|
readonly on: "threads";
|
|
193
241
|
};
|
|
194
242
|
};
|
|
243
|
+
readonly threadWords: {
|
|
244
|
+
readonly forward: {
|
|
245
|
+
readonly has: "many";
|
|
246
|
+
readonly label: "words";
|
|
247
|
+
readonly on: "threads";
|
|
248
|
+
};
|
|
249
|
+
readonly reverse: {
|
|
250
|
+
readonly has: "many";
|
|
251
|
+
readonly label: "threads";
|
|
252
|
+
readonly on: "threadBagOfWords";
|
|
253
|
+
};
|
|
254
|
+
};
|
|
195
255
|
readonly userAccounts: {
|
|
196
256
|
readonly forward: {
|
|
197
257
|
readonly has: "one";
|
|
@@ -240,18 +300,6 @@ declare const schema: import("@instantdb/core").InstantSchemaDef<import("@instan
|
|
|
240
300
|
readonly on: "userSettings";
|
|
241
301
|
};
|
|
242
302
|
};
|
|
243
|
-
readonly wordBagOfWordsJunction: {
|
|
244
|
-
readonly forward: {
|
|
245
|
-
readonly has: "one";
|
|
246
|
-
readonly label: "word";
|
|
247
|
-
readonly on: "threadBagOfWordsLink";
|
|
248
|
-
};
|
|
249
|
-
readonly reverse: {
|
|
250
|
-
readonly has: "many";
|
|
251
|
-
readonly label: "threadLinks";
|
|
252
|
-
readonly on: "threadBagOfWords";
|
|
253
|
-
};
|
|
254
|
-
};
|
|
255
303
|
}>, import("@instantdb/core").LinksDef<any>, {}>;
|
|
256
304
|
type BaseAppSchema = typeof schema;
|
|
257
305
|
export type AppSchema = {
|
|
@@ -259,55 +307,32 @@ export type AppSchema = {
|
|
|
259
307
|
accounts: Omit<BaseAppSchema['entities']['accounts'], 'imapConnectionStatus'> & {
|
|
260
308
|
imapConnectionStatus: ImapConnectionStatus;
|
|
261
309
|
};
|
|
310
|
+
draftRecipients: Omit<BaseAppSchema['entities']['draftRecipients'], 'recipientType'> & {
|
|
311
|
+
recipientType: DraftRecipientType;
|
|
312
|
+
};
|
|
313
|
+
drafts: Omit<BaseAppSchema['entities']['drafts'], 'status' | 'type'> & {
|
|
314
|
+
status: DraftStatus;
|
|
315
|
+
type: DraftType;
|
|
316
|
+
};
|
|
262
317
|
labels: Omit<BaseAppSchema['entities']['labels'], 'specialUse'> & {
|
|
263
318
|
specialUse: LabelSpecialUse | null;
|
|
264
319
|
};
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
};
|
|
320
|
+
messageAttachments: Omit<BaseAppSchema['entities']['messageAttachments'], 'status'> & {
|
|
321
|
+
status: MessageAttachmentStatus;
|
|
322
|
+
};
|
|
323
|
+
messages: Omit<BaseAppSchema['entities']['messages'], 'recipients'> & {
|
|
270
324
|
recipients: Array<{
|
|
271
325
|
email: string;
|
|
272
326
|
name: string | null;
|
|
273
327
|
type: MessageRecipientType;
|
|
274
328
|
}>;
|
|
275
|
-
attachments: Array<{
|
|
276
|
-
attachmentId: string;
|
|
277
|
-
fileName: string;
|
|
278
|
-
mimeType: string;
|
|
279
|
-
size: number;
|
|
280
|
-
status: MessageAttachmentStatus;
|
|
281
|
-
}>;
|
|
282
|
-
labelIds: string[];
|
|
283
329
|
};
|
|
284
330
|
threads: Omit<BaseAppSchema['entities']['threads'], 'labelIds' | 'messageIds' | 'participants'> & {
|
|
285
331
|
labelIds: string[];
|
|
286
332
|
messageIds: string[];
|
|
287
333
|
participants: string[];
|
|
288
334
|
};
|
|
289
|
-
|
|
290
|
-
from: {
|
|
291
|
-
email: string;
|
|
292
|
-
name: string | null;
|
|
293
|
-
};
|
|
294
|
-
recipients: Array<{
|
|
295
|
-
email: string;
|
|
296
|
-
name: string | null;
|
|
297
|
-
type: DraftRecipientType;
|
|
298
|
-
}>;
|
|
299
|
-
attachments: Array<{
|
|
300
|
-
fileName: string;
|
|
301
|
-
mimeType: string;
|
|
302
|
-
size: number;
|
|
303
|
-
uploadedChunks: number;
|
|
304
|
-
totalChunks: number;
|
|
305
|
-
failed: boolean;
|
|
306
|
-
}>;
|
|
307
|
-
status: DraftStatus;
|
|
308
|
-
type: DraftType;
|
|
309
|
-
};
|
|
310
|
-
} & Omit<BaseAppSchema['entities'], 'accounts' | 'drafts' | 'labels' | 'messages' | 'threads'> : BaseAppSchema[K];
|
|
335
|
+
} & Omit<BaseAppSchema['entities'], 'accounts' | 'draftRecipients' | 'drafts' | 'labels' | 'messageAttachments' | 'messages' | 'threads'> : BaseAppSchema[K];
|
|
311
336
|
};
|
|
312
337
|
export default schema;
|
|
313
338
|
//# sourceMappingURL=instant.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instant.schema.d.ts","sourceRoot":"","sources":["../../src/instantDB/instant.schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,QAAA,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"instant.schema.d.ts","sourceRoot":"","sources":["../../src/instantDB/instant.schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAiLV,CAAA;AAEF,KAAK,aAAa,GAAG,OAAO,MAAM,CAAA;AAElC,MAAM,MAAM,SAAS,GAAG;KACrB,CAAC,IAAI,MAAM,aAAa,GAAG,CAAC,SAAS,UAAU,GAC5C;QACE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,GAAG;YAC9E,oBAAoB,EAAE,oBAAoB,CAAA;SAC3C,CAAA;QACD,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC,GAAG;YACrF,aAAa,EAAE,kBAAkB,CAAA;SAClC,CAAA;QACD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG;YACrE,MAAM,EAAE,WAAW,CAAA;YACnB,IAAI,EAAE,SAAS,CAAA;SAChB,CAAA;QACD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG;YAChE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;SACnC,CAAA;QACD,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,GAAG;YACpF,MAAM,EAAE,uBAAuB,CAAA;SAChC,CAAA;QACD,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,GAAG;YACpE,UAAU,EAAE,KAAK,CAAC;gBAChB,KAAK,EAAE,MAAM,CAAA;gBACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;gBACnB,IAAI,EAAE,oBAAoB,CAAA;aAC3B,CAAC,CAAA;SACH,CAAA;QACD,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,cAAc,CAAC,GAAG;YAChG,QAAQ,EAAE,MAAM,EAAE,CAAA;YAClB,UAAU,EAAE,MAAM,EAAE,CAAA;YACpB,YAAY,EAAE,MAAM,EAAE,CAAA;SACvB,CAAA;KACF,GAAG,IAAI,CACN,aAAa,CAAC,UAAU,CAAC,EACzB,UAAU,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,oBAAoB,GAAG,UAAU,GAAG,SAAS,CACrG,GACD,aAAa,CAAC,CAAC,CAAC;CACrB,CAAA;AAED,eAAe,MAAM,CAAA"}
|
|
@@ -4,10 +4,13 @@ const schema = i.schema({
|
|
|
4
4
|
$users: i.entity({
|
|
5
5
|
email: i.string().unique().indexed(),
|
|
6
6
|
}),
|
|
7
|
+
accountMailCounts: i.entity({
|
|
8
|
+
processed: i.number(),
|
|
9
|
+
total: i.number(),
|
|
10
|
+
userId: i.string().indexed(),
|
|
11
|
+
}),
|
|
7
12
|
accountSettings: i.entity({
|
|
8
13
|
color: i.string(),
|
|
9
|
-
mailProcessed: i.number(),
|
|
10
|
-
mailTotal: i.number(),
|
|
11
14
|
name: i.string().optional(),
|
|
12
15
|
userId: i.string().indexed(),
|
|
13
16
|
}),
|
|
@@ -35,13 +38,18 @@ const schema = i.schema({
|
|
|
35
38
|
uploadedChunks: i.number(),
|
|
36
39
|
userId: i.string().indexed(),
|
|
37
40
|
}),
|
|
41
|
+
draftRecipients: i.entity({
|
|
42
|
+
emailAddress: i.string(),
|
|
43
|
+
recipientType: i.string(),
|
|
44
|
+
userId: i.string().indexed(),
|
|
45
|
+
}),
|
|
38
46
|
drafts: i.entity({
|
|
39
47
|
bodyContent: i.string(),
|
|
40
48
|
bodySubject: i.string().optional(),
|
|
41
49
|
emailAccountId: i.string().indexed(),
|
|
42
50
|
error: i.string().optional(),
|
|
43
|
-
from: i.
|
|
44
|
-
|
|
51
|
+
from: i.string().indexed(),
|
|
52
|
+
fromName: i.string().optional(),
|
|
45
53
|
referencedMessageId: i.string().indexed().optional(),
|
|
46
54
|
scheduledFor: i.number().indexed().optional(),
|
|
47
55
|
status: i.string().indexed(),
|
|
@@ -55,26 +63,31 @@ const schema = i.schema({
|
|
|
55
63
|
specialUse: i.string().indexed().optional(),
|
|
56
64
|
userId: i.string().indexed(),
|
|
57
65
|
}),
|
|
66
|
+
messageAttachments: i.entity({
|
|
67
|
+
attachmentId: i.string().indexed(),
|
|
68
|
+
fileName: i.string(),
|
|
69
|
+
mimeType: i.string(),
|
|
70
|
+
size: i.number(),
|
|
71
|
+
status: i.string().indexed(),
|
|
72
|
+
userId: i.string().indexed(),
|
|
73
|
+
}),
|
|
74
|
+
messageLabels: i.entity({
|
|
75
|
+
labelId: i.string().indexed(),
|
|
76
|
+
userId: i.string().indexed(),
|
|
77
|
+
}),
|
|
58
78
|
messages: i.entity({
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
79
|
+
envelopeDate: i.number().indexed(),
|
|
80
|
+
envelopeSubject: i.string().optional(),
|
|
81
|
+
fromEmailAddress: i.string().indexed(),
|
|
82
|
+
fromName: i.string().optional(),
|
|
63
83
|
messageId: i.string().indexed(),
|
|
64
84
|
previewText: i.string(),
|
|
65
85
|
recipients: i.json(),
|
|
66
|
-
subject: i.string().optional(),
|
|
67
|
-
threadId: i.string().indexed(),
|
|
68
86
|
userId: i.string().indexed(),
|
|
69
87
|
}),
|
|
70
88
|
threadBagOfWords: i.entity({
|
|
71
89
|
word: i.string().unique().indexed(),
|
|
72
90
|
}),
|
|
73
|
-
threadBagOfWordsLink: i.entity({
|
|
74
|
-
threadId: i.string().indexed(),
|
|
75
|
-
userId: i.string().indexed(),
|
|
76
|
-
wordId: i.string().indexed(),
|
|
77
|
-
}),
|
|
78
91
|
threads: i.entity({
|
|
79
92
|
emailAccountId: i.string().indexed(),
|
|
80
93
|
flagged: i.boolean().indexed(),
|
|
@@ -83,7 +96,6 @@ const schema = i.schema({
|
|
|
83
96
|
messageIds: i.json(),
|
|
84
97
|
participants: i.json(),
|
|
85
98
|
seen: i.boolean().indexed(),
|
|
86
|
-
threadId: i.string().indexed(),
|
|
87
99
|
userId: i.string().indexed(),
|
|
88
100
|
}),
|
|
89
101
|
userPushNotificationToken: i.entity({
|
|
@@ -106,6 +118,10 @@ const schema = i.schema({
|
|
|
106
118
|
forward: { has: 'one', label: 'account', on: 'labels' },
|
|
107
119
|
reverse: { has: 'many', label: 'labels', on: 'accounts' },
|
|
108
120
|
},
|
|
121
|
+
accountMailCountsLink: {
|
|
122
|
+
forward: { has: 'one', label: 'account', on: 'accountMailCounts' },
|
|
123
|
+
reverse: { has: 'one', label: 'mailCounts', on: 'accounts' },
|
|
124
|
+
},
|
|
109
125
|
accountSettingsLink: {
|
|
110
126
|
forward: { has: 'one', label: 'account', on: 'accountSettings' },
|
|
111
127
|
reverse: { has: 'one', label: 'settings', on: 'accounts' },
|
|
@@ -118,17 +134,29 @@ const schema = i.schema({
|
|
|
118
134
|
forward: { has: 'one', label: 'draft', on: 'draftAttachments' },
|
|
119
135
|
reverse: { has: 'many', label: 'attachments', on: 'drafts' },
|
|
120
136
|
},
|
|
121
|
-
|
|
122
|
-
forward: { has: 'one', label: '
|
|
123
|
-
reverse: { has: 'many', label: '
|
|
137
|
+
draftRecipientLinks: {
|
|
138
|
+
forward: { has: 'one', label: 'draft', on: 'draftRecipients' },
|
|
139
|
+
reverse: { has: 'many', label: 'bodyRecipients', on: 'drafts' },
|
|
140
|
+
},
|
|
141
|
+
messageAttachmentLinks: {
|
|
142
|
+
forward: { has: 'one', label: 'message', on: 'messageAttachments' },
|
|
143
|
+
reverse: { has: 'many', label: 'attachments', on: 'messages' },
|
|
144
|
+
},
|
|
145
|
+
messageLabelLinks: {
|
|
146
|
+
forward: { has: 'one', label: 'message', on: 'messageLabels' },
|
|
147
|
+
reverse: { has: 'many', label: 'labelIds', on: 'messages' },
|
|
124
148
|
},
|
|
125
149
|
threadAccount: {
|
|
126
150
|
forward: { has: 'one', label: 'account', on: 'threads' },
|
|
127
151
|
reverse: { has: 'many', label: 'threads', on: 'accounts' },
|
|
128
152
|
},
|
|
129
|
-
|
|
130
|
-
forward: { has: 'one', label: 'thread', on: '
|
|
131
|
-
reverse: { has: 'many', label: '
|
|
153
|
+
threadMessages: {
|
|
154
|
+
forward: { has: 'one', label: 'thread', on: 'messages' },
|
|
155
|
+
reverse: { has: 'many', label: 'messages', on: 'threads' },
|
|
156
|
+
},
|
|
157
|
+
threadWords: {
|
|
158
|
+
forward: { has: 'many', label: 'words', on: 'threads' },
|
|
159
|
+
reverse: { has: 'many', label: 'threads', on: 'threadBagOfWords' },
|
|
132
160
|
},
|
|
133
161
|
userAccounts: {
|
|
134
162
|
forward: { has: 'one', label: 'user', on: 'accounts' },
|
|
@@ -146,10 +174,6 @@ const schema = i.schema({
|
|
|
146
174
|
forward: { has: 'one', label: 'userSettings', on: 'userPushNotificationToken' },
|
|
147
175
|
reverse: { has: 'many', label: 'pushNotificationTokens', on: 'userSettings' },
|
|
148
176
|
},
|
|
149
|
-
wordBagOfWordsJunction: {
|
|
150
|
-
forward: { has: 'one', label: 'word', on: 'threadBagOfWordsLink' },
|
|
151
|
-
reverse: { has: 'many', label: 'threadLinks', on: 'threadBagOfWords' },
|
|
152
|
-
},
|
|
153
177
|
},
|
|
154
178
|
rooms: {},
|
|
155
179
|
});
|