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