@contember/engine-tenant-api 2.1.0-rc.1 → 2.1.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.
Files changed (72) hide show
  1. package/dist/development/src/model/queries/membership/ProjectMembersQuery.cjs +1 -1
  2. package/dist/development/src/model/queries/membership/ProjectMembersQuery.cjs.map +1 -1
  3. package/dist/development/src/model/queries/membership/ProjectMembersQuery.js +1 -1
  4. package/dist/development/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
  5. package/dist/development/src/model/service/PersonAccessManager.cjs +2 -2
  6. package/dist/development/src/model/service/PersonAccessManager.cjs.map +1 -1
  7. package/dist/development/src/model/service/PersonAccessManager.js +2 -2
  8. package/dist/development/src/model/service/PersonAccessManager.js.map +1 -1
  9. package/dist/development/src/model/service/apiKey/ApiKeyManager.cjs +4 -3
  10. package/dist/development/src/model/service/apiKey/ApiKeyManager.cjs.map +1 -1
  11. package/dist/development/src/model/service/apiKey/ApiKeyManager.js +4 -3
  12. package/dist/development/src/model/service/apiKey/ApiKeyManager.js.map +1 -1
  13. package/dist/development/src/model/service/idp/IDPManager.cjs +28 -2
  14. package/dist/development/src/model/service/idp/IDPManager.cjs.map +1 -1
  15. package/dist/development/src/model/service/idp/IDPManager.js +28 -2
  16. package/dist/development/src/model/service/idp/IDPManager.js.map +1 -1
  17. package/dist/development/src/model/utils/DatabaseContext.cjs +7 -2
  18. package/dist/development/src/model/utils/DatabaseContext.cjs.map +1 -1
  19. package/dist/development/src/model/utils/DatabaseContext.js +8 -3
  20. package/dist/development/src/model/utils/DatabaseContext.js.map +1 -1
  21. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +1 -1
  22. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
  23. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js +1 -1
  24. package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
  25. package/dist/production/src/model/queries/membership/ProjectMembersQuery.cjs +1 -1
  26. package/dist/production/src/model/queries/membership/ProjectMembersQuery.cjs.map +1 -1
  27. package/dist/production/src/model/queries/membership/ProjectMembersQuery.js +1 -1
  28. package/dist/production/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
  29. package/dist/production/src/model/service/PersonAccessManager.cjs +2 -2
  30. package/dist/production/src/model/service/PersonAccessManager.cjs.map +1 -1
  31. package/dist/production/src/model/service/PersonAccessManager.js +2 -2
  32. package/dist/production/src/model/service/PersonAccessManager.js.map +1 -1
  33. package/dist/production/src/model/service/apiKey/ApiKeyManager.cjs +4 -3
  34. package/dist/production/src/model/service/apiKey/ApiKeyManager.cjs.map +1 -1
  35. package/dist/production/src/model/service/apiKey/ApiKeyManager.js +4 -3
  36. package/dist/production/src/model/service/apiKey/ApiKeyManager.js.map +1 -1
  37. package/dist/production/src/model/service/idp/IDPManager.cjs +28 -2
  38. package/dist/production/src/model/service/idp/IDPManager.cjs.map +1 -1
  39. package/dist/production/src/model/service/idp/IDPManager.js +28 -2
  40. package/dist/production/src/model/service/idp/IDPManager.js.map +1 -1
  41. package/dist/production/src/model/utils/DatabaseContext.cjs +7 -2
  42. package/dist/production/src/model/utils/DatabaseContext.cjs.map +1 -1
  43. package/dist/production/src/model/utils/DatabaseContext.js +8 -3
  44. package/dist/production/src/model/utils/DatabaseContext.js.map +1 -1
  45. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +1 -1
  46. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
  47. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js +1 -1
  48. package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
  49. package/dist/tests/cases/unit/databaseContextRetry.test.d.ts +2 -0
  50. package/dist/tests/cases/unit/databaseContextRetry.test.d.ts.map +1 -0
  51. package/dist/tests/cases/unit/idp/idpManagerUnknownConfigKeys.test.d.ts +2 -0
  52. package/dist/tests/cases/unit/idp/idpManagerUnknownConfigKeys.test.d.ts.map +1 -0
  53. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  54. package/dist/types/model/queries/membership/ProjectMembersQuery.d.ts.map +1 -1
  55. package/dist/types/model/service/PersonAccessManager.d.ts +2 -1
  56. package/dist/types/model/service/PersonAccessManager.d.ts.map +1 -1
  57. package/dist/types/model/service/apiKey/ApiKeyManager.d.ts.map +1 -1
  58. package/dist/types/model/service/idp/IDPManager.d.ts +18 -0
  59. package/dist/types/model/service/idp/IDPManager.d.ts.map +1 -1
  60. package/dist/types/model/utils/DatabaseContext.d.ts +14 -1
  61. package/dist/types/model/utils/DatabaseContext.d.ts.map +1 -1
  62. package/dist/types/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +1 -1
  64. package/src/model/queries/membership/ProjectMembersQuery.ts +1 -0
  65. package/src/model/service/PersonAccessManager.ts +5 -2
  66. package/src/model/service/apiKey/ApiKeyManager.ts +5 -3
  67. package/src/model/service/idp/IDPManager.ts +30 -2
  68. package/src/model/utils/DatabaseContext.ts +27 -6
  69. package/src/resolvers/mutation/person/DisablePersonMutationResolver.ts +1 -1
  70. package/tests/cases/integration/mocked/listProjectMembersQuery.test.ts +8 -3
  71. package/tests/cases/unit/databaseContextRetry.test.ts +80 -0
  72. package/tests/cases/unit/idp/idpManagerUnknownConfigKeys.test.ts +101 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectMembersQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAc,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IAE/E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,mBAAmB;IAKnD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA2C1E;AAED,MAAM,WAAW,sBAAsB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,EAAE,CAAA"}
1
+ {"version":3,"file":"ProjectMembersQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAc,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IAE/E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,mBAAmB;IAKnD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA4C1E;AAED,MAAM,WAAW,sBAAsB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,EAAE,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { Logger } from '@contember/logger';
1
2
  import { PersonRow } from '../queries';
2
3
  import { DatabaseContext } from '../utils';
3
4
  import { ApiKeyManager } from './apiKey';
@@ -6,7 +7,7 @@ import { DisablePersonErrorCode } from '../../schema';
6
7
  declare class PersonAccessManager {
7
8
  private readonly apiKeyManager;
8
9
  constructor(apiKeyManager: ApiKeyManager);
9
- disablePerson(dbContext: DatabaseContext, person: PersonRow): Promise<PersonDisableAccessResponse>;
10
+ disablePerson(dbContext: DatabaseContext, person: PersonRow, logger: Logger): Promise<PersonDisableAccessResponse>;
10
11
  private disablePersonAccount;
11
12
  private disableIdentityApiKeys;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PersonAccessManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/PersonAccessManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAErD,cAAM,mBAAmB;IACZ,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEnD,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,2BAA2B,CAAC;YAc1F,oBAAoB;YAIpB,sBAAsB;CAGpC;AAED,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAA;AAEhF,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"PersonAccessManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/PersonAccessManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAErD,cAAM,mBAAmB;IACZ,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEnD,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;YAgB1G,oBAAoB;YAIpB,sBAAsB;CAGpC;AAED,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAA;AAEhF,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeyManager.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/apiKey/ApiKeyManager.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAuC,SAAS,EAAsB,MAAM,eAAe,CAAA;AAKlG,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAGxC,gBAAgB,CACrB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,eAAe,EAC9B,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC;IAgCpB,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzG,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAMnF,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,sBAAsB,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrF,2BAA2B,CAChC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,CAAC,EAAE,SAAS,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAM1B,4BAA4B,CACjC,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,EACtC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,SAAS,GACnB,OAAO,CAAC,oBAAoB,CAAC;CAKhC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;AAEpE,qBAAa,YAAY;aAIP,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;aAChB,KAAK,EAAE,MAAM,EAAE;aACf,QAAQ,EAAE,MAAM,GAAG,IAAI;IANxC,QAAQ,CAAC,KAAK,QAAO;gBAGJ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,IAAI;CAExC;AAED,oBAAY,eAAe;IAC1B,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;CAC3C"}
1
+ {"version":3,"file":"ApiKeyManager.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/apiKey/ApiKeyManager.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAuC,SAAS,EAAsB,MAAM,eAAe,CAAA;AAKlG,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAGxC,gBAAgB,CACrB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,eAAe,EAC9B,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC;IAkCpB,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzG,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAMnF,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,sBAAsB,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrF,2BAA2B,CAChC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,CAAC,EAAE,SAAS,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAM1B,4BAA4B,CACjC,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,EACtC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,SAAS,GACnB,OAAO,CAAC,oBAAoB,CAAC;CAKhC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;AAEpE,qBAAa,YAAY;aAIP,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;aAChB,KAAK,EAAE,MAAM,EAAE;aACf,QAAQ,EAAE,MAAM,GAAG,IAAI;IANxC,QAAQ,CAAC,KAAK,QAAO;gBAGJ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,IAAI;CAExC;AAED,oBAAY,eAAe;IAC1B,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;CAC3C"}
@@ -12,6 +12,24 @@ export declare class IDPManager {
12
12
  disableIDP(db: DatabaseContext, slug: string): Promise<DisableIDPResponse>;
13
13
  enableIDP(db: DatabaseContext, slug: string): Promise<EnableIDPResponse>;
14
14
  updateIDP(db: DatabaseContext, slug: string, data: UpdateIdpData, mergeConfiguration: boolean): Promise<UpdateIDPResponse>;
15
+ /**
16
+ * Reject top-level `configuration` keys the provider does not recognise.
17
+ *
18
+ * Every provider configuration is parsed with `Typesafe.partial`, which silently DROPS unknown
19
+ * properties. Without this check `addIDP` / `updateIDP` answer `ok` to a configuration the
20
+ * provider will never act on — a typo like `fetchUserinfo` (lowercase i) reads as a successfully
21
+ * applied setting while the option stays off, and an option that a given engine version does not
22
+ * support yet looks indistinguishable from one that works.
23
+ *
24
+ * The parsed result carries exactly the keys the provider understood, so the difference against
25
+ * the submitted object is the set of ignored keys. All of them are reported at once (rather than
26
+ * the first, as `Typesafe.noExtraProps` would) so a configuration with several typos takes one
27
+ * round trip to fix.
28
+ *
29
+ * Write time only: reading a stored configuration is deliberately left untouched, so a row written
30
+ * before this check keeps authenticating instead of locking its users out.
31
+ */
32
+ private assertNoUnknownConfigurationKeys;
15
33
  listIDP(db: DatabaseContext): Promise<IdentityProviderDto[]>;
16
34
  }
17
35
  export type RegisterIDPResponse = Response<null, AddIdpErrorCode>;
@@ -1 +1 @@
1
- {"version":3,"file":"IDPManager.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAKzD,OAAO,EAAoB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,qBAAa,UAAU;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAIpC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwBpF,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAa1E,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAaxE,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmD1H,OAAO,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAWzE;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;AACjE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;AACpE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;AAClE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA"}
1
+ {"version":3,"file":"IDPManager.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAKzD,OAAO,EAAoB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,qBAAa,UAAU;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAIpC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwBpF,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAa1E,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAaxE,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDvI;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,gCAAgC;IAW3B,OAAO,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAWzE;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;AACjE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;AACpE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;AAClE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA"}
@@ -1,7 +1,20 @@
1
1
  import { Client, Connection } from '@contember/database';
2
+ import { Logger } from '@contember/logger';
2
3
  import { Providers } from '../providers';
3
4
  import { CommandBus } from '../commands';
4
5
  import { BatchLoaderArgs } from '../../utils/batchQuery';
6
+ export interface TransactionOptions {
7
+ /**
8
+ * Repeat the transaction when postgres aborts it with a serialization failure (40001) — the standing cost of the
9
+ * repeatable-read level every transaction here runs at.
10
+ *
11
+ * Opt in only when the callback has no effect outside the transaction: several managers send a mail from inside
12
+ * one (InviteManager, EmailChangeManager, PasswordlessSignInManager) and a retry would send it twice.
13
+ */
14
+ retry?: {
15
+ logger: Logger;
16
+ };
17
+ }
5
18
  export declare class DatabaseContext<Conn extends Connection.ConnectionLike = Connection.ConnectionLike> {
6
19
  readonly client: Client<Conn>;
7
20
  readonly providers: Providers;
@@ -9,7 +22,7 @@ export declare class DatabaseContext<Conn extends Connection.ConnectionLike = Co
9
22
  constructor(client: Client<Conn>, providers: Providers);
10
23
  get commandBus(): CommandBus<Conn>;
11
24
  get queryHandler(): import("@contember/queryable").QueryHandler<import("@contember/database").DatabaseQueryable>;
12
- transaction<T>(cb: (dbContext: DatabaseContext<Connection.TransactionLike>) => Promise<T>): Promise<T>;
25
+ transaction<T>(cb: (dbContext: DatabaseContext<Connection.TransactionLike>) => Promise<T>, options?: TransactionOptions): Promise<T>;
13
26
  scope<T>(cb: (dbContext: DatabaseContext<Connection.AcquiredConnectionLike>) => Promise<T>): Promise<T>;
14
27
  batchLoad<Arg, Result, Item>(loaderArgs: BatchLoaderArgs<Arg, Result, Item>, arg: Arg): Promise<Item>;
15
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseContext.d.ts","sourceRoot":"","sources":["../../../../src/model/utils/DatabaseContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAA+B,MAAM,wBAAwB,CAAA;AAErF,qBAAa,eAAe,CAAC,IAAI,SAAS,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc;aAI7E,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;aACpB,SAAS,EAAE,SAAS;IAJrC,OAAO,CAAC,OAAO,CAAkE;gBAGhE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EACpB,SAAS,EAAE,SAAS;IAIrC,IAAW,UAAU,qBAEpB;IAED,IAAW,YAAY,iGAEtB;IAEY,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAOtG,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,sBAAsB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM7G,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5G"}
1
+ {"version":3,"file":"DatabaseContext.d.ts","sourceRoot":"","sources":["../../../../src/model/utils/DatabaseContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAA+B,MAAM,wBAAwB,CAAA;AAErF,MAAM,WAAW,kBAAkB;IAClC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1B;AAED,qBAAa,eAAe,CAAC,IAAI,SAAS,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc;aAI7E,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;aACpB,SAAS,EAAE,SAAS;IAJrC,OAAO,CAAC,OAAO,CAAkE;gBAGhE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EACpB,SAAS,EAAE,SAAS;IAIrC,IAAW,UAAU,qBAEpB;IAED,IAAW,YAAY,iGAEtB;IAEY,WAAW,CAAC,CAAC,EACzB,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1E,OAAO,GAAE,kBAAuB,GAC9B,OAAO,CAAC,CAAC,CAAC;IAaA,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,sBAAsB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM7G,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5G"}