@volontariapp/domain-event 2.6.0-snap-eefb743 → 2.6.0-snap-330e159
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/database/triggers/index.d.ts.map +1 -1
- package/dist/database/triggers/index.js +5 -2
- package/dist/database/triggers/index.js.map +1 -1
- package/package.json +4 -3
- package/src/database/triggers/event-queue-trigger.sql +40 -0
- package/src/database/triggers/event_tags.trigger.sql +4 -0
- package/src/database/triggers/events.trigger.sql +7 -0
- package/src/database/triggers/requirements.trigger.sql +6 -0
- package/src/database/triggers/tags.trigger.sql +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/triggers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/triggers/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,4BAA4B,QAAyC,CAAC;AACnF,eAAO,MAAM,cAAc,QAAoC,CAAC;AAChE,eAAO,MAAM,oBAAoB,QAA0C,CAAC;AAC5E,eAAO,MAAM,YAAY,QAAkC,CAAC;AAC5D,eAAO,MAAM,kBAAkB,QAAwC,CAAC;AAKxE,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ3F"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { readFileSync } from 'fs';
|
|
1
|
+
import { existsSync, readFileSync } from 'fs';
|
|
2
2
|
import { join, dirname } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
const __filename = fileURLToPath(import.meta.url);
|
|
5
5
|
const __dirname = dirname(__filename);
|
|
6
|
-
const
|
|
6
|
+
const sqlDir = existsSync(join(__dirname, 'event-queue-trigger.sql'))
|
|
7
|
+
? __dirname
|
|
8
|
+
: join(__dirname, '../../src/database/triggers');
|
|
9
|
+
const readSqlFile = (filename) => readFileSync(join(sqlDir, filename), 'utf8');
|
|
7
10
|
export const EVENT_QUEUE_TRIGGER_FUNCTION = readSqlFile('event-queue-trigger.sql');
|
|
8
11
|
export const EVENTS_TRIGGER = readSqlFile('events.trigger.sql');
|
|
9
12
|
export const REQUIREMENTS_TRIGGER = readSqlFile('requirements.trigger.sql');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/database/triggers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/database/triggers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IACnE,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;AAEnD,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAKxE,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAe;IACjF,MAAM,WAAW,GAAG,GAAG,SAAS,sBAAsB,CAAC;IACvD,OAAO;6BACoB,WAAW,OAAO,SAAS;qBACnC,WAAW;0CACU,SAAS;+DACY,SAAS,OAAO,OAAO;GACnF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volontariapp/domain-event",
|
|
3
|
-
"version": "2.6.0-snap-
|
|
3
|
+
"version": "2.6.0-snap-330e159",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"provenance": true
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
|
-
"dist"
|
|
24
|
+
"dist",
|
|
25
|
+
"src/database/triggers/**/*.sql"
|
|
25
26
|
],
|
|
26
27
|
"engines": {
|
|
27
28
|
"node": ">=24.14.0"
|
|
@@ -58,7 +59,7 @@
|
|
|
58
59
|
"@volontariapp/errors": "0.5.0",
|
|
59
60
|
"@volontariapp/errors-nest": "0.10.0",
|
|
60
61
|
"@volontariapp/logger": "0.2.3",
|
|
61
|
-
"@volontariapp/messaging": "1.0.0-snap-
|
|
62
|
+
"@volontariapp/messaging": "1.0.0-snap-330e159",
|
|
62
63
|
"class-transformer": "^0.5.1"
|
|
63
64
|
}
|
|
64
65
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
CREATE OR REPLACE FUNCTION create_event_queue_record() RETURNS TRIGGER AS $$
|
|
2
|
+
DECLARE
|
|
3
|
+
event_type TEXT := TG_ARGV[0];
|
|
4
|
+
emitter_name TEXT := TG_ARGV[1];
|
|
5
|
+
payload_data JSONB;
|
|
6
|
+
BEGIN
|
|
7
|
+
IF (TG_OP = 'DELETE') THEN
|
|
8
|
+
payload_data := jsonb_build_object('before', to_jsonb(OLD), 'after', NULL);
|
|
9
|
+
ELSIF (TG_OP = 'INSERT') THEN
|
|
10
|
+
payload_data := jsonb_build_object('before', NULL, 'after', to_jsonb(NEW));
|
|
11
|
+
ELSIF (TG_OP = 'UPDATE') THEN
|
|
12
|
+
payload_data := jsonb_build_object('before', to_jsonb(OLD), 'after', to_jsonb(NEW));
|
|
13
|
+
END IF;
|
|
14
|
+
|
|
15
|
+
INSERT INTO event_queue (
|
|
16
|
+
type,
|
|
17
|
+
emitter,
|
|
18
|
+
payload,
|
|
19
|
+
version,
|
|
20
|
+
status,
|
|
21
|
+
attempts,
|
|
22
|
+
updated_at,
|
|
23
|
+
created_at
|
|
24
|
+
) VALUES (
|
|
25
|
+
event_type,
|
|
26
|
+
emitter_name,
|
|
27
|
+
payload_data,
|
|
28
|
+
1,
|
|
29
|
+
'PENDING',
|
|
30
|
+
0,
|
|
31
|
+
now(),
|
|
32
|
+
now()
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
IF (TG_OP = 'DELETE') THEN
|
|
36
|
+
RETURN OLD;
|
|
37
|
+
END IF;
|
|
38
|
+
RETURN NEW;
|
|
39
|
+
END;
|
|
40
|
+
$$ LANGUAGE plpgsql;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
DROP TRIGGER IF EXISTS requirements_event_queue_trigger ON requirements;
|
|
2
|
+
|
|
3
|
+
CREATE TRIGGER requirements_event_queue_trigger
|
|
4
|
+
AFTER INSERT OR UPDATE OR DELETE ON requirements
|
|
5
|
+
FOR EACH ROW EXECUTE FUNCTION create_event_queue_record('requirement.changed', 'ms-event-db');
|
|
6
|
+
|