@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.
@@ -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
- messages: {
78
+ messageAttachments: {
64
79
  allow: {
65
80
  view: string;
66
81
  };
67
82
  bind: string[];
68
83
  };
69
- threadBagOfWords: {
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
- threadBagOfWordsLink: {
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Ga,CAAA;AAExB,eAAe,KAAK,CAAA"}
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
- messages: {
78
+ messageAttachments: {
64
79
  allow: {
65
80
  view: 'isOwner',
66
81
  },
67
82
  bind: ['isOwner', 'data.userId == auth.id'],
68
83
  },
69
- threadBagOfWords: {
84
+ messageLabels: {
70
85
  allow: {
71
- view: 'hasLink',
86
+ create: 'isOwner',
87
+ delete: 'isOwner',
88
+ update: 'isOwner',
89
+ view: 'isOwner',
72
90
  },
73
- bind: ['hasLink', 'auth.id in data.ref("threadLinks.userId")'],
91
+ bind: ['isOwner', 'data.userId == auth.id'],
74
92
  },
75
- threadBagOfWordsLink: {
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<any, true, false>;
43
- recipients: import("@instantdb/core").DataAttrDef<any, true, false>;
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
- attachments: import("@instantdb/core").DataAttrDef<any, true, false>;
59
- date: import("@instantdb/core").DataAttrDef<number, true, true>;
60
- from: import("@instantdb/core").DataAttrDef<any, true, false>;
61
- labelIds: import("@instantdb/core").DataAttrDef<any, true, false>;
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 messageThread: {
183
+ readonly draftRecipientLinks: {
160
184
  readonly forward: {
161
185
  readonly has: "one";
162
- readonly label: "thread";
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: "messages";
168
- readonly on: "threads";
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 threadBagOfWordsJunction: {
231
+ readonly threadMessages: {
184
232
  readonly forward: {
185
233
  readonly has: "one";
186
234
  readonly label: "thread";
187
- readonly on: "threadBagOfWordsLink";
235
+ readonly on: "messages";
188
236
  };
189
237
  readonly reverse: {
190
238
  readonly has: "many";
191
- readonly label: "wordLinks";
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
- messages: Omit<BaseAppSchema['entities']['messages'], 'from' | 'recipients' | 'attachments' | 'labelIds'> & {
266
- from: {
267
- email: string;
268
- name: string | null;
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
- drafts: Omit<BaseAppSchema['entities']['drafts'], 'from' | 'recipients' | 'attachments' | 'status' | 'type'> & {
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":"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"}
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.json(),
44
- recipients: i.json(),
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
- attachments: i.json(),
60
- date: i.number().indexed(),
61
- from: i.json(),
62
- labelIds: i.json(),
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
- messageThread: {
122
- forward: { has: 'one', label: 'thread', on: 'messages' },
123
- reverse: { has: 'many', label: 'messages', on: 'threads' },
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
- threadBagOfWordsJunction: {
130
- forward: { has: 'one', label: 'thread', on: 'threadBagOfWordsLink' },
131
- reverse: { has: 'many', label: 'wordLinks', on: 'threads' },
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
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marcoappio/marco-config",
3
- "version": "2.0.413",
3
+ "version": "2.0.414",
4
4
  "author": "team@marcoapp.io",
5
5
  "main": "dist/index.js",
6
6
  "repository": "git@github.com:marcoappio/marco-config.git",