@volontariapp/domain-user 2.6.0 → 2.6.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.6.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies []:
8
+ - @volontariapp/messaging@2.4.0
9
+ - @volontariapp/database@3.2.2
10
+
3
11
  ## 2.6.0
4
12
 
5
13
  ### Minor Changes
@@ -0,0 +1,2 @@
1
+ export declare const USERS_TRIGGER: string;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/triggers/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,aAAa,QAAmC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { existsSync, readFileSync } from 'fs';
2
+ import { join, dirname } from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = dirname(__filename);
6
+ const sqlDir = existsSync(join(__dirname, 'users.trigger.sql'))
7
+ ? __dirname
8
+ : join(__dirname, '../../../src/database/triggers');
9
+ const readSqlFile = (filename) => readFileSync(join(sqlDir, filename), 'utf8');
10
+ export const USERS_TRIGGER = readSqlFile('users.trigger.sql');
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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,mBAAmB,CAAC,CAAC;IAC7D,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;AAEtD,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,4 +6,5 @@ export * from './models/index.js';
6
6
  export * from './repositories/index.js';
7
7
  export * from './services/index.js';
8
8
  export * from './value-objects/index.js';
9
+ export * from './database/triggers/index.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -6,4 +6,5 @@ export * from './models/index.js';
6
6
  export * from './repositories/index.js';
7
7
  export * from './services/index.js';
8
8
  export * from './value-objects/index.js';
9
+ export * from './database/triggers/index.js';
9
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,8BAA8B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Repository } from '@volontariapp/database';
1
+ import { type Repository } from '@volontariapp/database';
2
2
  import { DataSource } from 'typeorm';
3
3
  export declare const testDataSource: DataSource;
4
4
  export declare const getTestRepository: <T extends object>(ModelClass: new () => T) => Repository<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"data-source.d.ts","sourceRoot":"","sources":["../../src/test/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA+BrC,eAAO,MAAM,cAAc,YAWzB,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,cAAc,UAAU,CAAC,KAAG,UAAU,CAAC,CAAC,CACpB,CAAC;AAEvE,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,IAAI,CAMrD,CAAC;AAEF,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAIhD,CAAC;AAEF,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAEhD,CAAC"}
1
+ {"version":3,"file":"data-source.d.ts","sourceRoot":"","sources":["../../src/test/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA+BrC,eAAO,MAAM,cAAc,YAWzB,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,cAAc,UAAU,CAAC,KAAG,UAAU,CAAC,CAAC,CACpB,CAAC;AAEvE,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,IAAI,CAMrD,CAAC;AAEF,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAIhD,CAAC;AAEF,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAIhD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { EventQueueModel } from '@volontariapp/database';
1
2
  import { DataSource } from 'typeorm';
2
3
  import { UserModel } from '../models/user.model.js';
3
4
  import { BadgeModel } from '../models/badge.model.js';
@@ -33,7 +34,7 @@ export const testDataSource = new DataSource({
33
34
  username: 'user',
34
35
  password: 'password',
35
36
  database: 'ms_user',
36
- entities: [UserModel, BadgeModel, UserBadgeModel],
37
+ entities: [UserModel, BadgeModel, UserBadgeModel, EventQueueModel],
37
38
  migrations: await loadMigrations(),
38
39
  synchronize: false,
39
40
  logging: false,
@@ -51,6 +52,6 @@ export const closeTestDb = async () => {
51
52
  }
52
53
  };
53
54
  export const truncateAll = async () => {
54
- await testDataSource.query('TRUNCATE TABLE users, badges, user_badges RESTART IDENTITY CASCADE');
55
+ await testDataSource.query('TRUNCATE TABLE users, badges, user_badges, event_queue RESTART IDENTITY CASCADE');
55
56
  };
56
57
  //# sourceMappingURL=data-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-source.js","sourceRoot":"","sources":["../../src/test/data-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-source.js","sourceRoot":"","sources":["../../src/test/data-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import 'reflect-metadata';
2
+ //# sourceMappingURL=users-trigger.int.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-trigger.int.spec.d.ts","sourceRoot":"","sources":["../../../src/test/integration/users-trigger.int.spec.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import 'reflect-metadata';
2
+ import { describe, it, expect, beforeAll, afterAll, beforeEach } from '@jest/globals';
3
+ import { testDataSource, initializeTestDb, closeTestDb, truncateAll, getTestRepository, } from '../data-source.js';
4
+ import { UserModel } from '../../models/user.model.js';
5
+ import { PostgresUserRepository } from '../../repositories/postgres-user.repository.js';
6
+ import { UserFactory } from '../__test-utils__/factories/user.factory.js';
7
+ import { hashPassword } from '@volontariapp/crypto';
8
+ import { Streams, UserRoles } from '@volontariapp/shared';
9
+ import { UserEventMessagingType } from '@volontariapp/messaging';
10
+ describe('Users Trigger (Integration)', () => {
11
+ let userRepository;
12
+ beforeAll(async () => {
13
+ await initializeTestDb();
14
+ userRepository = new PostgresUserRepository(getTestRepository(UserModel), 'test-email-encryption-secret-32ch');
15
+ });
16
+ afterAll(async () => {
17
+ await closeTestDb();
18
+ });
19
+ beforeEach(async () => {
20
+ await truncateAll();
21
+ });
22
+ it('should insert a record into event_queue when a new user is created', async () => {
23
+ const input = UserFactory.buildInput({
24
+ email: 'trigger@example.com',
25
+ pseudo: 'triggeruser',
26
+ role: UserRoles.VOLUNTEER,
27
+ });
28
+ const hashedPwd = hashPassword('Password123!');
29
+ const result = await userRepository.createWithHashedPassword(input, hashedPwd);
30
+ const events = await testDataSource.query('SELECT * FROM event_queue WHERE emitter = $1 AND type = $2', [
31
+ 'ms-user',
32
+ 'user.created',
33
+ ]);
34
+ expect(events).toHaveLength(1);
35
+ const event = events[0];
36
+ expect(event.type).toBe(UserEventMessagingType.USER_CREATED);
37
+ expect(event.emitter).toBe('ms-user');
38
+ expect(event.emitterId).toBe(result.id);
39
+ expect(event.payload).toEqual({
40
+ id: result.id,
41
+ role: UserRoles.VOLUNTEER,
42
+ });
43
+ expect(event.target_services).toEqual([
44
+ Streams.SOCIAL_USER,
45
+ ]);
46
+ expect(event.status).toBe('PENDING');
47
+ });
48
+ });
49
+ //# sourceMappingURL=users-trigger.int.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-trigger.int.spec.js","sourceRoot":"","sources":["../../../src/test/integration/users-trigger.int.spec.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAI,cAAsC,CAAC;IAE3C,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,gBAAgB,EAAE,CAAC;QACzB,cAAc,GAAG,IAAI,sBAAsB,CACzC,iBAAiB,CAAC,SAAS,CAAC,EAC5B,mCAAmC,CACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAElF,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;YACnC,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,SAAS,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAG/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAG/E,MAAM,MAAM,GACV,MAAM,cAAc,CAAC,KAAK,CAAC,4DAA4D,EAAE;YACvF,SAAS;YACT,cAAc;SACf,CAAC,CAAC;QAEL,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YAC5B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,SAAS,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAE,KAAmD,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;YACnF,OAAO,CAAC,WAAW;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class SetupUserTriggers1780000000000 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=1780000000000-SetupUserTriggers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1780000000000-SetupUserTriggers.d.ts","sourceRoot":"","sources":["../../../../src/test/migrations/domain/1780000000000-SetupUserTriggers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/D,qBAAa,8BAA+B,YAAW,kBAAkB;IACvE,IAAI,SAAoC;IAE3B,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAM3D"}
@@ -0,0 +1,12 @@
1
+ import { USERS_TRIGGER } from '../../../database/triggers/index.js';
2
+ export class SetupUserTriggers1780000000000 {
3
+ name = 'SetupUserTriggers1780000000000';
4
+ async up(queryRunner) {
5
+ await queryRunner.query(USERS_TRIGGER);
6
+ }
7
+ async down(queryRunner) {
8
+ await queryRunner.query(`DROP TRIGGER IF EXISTS users_created_event_queue_trigger ON users;`);
9
+ await queryRunner.query(`DROP FUNCTION IF EXISTS create_user_created_event_queue_record() CASCADE;`);
10
+ }
11
+ }
12
+ //# sourceMappingURL=1780000000000-SetupUserTriggers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1780000000000-SetupUserTriggers.js","sourceRoot":"","sources":["../../../../src/test/migrations/domain/1780000000000-SetupUserTriggers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE,MAAM,OAAO,8BAA8B;IACzC,IAAI,GAAG,gCAAgC,CAAC;IAEjC,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC9F,MAAM,WAAW,CAAC,KAAK,CACrB,2EAA2E,CAC5E,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volontariapp/domain-user",
3
- "version": "2.6.0",
3
+ "version": "2.6.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -42,10 +42,11 @@
42
42
  "@volontariapp/auth": "3.2.8",
43
43
  "@volontariapp/contracts": "4.0.11",
44
44
  "@volontariapp/crypto": "0.3.8",
45
- "@volontariapp/database": "3.2.1",
45
+ "@volontariapp/database": "3.2.2",
46
46
  "@volontariapp/errors": "0.5.2",
47
47
  "@volontariapp/errors-nest": "0.11.2",
48
48
  "@volontariapp/logger": "0.2.5",
49
+ "@volontariapp/messaging": "2.4.0",
49
50
  "@volontariapp/shared": "0.5.2"
50
51
  },
51
52
  "devDependencies": {