@osaas/types 0.7.0 → 0.7.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.
@@ -46,6 +46,11 @@ export declare const TenantSchema: Schema<any, import("mongoose").Model<any, any
46
46
  azureAdTenantId?: string | undefined;
47
47
  } | undefined;
48
48
  } | undefined;
49
+ authCredentials?: {
50
+ clientSecretHash: string;
51
+ grantType: string;
52
+ rotatedAt?: Date | undefined;
53
+ } | undefined;
49
54
  }, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
50
55
  _id: string;
51
56
  enabled: boolean;
@@ -67,6 +72,11 @@ export declare const TenantSchema: Schema<any, import("mongoose").Model<any, any
67
72
  azureAdTenantId?: string | undefined;
68
73
  } | undefined;
69
74
  } | undefined;
75
+ authCredentials?: {
76
+ clientSecretHash: string;
77
+ grantType: string;
78
+ rotatedAt?: Date | undefined;
79
+ } | undefined;
70
80
  }>> & import("mongoose").FlatRecord<{
71
81
  _id: string;
72
82
  enabled: boolean;
@@ -88,6 +98,11 @@ export declare const TenantSchema: Schema<any, import("mongoose").Model<any, any
88
98
  azureAdTenantId?: string | undefined;
89
99
  } | undefined;
90
100
  } | undefined;
101
+ authCredentials?: {
102
+ clientSecretHash: string;
103
+ grantType: string;
104
+ rotatedAt?: Date | undefined;
105
+ } | undefined;
91
106
  }> & Required<{
92
107
  _id: string;
93
108
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tenant.d.ts","sourceRoot":"","sources":["../../src/schema/Tenant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAC;AAKlD,eAAO,MAAM,eAAe,gCAAiC,CAAC;AAC9D,eAAO,MAAM,cAAc,uBAAwB,CAAC;AAMpD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FvB,CAAC"}
1
+ {"version":3,"file":"Tenant.d.ts","sourceRoot":"","sources":["../../src/schema/Tenant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAC;AAKlD,eAAO,MAAM,eAAe,gCAAiC,CAAC;AAC9D,eAAO,MAAM,cAAc,uBAAwB,CAAC;AAMpD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EvB,CAAC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TenantSchema = exports.AUTH_PROVIDERS = exports.BILLING_OPTIONS = void 0;
4
4
  const mongoose_1 = require("mongoose");
5
5
  const util_1 = require("./util");
6
- const SCHEMA_VERSION = 5;
6
+ const SCHEMA_VERSION = 6;
7
7
  exports.BILLING_OPTIONS = ['paypal', 'invoice'];
8
8
  exports.AUTH_PROVIDERS = ['azure-ad'];
9
9
  function tenantIdValidator(_id) {
@@ -25,60 +25,47 @@ exports.TenantSchema = new mongoose_1.Schema({
25
25
  required: false,
26
26
  index: {
27
27
  unique: true,
28
- collation: {
29
- // case insensitive
30
- locale: 'simple',
31
- strength: 1
32
- },
33
- // only index documents that have a name field
28
+ collation: { locale: 'simple', strength: 1 },
34
29
  partialFilterExpression: { name: { $type: 'string' } }
35
30
  }
36
31
  },
37
- description: {
38
- type: String,
39
- required: false
40
- },
41
- avatarUrl: {
42
- type: String,
43
- required: false
44
- },
32
+ description: { type: String, required: false },
33
+ avatarUrl: { type: String, required: false },
45
34
  billing: {
46
35
  type: String,
47
- enum: ['paypal', 'invoice'],
36
+ enum: exports.BILLING_OPTIONS,
48
37
  required: true,
49
38
  default: 'invoice'
50
39
  },
51
40
  authProvider: {
52
41
  type: {
53
- provider: {
54
- type: String,
55
- enum: exports.AUTH_PROVIDERS,
56
- required: true
57
- },
58
- clientId: {
59
- type: String,
60
- required: true
61
- },
62
- clientSecret: {
63
- type: String,
64
- required: true
65
- },
66
- emailRegex: {
67
- type: String,
68
- required: true
69
- },
42
+ provider: { type: String, enum: exports.AUTH_PROVIDERS, required: true },
43
+ clientId: { type: String, required: true },
44
+ clientSecret: { type: String, required: true },
45
+ emailRegex: { type: String, required: true },
70
46
  config: {
71
47
  type: {
72
- azureAdTenantId: {
73
- type: String,
74
- required: false
75
- }
48
+ azureAdTenantId: { type: String, required: false }
76
49
  },
77
50
  required: false
78
51
  }
79
52
  },
80
53
  required: false
81
54
  },
55
+ // Per-tenant OAuth client; client_id === tenant _id
56
+ authCredentials: {
57
+ type: {
58
+ // client_id === tenant._id (not stored, derived)
59
+ clientSecretHash: { type: String, required: true },
60
+ grantType: {
61
+ type: String,
62
+ required: true,
63
+ default: 'client_credentials'
64
+ },
65
+ rotatedAt: { type: Date, required: false }
66
+ },
67
+ required: false
68
+ },
82
69
  repositories: [
83
70
  {
84
71
  type: {
@@ -87,16 +74,9 @@ exports.TenantSchema = new mongoose_1.Schema({
87
74
  required: true,
88
75
  default: 'github'
89
76
  },
90
- _id: {
91
- type: String,
92
- required: true
93
- }
77
+ _id: { type: String, required: true }
94
78
  }
95
79
  ],
96
- schemaVersion: {
97
- type: Number,
98
- required: true,
99
- default: SCHEMA_VERSION
100
- }
80
+ schemaVersion: { type: Number, required: true, default: SCHEMA_VERSION }
101
81
  });
102
82
  //# sourceMappingURL=Tenant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tenant.js","sourceRoot":"","sources":["../../src/schema/Tenant.ts"],"names":[],"mappings":";;;AAAA,uCAAkD;AAClD,iCAA0C;AAE1C,MAAM,cAAc,GAAG,CAAC,CAAC;AAEZ,QAAA,eAAe,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAU,CAAC;AACjD,QAAA,cAAc,GAAG,CAAC,UAAU,CAAU,CAAC;AAEpD,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAEY,QAAA,YAAY,GAAG,IAAI,iBAAM,CAAC;IACrC,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,uBAAgB;QACzB,QAAQ,EAAE;YACR,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,CAAC,KAAqB,EAAE,EAAE,CACjC,GAAG,KAAK,CAAC,KAAK,8GAA8G;SAC/H;KACF;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,mBAAmB;gBACnB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,CAAC;aACZ;YACD,8CAA8C;YAC9C,uBAAuB,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;SACvD;KACF;IACD,WAAW,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC3B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,SAAS;KACnB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE;YACJ,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sBAAc;gBACpB,QAAQ,EAAE,IAAI;aACf;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACf;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACf;YACD,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,eAAe,EAAE;wBACf,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,KAAK;qBAChB;iBACF;gBACD,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,QAAQ,EAAE,KAAK;KAChB;IACD,YAAY,EAAE;QACZ;YACE,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,QAAQ;aAClB;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD,aAAa,EAAE;QACb,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,cAAc;KACxB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"Tenant.js","sourceRoot":"","sources":["../../src/schema/Tenant.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osaas/types",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "OSaaS shared types",
5
5
  "author": "Jonas Birmé <jonas.birme@eyevinn.se>",
6
6
  "homepage": "https://github.com/Eyevinn/osaas-lib-util#readme",
@@ -31,5 +31,5 @@
31
31
  "mongoose": "^7.4.3",
32
32
  "nanoid": "^3.0.2"
33
33
  },
34
- "gitHead": "96dbb33f431d3b488be046c1e6df193a8ce5d7da"
34
+ "gitHead": "a3c4aaa9e241be2198b0730c47df2ef07ef48dcc"
35
35
  }