@social-mail/social-mail-web-server 1.7.55 → 1.7.57
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/dist/server/model/entities/Mailbox.d.ts +1 -0
- package/dist/server/model/entities/Mailbox.d.ts.map +1 -1
- package/dist/server/model/entities/Mailbox.js +11 -1
- package/dist/server/model/entities/Mailbox.js.map +1 -1
- package/dist/server/model/events/MailboxEmailEvents.d.ts +1 -0
- package/dist/server/model/events/MailboxEmailEvents.d.ts.map +1 -1
- package/dist/server/model/events/MailboxEmailEvents.js +11 -0
- package/dist/server/model/events/MailboxEmailEvents.js.map +1 -1
- package/dist/server/seed/ui/seed-ui.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/model/entities/Mailbox.ts +9 -0
- package/src/server/model/events/MailboxEmailEvents.ts +7 -0
- package/src/server/seed/ui/seed-ui.ts +1 -1
package/package.json
CHANGED
|
@@ -27,6 +27,7 @@ import { SessionUser } from "@entity-access/server-pages/dist/core/SessionUser.j
|
|
|
27
27
|
import ScopeVars from "../../../common/ScopeVars.js";
|
|
28
28
|
import type MailboxContactEvent from "./MailboxContactEvent.js";
|
|
29
29
|
import type WebHook from "./WebHook.js";
|
|
30
|
+
import CheckConstraint from "@entity-access/entity-access/dist/decorators/CheckConstraint.js";
|
|
30
31
|
|
|
31
32
|
/**
|
|
32
33
|
* MailBox ID is number because foreign key on Email will
|
|
@@ -41,6 +42,11 @@ import type WebHook from "./WebHook.js";
|
|
|
41
42
|
*/
|
|
42
43
|
|
|
43
44
|
@Table("Mailboxes")
|
|
45
|
+
@CheckConstraint({
|
|
46
|
+
name: "CC_Mailbox_Channel_Library",
|
|
47
|
+
/** Either library should be false or it can only be true if channel is true */
|
|
48
|
+
filter: (x) => !x.isLibrary || x.isChannel
|
|
49
|
+
})
|
|
44
50
|
export default class Mailbox {
|
|
45
51
|
|
|
46
52
|
@Column({ key: true })
|
|
@@ -134,6 +140,9 @@ export default class Mailbox {
|
|
|
134
140
|
@Column({ dataType: "Boolean", default: () => false })
|
|
135
141
|
public isChannel: boolean;
|
|
136
142
|
|
|
143
|
+
@Column({ dataType: "Boolean", default: () => false })
|
|
144
|
+
public isLibrary: boolean;
|
|
145
|
+
|
|
137
146
|
@Column({ dataType: "Boolean", default: () => false })
|
|
138
147
|
public isPrivateChannel: boolean;
|
|
139
148
|
|
|
@@ -54,6 +54,13 @@ export default class MailboxEmailEvents extends AuthenticatedEvents<ChannelEmail
|
|
|
54
54
|
return q.limit(25);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
@ExternalQuery
|
|
58
|
+
async libraryEmails(channelID) {
|
|
59
|
+
// get current host
|
|
60
|
+
const q = await this.channelEmails(channelID);
|
|
61
|
+
return q.where(void 0, (p) => (x) => x.mailbox.isLibrary === true);
|
|
62
|
+
}
|
|
63
|
+
|
|
57
64
|
beforeInsert(entity: ChannelEmail, entry: ChangeEntry<ChannelEmail>) {
|
|
58
65
|
if (this.verify) {
|
|
59
66
|
this.sessionUser.ensureLoggedIn();
|