Skip to content

Commit cf52e79

Browse files
Renc17kkopanidis
authored andcommitted
refactor(email): template model (#1221)
* refactor(chat)!: admin/router missing endpoints/query params/participants actions (#1135) * refactor(chat): sendInvitation props as object * fix(chat): missing populate query param from router * fix(chat): missing search message regex matching * chore(chat): cleanups * fix(chat): router invitation token count * refactor(chat): admin route createRoom participants logs, set creator * refactor(chat): participants actions * fix(chat): router query params id types * feat(chat): router remove member from room route * fix(chat): admin route getRooms missing params * fix(chat): admin route deleteRooms missing audit-mode config check * feat(chat): admin route removeUsers/addUsers/roomInvitations/roomById * feat(chat): participants join log on invitation accept * refactor(email): add editor-design JSON email template field
1 parent d378ada commit cf52e79

File tree

6 files changed

+19
-3
lines changed

6 files changed

+19
-3
lines changed

modules/email/src/Email.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ export default class Email extends ManagedModule<Config> {
125125
body: call.request.body,
126126
variables: call.request.variables,
127127
sender: call.request.sender,
128+
jsonTemplate: call.request.jsonTemplate,
128129
};
129130
let errorMessage: string | null = null;
130131
const template = await this.emailService

modules/email/src/admin/index.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ export class AdminHandlers {
7979
}
8080

8181
async createTemplate(call: ParsedRouterRequest): Promise<UnparsedRouterResponse> {
82-
const { _id, sender, externalManaged, name, subject, body } = call.request.params;
82+
const { _id, sender, externalManaged, name, subject, body, jsonTemplate } =
83+
call.request.params;
8384

8485
let externalId = undefined;
8586
const body_vars = getHandleBarsValues(body);
@@ -115,6 +116,7 @@ export class AdminHandlers {
115116
externalManaged,
116117
sender,
117118
externalId,
119+
jsonTemplate,
118120
})
119121
.catch((e: Error) => {
120122
throw new GrpcError(status.INTERNAL, e.message);
@@ -148,7 +150,10 @@ export class AdminHandlers {
148150
}
149151

150152
const updatedTemplate = await EmailTemplate.getInstance()
151-
.findByIdAndUpdate(call.request.params.id, templateDocument)
153+
.findByIdAndUpdate(call.request.params.id, {
154+
...templateDocument,
155+
jsonTemplate: call.request.bodyParams.jsonTemplate,
156+
})
152157
.catch((e: Error) => {
153158
throw new GrpcError(status.INTERNAL, e.message);
154159
});
@@ -466,6 +471,7 @@ export class AdminHandlers {
466471
body: ConduitString.Required,
467472
sender: ConduitString.Optional,
468473
externalManaged: ConduitBoolean.Optional,
474+
jsonTemplate: ConduitString.Optional,
469475
},
470476
},
471477
new ConduitRouteReturnDefinition('CreateTemplate', {
@@ -485,6 +491,7 @@ export class AdminHandlers {
485491
name: ConduitString.Optional,
486492
subject: ConduitString.Optional,
487493
body: ConduitString.Optional,
494+
jsonTemplate: ConduitString.Optional,
488495
},
489496
},
490497
new ConduitRouteReturnDefinition('PatchTemplate', {

modules/email/src/email.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ message RegisterTemplateRequest {
77
string body = 3;
88
repeated string variables = 4;
99
optional string sender = 5;
10+
optional string jsonTemplate = 6;
1011
}
1112

1213
message RegisterTemplateResponse {

modules/email/src/interfaces/RegisterTemplateParams.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ export interface IRegisterTemplateParams {
44
body: string;
55
sender?: string;
66
variables: string[];
7+
jsonTemplate?: string;
78
}

modules/email/src/models/EmailTemplate.schema.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ const schema: ConduitModel = {
2929
sender: {
3030
type: TYPE.String,
3131
},
32+
jsonTemplate: {
33+
type: TYPE.String,
34+
sqlType: SQLDataType.TEXT,
35+
},
3236
externalManaged: {
3337
type: TYPE.Boolean,
3438
default: false,
@@ -61,6 +65,7 @@ export class EmailTemplate extends ConduitActiveSchema<EmailTemplate> {
6165
variables?: string[];
6266
sender?: string;
6367
externalManaged: boolean;
68+
jsonTemplate?: string;
6469
externalId?: string;
6570
createdAt: Date;
6671
updatedAt: Date;

modules/email/src/services/email.service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export class EmailService {
4747
}
4848

4949
async registerTemplate(params: IRegisterTemplateParams) {
50-
const { name, body, subject, variables, sender } = params;
50+
const { name, body, subject, variables, sender, jsonTemplate } = params;
5151

5252
const existing = await EmailTemplate.getInstance().findOne({ name });
5353
if (!isNil(existing)) return existing;
@@ -58,6 +58,7 @@ export class EmailService {
5858
body,
5959
sender,
6060
variables,
61+
jsonTemplate,
6162
});
6263
}
6364

0 commit comments

Comments
 (0)