@remit/electrodb-entities 0.0.18 → 0.0.20

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
@@ -1381,6 +1381,319 @@ export const OrganizeJobRequest = {
1381
1381
  version: "1"
1382
1382
  }
1383
1383
  };
1384
+ export const CalendarCollection = {
1385
+ attributes: {
1386
+ calendarId: {
1387
+ type: "string",
1388
+ required: true,
1389
+ validate: value => {
1390
+ if (typeof value === "string" && value.length < 25)
1391
+ throw new Error("'calendarId' must be at least 25 characters");
1392
+ if (typeof value === "string" && value.length > 25)
1393
+ throw new Error("'calendarId' must be at most 25 characters");
1394
+ return true;
1395
+ }
1396
+ },
1397
+ accountConfigId: {
1398
+ type: "string",
1399
+ required: true,
1400
+ validate: value => {
1401
+ if (typeof value === "string" && value.length < 25)
1402
+ throw new Error("'accountConfigId' must be at least 25 characters");
1403
+ if (typeof value === "string" && value.length > 25)
1404
+ throw new Error("'accountConfigId' must be at most 25 characters");
1405
+ return true;
1406
+ }
1407
+ },
1408
+ urlSegment: {
1409
+ type: "string",
1410
+ required: true,
1411
+ validate: value => {
1412
+ if (typeof value === "string" && value.length > 64)
1413
+ throw new Error("'urlSegment' must be at most 64 characters");
1414
+ return true;
1415
+ }
1416
+ },
1417
+ displayName: {
1418
+ type: "string",
1419
+ required: true,
1420
+ validate: value => {
1421
+ if (typeof value === "string" && value.length > 140)
1422
+ throw new Error("'displayName' must be at most 140 characters");
1423
+ return true;
1424
+ }
1425
+ },
1426
+ color: {
1427
+ type: ["Cal1", "Cal2", "Cal3", "Cal4", "Cal5", "Cal6"],
1428
+ required: true,
1429
+ default: "Cal1"
1430
+ },
1431
+ componentSet: {
1432
+ type: ["VeventOnly"],
1433
+ required: true,
1434
+ default: "VeventOnly"
1435
+ },
1436
+ source: {
1437
+ type: ["Default", "UserCreated", "MailDerived"],
1438
+ required: true,
1439
+ default: "UserCreated"
1440
+ },
1441
+ timezone: {
1442
+ type: "string",
1443
+ required: true,
1444
+ default: "",
1445
+ validate: value => {
1446
+ if (typeof value === "string" && value.length > 64)
1447
+ throw new Error("'timezone' must be at most 64 characters");
1448
+ return true;
1449
+ }
1450
+ },
1451
+ syncSequence: {
1452
+ type: "number",
1453
+ required: true,
1454
+ default: 0,
1455
+ validate: value => {
1456
+ if (typeof value === "number" && !Number.isInteger(value))
1457
+ throw new Error("'syncSequence' must be an integer");
1458
+ return true;
1459
+ }
1460
+ },
1461
+ createdAt: {
1462
+ type: "number",
1463
+ readOnly: true,
1464
+ required: true,
1465
+ default: () => Date.now(),
1466
+ set: () => Date.now()
1467
+ },
1468
+ updatedAt: {
1469
+ type: "number",
1470
+ watch: "*",
1471
+ required: true,
1472
+ default: () => Date.now(),
1473
+ set: () => Date.now()
1474
+ }
1475
+ },
1476
+ indexes: {
1477
+ byUrlSegment: {
1478
+ pk: {
1479
+ field: "gsi0pk",
1480
+ composite: ["accountConfigId"]
1481
+ },
1482
+ sk: {
1483
+ field: "gsi0sk",
1484
+ composite: ["urlSegment"]
1485
+ },
1486
+ index: "gsi0"
1487
+ },
1488
+ Calendar: {
1489
+ pk: {
1490
+ field: "pk",
1491
+ composite: ["accountConfigId"]
1492
+ },
1493
+ sk: {
1494
+ field: "sk",
1495
+ composite: ["calendarId"]
1496
+ }
1497
+ }
1498
+ },
1499
+ model: {
1500
+ entity: "calendar",
1501
+ service: "remit",
1502
+ version: "1"
1503
+ }
1504
+ };
1505
+ export const CalendarObject = {
1506
+ attributes: {
1507
+ calendarObjectId: {
1508
+ type: "string",
1509
+ required: true,
1510
+ validate: value => {
1511
+ if (typeof value === "string" && value.length < 25)
1512
+ throw new Error("'calendarObjectId' must be at least 25 characters");
1513
+ if (typeof value === "string" && value.length > 25)
1514
+ throw new Error("'calendarObjectId' must be at most 25 characters");
1515
+ return true;
1516
+ }
1517
+ },
1518
+ calendarId: {
1519
+ type: "string",
1520
+ required: true,
1521
+ validate: value => {
1522
+ if (typeof value === "string" && value.length < 25)
1523
+ throw new Error("'calendarId' must be at least 25 characters");
1524
+ if (typeof value === "string" && value.length > 25)
1525
+ throw new Error("'calendarId' must be at most 25 characters");
1526
+ return true;
1527
+ }
1528
+ },
1529
+ resourceName: {
1530
+ type: "string",
1531
+ required: true,
1532
+ validate: value => {
1533
+ if (typeof value === "string" && value.length > 256)
1534
+ throw new Error("'resourceName' must be at most 256 characters");
1535
+ return true;
1536
+ }
1537
+ },
1538
+ icalUid: {
1539
+ type: "string",
1540
+ required: true,
1541
+ validate: value => {
1542
+ if (typeof value === "string" && value.length > 512)
1543
+ throw new Error("'icalUid' must be at most 512 characters");
1544
+ return true;
1545
+ }
1546
+ },
1547
+ icalData: {
1548
+ type: "string",
1549
+ required: true
1550
+ },
1551
+ etag: {
1552
+ type: "string",
1553
+ required: true,
1554
+ validate: value => {
1555
+ if (typeof value === "string" && value.length > 64)
1556
+ throw new Error("'etag' must be at most 64 characters");
1557
+ return true;
1558
+ }
1559
+ },
1560
+ sequence: {
1561
+ type: "number",
1562
+ required: true,
1563
+ default: 0,
1564
+ validate: value => {
1565
+ if (typeof value === "number" && !Number.isInteger(value))
1566
+ throw new Error("'sequence' must be an integer");
1567
+ return true;
1568
+ }
1569
+ },
1570
+ syncSequence: {
1571
+ type: "number",
1572
+ required: true,
1573
+ default: 0,
1574
+ validate: value => {
1575
+ if (typeof value === "number" && !Number.isInteger(value))
1576
+ throw new Error("'syncSequence' must be an integer");
1577
+ return true;
1578
+ }
1579
+ },
1580
+ summary: {
1581
+ type: "string",
1582
+ required: true,
1583
+ validate: value => {
1584
+ if (typeof value === "string" && value.length > 512)
1585
+ throw new Error("'summary' must be at most 512 characters");
1586
+ return true;
1587
+ }
1588
+ },
1589
+ dtStart: {
1590
+ type: "string",
1591
+ required: true,
1592
+ validate: value => {
1593
+ if (typeof value === "string" && value.length > 64)
1594
+ throw new Error("'dtStart' must be at most 64 characters");
1595
+ return true;
1596
+ }
1597
+ },
1598
+ dtEnd: {
1599
+ type: "string",
1600
+ required: true,
1601
+ validate: value => {
1602
+ if (typeof value === "string" && value.length > 64)
1603
+ throw new Error("'dtEnd' must be at most 64 characters");
1604
+ return true;
1605
+ }
1606
+ },
1607
+ allDay: {
1608
+ type: "boolean",
1609
+ required: true,
1610
+ default: false
1611
+ },
1612
+ zoneCertainty: {
1613
+ type: ["Local", "Explicit", "Ambiguous"],
1614
+ required: true,
1615
+ default: "Explicit"
1616
+ },
1617
+ status: {
1618
+ type: ["Confirmed", "Tentative", "Cancelled"],
1619
+ required: true,
1620
+ default: "Confirmed"
1621
+ },
1622
+ transparency: {
1623
+ type: ["Opaque", "Transparent"],
1624
+ required: true,
1625
+ default: "Opaque"
1626
+ },
1627
+ hasRecurrence: {
1628
+ type: "boolean",
1629
+ required: true,
1630
+ default: false
1631
+ },
1632
+ expandedThrough: {
1633
+ type: "string",
1634
+ required: true,
1635
+ default: "",
1636
+ validate: value => {
1637
+ if (typeof value === "string" && value.length > 64)
1638
+ throw new Error("'expandedThrough' must be at most 64 characters");
1639
+ return true;
1640
+ }
1641
+ },
1642
+ createdAt: {
1643
+ type: "number",
1644
+ readOnly: true,
1645
+ required: true,
1646
+ default: () => Date.now(),
1647
+ set: () => Date.now()
1648
+ },
1649
+ updatedAt: {
1650
+ type: "number",
1651
+ watch: "*",
1652
+ required: true,
1653
+ default: () => Date.now(),
1654
+ set: () => Date.now()
1655
+ }
1656
+ },
1657
+ indexes: {
1658
+ bySyncSequence: {
1659
+ pk: {
1660
+ field: "gsi1pk",
1661
+ composite: ["calendarId"]
1662
+ },
1663
+ sk: {
1664
+ field: "gsi1sk",
1665
+ composite: ["syncSequence"]
1666
+ },
1667
+ index: "gsi1"
1668
+ },
1669
+ byUid: {
1670
+ pk: {
1671
+ field: "gsi0pk",
1672
+ composite: ["calendarId"]
1673
+ },
1674
+ sk: {
1675
+ field: "gsi0sk",
1676
+ composite: ["icalUid"]
1677
+ },
1678
+ index: "gsi0"
1679
+ },
1680
+ CalendarObject: {
1681
+ pk: {
1682
+ field: "pk",
1683
+ composite: ["calendarId"]
1684
+ },
1685
+ sk: {
1686
+ field: "sk",
1687
+ composite: ["calendarObjectId"]
1688
+ }
1689
+ }
1690
+ },
1691
+ model: {
1692
+ entity: "calendarObject",
1693
+ service: "remit",
1694
+ version: "1"
1695
+ }
1696
+ };
1384
1697
  export const ThreadMessage = {
1385
1698
  attributes: {
1386
1699
  threadMessageId: {
@@ -4529,6 +4842,126 @@ export const BodyPartContent = {
4529
4842
  version: "1"
4530
4843
  }
4531
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
+ summary: {
4902
+ type: "string",
4903
+ required: true,
4904
+ default: "",
4905
+ validate: value => {
4906
+ if (typeof value === "string" && value.length > 512)
4907
+ throw new Error("'summary' must be at most 512 characters");
4908
+ return true;
4909
+ }
4910
+ },
4911
+ status: {
4912
+ type: ["Confirmed", "Tentative", "Cancelled"],
4913
+ required: true,
4914
+ default: "Confirmed"
4915
+ },
4916
+ transparency: {
4917
+ type: ["Opaque", "Transparent"],
4918
+ required: true,
4919
+ default: "Opaque"
4920
+ },
4921
+ createdAt: {
4922
+ type: "number",
4923
+ readOnly: true,
4924
+ required: true,
4925
+ default: () => Date.now(),
4926
+ set: () => Date.now()
4927
+ },
4928
+ updatedAt: {
4929
+ type: "number",
4930
+ watch: "*",
4931
+ required: true,
4932
+ default: () => Date.now(),
4933
+ set: () => Date.now()
4934
+ }
4935
+ },
4936
+ indexes: {
4937
+ byStart: {
4938
+ pk: {
4939
+ field: "gsi0pk",
4940
+ composite: ["calendarId"]
4941
+ },
4942
+ sk: {
4943
+ field: "gsi0sk",
4944
+ composite: ["startAt"]
4945
+ },
4946
+ index: "gsi0"
4947
+ },
4948
+ CalendarEventIndex: {
4949
+ pk: {
4950
+ field: "pk",
4951
+ composite: ["calendarId"]
4952
+ },
4953
+ sk: {
4954
+ field: "sk",
4955
+ composite: ["calendarObjectId", "recurrenceId"]
4956
+ }
4957
+ }
4958
+ },
4959
+ model: {
4960
+ entity: "calendarEventIndex",
4961
+ service: "remit",
4962
+ version: "1"
4963
+ }
4964
+ };
4532
4965
  export const MessageLabel = {
4533
4966
  attributes: {
4534
4967
  messageLabelId: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/electrodb-entities",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "description": "ElectroDB entities",
5
5
  "type": "module",
6
6
  "main": "./index.cjs",