@rapidmx/restapi 0.1.0 → 0.2.0

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.
@@ -30,6 +30,7 @@ let DeviceSyncStateMongo = class DeviceSyncStateMongo extends BaseMongoEntity {
30
30
  this.deviceId = "";
31
31
  this.deviceType = "";
32
32
  this.folderSyncKeys = {};
33
+ this.folderCollectionClasses = {};
33
34
  this.provisioned = false;
34
35
  if (other) {
35
36
  this.mailboxUid = other.mailboxUid !== undefined ? other.mailboxUid : this.mailboxUid;
@@ -37,8 +38,15 @@ let DeviceSyncStateMongo = class DeviceSyncStateMongo extends BaseMongoEntity {
37
38
  this.deviceType = other.deviceType !== undefined ? other.deviceType : this.deviceType;
38
39
  this.policyKey = "policyKey" in other ? other.policyKey : this.policyKey;
39
40
  this.folderSyncKeys = other.folderSyncKeys !== undefined ? other.folderSyncKeys : this.folderSyncKeys;
41
+ this.folderCollectionClasses =
42
+ other.folderCollectionClasses !== undefined ? other.folderCollectionClasses : this.folderCollectionClasses;
40
43
  this.lastSyncAt = "lastSyncAt" in other ? other.lastSyncAt : this.lastSyncAt;
41
44
  this.provisioned = other.provisioned !== undefined ? other.provisioned : this.provisioned;
45
+ this.remoteWipeRequested = "remoteWipeRequested" in other ? other.remoteWipeRequested : this.remoteWipeRequested;
46
+ this.remoteWipeAccountOnly =
47
+ "remoteWipeAccountOnly" in other ? other.remoteWipeAccountOnly : this.remoteWipeAccountOnly;
48
+ this.remoteWipeAcknowledgedAt =
49
+ "remoteWipeAcknowledgedAt" in other ? other.remoteWipeAcknowledgedAt : this.remoteWipeAcknowledgedAt;
42
50
  }
43
51
  }
44
52
  };
@@ -68,6 +76,11 @@ __decorate([
68
76
  Description("The per-folder EAS `SyncKey` cursor, keyed by `Folder.uid`."),
69
77
  __metadata("design:type", Object)
70
78
  ], DeviceSyncStateMongo.prototype, "folderSyncKeys", void 0);
79
+ __decorate([
80
+ Column(),
81
+ Description("The EAS `Class` most recently synced for a folder, keyed by `Folder.uid`."),
82
+ __metadata("design:type", Object)
83
+ ], DeviceSyncStateMongo.prototype, "folderCollectionClasses", void 0);
71
84
  __decorate([
72
85
  Column(),
73
86
  Description("The date and time of the device's last successful sync."),
@@ -79,6 +92,24 @@ __decorate([
79
92
  Description("`true` if the device has completed EAS provisioning."),
80
93
  __metadata("design:type", Boolean)
81
94
  ], DeviceSyncStateMongo.prototype, "provisioned", void 0);
95
+ __decorate([
96
+ Column(),
97
+ Description("`true` once an administrator has requested this device be remotely wiped."),
98
+ Nullable,
99
+ __metadata("design:type", Boolean)
100
+ ], DeviceSyncStateMongo.prototype, "remoteWipeRequested", void 0);
101
+ __decorate([
102
+ Column(),
103
+ Description("`true` if the pending/most recent remote wipe request was scoped to this account only."),
104
+ Nullable,
105
+ __metadata("design:type", Boolean)
106
+ ], DeviceSyncStateMongo.prototype, "remoteWipeAccountOnly", void 0);
107
+ __decorate([
108
+ Column(),
109
+ Description("When the device most recently acknowledged a remote wipe request."),
110
+ Nullable,
111
+ __metadata("design:type", Date)
112
+ ], DeviceSyncStateMongo.prototype, "remoteWipeAcknowledgedAt", void 0);
82
113
  DeviceSyncStateMongo = __decorate([
83
114
  DataStore("mongo"),
84
115
  Entity(),
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceSyncStateMongo.js","sourceRoot":"","sources":["../../../../src/models/mongo/DeviceSyncStateMongo.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAEH,eAAe,EACf,aAAa,EACb,eAAe,EACf,qBAAqB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;AACtC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;AAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;AACtC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC;AAExD;;;;;GAKG;AAeI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,eAAe;IA+BrD,YAAY,KAAqC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QA7BV,eAAU,GAAW,EAAE,CAAC;QAIxB,aAAQ,GAAW,EAAE,CAAC;QAItB,eAAU,GAAW,EAAE,CAAC;QASxB,mBAAc,GAA2B,EAAE,CAAC;QAS5C,gBAAW,GAAY,KAAK,CAAC;QAKhC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YACtF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YACtF,IAAI,CAAC,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACzE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtG,IAAI,CAAC,UAAU,GAAG,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7E,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9F,CAAC;IACL,CAAC;CACJ,CAAA;AAzCU;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,uEAAuE,CAAC;;wDACtD;AAIxB;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,6CAA6C,CAAC;;sDAC9B;AAItB;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,sDAAsD,CAAC;;wDACrC;AAKxB;IAHN,MAAM,EAAE;IACR,WAAW,CAAC,2EAA2E,CAAC;IACxF,QAAQ;;uDACiB;AAInB;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,6DAA6D,CAAC;;4DACxB;AAK5C;IAHN,MAAM,EAAE;IACR,WAAW,CAAC,yDAAyD,CAAC;IACtE,QAAQ;8BACW,IAAI;wDAAC;AAIlB;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,sDAAsD,CAAC;;yDAChC;AA7B3B,oBAAoB;IAdhC,SAAS,CAAC,OAAO,CAAC;IAClB,MAAM,EAAE;IACR,WAAW,CAAC,iFAAiF,CAAC;IAC9F,KAAK,CAAC,gCAAgC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACrF,OAAO,CACJ;QACI,GAAG,EAAE,iBAAiB;QACtB,OAAO,EAAE;YACL,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;YAC1C,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;SACtC;KACJ,EACD,KAAK,CACR;;GACY,oBAAoB,CA4ChC"}
1
+ {"version":3,"file":"DeviceSyncStateMongo.js","sourceRoot":"","sources":["../../../../src/models/mongo/DeviceSyncStateMongo.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,8 @@ let MailboxMongo = class MailboxMongo extends BaseMongoEntity {
33
33
  this.timezone = "";
34
34
  this.quotaBytes = 0;
35
35
  this.usedBytes = 0;
36
+ this.oofEnabled = false;
37
+ this.oofMessage = "";
36
38
  if (other) {
37
39
  this.ownerUserUid = other.ownerUserUid !== undefined ? other.ownerUserUid : this.ownerUserUid;
38
40
  this.primarySmtpAddress =
@@ -42,6 +44,10 @@ let MailboxMongo = class MailboxMongo extends BaseMongoEntity {
42
44
  this.timezone = other.timezone !== undefined ? other.timezone : this.timezone;
43
45
  this.quotaBytes = other.quotaBytes !== undefined ? other.quotaBytes : this.quotaBytes;
44
46
  this.usedBytes = other.usedBytes !== undefined ? other.usedBytes : this.usedBytes;
47
+ this.oofEnabled = other.oofEnabled !== undefined ? other.oofEnabled : this.oofEnabled;
48
+ this.oofMessage = other.oofMessage !== undefined ? other.oofMessage : this.oofMessage;
49
+ this.oofStartTime = "oofStartTime" in other ? other.oofStartTime : this.oofStartTime;
50
+ this.oofEndTime = "oofEndTime" in other ? other.oofEndTime : this.oofEndTime;
45
51
  }
46
52
  }
47
53
  };
@@ -82,6 +88,32 @@ __decorate([
82
88
  Description("The current total size, in bytes, of all messages/attachments stored in this mailbox."),
83
89
  __metadata("design:type", Number)
84
90
  ], MailboxMongo.prototype, "usedBytes", void 0);
91
+ __decorate([
92
+ Column(),
93
+ Description("`true` if this mailbox's out-of-office auto-reply (MS-ASSettings `Oof`) is currently enabled."),
94
+ __metadata("design:type", Boolean)
95
+ ], MailboxMongo.prototype, "oofEnabled", void 0);
96
+ __decorate([
97
+ Column(),
98
+ Description("The out-of-office auto-reply message body.")
99
+ // `ObjectUtils.validate()` treats an empty string the same as null/undefined for any non-`@Nullable`
100
+ // field ("Property oofMessage cannot be null.") - this field's natural default (no OOF message configured
101
+ // yet) is legitimately "", so it must be `@Nullable` even though the type itself is always a `string`.
102
+ ,
103
+ Nullable,
104
+ __metadata("design:type", String)
105
+ ], MailboxMongo.prototype, "oofMessage", void 0);
106
+ __decorate([
107
+ Column(),
108
+ Description("When set together with `oofEndTime`, the auto-reply is only active within this window."),
109
+ Nullable,
110
+ __metadata("design:type", Date)
111
+ ], MailboxMongo.prototype, "oofStartTime", void 0);
112
+ __decorate([
113
+ Column(),
114
+ Nullable,
115
+ __metadata("design:type", Date)
116
+ ], MailboxMongo.prototype, "oofEndTime", void 0);
85
117
  MailboxMongo = __decorate([
86
118
  DataStore("mongo"),
87
119
  Entity(),
@@ -1 +1 @@
1
- {"version":3,"file":"MailboxMongo.js","sourceRoot":"","sources":["../../../../src/models/mongo/MailboxMongo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MailboxMongo.js","sourceRoot":"","sources":["../../../../src/models/mongo/MailboxMongo.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ let DeviceSyncStateSQL = class DeviceSyncStateSQL extends BaseEntity {
30
30
  this.deviceId = "";
31
31
  this.deviceType = "";
32
32
  this.folderSyncKeys = {};
33
+ this.folderCollectionClasses = {};
33
34
  this.provisioned = false;
34
35
  if (other) {
35
36
  this.mailboxUid = other.mailboxUid !== undefined ? other.mailboxUid : this.mailboxUid;
@@ -37,8 +38,15 @@ let DeviceSyncStateSQL = class DeviceSyncStateSQL extends BaseEntity {
37
38
  this.deviceType = other.deviceType !== undefined ? other.deviceType : this.deviceType;
38
39
  this.policyKey = "policyKey" in other ? other.policyKey : this.policyKey;
39
40
  this.folderSyncKeys = other.folderSyncKeys !== undefined ? other.folderSyncKeys : this.folderSyncKeys;
41
+ this.folderCollectionClasses =
42
+ other.folderCollectionClasses !== undefined ? other.folderCollectionClasses : this.folderCollectionClasses;
40
43
  this.lastSyncAt = "lastSyncAt" in other ? other.lastSyncAt : this.lastSyncAt;
41
44
  this.provisioned = other.provisioned !== undefined ? other.provisioned : this.provisioned;
45
+ this.remoteWipeRequested = "remoteWipeRequested" in other ? other.remoteWipeRequested : this.remoteWipeRequested;
46
+ this.remoteWipeAccountOnly =
47
+ "remoteWipeAccountOnly" in other ? other.remoteWipeAccountOnly : this.remoteWipeAccountOnly;
48
+ this.remoteWipeAcknowledgedAt =
49
+ "remoteWipeAcknowledgedAt" in other ? other.remoteWipeAcknowledgedAt : this.remoteWipeAcknowledgedAt;
42
50
  }
43
51
  }
44
52
  };
@@ -68,6 +76,11 @@ __decorate([
68
76
  Description("The per-folder EAS `SyncKey` cursor, keyed by `Folder.uid`."),
69
77
  __metadata("design:type", Object)
70
78
  ], DeviceSyncStateSQL.prototype, "folderSyncKeys", void 0);
79
+ __decorate([
80
+ Column({ type: "simple-json" }),
81
+ Description("The EAS `Class` most recently synced for a folder, keyed by `Folder.uid`."),
82
+ __metadata("design:type", Object)
83
+ ], DeviceSyncStateSQL.prototype, "folderCollectionClasses", void 0);
71
84
  __decorate([
72
85
  Column({ nullable: true }),
73
86
  Description("The date and time of the device's last successful sync."),
@@ -79,6 +92,24 @@ __decorate([
79
92
  Description("`true` if the device has completed EAS provisioning."),
80
93
  __metadata("design:type", Boolean)
81
94
  ], DeviceSyncStateSQL.prototype, "provisioned", void 0);
95
+ __decorate([
96
+ Column({ nullable: true }),
97
+ Description("`true` once an administrator has requested this device be remotely wiped."),
98
+ Nullable,
99
+ __metadata("design:type", Boolean)
100
+ ], DeviceSyncStateSQL.prototype, "remoteWipeRequested", void 0);
101
+ __decorate([
102
+ Column({ nullable: true }),
103
+ Description("`true` if the pending/most recent remote wipe request was scoped to this account only."),
104
+ Nullable,
105
+ __metadata("design:type", Boolean)
106
+ ], DeviceSyncStateSQL.prototype, "remoteWipeAccountOnly", void 0);
107
+ __decorate([
108
+ Column({ nullable: true }),
109
+ Description("When the device most recently acknowledged a remote wipe request."),
110
+ Nullable,
111
+ __metadata("design:type", Date)
112
+ ], DeviceSyncStateSQL.prototype, "remoteWipeAcknowledgedAt", void 0);
82
113
  DeviceSyncStateSQL = __decorate([
83
114
  DataStore("sql"),
84
115
  Entity(),
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceSyncStateSQL.js","sourceRoot":"","sources":["../../../../src/models/sql/DeviceSyncStateSQL.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAa,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;AACtC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;AAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;AACtC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC;AAExD;;;;;GAKG;AAeI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IA+B9C,YAAY,KAAmC;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC;QA7BV,eAAU,GAAW,EAAE,CAAC;QAIxB,aAAQ,GAAW,EAAE,CAAC;QAItB,eAAU,GAAW,EAAE,CAAC;QASxB,mBAAc,GAA2B,EAAE,CAAC;QAS5C,gBAAW,GAAY,KAAK,CAAC;QAKhC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YACtF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YACtF,IAAI,CAAC,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACzE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtG,IAAI,CAAC,UAAU,GAAG,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7E,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9F,CAAC;IACL,CAAC;CACJ,CAAA;AAzCU;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,uEAAuE,CAAC;;sDACtD;AAIxB;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,6CAA6C,CAAC;;oDAC9B;AAItB;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,sDAAsD,CAAC;;sDACrC;AAKxB;IAHN,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,WAAW,CAAC,2EAA2E,CAAC;IACxF,QAAQ;;qDACiB;AAInB;IAFN,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC/B,WAAW,CAAC,6DAA6D,CAAC;;0DACxB;AAK5C;IAHN,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,WAAW,CAAC,yDAAyD,CAAC;IACtE,QAAQ;8BACW,IAAI;sDAAC;AAIlB;IAFN,MAAM,EAAE;IACR,WAAW,CAAC,sDAAsD,CAAC;;uDAChC;AA7B3B,kBAAkB;IAd9B,SAAS,CAAC,KAAK,CAAC;IAChB,MAAM,EAAE;IACR,WAAW,CAAC,iFAAiF,CAAC;IAC9F,KAAK,CAAC,gCAAgC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACrF,OAAO,CACJ;QACI,GAAG,EAAE,iBAAiB;QACtB,OAAO,EAAE;YACL,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;YAC1C,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;SACtC;KACJ,EACD,KAAK,CACR;;GACY,kBAAkB,CA4C9B"}
1
+ {"version":3,"file":"DeviceSyncStateSQL.js","sourceRoot":"","sources":["../../../../src/models/sql/DeviceSyncStateSQL.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,8 @@ let MailboxSQL = class MailboxSQL extends BaseEntity {
33
33
  this.timezone = "";
34
34
  this.quotaBytes = 0;
35
35
  this.usedBytes = 0;
36
+ this.oofEnabled = false;
37
+ this.oofMessage = "";
36
38
  if (other) {
37
39
  this.ownerUserUid = other.ownerUserUid !== undefined ? other.ownerUserUid : this.ownerUserUid;
38
40
  this.primarySmtpAddress =
@@ -42,6 +44,10 @@ let MailboxSQL = class MailboxSQL extends BaseEntity {
42
44
  this.timezone = other.timezone !== undefined ? other.timezone : this.timezone;
43
45
  this.quotaBytes = other.quotaBytes !== undefined ? other.quotaBytes : this.quotaBytes;
44
46
  this.usedBytes = other.usedBytes !== undefined ? other.usedBytes : this.usedBytes;
47
+ this.oofEnabled = other.oofEnabled !== undefined ? other.oofEnabled : this.oofEnabled;
48
+ this.oofMessage = other.oofMessage !== undefined ? other.oofMessage : this.oofMessage;
49
+ this.oofStartTime = "oofStartTime" in other ? other.oofStartTime : this.oofStartTime;
50
+ this.oofEndTime = "oofEndTime" in other ? other.oofEndTime : this.oofEndTime;
45
51
  }
46
52
  }
47
53
  };
@@ -82,6 +88,32 @@ __decorate([
82
88
  Description("The current total size, in bytes, of all messages/attachments stored in this mailbox."),
83
89
  __metadata("design:type", Number)
84
90
  ], MailboxSQL.prototype, "usedBytes", void 0);
91
+ __decorate([
92
+ Column(),
93
+ Description("`true` if this mailbox's out-of-office auto-reply (MS-ASSettings `Oof`) is currently enabled."),
94
+ __metadata("design:type", Boolean)
95
+ ], MailboxSQL.prototype, "oofEnabled", void 0);
96
+ __decorate([
97
+ Column({ type: "text" }),
98
+ Description("The out-of-office auto-reply message body.")
99
+ // `ObjectUtils.validate()` treats an empty string the same as null/undefined for any non-`@Nullable`
100
+ // field ("Property oofMessage cannot be null.") - this field's natural default (no OOF message configured
101
+ // yet) is legitimately "", so it must be `@Nullable` even though the type itself is always a `string`.
102
+ ,
103
+ Nullable,
104
+ __metadata("design:type", String)
105
+ ], MailboxSQL.prototype, "oofMessage", void 0);
106
+ __decorate([
107
+ Column({ nullable: true }),
108
+ Description("When set together with `oofEndTime`, the auto-reply is only active within this window."),
109
+ Nullable,
110
+ __metadata("design:type", Date)
111
+ ], MailboxSQL.prototype, "oofStartTime", void 0);
112
+ __decorate([
113
+ Column({ nullable: true }),
114
+ Nullable,
115
+ __metadata("design:type", Date)
116
+ ], MailboxSQL.prototype, "oofEndTime", void 0);
85
117
  MailboxSQL = __decorate([
86
118
  DataStore("sql"),
87
119
  Entity(),
@@ -1 +1 @@
1
- {"version":3,"file":"MailboxSQL.js","sourceRoot":"","sources":["../../../../src/models/sql/MailboxSQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MailboxSQL.js","sourceRoot":"","sources":["../../../../src/models/sql/MailboxSQL.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/models/types.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,CAAN,IAAY,UAYX;AAZD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,+BAAiB,CAAA;IACjB,6CAA+B,CAAA;IAC/B,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;IACrB,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,2BAAa,CAAA;AACjB,CAAC,EAZW,UAAU,KAAV,UAAU,QAYrB;AA4ED,mEAAmE;AACnE,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,0BAAS,CAAA;IACT,0BAAS,CAAA;IACT,4BAAW,CAAA;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAiBD,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,kCAAa,CAAA;AACjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAwID,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,qCAAe,CAAA;AACnB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AA4ED,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACzB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAC9B,sDAA4B,CAAA;IAC5B,+CAAqB,CAAA;IACrB,+CAAqB,CAAA;IACrB,iDAAuB,CAAA;AAC3B,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAWD,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC3B,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;AACrB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAeD,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,8CAAuB,CAAA;IACvB,8CAAuB,CAAA;IACvB,8CAAuB,CAAA;AAC3B,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;AACzB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AA+FD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,2BAAW,CAAA;IACX,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACjB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AA8CD,0DAA0D;AAC1D,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,2CAAyB,CAAA;AAC7B,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,4BAAa,CAAA;AACjB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,kCAAqB,CAAA;IACrB,4BAAe,CAAA;AACnB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AA+BD,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,yCAAqB,CAAA;IACrB,+CAA2B,CAAA;IAC3B,mCAAe,CAAA;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAiDD,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;AACrB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/models/types.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
16
16
  ///////////////////////////////////////////////////////////////////////////////
17
17
  import { ApiError, ObjectDecorators, UserUtils } from "@rapidrest/core";
18
18
  import { ACLAction, ApiErrorMessages, ApiErrors, CRUDRoute, RouteDecorators } from "@rapidrest/service-core";
19
+ import { FolderType } from "../models/types.js";
20
+ import { findOrCreateWellKnownFolder } from "../util/FolderUtils.js";
21
+ import { RecoverableRepoUtils } from "../util/RecoverableRepoUtils.js";
19
22
  const { Param, Query, Request, Response, User: AuthUser } = RouteDecorators;
20
23
  const { Config } = ObjectDecorators;
21
24
  /**
@@ -65,6 +68,15 @@ export class BaseMailboxRoute extends CRUDRoute {
65
68
  super(...arguments);
66
69
  this.trustedRoles = ["admin"];
67
70
  }
71
+ async getFolderRepo() {
72
+ if (!this.folderRepo) {
73
+ this.folderRepo = await this._objectFactory.newInstance(RecoverableRepoUtils, {
74
+ name: this.folderClass.name,
75
+ args: [this.folderClass],
76
+ });
77
+ }
78
+ return this.folderRepo;
79
+ }
68
80
  async create(obj, req, user) {
69
81
  if (!user) {
70
82
  throw new ApiError(ApiErrors.AUTH_PERMISSION_FAILURE, 403, ApiErrorMessages.AUTH_PERMISSION_FAILURE);
@@ -76,10 +88,26 @@ export class BaseMailboxRoute extends CRUDRoute {
76
88
  o.ownerUserUid = user.uid;
77
89
  }
78
90
  }
79
- if (Array.isArray(obj)) {
80
- return await this.doBulkCreate(objs, { req, user, ignoreACL: true });
91
+ const created = Array.isArray(obj)
92
+ ? await this.doBulkCreate(objs, { req, user, ignoreACL: true })
93
+ : [await this.doCreateObject(objs[0], { req, user, ignoreACL: true })];
94
+ // A brand-new mailbox with zero folders is unusable the moment its owner opens it: the webmail
95
+ // client's `MailShell`/`CalendarShell`/`ContactsShell`/`TasksShell` each select a specific
96
+ // well-known folder as their default view (with none found, they show an empty/broken state even
97
+ // though the mailbox itself exists), and Compose needs a `drafts` folder uid in hand before it will
98
+ // create a new draft. Every *other* well-known folder (Junk, Sent Items, Deleted Items, ...) stays
99
+ // lazily provisioned on first actual use — see `findOrCreateWellKnownFolder`'s own doc comment —
100
+ // only these five are load-bearing for the client to render anything at all, so only these five are
101
+ // created eagerly here.
102
+ const folderRepo = await this.getFolderRepo();
103
+ for (const mailbox of created) {
104
+ await findOrCreateWellKnownFolder(folderRepo, this.folderClass, mailbox.uid, FolderType.INBOX, user);
105
+ await findOrCreateWellKnownFolder(folderRepo, this.folderClass, mailbox.uid, FolderType.DRAFTS, user);
106
+ await findOrCreateWellKnownFolder(folderRepo, this.folderClass, mailbox.uid, FolderType.CALENDAR, user);
107
+ await findOrCreateWellKnownFolder(folderRepo, this.folderClass, mailbox.uid, FolderType.CONTACTS, user);
108
+ await findOrCreateWellKnownFolder(folderRepo, this.folderClass, mailbox.uid, FolderType.TASKS, user);
81
109
  }
82
- return await this.doCreateObject(objs[0], { req, user, ignoreACL: true });
110
+ return Array.isArray(obj) ? created : created[0];
83
111
  }
84
112
  async find(params, query, user) {
85
113
  if (!this.repoUtils || !user) {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMailboxRoute.js","sourceRoot":"","sources":["../../../src/routes/BaseMailboxRoute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMailboxRoute.js","sourceRoot":"","sources":["../../../src/routes/BaseMailboxRoute.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { AccessControlListMongo, DatabaseDecorators, RepoUtils, RouteDecorators, } from "@rapidrest/service-core";
11
- import { MailboxMongo } from "../../mongo.js";
11
+ import { FolderMongo, MailboxMongo } from "../../mongo.js";
12
12
  import { BaseMailboxRoute } from "../BaseMailboxRoute.js";
13
13
  const { Model } = RouteDecorators;
14
14
  const { Repository } = DatabaseDecorators;
@@ -16,6 +16,7 @@ let MailboxRouteMongo = class MailboxRouteMongo extends BaseMailboxRoute {
16
16
  constructor() {
17
17
  super(...arguments);
18
18
  this.repoUtilsClass = RepoUtils;
19
+ this.folderClass = FolderMongo;
19
20
  }
20
21
  async findAccessibleMailboxUids(user) {
21
22
  if (!this.aclRepo) {
@@ -1 +1 @@
1
- {"version":3,"file":"MailboxRouteMongo.js","sourceRoot":"","sources":["../../../../src/routes/mongo/MailboxRouteMongo.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EACH,sBAAsB,EACtB,kBAAkB,EAClB,SAAS,EACT,eAAe,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;AAClC,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAGnC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,gBAA8B;IAA9D;;QACgB,mBAAc,GAAQ,SAAS,CAAC;IAevD,CAAC;IAVa,KAAK,CAAC,yBAAyB,CAAC,IAAa;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,UAAU,GAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAA6B,MAAM,IAAI,CAAC,OAAO;aACpD,IAAI,CAAC,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC;aACrD,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACJ,CAAA;AAZW;IADP,UAAU,CAAC,sBAAsB,CAAC;;kDACuB;AAJjD,iBAAiB;IAD7B,KAAK,CAAC,YAAY,CAAC;GACP,iBAAiB,CAgB7B"}
1
+ {"version":3,"file":"MailboxRouteMongo.js","sourceRoot":"","sources":["../../../../src/routes/mongo/MailboxRouteMongo.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EACH,sBAAsB,EACtB,kBAAkB,EAClB,SAAS,EACT,eAAe,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;AAClC,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAGnC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,gBAA8B;IAA9D;;QACgB,mBAAc,GAAQ,SAAS,CAAC;QACzC,gBAAW,GAAQ,WAAW,CAAC;IAe7C,CAAC;IAVa,KAAK,CAAC,yBAAyB,CAAC,IAAa;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,UAAU,GAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAA6B,MAAM,IAAI,CAAC,OAAO;aACpD,IAAI,CAAC,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC;aACrD,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACJ,CAAA;AAZW;IADP,UAAU,CAAC,sBAAsB,CAAC;;kDACuB;AALjD,iBAAiB;IAD7B,KAAK,CAAC,YAAY,CAAC;GACP,iBAAiB,CAiB7B"}
@@ -13,7 +13,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
13
13
  ///////////////////////////////////////////////////////////////////////////////
14
14
  import { Raw } from "typeorm";
15
15
  import { AccessControlListSQL, DatabaseDecorators, RepoUtils, RouteDecorators } from "@rapidrest/service-core";
16
- import { MailboxSQL } from "../../sql.js";
16
+ import { FolderSQL, MailboxSQL } from "../../sql.js";
17
17
  import { BaseMailboxRoute } from "../BaseMailboxRoute.js";
18
18
  const { Model } = RouteDecorators;
19
19
  const { Repository } = DatabaseDecorators;
@@ -21,6 +21,7 @@ let MailboxRouteSQL = class MailboxRouteSQL extends BaseMailboxRoute {
21
21
  constructor() {
22
22
  super(...arguments);
23
23
  this.repoUtilsClass = RepoUtils;
24
+ this.folderClass = FolderSQL;
24
25
  }
25
26
  /**
26
27
  * `AccessControlListSQL.records` is a `simple-json` column (serialized as a single JSON string), the same
@@ -1 +1 @@
1
- {"version":3,"file":"MailboxRouteSQL.js","sourceRoot":"","sources":["../../../../src/routes/sql/MailboxRouteSQL.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,GAAG,EAAwC,MAAM,SAAS,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;AAClC,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAGnC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,gBAA4B;IAA1D;;QACgB,mBAAc,GAAQ,SAAS,CAAC;IAmCvD,CAAC;IA9BG;;;;;;;;;;;;;OAaG;IACO,KAAK,CAAC,yBAAyB,CAAC,IAAa;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,UAAU,GAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAChC,MAAM,OAAO,GAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,OAAO;gBACH,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,4BAA4B,EAAE;oBAC1D,OAAO,EAAE,oBAAoB,OAAO,IAAI;iBAC3C,CAAC;aACL,CAAC;QACN,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACJ,CAAA;AAhCW;IADP,UAAU,CAAC,oBAAoB,CAAC;;gDACyB;AAJjD,eAAe;IAD3B,KAAK,CAAC,UAAU,CAAC;GACL,eAAe,CAoC3B"}
1
+ {"version":3,"file":"MailboxRouteSQL.js","sourceRoot":"","sources":["../../../../src/routes/sql/MailboxRouteSQL.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,GAAG,EAAwC,MAAM,SAAS,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;AAClC,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;AAGnC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,gBAA4B;IAA1D;;QACgB,mBAAc,GAAQ,SAAS,CAAC;QACzC,gBAAW,GAAQ,SAAS,CAAC;IAmC3C,CAAC;IA9BG;;;;;;;;;;;;;OAaG;IACO,KAAK,CAAC,yBAAyB,CAAC,IAAa;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,UAAU,GAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAChC,MAAM,OAAO,GAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,OAAO;gBACH,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,4BAA4B,EAAE;oBAC1D,OAAO,EAAE,oBAAoB,OAAO,IAAI;iBAC3C,CAAC;aACL,CAAC;QACN,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACJ,CAAA;AAhCW;IADP,UAAU,CAAC,oBAAoB,CAAC;;gDACyB;AALjD,eAAe;IAD3B,KAAK,CAAC,UAAU,CAAC;GACL,eAAe,CAqC3B"}
@@ -12,7 +12,11 @@ export declare class DeviceSyncStateMongo extends BaseMongoEntity implements Dev
12
12
  deviceType: string;
13
13
  policyKey?: string;
14
14
  folderSyncKeys: Record<string, string>;
15
+ folderCollectionClasses: Record<string, string>;
15
16
  lastSyncAt?: Date;
16
17
  provisioned: boolean;
18
+ remoteWipeRequested?: boolean;
19
+ remoteWipeAccountOnly?: boolean;
20
+ remoteWipeAcknowledgedAt?: Date;
17
21
  constructor(other?: Partial<DeviceSyncStateMongo>);
18
22
  }
@@ -14,5 +14,9 @@ export declare class MailboxMongo extends BaseMongoEntity implements Mailbox {
14
14
  timezone: string;
15
15
  quotaBytes: number;
16
16
  usedBytes: number;
17
+ oofEnabled: boolean;
18
+ oofMessage: string;
19
+ oofStartTime?: Date;
20
+ oofEndTime?: Date;
17
21
  constructor(other?: Partial<MailboxMongo>);
18
22
  }
@@ -12,7 +12,11 @@ export declare class DeviceSyncStateSQL extends BaseEntity implements DeviceSync
12
12
  deviceType: string;
13
13
  policyKey?: string;
14
14
  folderSyncKeys: Record<string, string>;
15
+ folderCollectionClasses: Record<string, string>;
15
16
  lastSyncAt?: Date;
16
17
  provisioned: boolean;
18
+ remoteWipeRequested?: boolean;
19
+ remoteWipeAccountOnly?: boolean;
20
+ remoteWipeAcknowledgedAt?: Date;
17
21
  constructor(other?: Partial<DeviceSyncStateSQL>);
18
22
  }
@@ -14,5 +14,9 @@ export declare class MailboxSQL extends BaseEntity implements Mailbox {
14
14
  timezone: string;
15
15
  quotaBytes: number;
16
16
  usedBytes: number;
17
+ oofEnabled: boolean;
18
+ oofMessage: string;
19
+ oofStartTime?: Date;
20
+ oofEndTime?: Date;
17
21
  constructor(other?: Partial<MailboxSQL>);
18
22
  }
@@ -45,6 +45,16 @@ export interface Mailbox extends BaseEntity {
45
45
  quotaBytes: number;
46
46
  /** The current total size, in bytes, of all messages/attachments stored in this mailbox. */
47
47
  usedBytes: number;
48
+ /** `true` if this mailbox's out-of-office auto-reply (MS-ASSettings `Oof`) is currently enabled. */
49
+ oofEnabled: boolean;
50
+ /** The out-of-office auto-reply message body. A single combined message rather than the spec's three
51
+ * audience-specific variants (internal/external-known/external-unknown) - a deliberate pragmatic-subset
52
+ * simplification, matching this library's existing single-slot precedent elsewhere. */
53
+ oofMessage: string;
54
+ /** When set together with `oofEndTime`, the auto-reply is only active within this window rather than
55
+ * indefinitely while `oofEnabled` is `true`. */
56
+ oofStartTime?: Date;
57
+ oofEndTime?: Date;
48
58
  }
49
59
  /**
50
60
  * Defines a single folder within a `Mailbox`. Folders form a hierarchy via `parentFolderUid` and hold
@@ -536,6 +546,19 @@ export interface DeviceSyncState extends BaseEntity {
536
546
  policyKey?: string;
537
547
  /** The per-folder EAS `SyncKey` cursor, keyed by `Folder.uid`. */
538
548
  folderSyncKeys: Record<string, string>;
549
+ /** The EAS `Class` (`"Email"`, `"Contacts"`, ...) most recently synced for a folder, keyed by `Folder.uid` -
550
+ * lets a `Sync` request omit `Class` after its first request for a collection, per [MS-ASCMD], without the
551
+ * server losing track of which entity type that collection holds. */
552
+ folderCollectionClasses: Record<string, string>;
539
553
  lastSyncAt?: Date;
540
554
  provisioned: boolean;
555
+ /** `true` once an administrator has requested this device be remotely wiped (MS-ASPROV `RemoteWipe`). Set
556
+ * back to `false` once the device acknowledges the wipe. */
557
+ remoteWipeRequested?: boolean;
558
+ /** `true` if the pending/most recent remote wipe request was scoped to this account only (vs. a full device
559
+ * wipe) - recorded for administrative record-keeping; the wire directive sent to the device is the same
560
+ * either way in this library's pragmatic subset. */
561
+ remoteWipeAccountOnly?: boolean;
562
+ /** When the device most recently acknowledged a remote wipe request. */
563
+ remoteWipeAcknowledgedAt?: Date;
541
564
  }
@@ -45,6 +45,13 @@ import { Mailbox } from "../models/types.js";
45
45
  */
46
46
  export declare abstract class BaseMailboxRoute<T extends Mailbox> extends CRUDRoute<T> {
47
47
  protected trustedRoles: string[];
48
+ /**
49
+ * Supplied by the Mongo/SQL concrete subclasses so `create()` can provision a new mailbox's Inbox/Drafts
50
+ * folders (see below) without depending on either backend directly — same pattern as
51
+ * `BaseMessageRoute.folderClass`.
52
+ */
53
+ protected abstract folderClass: any;
54
+ private folderRepo?;
48
55
  /**
49
56
  * Returns the uids of every mailbox this user has any ACL grant on — as owner, as a shared delegate, or
50
57
  * (implicitly, via a wildcard/role record) as a trusted caller. Backend-specific because
@@ -53,6 +60,7 @@ export declare abstract class BaseMailboxRoute<T extends Mailbox> extends CRUDRo
53
60
  * subclass, each against the exact same `AccessControlList` collection/table `BaseACLRoute` exposes.
54
61
  */
55
62
  protected abstract findAccessibleMailboxUids(user: JWTUser): Promise<string[]>;
63
+ private getFolderRepo;
56
64
  create(obj: T | T[], req: HttpRequest, user?: JWTUser): Promise<T | T[]>;
57
65
  find(params: any, query: any, user?: JWTUser): Promise<T[]>;
58
66
  count(params: any, query: any, res: HttpResponse, user?: JWTUser): Promise<any>;
@@ -3,6 +3,7 @@ import { MailboxMongo } from "../../mongo.js";
3
3
  import { BaseMailboxRoute } from "../BaseMailboxRoute.js";
4
4
  export declare class MailboxRouteMongo extends BaseMailboxRoute<MailboxMongo> {
5
5
  protected readonly repoUtilsClass: any;
6
+ protected folderClass: any;
6
7
  private aclRepo?;
7
8
  protected findAccessibleMailboxUids(user: JWTUser): Promise<string[]>;
8
9
  }
@@ -3,6 +3,7 @@ import { MailboxSQL } from "../../sql.js";
3
3
  import { BaseMailboxRoute } from "../BaseMailboxRoute.js";
4
4
  export declare class MailboxRouteSQL extends BaseMailboxRoute<MailboxSQL> {
5
5
  protected readonly repoUtilsClass: any;
6
+ protected folderClass: any;
6
7
  private aclRepo?;
7
8
  /**
8
9
  * `AccessControlListSQL.records` is a `simple-json` column (serialized as a single JSON string), the same
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rapidmx/restapi",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Core data model and standard REST API for building a mail server on RapidREST.",
5
5
  "repository": "https://github.com/RapidMX/restapi.git",
6
6
  "author": "RapidREST <rapidrests@gmail.com>",