-
Notifications
You must be signed in to change notification settings - Fork 14
/
99_(future)_setup_templates.sql
31 lines (26 loc) · 1010 Bytes
/
99_(future)_setup_templates.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/************************************************************
*
* Message Template System requires:
* SupaScript: https://github.com/burggraf/SupaScript
*
************************************************************/
/************************************************************
*
* Function: prepare_message
*
* grab a template from the message_templates table by name,
* send it a block of JSONB data, and have Mustache send you
* a rendered block of HTML
*
************************************************************/
create or replace function prepare_message(template_name text, merge_data jsonb)
returns text as $$
const Mustache = require('https://unpkg.com/mustache@latest', false);
const result = sql("select * from message_templates where name = $1 limit 1",[template_name]);
if (result.length > 0) {
template = result[0].template;
return Mustache.render(template, merge_data);
} else {
return 'Template not found: ' + template_name;
}
$$ language plv8;