drizzle-orm 0.34.1-a5ec472 → 0.34.1-a88d6b6

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 (213) hide show
  1. package/aws-data-api/pg/driver.cjs +21 -1
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +20 -3
  4. package/aws-data-api/pg/driver.d.ts +20 -3
  5. package/aws-data-api/pg/driver.js +21 -1
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/better-sqlite3/driver.cjs +37 -1
  8. package/better-sqlite3/driver.cjs.map +1 -1
  9. package/better-sqlite3/driver.d.cts +24 -3
  10. package/better-sqlite3/driver.d.ts +24 -3
  11. package/better-sqlite3/driver.js +27 -1
  12. package/better-sqlite3/driver.js.map +1 -1
  13. package/bun-sqlite/driver.cjs +28 -1
  14. package/bun-sqlite/driver.cjs.map +1 -1
  15. package/bun-sqlite/driver.d.cts +46 -4
  16. package/bun-sqlite/driver.d.ts +46 -4
  17. package/bun-sqlite/driver.js +28 -1
  18. package/bun-sqlite/driver.js.map +1 -1
  19. package/entity.cjs +1 -1
  20. package/entity.cjs.map +1 -1
  21. package/entity.js +1 -1
  22. package/entity.js.map +1 -1
  23. package/libsql/driver.cjs +27 -1
  24. package/libsql/driver.cjs.map +1 -1
  25. package/libsql/driver.d.cts +22 -4
  26. package/libsql/driver.d.ts +22 -4
  27. package/libsql/driver.js +27 -1
  28. package/libsql/driver.js.map +1 -1
  29. package/mysql-core/dialect.cjs +17 -13
  30. package/mysql-core/dialect.cjs.map +1 -1
  31. package/mysql-core/dialect.d.cts +4 -2
  32. package/mysql-core/dialect.d.ts +4 -2
  33. package/mysql-core/dialect.js +17 -13
  34. package/mysql-core/dialect.js.map +1 -1
  35. package/mysql-core/query-builders/delete.cjs +22 -0
  36. package/mysql-core/query-builders/delete.cjs.map +1 -1
  37. package/mysql-core/query-builders/delete.d.cts +8 -1
  38. package/mysql-core/query-builders/delete.d.ts +8 -1
  39. package/mysql-core/query-builders/delete.js +22 -0
  40. package/mysql-core/query-builders/delete.js.map +1 -1
  41. package/mysql-core/query-builders/update.cjs +22 -0
  42. package/mysql-core/query-builders/update.cjs.map +1 -1
  43. package/mysql-core/query-builders/update.d.cts +8 -2
  44. package/mysql-core/query-builders/update.d.ts +8 -2
  45. package/mysql-core/query-builders/update.js +22 -0
  46. package/mysql-core/query-builders/update.js.map +1 -1
  47. package/mysql-core/utils.d.cts +0 -1
  48. package/mysql-core/utils.d.ts +0 -1
  49. package/mysql-core/view.cjs +0 -4
  50. package/mysql-core/view.cjs.map +1 -1
  51. package/mysql-core/view.d.cts +0 -2
  52. package/mysql-core/view.d.ts +0 -2
  53. package/mysql-core/view.js +0 -4
  54. package/mysql-core/view.js.map +1 -1
  55. package/mysql2/driver.cjs +27 -1
  56. package/mysql2/driver.cjs.map +1 -1
  57. package/mysql2/driver.d.cts +21 -3
  58. package/mysql2/driver.d.ts +21 -3
  59. package/mysql2/driver.js +27 -1
  60. package/mysql2/driver.js.map +1 -1
  61. package/neon-http/driver.cjs +26 -1
  62. package/neon-http/driver.cjs.map +1 -1
  63. package/neon-http/driver.d.cts +21 -3
  64. package/neon-http/driver.d.ts +21 -3
  65. package/neon-http/driver.js +27 -2
  66. package/neon-http/driver.js.map +1 -1
  67. package/neon-serverless/driver.cjs +33 -1
  68. package/neon-serverless/driver.cjs.map +1 -1
  69. package/neon-serverless/driver.d.cts +23 -2
  70. package/neon-serverless/driver.d.ts +23 -2
  71. package/neon-serverless/driver.js +33 -1
  72. package/neon-serverless/driver.js.map +1 -1
  73. package/node-postgres/driver.cjs +37 -1
  74. package/node-postgres/driver.cjs.map +1 -1
  75. package/node-postgres/driver.d.cts +21 -2
  76. package/node-postgres/driver.d.ts +21 -2
  77. package/node-postgres/driver.js +27 -1
  78. package/node-postgres/driver.js.map +1 -1
  79. package/package.json +3 -87
  80. package/pg-core/index.cjs +0 -4
  81. package/pg-core/index.cjs.map +1 -1
  82. package/pg-core/index.d.cts +0 -2
  83. package/pg-core/index.d.ts +0 -2
  84. package/pg-core/index.js +0 -2
  85. package/pg-core/index.js.map +1 -1
  86. package/pg-core/table.cjs.map +1 -1
  87. package/pg-core/table.d.cts +3 -23
  88. package/pg-core/table.d.ts +3 -23
  89. package/pg-core/table.js.map +1 -1
  90. package/pg-core/utils.cjs +2 -8
  91. package/pg-core/utils.cjs.map +1 -1
  92. package/pg-core/utils.d.cts +0 -2
  93. package/pg-core/utils.d.ts +0 -2
  94. package/pg-core/utils.js +2 -8
  95. package/pg-core/utils.js.map +1 -1
  96. package/pg-core/view.cjs +22 -2
  97. package/pg-core/view.cjs.map +1 -1
  98. package/pg-core/view.d.cts +25 -5
  99. package/pg-core/view.d.ts +25 -5
  100. package/pg-core/view.js +21 -3
  101. package/pg-core/view.js.map +1 -1
  102. package/pglite/driver.cjs +27 -1
  103. package/pglite/driver.cjs.map +1 -1
  104. package/pglite/driver.d.cts +24 -3
  105. package/pglite/driver.d.ts +24 -3
  106. package/pglite/driver.js +27 -1
  107. package/pglite/driver.js.map +1 -1
  108. package/planetscale-serverless/driver.cjs +25 -1
  109. package/planetscale-serverless/driver.cjs.map +1 -1
  110. package/planetscale-serverless/driver.d.cts +19 -3
  111. package/planetscale-serverless/driver.d.ts +19 -3
  112. package/planetscale-serverless/driver.js +25 -1
  113. package/planetscale-serverless/driver.js.map +1 -1
  114. package/postgres-js/driver.cjs +37 -1
  115. package/postgres-js/driver.cjs.map +1 -1
  116. package/postgres-js/driver.d.cts +24 -4
  117. package/postgres-js/driver.d.ts +24 -4
  118. package/postgres-js/driver.js +27 -1
  119. package/postgres-js/driver.js.map +1 -1
  120. package/sqlite-core/dialect.cjs +25 -15
  121. package/sqlite-core/dialect.cjs.map +1 -1
  122. package/sqlite-core/dialect.d.cts +4 -2
  123. package/sqlite-core/dialect.d.ts +4 -2
  124. package/sqlite-core/dialect.js +25 -15
  125. package/sqlite-core/dialect.js.map +1 -1
  126. package/sqlite-core/query-builders/delete.cjs +22 -0
  127. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  128. package/sqlite-core/query-builders/delete.d.cts +8 -2
  129. package/sqlite-core/query-builders/delete.d.ts +8 -2
  130. package/sqlite-core/query-builders/delete.js +22 -0
  131. package/sqlite-core/query-builders/delete.js.map +1 -1
  132. package/sqlite-core/query-builders/update.cjs +22 -0
  133. package/sqlite-core/query-builders/update.cjs.map +1 -1
  134. package/sqlite-core/query-builders/update.d.cts +8 -2
  135. package/sqlite-core/query-builders/update.d.ts +8 -2
  136. package/sqlite-core/query-builders/update.js +26 -1
  137. package/sqlite-core/query-builders/update.js.map +1 -1
  138. package/sqlite-core/utils.cjs +2 -3
  139. package/sqlite-core/utils.cjs.map +1 -1
  140. package/sqlite-core/utils.d.cts +0 -4
  141. package/sqlite-core/utils.d.ts +0 -4
  142. package/sqlite-core/utils.js +2 -3
  143. package/sqlite-core/utils.js.map +1 -1
  144. package/sqlite-core/view.cjs +2 -8
  145. package/sqlite-core/view.cjs.map +1 -1
  146. package/sqlite-core/view.d.cts +1 -2
  147. package/sqlite-core/view.d.ts +1 -2
  148. package/sqlite-core/view.js +2 -8
  149. package/sqlite-core/view.js.map +1 -1
  150. package/table.cjs.map +1 -1
  151. package/table.js.map +1 -1
  152. package/tidb-serverless/driver.cjs +26 -1
  153. package/tidb-serverless/driver.cjs.map +1 -1
  154. package/tidb-serverless/driver.d.cts +22 -4
  155. package/tidb-serverless/driver.d.ts +22 -4
  156. package/tidb-serverless/driver.js +26 -1
  157. package/tidb-serverless/driver.js.map +1 -1
  158. package/utils.cjs.map +1 -1
  159. package/utils.d.cts +2 -0
  160. package/utils.d.ts +2 -0
  161. package/utils.js.map +1 -1
  162. package/vercel-postgres/driver.cjs +18 -1
  163. package/vercel-postgres/driver.cjs.map +1 -1
  164. package/vercel-postgres/driver.d.cts +23 -3
  165. package/vercel-postgres/driver.d.ts +23 -3
  166. package/vercel-postgres/driver.js +18 -1
  167. package/vercel-postgres/driver.js.map +1 -1
  168. package/version.cjs +1 -1
  169. package/version.d.cts +1 -1
  170. package/version.d.ts +1 -1
  171. package/version.js +1 -1
  172. package/connect.cjs +0 -25
  173. package/connect.cjs.map +0 -1
  174. package/connect.d.cts +0 -2
  175. package/connect.d.ts +0 -2
  176. package/connect.js +0 -3
  177. package/connect.js.map +0 -1
  178. package/monodriver.cjs +0 -283
  179. package/monodriver.cjs.map +0 -1
  180. package/monodriver.d.cts +0 -192
  181. package/monodriver.d.ts +0 -192
  182. package/monodriver.js +0 -249
  183. package/monodriver.js.map +0 -1
  184. package/monomigrator.cjs +0 -99
  185. package/monomigrator.cjs.map +0 -1
  186. package/monomigrator.d.cts +0 -16
  187. package/monomigrator.d.ts +0 -16
  188. package/monomigrator.js +0 -65
  189. package/monomigrator.js.map +0 -1
  190. package/neon/index.cjs +0 -23
  191. package/neon/index.cjs.map +0 -1
  192. package/neon/index.d.cts +0 -1
  193. package/neon/index.d.ts +0 -1
  194. package/neon/index.js +0 -2
  195. package/neon/index.js.map +0 -1
  196. package/neon/rls.cjs +0 -77
  197. package/neon/rls.cjs.map +0 -1
  198. package/neon/rls.d.cts +0 -11
  199. package/neon/rls.d.ts +0 -11
  200. package/neon/rls.js +0 -50
  201. package/neon/rls.js.map +0 -1
  202. package/pg-core/policies.cjs +0 -52
  203. package/pg-core/policies.cjs.map +0 -1
  204. package/pg-core/policies.d.cts +0 -22
  205. package/pg-core/policies.d.ts +0 -22
  206. package/pg-core/policies.js +0 -27
  207. package/pg-core/policies.js.map +0 -1
  208. package/pg-core/roles.cjs +0 -57
  209. package/pg-core/roles.cjs.map +0 -1
  210. package/pg-core/roles.d.cts +0 -13
  211. package/pg-core/roles.d.ts +0 -13
  212. package/pg-core/roles.js +0 -32
  213. package/pg-core/roles.js.map +0 -1
package/neon/rls.cjs DELETED
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var rls_exports = {};
20
- __export(rls_exports, {
21
- anonymousRole: () => anonymousRole,
22
- authUid: () => authUid,
23
- authenticatedRole: () => authenticatedRole,
24
- crudPolicy: () => crudPolicy
25
- });
26
- module.exports = __toCommonJS(rls_exports);
27
- var import_entity = require("../entity.cjs");
28
- var import_pg_core = require("../pg-core/index.cjs");
29
- var import_sql = require("../sql/sql.cjs");
30
- const crudPolicy = (options) => {
31
- const read = options.read === true ? import_sql.sql`true` : options.read === false || options.read === void 0 ? import_sql.sql`false` : options.read;
32
- const modify = options.modify === true ? import_sql.sql`true` : options.modify === false || options.modify === void 0 ? import_sql.sql`false` : options.modify;
33
- let rolesName = "";
34
- if (Array.isArray(options.role)) {
35
- rolesName = options.role.map((it) => {
36
- return (0, import_entity.is)(it, import_pg_core.PgRole) ? it.name : it;
37
- }).join("-");
38
- } else {
39
- rolesName = (0, import_entity.is)(options.role, import_pg_core.PgRole) ? options.role.name : options.role;
40
- }
41
- return [
42
- (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-insert`, {
43
- for: "insert",
44
- to: options.role,
45
- using: modify,
46
- withCheck: modify
47
- }),
48
- (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-update`, {
49
- for: "update",
50
- to: options.role,
51
- using: modify,
52
- withCheck: modify
53
- }),
54
- (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-delete`, {
55
- for: "delete",
56
- to: options.role,
57
- using: modify,
58
- withCheck: modify
59
- }),
60
- (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-select`, {
61
- for: "select",
62
- to: options.role,
63
- using: read
64
- })
65
- ];
66
- };
67
- const authenticatedRole = (0, import_pg_core.pgRole)("authenticated").existing();
68
- const anonymousRole = (0, import_pg_core.pgRole)("anonymous").existing();
69
- const authUid = (userIdColumn) => import_sql.sql`select auth.user_id() = ${userIdColumn}`;
70
- // Annotate the CommonJS export names for ESM import in node:
71
- 0 && (module.exports = {
72
- anonymousRole,
73
- authUid,
74
- authenticatedRole,
75
- crudPolicy
76
- });
77
- //# sourceMappingURL=rls.cjs.map
package/neon/rls.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/neon/rls.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { pgPolicy, PgRole, pgRole } from '~/pg-core/index.ts';\nimport type { AnyPgColumn, PgPolicyToOption } from '~/pg-core/index.ts';\nimport { type SQL, sql } from '~/sql/sql.ts';\n\nexport const crudPolicy = (\n\toptions: {\n\t\trole: PgPolicyToOption;\n\t\tread?: SQL | boolean;\n\t\tmodify?: SQL | boolean;\n\t},\n) => {\n\tconst read: SQL = options.read === true\n\t\t? sql`true`\n\t\t: options.read === false || options.read === undefined\n\t\t? sql`false`\n\t\t: options.read;\n\n\tconst modify: SQL = options.modify === true\n\t\t? sql`true`\n\t\t: options.modify === false || options.modify === undefined\n\t\t? sql`false`\n\t\t: options.modify;\n\n\tlet rolesName = '';\n\tif (Array.isArray(options.role)) {\n\t\trolesName = options.role.map((it) => {\n\t\t\treturn is(it, PgRole) ? it.name : it as string;\n\t\t}).join('-');\n\t} else {\n\t\trolesName = is(options.role, PgRole) ? options.role.name : options.role as string;\n\t}\n\n\treturn [\n\t\tpgPolicy(`crud-${rolesName}-policy-insert`, {\n\t\t\tfor: 'insert',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-update`, {\n\t\t\tfor: 'update',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-delete`, {\n\t\t\tfor: 'delete',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-select`, {\n\t\t\tfor: 'select',\n\t\t\tto: options.role,\n\t\t\tusing: read,\n\t\t}),\n\t];\n};\n\n// These are default roles that Neon will set up.\nexport const authenticatedRole = pgRole('authenticated').existing();\nexport const anonymousRole = pgRole('anonymous').existing();\n\nexport const authUid = (userIdColumn: AnyPgColumn) => sql`select auth.user_id() = ${userIdColumn}`;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,qBAAyC;AAEzC,iBAA8B;AAEvB,MAAM,aAAa,CACzB,YAKI;AACJ,QAAM,OAAY,QAAQ,SAAS,OAChC,uBACA,QAAQ,SAAS,SAAS,QAAQ,SAAS,SAC3C,wBACA,QAAQ;AAEX,QAAM,SAAc,QAAQ,WAAW,OACpC,uBACA,QAAQ,WAAW,SAAS,QAAQ,WAAW,SAC/C,wBACA,QAAQ;AAEX,MAAI,YAAY;AAChB,MAAI,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAChC,gBAAY,QAAQ,KAAK,IAAI,CAAC,OAAO;AACpC,iBAAO,kBAAG,IAAI,qBAAM,IAAI,GAAG,OAAO;AAAA,IACnC,CAAC,EAAE,KAAK,GAAG;AAAA,EACZ,OAAO;AACN,oBAAY,kBAAG,QAAQ,MAAM,qBAAM,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAAA,EACpE;AAEA,SAAO;AAAA,QACN,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,QACD,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,QACD,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,QACD,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;AAGO,MAAM,wBAAoB,uBAAO,eAAe,EAAE,SAAS;AAC3D,MAAM,oBAAgB,uBAAO,WAAW,EAAE,SAAS;AAEnD,MAAM,UAAU,CAAC,iBAA8B,yCAA8B,YAAY;","names":[]}
package/neon/rls.d.cts DELETED
@@ -1,11 +0,0 @@
1
- import { PgRole } from "../pg-core/index.cjs";
2
- import type { AnyPgColumn, PgPolicyToOption } from "../pg-core/index.cjs";
3
- import { type SQL } from "../sql/sql.cjs";
4
- export declare const crudPolicy: (options: {
5
- role: PgPolicyToOption;
6
- read?: SQL | boolean;
7
- modify?: SQL | boolean;
8
- }) => import("../pg-core/index.ts").PgPolicy[];
9
- export declare const authenticatedRole: PgRole;
10
- export declare const anonymousRole: PgRole;
11
- export declare const authUid: (userIdColumn: AnyPgColumn) => SQL<unknown>;
package/neon/rls.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import { PgRole } from "../pg-core/index.js";
2
- import type { AnyPgColumn, PgPolicyToOption } from "../pg-core/index.js";
3
- import { type SQL } from "../sql/sql.js";
4
- export declare const crudPolicy: (options: {
5
- role: PgPolicyToOption;
6
- read?: SQL | boolean;
7
- modify?: SQL | boolean;
8
- }) => import("../pg-core/index.js").PgPolicy[];
9
- export declare const authenticatedRole: PgRole;
10
- export declare const anonymousRole: PgRole;
11
- export declare const authUid: (userIdColumn: AnyPgColumn) => SQL<unknown>;
package/neon/rls.js DELETED
@@ -1,50 +0,0 @@
1
- import { is } from "../entity.js";
2
- import { pgPolicy, PgRole, pgRole } from "../pg-core/index.js";
3
- import { sql } from "../sql/sql.js";
4
- const crudPolicy = (options) => {
5
- const read = options.read === true ? sql`true` : options.read === false || options.read === void 0 ? sql`false` : options.read;
6
- const modify = options.modify === true ? sql`true` : options.modify === false || options.modify === void 0 ? sql`false` : options.modify;
7
- let rolesName = "";
8
- if (Array.isArray(options.role)) {
9
- rolesName = options.role.map((it) => {
10
- return is(it, PgRole) ? it.name : it;
11
- }).join("-");
12
- } else {
13
- rolesName = is(options.role, PgRole) ? options.role.name : options.role;
14
- }
15
- return [
16
- pgPolicy(`crud-${rolesName}-policy-insert`, {
17
- for: "insert",
18
- to: options.role,
19
- using: modify,
20
- withCheck: modify
21
- }),
22
- pgPolicy(`crud-${rolesName}-policy-update`, {
23
- for: "update",
24
- to: options.role,
25
- using: modify,
26
- withCheck: modify
27
- }),
28
- pgPolicy(`crud-${rolesName}-policy-delete`, {
29
- for: "delete",
30
- to: options.role,
31
- using: modify,
32
- withCheck: modify
33
- }),
34
- pgPolicy(`crud-${rolesName}-policy-select`, {
35
- for: "select",
36
- to: options.role,
37
- using: read
38
- })
39
- ];
40
- };
41
- const authenticatedRole = pgRole("authenticated").existing();
42
- const anonymousRole = pgRole("anonymous").existing();
43
- const authUid = (userIdColumn) => sql`select auth.user_id() = ${userIdColumn}`;
44
- export {
45
- anonymousRole,
46
- authUid,
47
- authenticatedRole,
48
- crudPolicy
49
- };
50
- //# sourceMappingURL=rls.js.map
package/neon/rls.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/neon/rls.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { pgPolicy, PgRole, pgRole } from '~/pg-core/index.ts';\nimport type { AnyPgColumn, PgPolicyToOption } from '~/pg-core/index.ts';\nimport { type SQL, sql } from '~/sql/sql.ts';\n\nexport const crudPolicy = (\n\toptions: {\n\t\trole: PgPolicyToOption;\n\t\tread?: SQL | boolean;\n\t\tmodify?: SQL | boolean;\n\t},\n) => {\n\tconst read: SQL = options.read === true\n\t\t? sql`true`\n\t\t: options.read === false || options.read === undefined\n\t\t? sql`false`\n\t\t: options.read;\n\n\tconst modify: SQL = options.modify === true\n\t\t? sql`true`\n\t\t: options.modify === false || options.modify === undefined\n\t\t? sql`false`\n\t\t: options.modify;\n\n\tlet rolesName = '';\n\tif (Array.isArray(options.role)) {\n\t\trolesName = options.role.map((it) => {\n\t\t\treturn is(it, PgRole) ? it.name : it as string;\n\t\t}).join('-');\n\t} else {\n\t\trolesName = is(options.role, PgRole) ? options.role.name : options.role as string;\n\t}\n\n\treturn [\n\t\tpgPolicy(`crud-${rolesName}-policy-insert`, {\n\t\t\tfor: 'insert',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-update`, {\n\t\t\tfor: 'update',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-delete`, {\n\t\t\tfor: 'delete',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-select`, {\n\t\t\tfor: 'select',\n\t\t\tto: options.role,\n\t\t\tusing: read,\n\t\t}),\n\t];\n};\n\n// These are default roles that Neon will set up.\nexport const authenticatedRole = pgRole('authenticated').existing();\nexport const anonymousRole = pgRole('anonymous').existing();\n\nexport const authUid = (userIdColumn: AnyPgColumn) => sql`select auth.user_id() = ${userIdColumn}`;\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAmB,WAAW;AAEvB,MAAM,aAAa,CACzB,YAKI;AACJ,QAAM,OAAY,QAAQ,SAAS,OAChC,YACA,QAAQ,SAAS,SAAS,QAAQ,SAAS,SAC3C,aACA,QAAQ;AAEX,QAAM,SAAc,QAAQ,WAAW,OACpC,YACA,QAAQ,WAAW,SAAS,QAAQ,WAAW,SAC/C,aACA,QAAQ;AAEX,MAAI,YAAY;AAChB,MAAI,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAChC,gBAAY,QAAQ,KAAK,IAAI,CAAC,OAAO;AACpC,aAAO,GAAG,IAAI,MAAM,IAAI,GAAG,OAAO;AAAA,IACnC,CAAC,EAAE,KAAK,GAAG;AAAA,EACZ,OAAO;AACN,gBAAY,GAAG,QAAQ,MAAM,MAAM,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAAA,EACpE;AAEA,SAAO;AAAA,IACN,SAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,IACD,SAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,IACD,SAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,IACD,SAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;AAGO,MAAM,oBAAoB,OAAO,eAAe,EAAE,SAAS;AAC3D,MAAM,gBAAgB,OAAO,WAAW,EAAE,SAAS;AAEnD,MAAM,UAAU,CAAC,iBAA8B,8BAA8B,YAAY;","names":[]}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var policies_exports = {};
20
- __export(policies_exports, {
21
- PgPolicy: () => PgPolicy,
22
- pgPolicy: () => pgPolicy
23
- });
24
- module.exports = __toCommonJS(policies_exports);
25
- var import_entity = require("../entity.cjs");
26
- class PgPolicy {
27
- constructor(name, config) {
28
- this.name = name;
29
- if (config) {
30
- this.as = config.as;
31
- this.for = config.for;
32
- this.to = config.to;
33
- this.using = config.using;
34
- this.withCheck = config.withCheck;
35
- }
36
- }
37
- static [import_entity.entityKind] = "PgPolicy";
38
- as;
39
- for;
40
- to;
41
- using;
42
- withCheck;
43
- }
44
- function pgPolicy(name, config) {
45
- return new PgPolicy(name, config);
46
- }
47
- // Annotate the CommonJS export names for ESM import in node:
48
- 0 && (module.exports = {
49
- PgPolicy,
50
- pgPolicy
51
- });
52
- //# sourceMappingURL=policies.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/pg-core/policies.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { PgRole } from './roles.ts';\n\nexport type PgPolicyToOption =\n\t| 'public'\n\t| 'current_role'\n\t| 'current_user'\n\t| 'session_user'\n\t| (string & {})\n\t| PgPolicyToOption[]\n\t| PgRole;\n\nexport interface PgPolicyConfig {\n\tas?: 'permissive' | 'restrictive';\n\tfor?: 'all' | 'select' | 'insert' | 'update' | 'delete';\n\tto?: PgPolicyToOption;\n\tusing?: SQL;\n\twithCheck?: SQL;\n}\n\nexport class PgPolicy implements PgPolicyConfig {\n\tstatic readonly [entityKind]: string = 'PgPolicy';\n\n\treadonly as: PgPolicyConfig['as'];\n\treadonly for: PgPolicyConfig['for'];\n\treadonly to: PgPolicyConfig['to'];\n\treadonly using: PgPolicyConfig['using'];\n\treadonly withCheck: PgPolicyConfig['withCheck'];\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: PgPolicyConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.as = config.as;\n\t\t\tthis.for = config.for;\n\t\t\tthis.to = config.to;\n\t\t\tthis.using = config.using;\n\t\t\tthis.withCheck = config.withCheck;\n\t\t}\n\t}\n}\n\nexport function pgPolicy(name: string, config?: PgPolicyConfig) {\n\treturn new PgPolicy(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAqBpB,MAAM,SAAmC;AAAA,EAS/C,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,KAAK,OAAO;AACjB,WAAK,MAAM,OAAO;AAClB,WAAK,KAAK,OAAO;AACjB,WAAK,QAAQ,OAAO;AACpB,WAAK,YAAY,OAAO;AAAA,IACzB;AAAA,EACD;AAAA,EAnBA,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAcV;AAEO,SAAS,SAAS,MAAc,QAAyB;AAC/D,SAAO,IAAI,SAAS,MAAM,MAAM;AACjC;","names":[]}
@@ -1,22 +0,0 @@
1
- import { entityKind } from "../entity.cjs";
2
- import type { SQL } from "../sql/sql.cjs";
3
- import type { PgRole } from "./roles.cjs";
4
- export type PgPolicyToOption = 'public' | 'current_role' | 'current_user' | 'session_user' | (string & {}) | PgPolicyToOption[] | PgRole;
5
- export interface PgPolicyConfig {
6
- as?: 'permissive' | 'restrictive';
7
- for?: 'all' | 'select' | 'insert' | 'update' | 'delete';
8
- to?: PgPolicyToOption;
9
- using?: SQL;
10
- withCheck?: SQL;
11
- }
12
- export declare class PgPolicy implements PgPolicyConfig {
13
- readonly name: string;
14
- static readonly [entityKind]: string;
15
- readonly as: PgPolicyConfig['as'];
16
- readonly for: PgPolicyConfig['for'];
17
- readonly to: PgPolicyConfig['to'];
18
- readonly using: PgPolicyConfig['using'];
19
- readonly withCheck: PgPolicyConfig['withCheck'];
20
- constructor(name: string, config?: PgPolicyConfig);
21
- }
22
- export declare function pgPolicy(name: string, config?: PgPolicyConfig): PgPolicy;
@@ -1,22 +0,0 @@
1
- import { entityKind } from "../entity.js";
2
- import type { SQL } from "../sql/sql.js";
3
- import type { PgRole } from "./roles.js";
4
- export type PgPolicyToOption = 'public' | 'current_role' | 'current_user' | 'session_user' | (string & {}) | PgPolicyToOption[] | PgRole;
5
- export interface PgPolicyConfig {
6
- as?: 'permissive' | 'restrictive';
7
- for?: 'all' | 'select' | 'insert' | 'update' | 'delete';
8
- to?: PgPolicyToOption;
9
- using?: SQL;
10
- withCheck?: SQL;
11
- }
12
- export declare class PgPolicy implements PgPolicyConfig {
13
- readonly name: string;
14
- static readonly [entityKind]: string;
15
- readonly as: PgPolicyConfig['as'];
16
- readonly for: PgPolicyConfig['for'];
17
- readonly to: PgPolicyConfig['to'];
18
- readonly using: PgPolicyConfig['using'];
19
- readonly withCheck: PgPolicyConfig['withCheck'];
20
- constructor(name: string, config?: PgPolicyConfig);
21
- }
22
- export declare function pgPolicy(name: string, config?: PgPolicyConfig): PgPolicy;
@@ -1,27 +0,0 @@
1
- import { entityKind } from "../entity.js";
2
- class PgPolicy {
3
- constructor(name, config) {
4
- this.name = name;
5
- if (config) {
6
- this.as = config.as;
7
- this.for = config.for;
8
- this.to = config.to;
9
- this.using = config.using;
10
- this.withCheck = config.withCheck;
11
- }
12
- }
13
- static [entityKind] = "PgPolicy";
14
- as;
15
- for;
16
- to;
17
- using;
18
- withCheck;
19
- }
20
- function pgPolicy(name, config) {
21
- return new PgPolicy(name, config);
22
- }
23
- export {
24
- PgPolicy,
25
- pgPolicy
26
- };
27
- //# sourceMappingURL=policies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/pg-core/policies.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { PgRole } from './roles.ts';\n\nexport type PgPolicyToOption =\n\t| 'public'\n\t| 'current_role'\n\t| 'current_user'\n\t| 'session_user'\n\t| (string & {})\n\t| PgPolicyToOption[]\n\t| PgRole;\n\nexport interface PgPolicyConfig {\n\tas?: 'permissive' | 'restrictive';\n\tfor?: 'all' | 'select' | 'insert' | 'update' | 'delete';\n\tto?: PgPolicyToOption;\n\tusing?: SQL;\n\twithCheck?: SQL;\n}\n\nexport class PgPolicy implements PgPolicyConfig {\n\tstatic readonly [entityKind]: string = 'PgPolicy';\n\n\treadonly as: PgPolicyConfig['as'];\n\treadonly for: PgPolicyConfig['for'];\n\treadonly to: PgPolicyConfig['to'];\n\treadonly using: PgPolicyConfig['using'];\n\treadonly withCheck: PgPolicyConfig['withCheck'];\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: PgPolicyConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.as = config.as;\n\t\t\tthis.for = config.for;\n\t\t\tthis.to = config.to;\n\t\t\tthis.using = config.using;\n\t\t\tthis.withCheck = config.withCheck;\n\t\t}\n\t}\n}\n\nexport function pgPolicy(name: string, config?: PgPolicyConfig) {\n\treturn new PgPolicy(name, config);\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAqBpB,MAAM,SAAmC;AAAA,EAS/C,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,KAAK,OAAO;AACjB,WAAK,MAAM,OAAO;AAClB,WAAK,KAAK,OAAO;AACjB,WAAK,QAAQ,OAAO;AACpB,WAAK,YAAY,OAAO;AAAA,IACzB;AAAA,EACD;AAAA,EAnBA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAcV;AAEO,SAAS,SAAS,MAAc,QAAyB;AAC/D,SAAO,IAAI,SAAS,MAAM,MAAM;AACjC;","names":[]}
package/pg-core/roles.cjs DELETED
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var roles_exports = {};
20
- __export(roles_exports, {
21
- PgRole: () => PgRole,
22
- pgRole: () => pgRole
23
- });
24
- module.exports = __toCommonJS(roles_exports);
25
- var import_entity = require("../entity.cjs");
26
- class PgRole {
27
- constructor(name, config) {
28
- this.name = name;
29
- if (config) {
30
- this.createDb = config.createDb;
31
- this.createRole = config.createRole;
32
- this.inherit = config.inherit;
33
- }
34
- }
35
- static [import_entity.entityKind] = "PgRole";
36
- /** @internal */
37
- _existing;
38
- /** @internal */
39
- createDb;
40
- /** @internal */
41
- createRole;
42
- /** @internal */
43
- inherit;
44
- existing() {
45
- this._existing = true;
46
- return this;
47
- }
48
- }
49
- function pgRole(name, config) {
50
- return new PgRole(name, config);
51
- }
52
- // Annotate the CommonJS export names for ESM import in node:
53
- 0 && (module.exports = {
54
- PgRole,
55
- pgRole
56
- });
57
- //# sourceMappingURL=roles.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/pg-core/roles.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\n\nexport interface PgRoleConfig {\n\tcreateDb?: boolean;\n\tcreateRole?: boolean;\n\tinherit?: boolean;\n}\n\nexport class PgRole implements PgRoleConfig {\n\tstatic readonly [entityKind]: string = 'PgRole';\n\n\t/** @internal */\n\t_existing?: boolean;\n\n\t/** @internal */\n\treadonly createDb: PgRoleConfig['createDb'];\n\t/** @internal */\n\treadonly createRole: PgRoleConfig['createRole'];\n\t/** @internal */\n\treadonly inherit: PgRoleConfig['inherit'];\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: PgRoleConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.createDb = config.createDb;\n\t\t\tthis.createRole = config.createRole;\n\t\t\tthis.inherit = config.inherit;\n\t\t}\n\t}\n\n\texisting(): this {\n\t\tthis._existing = true;\n\t\treturn this;\n\t}\n}\n\nexport function pgRole(name: string, config?: PgRoleConfig) {\n\treturn new PgRole(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAQpB,MAAM,OAA+B;AAAA,EAa3C,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,WAAW,OAAO;AACvB,WAAK,aAAa,OAAO;AACzB,WAAK,UAAU,OAAO;AAAA,IACvB;AAAA,EACD;AAAA,EArBA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAGS;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EAaT,WAAiB;AAChB,SAAK,YAAY;AACjB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,OAAO,MAAc,QAAuB;AAC3D,SAAO,IAAI,OAAO,MAAM,MAAM;AAC/B;","names":[]}
@@ -1,13 +0,0 @@
1
- import { entityKind } from "../entity.cjs";
2
- export interface PgRoleConfig {
3
- createDb?: boolean;
4
- createRole?: boolean;
5
- inherit?: boolean;
6
- }
7
- export declare class PgRole implements PgRoleConfig {
8
- readonly name: string;
9
- static readonly [entityKind]: string;
10
- constructor(name: string, config?: PgRoleConfig);
11
- existing(): this;
12
- }
13
- export declare function pgRole(name: string, config?: PgRoleConfig): PgRole;
@@ -1,13 +0,0 @@
1
- import { entityKind } from "../entity.js";
2
- export interface PgRoleConfig {
3
- createDb?: boolean;
4
- createRole?: boolean;
5
- inherit?: boolean;
6
- }
7
- export declare class PgRole implements PgRoleConfig {
8
- readonly name: string;
9
- static readonly [entityKind]: string;
10
- constructor(name: string, config?: PgRoleConfig);
11
- existing(): this;
12
- }
13
- export declare function pgRole(name: string, config?: PgRoleConfig): PgRole;
package/pg-core/roles.js DELETED
@@ -1,32 +0,0 @@
1
- import { entityKind } from "../entity.js";
2
- class PgRole {
3
- constructor(name, config) {
4
- this.name = name;
5
- if (config) {
6
- this.createDb = config.createDb;
7
- this.createRole = config.createRole;
8
- this.inherit = config.inherit;
9
- }
10
- }
11
- static [entityKind] = "PgRole";
12
- /** @internal */
13
- _existing;
14
- /** @internal */
15
- createDb;
16
- /** @internal */
17
- createRole;
18
- /** @internal */
19
- inherit;
20
- existing() {
21
- this._existing = true;
22
- return this;
23
- }
24
- }
25
- function pgRole(name, config) {
26
- return new PgRole(name, config);
27
- }
28
- export {
29
- PgRole,
30
- pgRole
31
- };
32
- //# sourceMappingURL=roles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/pg-core/roles.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\n\nexport interface PgRoleConfig {\n\tcreateDb?: boolean;\n\tcreateRole?: boolean;\n\tinherit?: boolean;\n}\n\nexport class PgRole implements PgRoleConfig {\n\tstatic readonly [entityKind]: string = 'PgRole';\n\n\t/** @internal */\n\t_existing?: boolean;\n\n\t/** @internal */\n\treadonly createDb: PgRoleConfig['createDb'];\n\t/** @internal */\n\treadonly createRole: PgRoleConfig['createRole'];\n\t/** @internal */\n\treadonly inherit: PgRoleConfig['inherit'];\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: PgRoleConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.createDb = config.createDb;\n\t\t\tthis.createRole = config.createRole;\n\t\t\tthis.inherit = config.inherit;\n\t\t}\n\t}\n\n\texisting(): this {\n\t\tthis._existing = true;\n\t\treturn this;\n\t}\n}\n\nexport function pgRole(name: string, config?: PgRoleConfig) {\n\treturn new PgRole(name, config);\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAQpB,MAAM,OAA+B;AAAA,EAa3C,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,WAAW,OAAO;AACvB,WAAK,aAAa,OAAO;AACzB,WAAK,UAAU,OAAO;AAAA,IACvB;AAAA,EACD;AAAA,EArBA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAGS;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EAaT,WAAiB;AAChB,SAAK,YAAY;AACjB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,OAAO,MAAc,QAAuB;AAC3D,SAAO,IAAI,OAAO,MAAM,MAAM;AAC/B;","names":[]}