@cerebruminc/yates 1.0.1 → 1.0.3

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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.0.3](https://github.com/cerebruminc/yates/compare/v1.0.2...v1.0.3) (2023-01-24)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Don't rerun middleware when applying RLC policies ([39433d8](https://github.com/cerebruminc/yates/commit/39433d8f4678f5238737a8111ca2fde293168296))
9
+
10
+ ## [1.0.2](https://github.com/cerebruminc/yates/compare/v1.0.1...v1.0.2) (2023-01-24)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * Publish package as public explicitly ([2b200e5](https://github.com/cerebruminc/yates/commit/2b200e5e3815c70e9bbf73182613bd5b4997ecb5))
16
+
3
17
  ## [1.0.1](https://github.com/cerebruminc/yates/compare/v1.0.0...v1.0.1) (2023-01-24)
4
18
 
5
19
 
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <div align="center">
2
- <img width="200" height="200" src="./images/yates-icon.png">
2
+ <img width="200" height="200" src="https://raw.githubusercontent.com/cerebruminc/yates/master/images/yates-icon.png">
3
3
 
4
- [![npm version](https://badge.fury.io/js/@cerebruminc/yates.svg)](https://badge.fury.io/js/@cerebruminc/yates)
4
+ [![npm version](https://img.shields.io/npm/v/@cerebruminc/yates)](https://www.npmjs.com/package/@cerebruminc/yates)
5
5
 
6
6
  <h1>Yates = Prisma + RLS</h1>
7
7
 
@@ -11,7 +11,7 @@
11
11
  <br>
12
12
  </div>
13
13
 
14
- > English: from Middle English *yates* ‘gates’ plural of *yate* Old English *geat* ‘gate’ hence a topographic or occupational name for someone who lived by the gates of a town or castle and who probably acted as the gatekeeper or porter.
14
+ > English: from Middle English _yates_ ‘gates’ plural of _yate_ Old English _geat_ ‘gate’ hence a topographic or occupational name for someone who lived by the gates of a town or castle and who probably acted as the gatekeeper or porter.
15
15
 
16
16
  <br>
17
17
 
package/dist/index.js CHANGED
@@ -64,6 +64,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
64
64
  };
65
65
  exports.__esModule = true;
66
66
  exports.setup = exports.createRoles = exports.setupMiddleware = exports.createRoleName = exports.createAbilityName = void 0;
67
+ var client_1 = require("@prisma/client");
67
68
  var flatMap_1 = __importDefault(require("lodash/flatMap"));
68
69
  var map_1 = __importDefault(require("lodash/map"));
69
70
  var toPairs_1 = __importDefault(require("lodash/toPairs"));
@@ -79,13 +80,17 @@ exports.createRoleName = createRoleName;
79
80
  // This middleware is used to set the role and context for the current user so that RLS can be applied
80
81
  // It must be the *last* middleware in the chain, as it will call the original function itself and return the value.
81
82
  var setupMiddleware = function (prisma, getContext) {
83
+ // Create a new admin client to use for unrestricted queries
84
+ // This is required because the middleware is applied to the client, and so if we use the same client, we will
85
+ // get an infinite loop and can trigger client middlewares multiple times
86
+ var adminClient = new client_1.PrismaClient();
82
87
  prisma.$use(function (params, next) { return __awaiter(void 0, void 0, void 0, function () {
83
88
  var ctx, role, context, pgRole, modelName, txResults, queryResults, selectKeys, e_1;
84
89
  var _a;
85
90
  return __generator(this, function (_b) {
86
91
  switch (_b.label) {
87
92
  case 0:
88
- if (!params.model || params.action === "queryRaw" || params.runInTransaction) {
93
+ if (!params.model) {
89
94
  return [2 /*return*/, next(params)];
90
95
  }
91
96
  ctx = getContext();
@@ -104,9 +109,9 @@ var setupMiddleware = function (prisma, getContext) {
104
109
  _b.label = 1;
105
110
  case 1:
106
111
  _b.trys.push([1, 3, , 4]);
107
- return [4 /*yield*/, prisma.$transaction(__spreadArray(__spreadArray([
112
+ return [4 /*yield*/, adminClient.$transaction(__spreadArray(__spreadArray([
108
113
  // Switch to the user role, We can't use a prepared statement here, due to limitations in PG not allowing prepared statements to be used in SET ROLE
109
- prisma.$queryRawUnsafe("SET ROLE ".concat(pgRole))
114
+ adminClient.$queryRawUnsafe("SET ROLE ".concat(pgRole))
110
115
  ], (0, toPairs_1["default"])(context).map(function (_a) {
111
116
  var key = _a[0], value = _a[1];
112
117
  var keySafe = key.replace(/[^a-z_\.]/g, "");
@@ -116,9 +121,9 @@ var setupMiddleware = function (prisma, getContext) {
116
121
  // Assumptions:
117
122
  // - prisma model class is params.model in camelCase
118
123
  // - prisma function name is params.action
119
- prisma[modelName][params.action](params.args),
124
+ adminClient[modelName][params.action](params.args),
120
125
  // Switch role back to admin user
121
- prisma.$queryRawUnsafe("SET ROLE none"),
126
+ adminClient.$queryRawUnsafe("SET ROLE none"),
122
127
  ], false))];
123
128
  case 2:
124
129
  txResults = _b.sent();
@@ -289,20 +294,20 @@ var createRoles = function (_a) {
289
294
  if (!(_m in _k)) return [3 /*break*/, 15];
290
295
  key = _m;
291
296
  role = (0, exports.createRoleName)(key);
292
- return [4 /*yield*/, prisma.$queryRawUnsafe("\n do\n $$\n begin\n if not exists (select * from pg_catalog.pg_roles where rolname = '".concat(role, "') then \n create role ").concat(role, ";\n end if;\n end\n $$\n ;\n "))];
297
+ return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\tdo\n\t\t$$\n\t\tbegin\n\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(role, "') then \n\t\t\tcreate role ").concat(role, ";\n\t\tend if;\n\t\tend\n\t\t$$\n\t\t;\n\t"))];
293
298
  case 10:
294
299
  _p.sent();
295
300
  // Note: We need to GRANT all on schema public so that we can resolve relation queries with prisma, as they will sometimes use a join table.
296
301
  // This is not ideal, but because we are using RLS, it's not a security risk. Any table with RLS also needs a corresponding policy for the role to have access.
297
- return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tGRANT ALL ON ALL TABLES IN SCHEMA public TO ".concat(role, ";\n\t\t"))];
302
+ return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\tGRANT ALL ON ALL TABLES IN SCHEMA public TO ".concat(role, ";\n\t"))];
298
303
  case 11:
299
304
  // Note: We need to GRANT all on schema public so that we can resolve relation queries with prisma, as they will sometimes use a join table.
300
305
  // This is not ideal, but because we are using RLS, it's not a security risk. Any table with RLS also needs a corresponding policy for the role to have access.
301
306
  _p.sent();
302
- return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tGRANT ALL ON ALL SEQUENCES IN SCHEMA public TO ".concat(role, ";\n\t\t"))];
307
+ return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\tGRANT ALL ON ALL SEQUENCES IN SCHEMA public TO ".concat(role, ";\n\t"))];
303
308
  case 12:
304
309
  _p.sent();
305
- return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tGRANT ALL ON SCHEMA public TO ".concat(role, ";\n\t\t"))];
310
+ return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\tGRANT ALL ON SCHEMA public TO ".concat(role, ";\n\t"))];
306
311
  case 13:
307
312
  _p.sent();
308
313
  wildCardAbilities = (0, flatMap_1["default"])(abilities, function (model, modelName) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAsD;AACtD,2DAAqC;AACrC,mDAA6B;AAC7B,2DAAqC;AAmB9B,IAAM,iBAAiB,GAAG,UAAC,KAAa,EAAE,OAAe;IAC/D,OAAO,UAAG,KAAK,cAAI,OAAO,UAAO,CAAC,WAAW,EAAE,CAAC;AACjD,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,IAAM,cAAc,GAAG,UAAC,IAAY;IAC1C,IAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,qBAAc,UAAU,CAAE,CAAC;AACnC,CAAC,CAAC;AAHW,QAAA,cAAc,kBAGzB;AAEF,sGAAsG;AACtG,oHAAoH;AAC7G,IAAM,eAAe,GAAG,UAAC,MAAoB,EAAE,UAAwB;IAC7E,4DAA4D;IAC5D,8GAA8G;IAC9G,yEAAyE;IACzE,IAAM,WAAW,GAAG,IAAI,qBAAY,EAAE,CAAC;IAEvC,MAAM,CAAC,IAAI,CAAC,UAAO,MAAM,EAAE,IAAI;;;;;;oBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;wBAClB,sBAAO,IAAI,CAAC,MAAM,CAAC,EAAC;qBACpB;oBAEK,GAAG,GAAG,UAAU,EAAE,CAAC;oBAEzB,uDAAuD;oBACvD,IAAI,GAAG,KAAK,IAAI,EAAE;wBACjB,sBAAO,IAAI,CAAC,MAAM,CAAC,EAAC;qBACpB;oBACO,IAAI,GAAc,GAAG,KAAjB,EAAE,OAAO,GAAK,GAAG,QAAR,CAAS;oBAExB,MAAM,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;oBAEpC,0EAA0E;oBAC1E,qDAAqD;oBACrD,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;wBAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;qBACtC;oBAGK,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;;oBAG5D,qBAAM,WAAW,CAAC,YAAY;4BAC/C,oJAAoJ;4BACpJ,WAAW,CAAC,eAAe,CAAC,mBAAY,MAAM,CAAE,CAAC;2BAE9C,IAAA,oBAAO,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;gCAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4BACnC,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;4BAC9C,OAAO,MAAM,CAAC,SAAS,0GAAA,oBAAqB,EAAO,IAAK,EAAK,WAAW,KAA5B,OAAO,EAAK,KAAK,EAAY;wBAC1E,CAAC,CAAC,SACC;4BACF,6BAA6B;4BAC7B,eAAe;4BACf,oDAAoD;4BACpD,0CAA0C;4BACzC,WAAmB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;4BAC3D,iCAAiC;4BACjC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC;yBAC5C,SACA,EAAA;;oBAjBI,SAAS,GAAG,SAiBhB;oBACI,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAErD,+GAA+G;oBAC/G,6MAA6M;oBAC7M,oEAAoE;oBACpE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;wBACjB,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnD,IACC,UAAU,CAAC,MAAM,KAAK,CAAC;4BACvB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;4BAC1B,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC7D,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC7C;4BACD,sBAAO,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAC;yBACnC;qBACD;oBACD,sBAAO,YAAY,EAAC;;;oBAEpB,yDAAyD;oBACzD,IAAI,MAAA,GAAC,CAAC,OAAO,0CAAE,QAAQ,CAAC,sDAAsD,CAAC,EAAE;wBAChF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;qBACtE;oBAED,MAAM,GAAC,CAAC;;;;SAET,CAAC,CAAC;AACJ,CAAC,CAAC;AA3EW,QAAA,eAAe,mBA2E1B;AAEF,IAAM,MAAM,GAAG,UACd,MAAoB,EACpB,KAAa,EACb,QAAgB,EAChB,SAAoD,EACpD,UAAkB;;;;;gBAGZ,UAAU,GAAG,UAAG,QAAQ,YAAS,CAAC;gBACpB,qBAAM,MAAM,CAAC,eAAe,CAAC,wEACU,KAAK,iCAAuB,UAAU,WAChG,CAAC,EAAA;;gBAFI,IAAI,GAAU,SAElB;qBAEE,CAAA,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA,EAAjB,wBAAiB;qBAEhB,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;gBACzB,qBAAM,MAAM,CAAC,eAAe,CAAC,kCACR,UAAU,8BAAiB,KAAK,oBAAS,SAAS,iBAAO,QAAQ,0BAAgB,UAAU,eAC5G,CAAC,EAAA;;gBAFL,SAEK,CAAC;;oBAEN,qBAAM,MAAM,CAAC,eAAe,CAAC,kCACR,UAAU,8BAAiB,KAAK,oBAAS,SAAS,iBAAO,QAAQ,qBAAW,UAAU,eACvG,CAAC,EAAA;;gBAFL,SAEK,CAAC;;;;qBAEG,CAAA,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAA,EAA3B,yBAA2B;qBACjC,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;gBACzB,qBAAM,MAAM,CAAC,eAAe,CAAC,iCACT,UAAU,8BAAiB,KAAK,mBAAQ,QAAQ,0BAAgB,UAAU,eAC1F,CAAC,EAAA;;gBAFL,SAEK,CAAC;;oBAEN,qBAAM,MAAM,CAAC,eAAe,CAAC,iCACT,UAAU,8BAAiB,KAAK,mBAAQ,QAAQ,qBAAW,UAAU,eACrF,CAAC,EAAA;;gBAFL,SAEK,CAAC;;;;;KAGR,CAAC;AAEK,IAAM,WAAW,GAAG,UAAO,EAUjC;QATA,MAAM,YAAA,EACN,eAAe,qBAAA,EACf,QAAQ,cAAA;;;;;;oBAQF,SAAS,GAA4B,EAAE,CAAC;oBAExC,MAAM,GAAI,MAAc,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAa,CAAC;oBAC9F,WAA0B,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;wBAAjB,KAAK;wBACf,SAAS,CAAC,KAAK,CAAC,GAAG;4BAClB,MAAM,EAAE;gCACP,WAAW,EAAE,iBAAU,KAAK,CAAE;gCAC9B,UAAU,EAAE,MAAM;gCAClB,SAAS,EAAE,QAAQ;gCACnB,KAAK,OAAA;gCACL,IAAI,EAAE,QAAQ;6BACd;4BACD,IAAI,EAAE;gCACL,WAAW,EAAE,eAAQ,KAAK,CAAE;gCAC5B,UAAU,EAAE,MAAM;gCAClB,SAAS,EAAE,QAAQ;gCACnB,KAAK,OAAA;gCACL,IAAI,EAAE,MAAM;6BACZ;4BACD,MAAM,EAAE;gCACP,WAAW,EAAE,iBAAU,KAAK,CAAE;gCAC9B,UAAU,EAAE,MAAM;gCAClB,SAAS,EAAE,QAAQ;gCACnB,KAAK,OAAA;gCACL,IAAI,EAAE,QAAQ;6BACd;4BACD,QAAM,EAAE;gCACP,WAAW,EAAE,iBAAU,KAAK,CAAE;gCAC9B,UAAU,EAAE,MAAM;gCAClB,SAAS,EAAE,QAAQ;gCACnB,KAAK,OAAA;gCACL,IAAI,EAAE,QAAQ;6BACd;yBACD,CAAC;wBACF,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,EAAE;4BAC7B,KAAW,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;gCAC7C,SAAS,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,yBACtB,eAAe,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,KACnC,KAAK,OAAA,EACL,IAAI,EAAE,OAAO,GACb,CAAC;6BACF;yBACD;qBACD;oBAEK,KAAK,GAAG,QAAQ,CAAC,SAA2B,CAAC,CAAC;yBAIhC,SAAS;;;;;;;;;;;oBACtB,KAAK,GAAG,KAAK,CAAC;oBAEpB,qBAAM,MAAM,CAAC,eAAe,CAAC,wBAAgB,KAAK,iCAA6B,CAAC,EAAA;;oBAAhF,SAAgF,CAAC;yBAE9D,SAAS,CAAC,KAA+B,CAAC;;;;;;;;;;;oBACtD,OAAO,GAAG,SAAS,CAAC,KAA+B,CAAE,CAAC,IAAI,CAAC,CAAC;oBAC5D,QAAQ,GAAG,IAAA,yBAAiB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAEhD,+BAA+B;oBAC/B,qBAAM,MAAM,CAAC,eAAe,CAAC,6HAI4C,QAAQ,6CAC5D,QAAQ,gCACd,OAAO,CAAC,SAAS,mBAAQ,KAAK,mBAAQ,QAAQ,mEAKzD,CAAC,EAAA;;oBAZL,+BAA+B;oBAC/B,SAWK,CAAC;yBAEF,OAAO,CAAC,UAAU,EAAlB,wBAAkB;oBACrB,qBAAM,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,EAAA;;oBAA5E,SAA4E,CAAC;;;;;;;;;yBAQ9D,KAAK;;;;;;;;;;;oBAChB,IAAI,GAAG,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;oBACjC,qBAAM,MAAM,CAAC,eAAe,CAAC,6GAIuC,IAAI,yCACzD,IAAI,+CAKnB,CAAC,EAAA;;oBAVD,SAUC,CAAC;oBAEF,4IAA4I;oBAC5I,+JAA+J;oBAC/J,qBAAM,MAAM,CAAC,eAAe,CAAC,4DACiB,IAAI,UAClD,CAAC,EAAA;;oBAJD,4IAA4I;oBAC5I,+JAA+J;oBAC/J,SAEC,CAAC;oBACF,qBAAM,MAAM,CAAC,eAAe,CAAC,+DACoB,IAAI,UACrD,CAAC,EAAA;;oBAFD,SAEC,CAAC;oBACF,qBAAM,MAAM,CAAC,eAAe,CAAC,8CACG,IAAI,UACpC,CAAC,EAAA;;oBAFD,SAEC,CAAC;oBAEI,iBAAiB,GAAG,IAAA,oBAAO,EAAC,SAAS,EAAE,UAAC,KAAK,EAAE,SAAS;wBAC7D,OAAO,IAAA,gBAAG,EAAC,KAAK,EAAE,UAAC,MAAM,EAAE,IAAI;4BAC9B,OAAO,IAAA,yBAAiB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBAC3C,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;oBACG,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC3B,QAAQ,GACb,aAAa,KAAK,GAAG;wBACpB,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,IAAA,yBAAiB,EAAC,OAAO,CAAC,KAAM,EAAE,OAAO,CAAC,IAAK,CAAC,EAAhD,CAAgD,CAAC,CAAC;oBACrF,qBAAM,MAAM,CAAC,eAAe,CAAC,gBAAS,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAO,IAAI,CAAE,CAAC,EAAA;;oBAAvE,SAAuE,CAAC;;;;;;;;;CAEzE,CAAC;AAlIW,QAAA,WAAW,eAkItB;AA2BK,IAAM,KAAK,GAAG,UAAO,EAA8D;QAA5D,MAAM,YAAA,EAAE,eAAe,qBAAA,EAAE,QAAQ,cAAA,EAAE,UAAU,gBAAA;;;;wBAC1E,qBAAM,IAAA,mBAAW,EAAC,EAAE,MAAM,QAAA,EAAE,eAAe,iBAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;oBAAxD,SAAwD,CAAC;oBACzD,IAAA,uBAAe,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;;;;;CACpC,CAAC;AAHW,QAAA,KAAK,SAGhB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cerebruminc/yates",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Role based access control for Prisma Apps",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -16,9 +16,11 @@
16
16
  "license": "MIT",
17
17
  "devDependencies": {
18
18
  "@prisma/client": "^4.0.0",
19
+ "@types/cls-hooked": "^4.3.3",
19
20
  "@types/jest": "^29.2.6",
20
21
  "@types/lodash": "^4.14.191",
21
22
  "@types/uuid": "^9.0.0",
23
+ "cls-hooked": "^4.2.2",
22
24
  "jest": "^29.3.1",
23
25
  "prisma": "^4.9.0",
24
26
  "rome": "^11.0.0",