@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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/triggers/index.ts"],"names":[],"mappings":"AASA,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
+ {"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 readSqlFile = (filename) => readFileSync(join(__dirname, filename), 'utf8');
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;AAClC,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,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;AAE1F,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"}
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-eefb743",
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-eefb743",
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,4 @@
1
+ DROP TRIGGER IF EXISTS event_tags_event_queue_trigger ON event_tags;
2
+ CREATE TRIGGER event_tags_event_queue_trigger
3
+ AFTER INSERT OR DELETE ON event_tags
4
+ FOR EACH ROW EXECUTE FUNCTION create_event_queue_record('event.tag_linked', 'ms-event-db');
@@ -0,0 +1,7 @@
1
+ DROP TRIGGER IF EXISTS events_event_queue_trigger ON events;
2
+
3
+ CREATE TRIGGER events_event_queue_trigger
4
+ AFTER INSERT OR UPDATE OR DELETE ON events
5
+ FOR EACH ROW EXECUTE FUNCTION create_event_queue_record('event.changed', 'ms-event-db');
6
+
7
+
@@ -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
+
@@ -0,0 +1,6 @@
1
+ DROP TRIGGER IF EXISTS tags_event_queue_trigger ON tags;
2
+
3
+ CREATE TRIGGER tags_event_queue_trigger
4
+ AFTER INSERT OR UPDATE OR DELETE ON tags
5
+ FOR EACH ROW EXECUTE FUNCTION create_event_queue_record('tag.changed', 'ms-event-db');
6
+