@axinom/mosaic-id-guard 0.28.0-rc.1 → 0.28.0-rc.2

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,17 +1,16 @@
1
1
  import { MessagingSettings } from '@axinom/mosaic-message-bus-abstractions';
2
- import { Logger } from '@axinom/mosaic-service-common';
3
- import { DbConfig, TransactionalInboxMessage, TransactionalInboxMessageHandler } from '@axinom/mosaic-transactional-inbox-outbox';
4
- import { ClientBase } from 'pg';
5
- import { InboxMessage } from 'pg-transactional-outbox';
2
+ import { BasicConfig, BasicDBConfig, Logger } from '@axinom/mosaic-service-common';
3
+ import { TransactionalInboxMessageHandler, TypedTransactionalMessage } from '@axinom/mosaic-transactional-inbox-outbox';
4
+ import { DatabaseClient, StoredTransactionalMessage } from 'pg-transactional-outbox';
6
5
  import { AuthenticatedManagementSubject, AuthenticationConfig } from '../common';
7
6
  export interface GuardedContext {
8
7
  subject: AuthenticatedManagementSubject;
9
8
  [key: string]: unknown;
10
9
  }
11
- export type GuardedConfig = DbConfig & {
10
+ export type GuardedConfig = BasicDBConfig & BasicConfig & {
12
11
  idServiceAuthBaseUrl: string;
13
12
  };
14
- export declare abstract class GuardedTransactionalInboxMessageHandler<TMessage, TConfig extends GuardedConfig> extends TransactionalInboxMessageHandler<TMessage, GuardedContext, TConfig> {
13
+ export declare abstract class GuardedTransactionalInboxMessageHandler<TMessage, TConfig extends GuardedConfig> extends TransactionalInboxMessageHandler<TMessage, TConfig, GuardedContext> {
15
14
  protected permissions: string[];
16
15
  private authParams;
17
16
  /**
@@ -24,7 +23,7 @@ export declare abstract class GuardedTransactionalInboxMessageHandler<TMessage,
24
23
  * @param authParams The authentication settings - AuthenticationConfig for customizable services and auth serice URL for managed services.
25
24
  */
26
25
  constructor(messagingSettings: MessagingSettings, permissions: string[], logger: Logger, config: TConfig, authParams: string | AuthenticationConfig);
27
- protected authenticateAndAuthorize: <TMessage_1>(message: TransactionalInboxMessage<TMessage_1>, envOwnerClient: ClientBase) => Promise<GuardedContext>;
26
+ protected authenticateAndAuthorize: <TMessage_1>(message: TypedTransactionalMessage<TMessage_1>, envOwnerClient: DatabaseClient) => Promise<GuardedContext>;
28
27
  /**
29
28
  * Add the PostgreSQL settings for the environment owner connection and subject
30
29
  * @param envOwnerClient The env owner based DB client
@@ -35,10 +34,10 @@ export declare abstract class GuardedTransactionalInboxMessageHandler<TMessage,
35
34
  * await setPgSettingsConfig(pgSettings, envOwnerClient);
36
35
  * ```
37
36
  */
38
- protected abstract setPgSettings(envOwnerClient: ClientBase, subject: AuthenticatedManagementSubject): Promise<void>;
37
+ protected abstract setPgSettings(envOwnerClient: DatabaseClient, subject: AuthenticatedManagementSubject): Promise<void>;
39
38
  mapError(error: Error): Error;
40
39
  protected updateErrorDetails(error: Error & {
41
40
  details?: Record<string, unknown>;
42
- }, message: InboxMessage, context?: GuardedContext): void;
41
+ }, message: StoredTransactionalMessage, context?: GuardedContext): void;
43
42
  }
44
43
  //# sourceMappingURL=guarded-transactional-inbox-message-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guarded-transactional-inbox-message-handler.d.ts","sourceRoot":"","sources":["../../src/message-bus/guarded-transactional-inbox-message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EACL,MAAM,EAGP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EAGrB,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,8BAA8B,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG;IAAE,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,8BAAsB,uCAAuC,CAC3D,QAAQ,EACR,OAAO,SAAS,aAAa,CAC7B,SAAQ,gCAAgC,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC;IAYzE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE;IAG/B,OAAO,CAAC,UAAU;IAdpB;;;;;;;;OAQG;gBAED,iBAAiB,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACP,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAWnD,SAAS,CAAC,wBAAwB,+EAEhB,UAAU,KACzB,QAAQ,cAAc,CAAC,CAYxB;IAEF;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAC9B,cAAc,EAAE,UAAU,EAC1B,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,IAAI,CAAC;IAEP,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;cAInB,kBAAkB,CACnC,KAAK,EAAE,KAAK,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EACpD,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI;CAcR"}
1
+ {"version":3,"file":"guarded-transactional-inbox-message-handler.d.ts","sourceRoot":"","sources":["../../src/message-bus/guarded-transactional-inbox-message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,aAAa,EACb,MAAM,EAGP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,cAAc,EACd,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EAGrB,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,8BAA8B,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,GACvC,WAAW,GAAG;IAAE,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,8BAAsB,uCAAuC,CAC3D,QAAQ,EACR,OAAO,SAAS,aAAa,CAC7B,SAAQ,gCAAgC,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC;IAYzE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE;IAG/B,OAAO,CAAC,UAAU;IAdpB;;;;;;;;OAQG;gBAED,iBAAiB,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACP,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAWnD,SAAS,CAAC,wBAAwB,+EAEhB,cAAc,KAC7B,QAAQ,cAAc,CAAC,CAYxB;IAEF;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,IAAI,CAAC;IAEP,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;cAInB,kBAAkB,CACnC,KAAK,EAAE,KAAK,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EACpD,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI;CAcR"}
@@ -1 +1 @@
1
- {"version":3,"file":"guarded-transactional-inbox-message-handler.js","sourceRoot":"","sources":["../../src/message-bus/guarded-transactional-inbox-message-handler.ts"],"names":[],"mappings":";;;AACA,yEAIuC;AACvC,iGAImD;AAGnD,sCAKmB;AACnB,+EAAiE;AASjE,MAAsB,uCAGpB,SAAQ,oEAAmE;IAC3E;;;;;;;;OAQG;IACH,YACE,iBAAoC,EAC1B,WAAqB,EAC/B,MAAc,EACd,MAAe,EACP,UAAyC;QAEjD,MAAM,OAAO,GAAG,KAAK,EACnB,OAA4C,EAC5C,cAA0B,EACD,EAAE;YAC3B,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAXxC,gBAAW,GAAX,WAAW,CAAU;QAGvB,eAAU,GAAV,UAAU,CAA+B;QAWzC,6BAAwB,GAAG,KAAK,EACxC,OAA4C,EAC5C,cAA0B,EACD,EAAE;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,MAAM,IAAI,mCAAW,CAAC,sBAAa,CAAC,mBAAmB,CAAC,CAAC;aAC1D;YACD,MAAM,OAAO,GAAG,MAAM,IAAA,0CAAiC,EACrD,KAAK,EACL,IAAI,CAAC,UAAU,CAChB,CAAC;YACF,MAAM,IAAA,8CAAgB,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC;IAjBF,CAAC;IAkCQ,QAAQ,CAAC,KAAY;QAC5B,OAAO,IAAA,sCAAc,EAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEkB,kBAAkB,CACnC,KAAoD,EACpD,OAAqB,EACrB,OAAwB;;QAExB,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,MAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,aAAa,CAAA,EAAE;YAC3D,OAAO;SACR;QAED,IAAI,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,QAAQ,MAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,aAAa,CAAA,EAAE;YACjE,KAAK,CAAC,OAAO,mBACX,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAClC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,IACzC,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAC,CACzB,CAAC;SACH;IACH,CAAC;CACF;AAnFD,0FAmFC"}
1
+ {"version":3,"file":"guarded-transactional-inbox-message-handler.js","sourceRoot":"","sources":["../../src/message-bus/guarded-transactional-inbox-message-handler.ts"],"names":[],"mappings":";;;AACA,yEAMuC;AACvC,iGAGmD;AAKnD,sCAKmB;AACnB,+EAAiE;AAUjE,MAAsB,uCAGpB,SAAQ,oEAAmE;IAC3E;;;;;;;;OAQG;IACH,YACE,iBAAoC,EAC1B,WAAqB,EAC/B,MAAc,EACd,MAAe,EACP,UAAyC;QAEjD,MAAM,OAAO,GAAG,KAAK,EACnB,OAA4C,EAC5C,cAA8B,EACL,EAAE;YAC3B,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAXxC,gBAAW,GAAX,WAAW,CAAU;QAGvB,eAAU,GAAV,UAAU,CAA+B;QAWzC,6BAAwB,GAAG,KAAK,EACxC,OAA4C,EAC5C,cAA8B,EACL,EAAE;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,MAAM,IAAI,mCAAW,CAAC,sBAAa,CAAC,mBAAmB,CAAC,CAAC;aAC1D;YACD,MAAM,OAAO,GAAG,MAAM,IAAA,0CAAiC,EACrD,KAAK,EACL,IAAI,CAAC,UAAU,CAChB,CAAC;YACF,MAAM,IAAA,8CAAgB,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC;IAjBF,CAAC;IAkCQ,QAAQ,CAAC,KAAY;QAC5B,OAAO,IAAA,sCAAc,EAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEkB,kBAAkB,CACnC,KAAoD,EACpD,OAAmC,EACnC,OAAwB;;QAExB,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,MAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,aAAa,CAAA,EAAE;YAC3D,OAAO;SACR;QAED,IAAI,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,QAAQ,MAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,aAAa,CAAA,EAAE;YACjE,KAAK,CAAC,OAAO,mBACX,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAClC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,IACzC,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAC,CACzB,CAAC;SACH;IACH,CAAC;CACF;AAnFD,0FAmFC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axinom/mosaic-id-guard",
3
- "version": "0.28.0-rc.1",
3
+ "version": "0.28.0-rc.2",
4
4
  "description": "Authentication and authorization helpers for Axinom Mosaic services",
5
5
  "author": "Axinom",
6
6
  "license": "PROPRIETARY",
@@ -28,10 +28,10 @@
28
28
  "lint": "eslint . --ext .ts,.tsx,.js --color --cache"
29
29
  },
30
30
  "dependencies": {
31
- "@axinom/mosaic-id-utils": "^0.15.13-rc.1",
32
- "@axinom/mosaic-message-bus": "^0.23.0-rc.1",
33
- "@axinom/mosaic-service-common": "^0.45.0-rc.1",
34
- "@axinom/mosaic-transactional-inbox-outbox": "^0.5.0-rc.1",
31
+ "@axinom/mosaic-id-utils": "^0.15.13-rc.2",
32
+ "@axinom/mosaic-message-bus": "^0.23.0-rc.2",
33
+ "@axinom/mosaic-service-common": "^0.45.0-rc.2",
34
+ "@axinom/mosaic-transactional-inbox-outbox": "^0.5.0-rc.2",
35
35
  "amqplib": "^0.10.3",
36
36
  "express": "^4.17.1",
37
37
  "express-bearer-token": "^2.4.0",
@@ -44,7 +44,7 @@
44
44
  "jwks-rsa": "^1.8.1",
45
45
  "lru-cache": "^7.18.3",
46
46
  "pg": "^8.11.3",
47
- "pg-transactional-outbox": "^0.4.0-beta.11",
47
+ "pg-transactional-outbox": "0.5.0-beta.11",
48
48
  "postgraphile": "^4.13.0",
49
49
  "rascal": "^14.0.1",
50
50
  "subscriptions-transport-ws": "^0.9.19"
@@ -64,5 +64,5 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "efd204f4dc34b7717040a0105d2e148e8ad5ae17"
67
+ "gitHead": "5d0249232bc0618f5c6e0cb03b70d1addfda82b0"
68
68
  }
@@ -1,16 +1,19 @@
1
1
  import { MessagingSettings } from '@axinom/mosaic-message-bus-abstractions';
2
2
  import {
3
+ BasicConfig,
4
+ BasicDBConfig,
3
5
  Logger,
4
6
  MosaicError,
5
7
  getMappedError,
6
8
  } from '@axinom/mosaic-service-common';
7
9
  import {
8
- DbConfig,
9
- TransactionalInboxMessage,
10
10
  TransactionalInboxMessageHandler,
11
+ TypedTransactionalMessage,
11
12
  } from '@axinom/mosaic-transactional-inbox-outbox';
12
- import { ClientBase } from 'pg';
13
- import { InboxMessage } from 'pg-transactional-outbox';
13
+ import {
14
+ DatabaseClient,
15
+ StoredTransactionalMessage,
16
+ } from 'pg-transactional-outbox';
14
17
  import {
15
18
  AuthenticatedManagementSubject,
16
19
  AuthenticationConfig,
@@ -24,12 +27,13 @@ export interface GuardedContext {
24
27
  [key: string]: unknown;
25
28
  }
26
29
 
27
- export type GuardedConfig = DbConfig & { idServiceAuthBaseUrl: string };
30
+ export type GuardedConfig = BasicDBConfig &
31
+ BasicConfig & { idServiceAuthBaseUrl: string };
28
32
 
29
33
  export abstract class GuardedTransactionalInboxMessageHandler<
30
34
  TMessage,
31
35
  TConfig extends GuardedConfig,
32
- > extends TransactionalInboxMessageHandler<TMessage, GuardedContext, TConfig> {
36
+ > extends TransactionalInboxMessageHandler<TMessage, TConfig, GuardedContext> {
33
37
  /**
34
38
  * Create a new Message handler that provides both the functionality to store
35
39
  * an incoming RabbitMQ message in the inbox and provides the actual logic to
@@ -47,8 +51,8 @@ export abstract class GuardedTransactionalInboxMessageHandler<
47
51
  private authParams: string | AuthenticationConfig,
48
52
  ) {
49
53
  const wrapper = async <TMessage>(
50
- message: TransactionalInboxMessage<TMessage>,
51
- envOwnerClient: ClientBase,
54
+ message: TypedTransactionalMessage<TMessage>,
55
+ envOwnerClient: DatabaseClient,
52
56
  ): Promise<GuardedContext> => {
53
57
  return this.authenticateAndAuthorize(message, envOwnerClient);
54
58
  };
@@ -56,8 +60,8 @@ export abstract class GuardedTransactionalInboxMessageHandler<
56
60
  }
57
61
 
58
62
  protected authenticateAndAuthorize = async <TMessage>(
59
- message: TransactionalInboxMessage<TMessage>,
60
- envOwnerClient: ClientBase,
63
+ message: TypedTransactionalMessage<TMessage>,
64
+ envOwnerClient: DatabaseClient,
61
65
  ): Promise<GuardedContext> => {
62
66
  const token = message.metadata.authToken;
63
67
  if (token === undefined) {
@@ -83,7 +87,7 @@ export abstract class GuardedTransactionalInboxMessageHandler<
83
87
  * ```
84
88
  */
85
89
  protected abstract setPgSettings(
86
- envOwnerClient: ClientBase,
90
+ envOwnerClient: DatabaseClient,
87
91
  subject: AuthenticatedManagementSubject,
88
92
  ): Promise<void>;
89
93
 
@@ -93,7 +97,7 @@ export abstract class GuardedTransactionalInboxMessageHandler<
93
97
 
94
98
  protected override updateErrorDetails(
95
99
  error: Error & { details?: Record<string, unknown> },
96
- message: InboxMessage,
100
+ message: StoredTransactionalMessage,
97
101
  context?: GuardedContext,
98
102
  ): void {
99
103
  super.updateErrorDetails(error, message, context);