@remit/electrodb-entities 0.0.17 → 0.0.19

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/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FilterAnchor = exports.MessageLabel = exports.BodyPartContent = exports.BodyPartStorage = exports.RawMessageStorage = exports.BodyPartParameter = exports.SenderSignerStanding = exports.Envelope = exports.MessageFlagPush = exports.MessagePlacementMove = exports.MessageFlag = exports.MailboxLock = exports.MailboxFlag = exports.MailboxSpecialUseEntry = exports.MailboxAttributeEntry = exports.AccountSetting = exports.EnvelopeAddress = exports.MessageReference = exports.BodyPart = exports.Message = exports.Address = exports.OutboxAttachment = exports.OutboxMessage = exports.ThreadMessage = exports.OrganizeJobRequest = exports.Label = exports.Filter = exports.Mailbox = exports.Account = exports.AccountConfig = exports.Quarantine = exports.AccountExportRequest = void 0;
3
+ exports.FilterAnchor = exports.MessageLabel = exports.CalendarEventIndex = exports.CalendarObject = exports.CalendarCollection = exports.BodyPartContent = exports.BodyPartStorage = exports.RawMessageStorage = exports.BodyPartParameter = exports.SenderSignerStanding = exports.Envelope = exports.MessageFlagPush = exports.MessagePlacementMove = exports.MessageFlag = exports.MailboxLock = exports.MailboxFlag = exports.MailboxSpecialUseEntry = exports.MailboxAttributeEntry = exports.AccountSetting = exports.ConfigImport = exports.EnvelopeAddress = exports.MessageReference = exports.BodyPart = exports.Message = exports.Address = exports.OutboxAttachment = exports.OutboxMessage = exports.ThreadMessage = exports.OrganizeJobRequest = exports.Label = exports.Filter = exports.Mailbox = exports.Account = exports.AccountConfig = exports.Quarantine = exports.AccountExportRequest = void 0;
4
4
  const electrodb_1 = require("electrodb");
5
5
  exports.AccountExportRequest = {
6
6
  attributes: {
@@ -591,7 +591,7 @@ exports.Account = {
591
591
  required: true
592
592
  },
593
593
  connectionState: {
594
- type: ["not_authenticated", "authenticated", "selected", "logout", "reauth_required"],
594
+ type: ["not_authenticated", "authenticated", "selected", "logout", "reauth_required", "credentials_missing"],
595
595
  required: true
596
596
  },
597
597
  lastConnectedAt: {
@@ -3109,6 +3109,127 @@ exports.EnvelopeAddress = {
3109
3109
  version: "1"
3110
3110
  }
3111
3111
  };
3112
+ exports.ConfigImport = {
3113
+ attributes: {
3114
+ importId: {
3115
+ type: "string",
3116
+ required: true,
3117
+ validate: value => {
3118
+ if (typeof value === "string" && value.length < 25)
3119
+ throw new Error("'importId' must be at least 25 characters");
3120
+ if (typeof value === "string" && value.length > 25)
3121
+ throw new Error("'importId' must be at most 25 characters");
3122
+ return true;
3123
+ }
3124
+ },
3125
+ accountConfigId: {
3126
+ type: "string",
3127
+ required: true,
3128
+ validate: value => {
3129
+ if (typeof value === "string" && value.length < 25)
3130
+ throw new Error("'accountConfigId' must be at least 25 characters");
3131
+ if (typeof value === "string" && value.length > 25)
3132
+ throw new Error("'accountConfigId' must be at most 25 characters");
3133
+ return true;
3134
+ }
3135
+ },
3136
+ schemaVersion: {
3137
+ type: "number",
3138
+ required: true,
3139
+ validate: value => {
3140
+ if (typeof value === "number" && !Number.isInteger(value))
3141
+ throw new Error("'schemaVersion' must be an integer");
3142
+ return true;
3143
+ }
3144
+ },
3145
+ state: {
3146
+ type: ["Pending", "Complete"],
3147
+ required: true,
3148
+ default: "Pending"
3149
+ },
3150
+ document: {
3151
+ type: (0, electrodb_1.CustomAttributeType)("any"),
3152
+ required: true
3153
+ },
3154
+ unresolvedRefs: {
3155
+ type: "list",
3156
+ items: {
3157
+ type: "map",
3158
+ properties: {
3159
+ kind: {
3160
+ type: ["FolderRole", "MailboxOverride", "FilterAction"],
3161
+ required: true
3162
+ },
3163
+ accountId: {
3164
+ type: "string",
3165
+ required: true
3166
+ },
3167
+ folderPath: {
3168
+ type: "string",
3169
+ required: true
3170
+ },
3171
+ target: {
3172
+ type: "string",
3173
+ required: true
3174
+ }
3175
+ }
3176
+ },
3177
+ required: true
3178
+ },
3179
+ createdAt: {
3180
+ type: "number",
3181
+ readOnly: true,
3182
+ required: true,
3183
+ default: () => Date.now(),
3184
+ set: () => Date.now()
3185
+ },
3186
+ completedAt: {
3187
+ type: "number",
3188
+ required: true,
3189
+ default: 0,
3190
+ validate: value => {
3191
+ if (typeof value === "number" && !Number.isInteger(value))
3192
+ throw new Error("'completedAt' must be an integer");
3193
+ return true;
3194
+ }
3195
+ },
3196
+ updatedAt: {
3197
+ type: "number",
3198
+ watch: "*",
3199
+ required: true,
3200
+ default: () => Date.now(),
3201
+ set: () => Date.now()
3202
+ }
3203
+ },
3204
+ indexes: {
3205
+ byAccountConfigId: {
3206
+ pk: {
3207
+ field: "gsi0pk",
3208
+ composite: ["accountConfigId"]
3209
+ },
3210
+ sk: {
3211
+ field: "gsi0sk",
3212
+ composite: ["createdAt"]
3213
+ },
3214
+ index: "gsi0"
3215
+ },
3216
+ ConfigImport: {
3217
+ pk: {
3218
+ field: "pk",
3219
+ composite: ["importId"]
3220
+ },
3221
+ sk: {
3222
+ field: "sk",
3223
+ composite: []
3224
+ }
3225
+ }
3226
+ },
3227
+ model: {
3228
+ entity: "configImport",
3229
+ service: "remit",
3230
+ version: "1"
3231
+ }
3232
+ };
3112
3233
  exports.AccountSetting = {
3113
3234
  attributes: {
3114
3235
  accountSettingId: {
@@ -4411,6 +4532,419 @@ exports.BodyPartContent = {
4411
4532
  version: "1"
4412
4533
  }
4413
4534
  };
4535
+ exports.CalendarCollection = {
4536
+ attributes: {
4537
+ calendarId: {
4538
+ type: "string",
4539
+ required: true,
4540
+ validate: value => {
4541
+ if (typeof value === "string" && value.length < 25)
4542
+ throw new Error("'calendarId' must be at least 25 characters");
4543
+ if (typeof value === "string" && value.length > 25)
4544
+ throw new Error("'calendarId' must be at most 25 characters");
4545
+ return true;
4546
+ }
4547
+ },
4548
+ accountConfigId: {
4549
+ type: "string",
4550
+ required: true,
4551
+ validate: value => {
4552
+ if (typeof value === "string" && value.length < 25)
4553
+ throw new Error("'accountConfigId' must be at least 25 characters");
4554
+ if (typeof value === "string" && value.length > 25)
4555
+ throw new Error("'accountConfigId' must be at most 25 characters");
4556
+ return true;
4557
+ }
4558
+ },
4559
+ urlSegment: {
4560
+ type: "string",
4561
+ required: true,
4562
+ validate: value => {
4563
+ if (typeof value === "string" && value.length > 64)
4564
+ throw new Error("'urlSegment' must be at most 64 characters");
4565
+ return true;
4566
+ }
4567
+ },
4568
+ displayName: {
4569
+ type: "string",
4570
+ required: true,
4571
+ validate: value => {
4572
+ if (typeof value === "string" && value.length > 140)
4573
+ throw new Error("'displayName' must be at most 140 characters");
4574
+ return true;
4575
+ }
4576
+ },
4577
+ color: {
4578
+ type: ["Cal1", "Cal2", "Cal3", "Cal4", "Cal5", "Cal6"],
4579
+ required: true,
4580
+ default: "Cal1"
4581
+ },
4582
+ componentSet: {
4583
+ type: ["VeventOnly"],
4584
+ required: true,
4585
+ default: "VeventOnly"
4586
+ },
4587
+ source: {
4588
+ type: ["Default", "UserCreated", "MailDerived"],
4589
+ required: true,
4590
+ default: "UserCreated"
4591
+ },
4592
+ timezone: {
4593
+ type: "string",
4594
+ required: true,
4595
+ default: "",
4596
+ validate: value => {
4597
+ if (typeof value === "string" && value.length > 64)
4598
+ throw new Error("'timezone' must be at most 64 characters");
4599
+ return true;
4600
+ }
4601
+ },
4602
+ syncSequence: {
4603
+ type: "number",
4604
+ required: true,
4605
+ default: 0,
4606
+ validate: value => {
4607
+ if (typeof value === "number" && !Number.isInteger(value))
4608
+ throw new Error("'syncSequence' must be an integer");
4609
+ return true;
4610
+ }
4611
+ },
4612
+ createdAt: {
4613
+ type: "number",
4614
+ readOnly: true,
4615
+ required: true,
4616
+ default: () => Date.now(),
4617
+ set: () => Date.now()
4618
+ },
4619
+ updatedAt: {
4620
+ type: "number",
4621
+ watch: "*",
4622
+ required: true,
4623
+ default: () => Date.now(),
4624
+ set: () => Date.now()
4625
+ }
4626
+ },
4627
+ indexes: {
4628
+ byUrlSegment: {
4629
+ pk: {
4630
+ field: "gsi0pk",
4631
+ composite: ["accountConfigId"]
4632
+ },
4633
+ sk: {
4634
+ field: "gsi0sk",
4635
+ composite: ["urlSegment"]
4636
+ },
4637
+ index: "gsi0"
4638
+ },
4639
+ Calendar: {
4640
+ pk: {
4641
+ field: "pk",
4642
+ composite: ["accountConfigId"]
4643
+ },
4644
+ sk: {
4645
+ field: "sk",
4646
+ composite: ["calendarId"]
4647
+ }
4648
+ }
4649
+ },
4650
+ model: {
4651
+ entity: "calendar",
4652
+ service: "remit",
4653
+ version: "1"
4654
+ }
4655
+ };
4656
+ exports.CalendarObject = {
4657
+ attributes: {
4658
+ calendarObjectId: {
4659
+ type: "string",
4660
+ required: true,
4661
+ validate: value => {
4662
+ if (typeof value === "string" && value.length < 25)
4663
+ throw new Error("'calendarObjectId' must be at least 25 characters");
4664
+ if (typeof value === "string" && value.length > 25)
4665
+ throw new Error("'calendarObjectId' must be at most 25 characters");
4666
+ return true;
4667
+ }
4668
+ },
4669
+ calendarId: {
4670
+ type: "string",
4671
+ required: true,
4672
+ validate: value => {
4673
+ if (typeof value === "string" && value.length < 25)
4674
+ throw new Error("'calendarId' must be at least 25 characters");
4675
+ if (typeof value === "string" && value.length > 25)
4676
+ throw new Error("'calendarId' must be at most 25 characters");
4677
+ return true;
4678
+ }
4679
+ },
4680
+ resourceName: {
4681
+ type: "string",
4682
+ required: true,
4683
+ validate: value => {
4684
+ if (typeof value === "string" && value.length > 256)
4685
+ throw new Error("'resourceName' must be at most 256 characters");
4686
+ return true;
4687
+ }
4688
+ },
4689
+ icalUid: {
4690
+ type: "string",
4691
+ required: true,
4692
+ validate: value => {
4693
+ if (typeof value === "string" && value.length > 512)
4694
+ throw new Error("'icalUid' must be at most 512 characters");
4695
+ return true;
4696
+ }
4697
+ },
4698
+ icalData: {
4699
+ type: "string",
4700
+ required: true
4701
+ },
4702
+ etag: {
4703
+ type: "string",
4704
+ required: true,
4705
+ validate: value => {
4706
+ if (typeof value === "string" && value.length > 64)
4707
+ throw new Error("'etag' must be at most 64 characters");
4708
+ return true;
4709
+ }
4710
+ },
4711
+ sequence: {
4712
+ type: "number",
4713
+ required: true,
4714
+ default: 0,
4715
+ validate: value => {
4716
+ if (typeof value === "number" && !Number.isInteger(value))
4717
+ throw new Error("'sequence' must be an integer");
4718
+ return true;
4719
+ }
4720
+ },
4721
+ syncSequence: {
4722
+ type: "number",
4723
+ required: true,
4724
+ default: 0,
4725
+ validate: value => {
4726
+ if (typeof value === "number" && !Number.isInteger(value))
4727
+ throw new Error("'syncSequence' must be an integer");
4728
+ return true;
4729
+ }
4730
+ },
4731
+ summary: {
4732
+ type: "string",
4733
+ required: true,
4734
+ validate: value => {
4735
+ if (typeof value === "string" && value.length > 512)
4736
+ throw new Error("'summary' must be at most 512 characters");
4737
+ return true;
4738
+ }
4739
+ },
4740
+ dtStart: {
4741
+ type: "string",
4742
+ required: true,
4743
+ validate: value => {
4744
+ if (typeof value === "string" && value.length > 64)
4745
+ throw new Error("'dtStart' must be at most 64 characters");
4746
+ return true;
4747
+ }
4748
+ },
4749
+ dtEnd: {
4750
+ type: "string",
4751
+ required: true,
4752
+ validate: value => {
4753
+ if (typeof value === "string" && value.length > 64)
4754
+ throw new Error("'dtEnd' must be at most 64 characters");
4755
+ return true;
4756
+ }
4757
+ },
4758
+ allDay: {
4759
+ type: "boolean",
4760
+ required: true,
4761
+ default: false
4762
+ },
4763
+ zoneCertainty: {
4764
+ type: ["Local", "Explicit", "Ambiguous"],
4765
+ required: true,
4766
+ default: "Explicit"
4767
+ },
4768
+ status: {
4769
+ type: ["Confirmed", "Tentative", "Cancelled"],
4770
+ required: true,
4771
+ default: "Confirmed"
4772
+ },
4773
+ transparency: {
4774
+ type: ["Opaque", "Transparent"],
4775
+ required: true,
4776
+ default: "Opaque"
4777
+ },
4778
+ hasRecurrence: {
4779
+ type: "boolean",
4780
+ required: true,
4781
+ default: false
4782
+ },
4783
+ expandedThrough: {
4784
+ type: "string",
4785
+ required: true,
4786
+ default: "",
4787
+ validate: value => {
4788
+ if (typeof value === "string" && value.length > 64)
4789
+ throw new Error("'expandedThrough' must be at most 64 characters");
4790
+ return true;
4791
+ }
4792
+ },
4793
+ createdAt: {
4794
+ type: "number",
4795
+ readOnly: true,
4796
+ required: true,
4797
+ default: () => Date.now(),
4798
+ set: () => Date.now()
4799
+ },
4800
+ updatedAt: {
4801
+ type: "number",
4802
+ watch: "*",
4803
+ required: true,
4804
+ default: () => Date.now(),
4805
+ set: () => Date.now()
4806
+ }
4807
+ },
4808
+ indexes: {
4809
+ bySyncSequence: {
4810
+ pk: {
4811
+ field: "gsi1pk",
4812
+ composite: ["calendarId"]
4813
+ },
4814
+ sk: {
4815
+ field: "gsi1sk",
4816
+ composite: ["syncSequence"]
4817
+ },
4818
+ index: "gsi1"
4819
+ },
4820
+ byUid: {
4821
+ pk: {
4822
+ field: "gsi0pk",
4823
+ composite: ["calendarId"]
4824
+ },
4825
+ sk: {
4826
+ field: "gsi0sk",
4827
+ composite: ["icalUid"]
4828
+ },
4829
+ index: "gsi0"
4830
+ },
4831
+ CalendarObject: {
4832
+ pk: {
4833
+ field: "pk",
4834
+ composite: ["calendarId"]
4835
+ },
4836
+ sk: {
4837
+ field: "sk",
4838
+ composite: ["calendarObjectId"]
4839
+ }
4840
+ }
4841
+ },
4842
+ model: {
4843
+ entity: "calendarObject",
4844
+ service: "remit",
4845
+ version: "1"
4846
+ }
4847
+ };
4848
+ exports.CalendarEventIndex = {
4849
+ attributes: {
4850
+ calendarId: {
4851
+ type: "string",
4852
+ required: true,
4853
+ validate: value => {
4854
+ if (typeof value === "string" && value.length < 25)
4855
+ throw new Error("'calendarId' must be at least 25 characters");
4856
+ if (typeof value === "string" && value.length > 25)
4857
+ throw new Error("'calendarId' must be at most 25 characters");
4858
+ return true;
4859
+ }
4860
+ },
4861
+ calendarObjectId: {
4862
+ type: "string",
4863
+ required: true,
4864
+ validate: value => {
4865
+ if (typeof value === "string" && value.length < 25)
4866
+ throw new Error("'calendarObjectId' must be at least 25 characters");
4867
+ if (typeof value === "string" && value.length > 25)
4868
+ throw new Error("'calendarObjectId' must be at most 25 characters");
4869
+ return true;
4870
+ }
4871
+ },
4872
+ recurrenceId: {
4873
+ type: "string",
4874
+ required: true,
4875
+ validate: value => {
4876
+ if (typeof value === "string" && value.length > 64)
4877
+ throw new Error("'recurrenceId' must be at most 64 characters");
4878
+ return true;
4879
+ }
4880
+ },
4881
+ startAt: {
4882
+ type: "string",
4883
+ required: true,
4884
+ validate: value => {
4885
+ if (typeof value === "string" && value.length > 64)
4886
+ throw new Error("'startAt' must be at most 64 characters");
4887
+ return true;
4888
+ }
4889
+ },
4890
+ endAt: {
4891
+ type: "string",
4892
+ required: true,
4893
+ validate: value => {
4894
+ if (typeof value === "string" && value.length > 64)
4895
+ throw new Error("'endAt' must be at most 64 characters");
4896
+ return true;
4897
+ }
4898
+ },
4899
+ allDay: {
4900
+ type: "boolean",
4901
+ required: true,
4902
+ default: false
4903
+ },
4904
+ createdAt: {
4905
+ type: "number",
4906
+ readOnly: true,
4907
+ required: true,
4908
+ default: () => Date.now(),
4909
+ set: () => Date.now()
4910
+ },
4911
+ updatedAt: {
4912
+ type: "number",
4913
+ watch: "*",
4914
+ required: true,
4915
+ default: () => Date.now(),
4916
+ set: () => Date.now()
4917
+ }
4918
+ },
4919
+ indexes: {
4920
+ byStart: {
4921
+ pk: {
4922
+ field: "gsi0pk",
4923
+ composite: ["calendarId"]
4924
+ },
4925
+ sk: {
4926
+ field: "gsi0sk",
4927
+ composite: ["startAt"]
4928
+ },
4929
+ index: "gsi0"
4930
+ },
4931
+ CalendarEventIndex: {
4932
+ pk: {
4933
+ field: "pk",
4934
+ composite: ["calendarId"]
4935
+ },
4936
+ sk: {
4937
+ field: "sk",
4938
+ composite: ["calendarObjectId", "recurrenceId"]
4939
+ }
4940
+ }
4941
+ },
4942
+ model: {
4943
+ entity: "calendarEventIndex",
4944
+ service: "remit",
4945
+ version: "1"
4946
+ }
4947
+ };
4414
4948
  exports.MessageLabel = {
4415
4949
  attributes: {
4416
4950
  messageLabelId: {