@ddd-ts-kit/audit 0.0.0-stage → 0.1.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.
Files changed (338) hide show
  1. package/README.md +559 -2
  2. package/dist/chain/audit-checkpoint.d.ts +7 -0
  3. package/dist/chain/audit-checkpoint.d.ts.map +1 -0
  4. package/dist/chain/audit-checkpoint.js +2 -0
  5. package/dist/chain/audit-checkpoint.js.map +1 -0
  6. package/dist/chain/canonicalize.d.ts +8 -0
  7. package/dist/chain/canonicalize.d.ts.map +1 -0
  8. package/dist/chain/canonicalize.js +26 -0
  9. package/dist/chain/canonicalize.js.map +1 -0
  10. package/dist/chain/chain-head.d.ts +8 -0
  11. package/dist/chain/chain-head.d.ts.map +1 -0
  12. package/dist/chain/chain-head.js +2 -0
  13. package/dist/chain/chain-head.js.map +1 -0
  14. package/dist/chain/chain-of-tenant.d.ts +9 -0
  15. package/dist/chain/chain-of-tenant.d.ts.map +1 -0
  16. package/dist/chain/chain-of-tenant.js +10 -0
  17. package/dist/chain/chain-of-tenant.js.map +1 -0
  18. package/dist/chain/empty-chain.d.ts +3 -0
  19. package/dist/chain/empty-chain.d.ts.map +1 -0
  20. package/dist/chain/empty-chain.js +5 -0
  21. package/dist/chain/empty-chain.js.map +1 -0
  22. package/dist/chain/genesis-hash.d.ts +3 -0
  23. package/dist/chain/genesis-hash.d.ts.map +1 -0
  24. package/dist/chain/genesis-hash.js +3 -0
  25. package/dist/chain/genesis-hash.js.map +1 -0
  26. package/dist/chain/hash-of.d.ts +5 -0
  27. package/dist/chain/hash-of.d.ts.map +1 -0
  28. package/dist/chain/hash-of.js +8 -0
  29. package/dist/chain/hash-of.js.map +1 -0
  30. package/dist/chain/head-after.d.ts +4 -0
  31. package/dist/chain/head-after.d.ts.map +1 -0
  32. package/dist/chain/head-after.js +4 -0
  33. package/dist/chain/head-after.js.map +1 -0
  34. package/dist/chain/seal-checkpoint.d.ts +4 -0
  35. package/dist/chain/seal-checkpoint.d.ts.map +1 -0
  36. package/dist/chain/seal-checkpoint.js +7 -0
  37. package/dist/chain/seal-checkpoint.js.map +1 -0
  38. package/dist/chain/seal.d.ts +5 -0
  39. package/dist/chain/seal.d.ts.map +1 -0
  40. package/dist/chain/seal.js +13 -0
  41. package/dist/chain/seal.js.map +1 -0
  42. package/dist/chain/sealing-options.d.ts +12 -0
  43. package/dist/chain/sealing-options.d.ts.map +1 -0
  44. package/dist/chain/sealing-options.js +2 -0
  45. package/dist/chain/sealing-options.js.map +1 -0
  46. package/dist/drizzle/audit-chains-table.d.ts +61 -0
  47. package/dist/drizzle/audit-chains-table.d.ts.map +1 -0
  48. package/dist/drizzle/audit-chains-table.js +12 -0
  49. package/dist/drizzle/audit-chains-table.js.map +1 -0
  50. package/dist/drizzle/audit-entries-table.d.ts +424 -0
  51. package/dist/drizzle/audit-entries-table.d.ts.map +1 -0
  52. package/dist/drizzle/audit-entries-table.js +44 -0
  53. package/dist/drizzle/audit-entries-table.js.map +1 -0
  54. package/dist/drizzle/audit-guard-statements.d.ts +7 -0
  55. package/dist/drizzle/audit-guard-statements.d.ts.map +1 -0
  56. package/dist/drizzle/audit-guard-statements.js +10 -0
  57. package/dist/drizzle/audit-guard-statements.js.map +1 -0
  58. package/dist/drizzle/drizzle-audit-context.d.ts +7 -0
  59. package/dist/drizzle/drizzle-audit-context.d.ts.map +1 -0
  60. package/dist/drizzle/drizzle-audit-context.js +2 -0
  61. package/dist/drizzle/drizzle-audit-context.js.map +1 -0
  62. package/dist/drizzle/drizzle-audit-trail.d.ts +17 -0
  63. package/dist/drizzle/drizzle-audit-trail.d.ts.map +1 -0
  64. package/dist/drizzle/drizzle-audit-trail.js +28 -0
  65. package/dist/drizzle/drizzle-audit-trail.js.map +1 -0
  66. package/dist/drizzle/table-in.d.ts +4 -0
  67. package/dist/drizzle/table-in.d.ts.map +1 -0
  68. package/dist/drizzle/table-in.js +6 -0
  69. package/dist/drizzle/table-in.js.map +1 -0
  70. package/dist/drizzle.d.ts +6 -0
  71. package/dist/drizzle.d.ts.map +1 -0
  72. package/dist/drizzle.js +5 -0
  73. package/dist/drizzle.js.map +1 -0
  74. package/dist/index.d.ts +36 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +18 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/knex/create-audit-tables.d.ts +9 -0
  79. package/dist/knex/create-audit-tables.d.ts.map +1 -0
  80. package/dist/knex/create-audit-tables.js +12 -0
  81. package/dist/knex/create-audit-tables.js.map +1 -0
  82. package/dist/knex/drop-audit-tables.d.ts +5 -0
  83. package/dist/knex/drop-audit-tables.d.ts.map +1 -0
  84. package/dist/knex/drop-audit-tables.js +8 -0
  85. package/dist/knex/drop-audit-tables.js.map +1 -0
  86. package/dist/knex/knex-audit-context.d.ts +6 -0
  87. package/dist/knex/knex-audit-context.d.ts.map +1 -0
  88. package/dist/knex/knex-audit-context.js +2 -0
  89. package/dist/knex/knex-audit-context.js.map +1 -0
  90. package/dist/knex/knex-audit-trail.d.ts +14 -0
  91. package/dist/knex/knex-audit-trail.d.ts.map +1 -0
  92. package/dist/knex/knex-audit-trail.js +22 -0
  93. package/dist/knex/knex-audit-trail.js.map +1 -0
  94. package/dist/knex.d.ts +6 -0
  95. package/dist/knex.d.ts.map +1 -0
  96. package/dist/knex.js +4 -0
  97. package/dist/knex.js.map +1 -0
  98. package/dist/redaction/audit-masker.d.ts +8 -0
  99. package/dist/redaction/audit-masker.d.ts.map +1 -0
  100. package/dist/redaction/audit-masker.js +5 -0
  101. package/dist/redaction/audit-masker.js.map +1 -0
  102. package/dist/redaction/audit-projection.d.ts +13 -0
  103. package/dist/redaction/audit-projection.d.ts.map +1 -0
  104. package/dist/redaction/audit-projection.js +2 -0
  105. package/dist/redaction/audit-projection.js.map +1 -0
  106. package/dist/redaction/audited-field.d.ts +3 -0
  107. package/dist/redaction/audited-field.d.ts.map +1 -0
  108. package/dist/redaction/audited-field.js +2 -0
  109. package/dist/redaction/audited-field.js.map +1 -0
  110. package/dist/redaction/audited-fields.d.ts +16 -0
  111. package/dist/redaction/audited-fields.d.ts.map +1 -0
  112. package/dist/redaction/audited-fields.js +24 -0
  113. package/dist/redaction/audited-fields.js.map +1 -0
  114. package/dist/redaction/audited-message.d.ts +9 -0
  115. package/dist/redaction/audited-message.d.ts.map +1 -0
  116. package/dist/redaction/audited-message.js +2 -0
  117. package/dist/redaction/audited-message.js.map +1 -0
  118. package/dist/redaction/audited-projection.d.ts +10 -0
  119. package/dist/redaction/audited-projection.d.ts.map +1 -0
  120. package/dist/redaction/audited-projection.js +9 -0
  121. package/dist/redaction/audited-projection.js.map +1 -0
  122. package/dist/redaction/changes-of.d.ts +11 -0
  123. package/dist/redaction/changes-of.d.ts.map +1 -0
  124. package/dist/redaction/changes-of.js +37 -0
  125. package/dist/redaction/changes-of.js.map +1 -0
  126. package/dist/redaction/hmac-masker.d.ts +12 -0
  127. package/dist/redaction/hmac-masker.d.ts.map +1 -0
  128. package/dist/redaction/hmac-masker.js +14 -0
  129. package/dist/redaction/hmac-masker.js.map +1 -0
  130. package/dist/redaction/masked-field.d.ts +6 -0
  131. package/dist/redaction/masked-field.d.ts.map +1 -0
  132. package/dist/redaction/masked-field.js +2 -0
  133. package/dist/redaction/masked-field.js.map +1 -0
  134. package/dist/redaction/masked.d.ts +3 -0
  135. package/dist/redaction/masked.d.ts.map +1 -0
  136. package/dist/redaction/masked.js +4 -0
  137. package/dist/redaction/masked.js.map +1 -0
  138. package/dist/redaction/masking-subject.d.ts +9 -0
  139. package/dist/redaction/masking-subject.d.ts.map +1 -0
  140. package/dist/redaction/masking-subject.js +2 -0
  141. package/dist/redaction/masking-subject.js.map +1 -0
  142. package/dist/redaction/missing-masker-error.d.ts +5 -0
  143. package/dist/redaction/missing-masker-error.d.ts.map +1 -0
  144. package/dist/redaction/missing-masker-error.js +8 -0
  145. package/dist/redaction/missing-masker-error.js.map +1 -0
  146. package/dist/search/comparing.d.ts +8 -0
  147. package/dist/search/comparing.d.ts.map +1 -0
  148. package/dist/search/comparing.js +23 -0
  149. package/dist/search/comparing.js.map +1 -0
  150. package/dist/search/cursor-position.d.ts +7 -0
  151. package/dist/search/cursor-position.d.ts.map +1 -0
  152. package/dist/search/cursor-position.js +2 -0
  153. package/dist/search/cursor-position.js.map +1 -0
  154. package/dist/search/decode-cursor.d.ts +3 -0
  155. package/dist/search/decode-cursor.d.ts.map +1 -0
  156. package/dist/search/decode-cursor.js +21 -0
  157. package/dist/search/decode-cursor.js.map +1 -0
  158. package/dist/search/encode-cursor.d.ts +3 -0
  159. package/dist/search/encode-cursor.d.ts.map +1 -0
  160. package/dist/search/encode-cursor.js +5 -0
  161. package/dist/search/encode-cursor.js.map +1 -0
  162. package/dist/search/matches.d.ts +5 -0
  163. package/dist/search/matches.d.ts.map +1 -0
  164. package/dist/search/matches.js +34 -0
  165. package/dist/search/matches.js.map +1 -0
  166. package/dist/search/order-of.d.ts +4 -0
  167. package/dist/search/order-of.d.ts.map +1 -0
  168. package/dist/search/order-of.js +5 -0
  169. package/dist/search/order-of.js.map +1 -0
  170. package/dist/search/search-order.d.ts +6 -0
  171. package/dist/search/search-order.d.ts.map +1 -0
  172. package/dist/search/search-order.js +2 -0
  173. package/dist/search/search-order.js.map +1 -0
  174. package/dist/sources/allowed-reads.d.ts +9 -0
  175. package/dist/sources/allowed-reads.d.ts.map +1 -0
  176. package/dist/sources/allowed-reads.js +2 -0
  177. package/dist/sources/allowed-reads.js.map +1 -0
  178. package/dist/sources/audit-decisions.d.ts +19 -0
  179. package/dist/sources/audit-decisions.d.ts.map +1 -0
  180. package/dist/sources/audit-decisions.js +48 -0
  181. package/dist/sources/audit-decisions.js.map +1 -0
  182. package/dist/sources/audit-fact.d.ts +4 -0
  183. package/dist/sources/audit-fact.d.ts.map +1 -0
  184. package/dist/sources/audit-fact.js +2 -0
  185. package/dist/sources/audit-fact.js.map +1 -0
  186. package/dist/sources/audit-integration-events.d.ts +23 -0
  187. package/dist/sources/audit-integration-events.d.ts.map +1 -0
  188. package/dist/sources/audit-integration-events.js +59 -0
  189. package/dist/sources/audit-integration-events.js.map +1 -0
  190. package/dist/sources/audit-middleware.d.ts +33 -0
  191. package/dist/sources/audit-middleware.d.ts.map +1 -0
  192. package/dist/sources/audit-middleware.js +113 -0
  193. package/dist/sources/audit-middleware.js.map +1 -0
  194. package/dist/sources/audit-record-of.d.ts +10 -0
  195. package/dist/sources/audit-record-of.d.ts.map +1 -0
  196. package/dist/sources/audit-record-of.js +10 -0
  197. package/dist/sources/audit-record-of.js.map +1 -0
  198. package/dist/sources/audit-source.d.ts +8 -0
  199. package/dist/sources/audit-source.d.ts.map +1 -0
  200. package/dist/sources/audit-source.js +2 -0
  201. package/dist/sources/audit-source.js.map +1 -0
  202. package/dist/sources/audit-subscription.d.ts +7 -0
  203. package/dist/sources/audit-subscription.d.ts.map +1 -0
  204. package/dist/sources/audit-subscription.js +2 -0
  205. package/dist/sources/audit-subscription.js.map +1 -0
  206. package/dist/sources/audited-events.d.ts +7 -0
  207. package/dist/sources/audited-events.d.ts.map +1 -0
  208. package/dist/sources/audited-events.js +2 -0
  209. package/dist/sources/audited-events.js.map +1 -0
  210. package/dist/sources/authorization-decision.d.ts +21 -0
  211. package/dist/sources/authorization-decision.d.ts.map +1 -0
  212. package/dist/sources/authorization-decision.js +2 -0
  213. package/dist/sources/authorization-decision.js.map +1 -0
  214. package/dist/sources/record-in.d.ts +5 -0
  215. package/dist/sources/record-in.d.ts.map +1 -0
  216. package/dist/sources/record-in.js +19 -0
  217. package/dist/sources/record-in.js.map +1 -0
  218. package/dist/sql/audit-chains-table-name.d.ts +2 -0
  219. package/dist/sql/audit-chains-table-name.d.ts.map +1 -0
  220. package/dist/sql/audit-chains-table-name.js +2 -0
  221. package/dist/sql/audit-chains-table-name.js.map +1 -0
  222. package/dist/sql/audit-entries-table-name.d.ts +2 -0
  223. package/dist/sql/audit-entries-table-name.d.ts.map +1 -0
  224. package/dist/sql/audit-entries-table-name.js +2 -0
  225. package/dist/sql/audit-entries-table-name.js.map +1 -0
  226. package/dist/sql/audit-guard-sql.d.ts +8 -0
  227. package/dist/sql/audit-guard-sql.d.ts.map +1 -0
  228. package/dist/sql/audit-guard-sql.js +17 -0
  229. package/dist/sql/audit-guard-sql.js.map +1 -0
  230. package/dist/sql/audit-tables-options.d.ts +5 -0
  231. package/dist/sql/audit-tables-options.d.ts.map +1 -0
  232. package/dist/sql/audit-tables-options.js +2 -0
  233. package/dist/sql/audit-tables-options.js.map +1 -0
  234. package/dist/sql/audit-tables-sql.d.ts +7 -0
  235. package/dist/sql/audit-tables-sql.d.ts.map +1 -0
  236. package/dist/sql/audit-tables-sql.js +48 -0
  237. package/dist/sql/audit-tables-sql.js.map +1 -0
  238. package/dist/sql/audit-tables.d.ts +8 -0
  239. package/dist/sql/audit-tables.d.ts.map +1 -0
  240. package/dist/sql/audit-tables.js +7 -0
  241. package/dist/sql/audit-tables.js.map +1 -0
  242. package/dist/sql/drop-audit-tables-sql.d.ts +4 -0
  243. package/dist/sql/drop-audit-tables-sql.d.ts.map +1 -0
  244. package/dist/sql/drop-audit-tables-sql.js +12 -0
  245. package/dist/sql/drop-audit-tables-sql.js.map +1 -0
  246. package/dist/sql/entry-of.d.ts +5 -0
  247. package/dist/sql/entry-of.d.ts.map +1 -0
  248. package/dist/sql/entry-of.js +109 -0
  249. package/dist/sql/entry-of.js.map +1 -0
  250. package/dist/sql/insert-of.d.ts +4 -0
  251. package/dist/sql/insert-of.d.ts.map +1 -0
  252. package/dist/sql/insert-of.js +51 -0
  253. package/dist/sql/insert-of.js.map +1 -0
  254. package/dist/sql/named.d.ts +3 -0
  255. package/dist/sql/named.d.ts.map +1 -0
  256. package/dist/sql/named.js +6 -0
  257. package/dist/sql/named.js.map +1 -0
  258. package/dist/sql/postgres-audit-trail.d.ts +25 -0
  259. package/dist/sql/postgres-audit-trail.d.ts.map +1 -0
  260. package/dist/sql/postgres-audit-trail.js +111 -0
  261. package/dist/sql/postgres-audit-trail.js.map +1 -0
  262. package/dist/sql/qualified.d.ts +3 -0
  263. package/dist/sql/qualified.d.ts.map +1 -0
  264. package/dist/sql/qualified.js +5 -0
  265. package/dist/sql/qualified.js.map +1 -0
  266. package/dist/sql/rows-of.d.ts +4 -0
  267. package/dist/sql/rows-of.d.ts.map +1 -0
  268. package/dist/sql/rows-of.js +14 -0
  269. package/dist/sql/rows-of.js.map +1 -0
  270. package/dist/sql/sql-row.d.ts +2 -0
  271. package/dist/sql/sql-row.d.ts.map +1 -0
  272. package/dist/sql/sql-row.js +2 -0
  273. package/dist/sql/sql-row.js.map +1 -0
  274. package/dist/sql/sql-session.d.ts +9 -0
  275. package/dist/sql/sql-session.d.ts.map +1 -0
  276. package/dist/sql/sql-session.js +2 -0
  277. package/dist/sql/sql-session.js.map +1 -0
  278. package/dist/sql/sql.d.ts +12 -0
  279. package/dist/sql/sql.d.ts.map +1 -0
  280. package/dist/sql/sql.js +35 -0
  281. package/dist/sql/sql.js.map +1 -0
  282. package/dist/testing/audit-trail-contract.d.ts +16 -0
  283. package/dist/testing/audit-trail-contract.d.ts.map +1 -0
  284. package/dist/testing/audit-trail-contract.js +208 -0
  285. package/dist/testing/audit-trail-contract.js.map +1 -0
  286. package/dist/testing/audit-trail-under-contract.d.ts +4 -0
  287. package/dist/testing/audit-trail-under-contract.d.ts.map +1 -0
  288. package/dist/testing/audit-trail-under-contract.js +2 -0
  289. package/dist/testing/audit-trail-under-contract.js.map +1 -0
  290. package/dist/testing/records/a-record.d.ts +3 -0
  291. package/dist/testing/records/a-record.d.ts.map +1 -0
  292. package/dist/testing/records/a-record.js +14 -0
  293. package/dist/testing/records/a-record.js.map +1 -0
  294. package/dist/testing/records/full-record.d.ts +3 -0
  295. package/dist/testing/records/full-record.d.ts.map +1 -0
  296. package/dist/testing/records/full-record.js +16 -0
  297. package/dist/testing/records/full-record.js.map +1 -0
  298. package/dist/testing/records/in-tenant.d.ts +3 -0
  299. package/dist/testing/records/in-tenant.d.ts.map +1 -0
  300. package/dist/testing/records/in-tenant.js +5 -0
  301. package/dist/testing/records/in-tenant.js.map +1 -0
  302. package/dist/testing/records/journal.d.ts +4 -0
  303. package/dist/testing/records/journal.d.ts.map +1 -0
  304. package/dist/testing/records/journal.js +32 -0
  305. package/dist/testing/records/journal.js.map +1 -0
  306. package/dist/testing/records/later.d.ts +4 -0
  307. package/dist/testing/records/later.d.ts.map +1 -0
  308. package/dist/testing/records/later.js +6 -0
  309. package/dist/testing/records/later.js.map +1 -0
  310. package/dist/testing.d.ts +3 -0
  311. package/dist/testing.d.ts.map +1 -0
  312. package/dist/testing.js +2 -0
  313. package/dist/testing.js.map +1 -0
  314. package/dist/trail/audit-trail-options.d.ts +8 -0
  315. package/dist/trail/audit-trail-options.d.ts.map +1 -0
  316. package/dist/trail/audit-trail-options.js +2 -0
  317. package/dist/trail/audit-trail-options.js.map +1 -0
  318. package/dist/trail/in-memory-audit-trail.d.ts +16 -0
  319. package/dist/trail/in-memory-audit-trail.d.ts.map +1 -0
  320. package/dist/trail/in-memory-audit-trail.js +48 -0
  321. package/dist/trail/in-memory-audit-trail.js.map +1 -0
  322. package/dist/verify/chain-break-kind.d.ts +8 -0
  323. package/dist/verify/chain-break-kind.d.ts.map +1 -0
  324. package/dist/verify/chain-break-kind.js +2 -0
  325. package/dist/verify/chain-break-kind.js.map +1 -0
  326. package/dist/verify/chain-break.d.ts +12 -0
  327. package/dist/verify/chain-break.d.ts.map +1 -0
  328. package/dist/verify/chain-break.js +2 -0
  329. package/dist/verify/chain-break.js.map +1 -0
  330. package/dist/verify/chain-verification.d.ts +10 -0
  331. package/dist/verify/chain-verification.d.ts.map +1 -0
  332. package/dist/verify/chain-verification.js +2 -0
  333. package/dist/verify/chain-verification.js.map +1 -0
  334. package/dist/verify/verify-chain.d.ts +20 -0
  335. package/dist/verify/verify-chain.d.ts.map +1 -0
  336. package/dist/verify/verify-chain.js +110 -0
  337. package/dist/verify/verify-chain.js.map +1 -0
  338. package/package.json +70 -4
@@ -0,0 +1,424 @@
1
+ export type AuditEntriesTable = ReturnType<typeof auditEntriesTable>;
2
+ /**
3
+ * The entries table, to include in the schema files drizzle-kit reads so that the migrations
4
+ * of the consuming project create it. Without a schema name it lives in `public`. Add
5
+ * `auditChainsTable` next to it and `auditGuardStatements` in a custom migration.
6
+ */
7
+ export declare function auditEntriesTable(schemaName?: string): import("drizzle-orm/pg-core").PgTableWithColumns<{
8
+ name: "audit_entries";
9
+ schema: string | undefined;
10
+ columns: {
11
+ id: import("drizzle-orm/pg-core").PgColumn<{
12
+ name: "id";
13
+ tableName: "audit_entries";
14
+ dataType: "string";
15
+ columnType: "PgText";
16
+ data: string;
17
+ driverParam: string;
18
+ notNull: true;
19
+ hasDefault: false;
20
+ isPrimaryKey: false;
21
+ isAutoincrement: false;
22
+ hasRuntimeDefault: false;
23
+ enumValues: [string, ...string[]];
24
+ baseColumn: never;
25
+ identity: undefined;
26
+ generated: undefined;
27
+ }, {}, {}>;
28
+ chain: import("drizzle-orm/pg-core").PgColumn<{
29
+ name: "chain";
30
+ tableName: "audit_entries";
31
+ dataType: "string";
32
+ columnType: "PgText";
33
+ data: string;
34
+ driverParam: string;
35
+ notNull: true;
36
+ hasDefault: false;
37
+ isPrimaryKey: false;
38
+ isAutoincrement: false;
39
+ hasRuntimeDefault: false;
40
+ enumValues: [string, ...string[]];
41
+ baseColumn: never;
42
+ identity: undefined;
43
+ generated: undefined;
44
+ }, {}, {}>;
45
+ sequence: import("drizzle-orm/pg-core").PgColumn<{
46
+ name: "sequence";
47
+ tableName: "audit_entries";
48
+ dataType: "number";
49
+ columnType: "PgBigInt53";
50
+ data: number;
51
+ driverParam: string | number;
52
+ notNull: true;
53
+ hasDefault: false;
54
+ isPrimaryKey: false;
55
+ isAutoincrement: false;
56
+ hasRuntimeDefault: false;
57
+ enumValues: undefined;
58
+ baseColumn: never;
59
+ identity: undefined;
60
+ generated: undefined;
61
+ }, {}, {}>;
62
+ occurredAt: import("drizzle-orm/pg-core").PgColumn<{
63
+ name: "occurred_at";
64
+ tableName: "audit_entries";
65
+ dataType: "date";
66
+ columnType: "PgTimestamp";
67
+ data: Date;
68
+ driverParam: string;
69
+ notNull: true;
70
+ hasDefault: false;
71
+ isPrimaryKey: false;
72
+ isAutoincrement: false;
73
+ hasRuntimeDefault: false;
74
+ enumValues: undefined;
75
+ baseColumn: never;
76
+ identity: undefined;
77
+ generated: undefined;
78
+ }, {}, {}>;
79
+ category: import("drizzle-orm/pg-core").PgColumn<{
80
+ name: "category";
81
+ tableName: "audit_entries";
82
+ dataType: "string";
83
+ columnType: "PgText";
84
+ data: string;
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: [string, ...string[]];
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {}>;
96
+ action: import("drizzle-orm/pg-core").PgColumn<{
97
+ name: "action";
98
+ tableName: "audit_entries";
99
+ dataType: "string";
100
+ columnType: "PgText";
101
+ data: string;
102
+ driverParam: string;
103
+ notNull: true;
104
+ hasDefault: false;
105
+ isPrimaryKey: false;
106
+ isAutoincrement: false;
107
+ hasRuntimeDefault: false;
108
+ enumValues: [string, ...string[]];
109
+ baseColumn: never;
110
+ identity: undefined;
111
+ generated: undefined;
112
+ }, {}, {}>;
113
+ outcome: import("drizzle-orm/pg-core").PgColumn<{
114
+ name: "outcome";
115
+ tableName: "audit_entries";
116
+ dataType: "string";
117
+ columnType: "PgText";
118
+ data: string;
119
+ driverParam: string;
120
+ notNull: true;
121
+ hasDefault: false;
122
+ isPrimaryKey: false;
123
+ isAutoincrement: false;
124
+ hasRuntimeDefault: false;
125
+ enumValues: [string, ...string[]];
126
+ baseColumn: never;
127
+ identity: undefined;
128
+ generated: undefined;
129
+ }, {}, {}>;
130
+ reason: import("drizzle-orm/pg-core").PgColumn<{
131
+ name: "reason";
132
+ tableName: "audit_entries";
133
+ dataType: "string";
134
+ columnType: "PgText";
135
+ data: string;
136
+ driverParam: string;
137
+ notNull: false;
138
+ hasDefault: false;
139
+ isPrimaryKey: false;
140
+ isAutoincrement: false;
141
+ hasRuntimeDefault: false;
142
+ enumValues: [string, ...string[]];
143
+ baseColumn: never;
144
+ identity: undefined;
145
+ generated: undefined;
146
+ }, {}, {}>;
147
+ actorId: import("drizzle-orm/pg-core").PgColumn<{
148
+ name: "actor_id";
149
+ tableName: "audit_entries";
150
+ dataType: "string";
151
+ columnType: "PgText";
152
+ data: string;
153
+ driverParam: string;
154
+ notNull: true;
155
+ hasDefault: false;
156
+ isPrimaryKey: false;
157
+ isAutoincrement: false;
158
+ hasRuntimeDefault: false;
159
+ enumValues: [string, ...string[]];
160
+ baseColumn: never;
161
+ identity: undefined;
162
+ generated: undefined;
163
+ }, {}, {}>;
164
+ actorType: import("drizzle-orm/pg-core").PgColumn<{
165
+ name: "actor_type";
166
+ tableName: "audit_entries";
167
+ dataType: "string";
168
+ columnType: "PgText";
169
+ data: string;
170
+ driverParam: string;
171
+ notNull: true;
172
+ hasDefault: false;
173
+ isPrimaryKey: false;
174
+ isAutoincrement: false;
175
+ hasRuntimeDefault: false;
176
+ enumValues: [string, ...string[]];
177
+ baseColumn: never;
178
+ identity: undefined;
179
+ generated: undefined;
180
+ }, {}, {}>;
181
+ actorTenantId: import("drizzle-orm/pg-core").PgColumn<{
182
+ name: "actor_tenant_id";
183
+ tableName: "audit_entries";
184
+ dataType: "string";
185
+ columnType: "PgText";
186
+ data: string;
187
+ driverParam: string;
188
+ notNull: false;
189
+ hasDefault: false;
190
+ isPrimaryKey: false;
191
+ isAutoincrement: false;
192
+ hasRuntimeDefault: false;
193
+ enumValues: [string, ...string[]];
194
+ baseColumn: never;
195
+ identity: undefined;
196
+ generated: undefined;
197
+ }, {}, {}>;
198
+ tenantId: import("drizzle-orm/pg-core").PgColumn<{
199
+ name: "tenant_id";
200
+ tableName: "audit_entries";
201
+ dataType: "string";
202
+ columnType: "PgText";
203
+ data: string;
204
+ driverParam: string;
205
+ notNull: false;
206
+ hasDefault: false;
207
+ isPrimaryKey: false;
208
+ isAutoincrement: false;
209
+ hasRuntimeDefault: false;
210
+ enumValues: [string, ...string[]];
211
+ baseColumn: never;
212
+ identity: undefined;
213
+ generated: undefined;
214
+ }, {}, {}>;
215
+ impersonatedBy: import("drizzle-orm/pg-core").PgColumn<{
216
+ name: "impersonated_by";
217
+ tableName: "audit_entries";
218
+ dataType: "string";
219
+ columnType: "PgText";
220
+ data: string;
221
+ driverParam: string;
222
+ notNull: false;
223
+ hasDefault: false;
224
+ isPrimaryKey: false;
225
+ isAutoincrement: false;
226
+ hasRuntimeDefault: false;
227
+ enumValues: [string, ...string[]];
228
+ baseColumn: never;
229
+ identity: undefined;
230
+ generated: undefined;
231
+ }, {}, {}>;
232
+ sessionId: import("drizzle-orm/pg-core").PgColumn<{
233
+ name: "session_id";
234
+ tableName: "audit_entries";
235
+ dataType: "string";
236
+ columnType: "PgText";
237
+ data: string;
238
+ driverParam: string;
239
+ notNull: false;
240
+ hasDefault: false;
241
+ isPrimaryKey: false;
242
+ isAutoincrement: false;
243
+ hasRuntimeDefault: false;
244
+ enumValues: [string, ...string[]];
245
+ baseColumn: never;
246
+ identity: undefined;
247
+ generated: undefined;
248
+ }, {}, {}>;
249
+ resourceType: import("drizzle-orm/pg-core").PgColumn<{
250
+ name: "resource_type";
251
+ tableName: "audit_entries";
252
+ dataType: "string";
253
+ columnType: "PgText";
254
+ data: string;
255
+ driverParam: string;
256
+ notNull: false;
257
+ hasDefault: false;
258
+ isPrimaryKey: false;
259
+ isAutoincrement: false;
260
+ hasRuntimeDefault: false;
261
+ enumValues: [string, ...string[]];
262
+ baseColumn: never;
263
+ identity: undefined;
264
+ generated: undefined;
265
+ }, {}, {}>;
266
+ resourceId: import("drizzle-orm/pg-core").PgColumn<{
267
+ name: "resource_id";
268
+ tableName: "audit_entries";
269
+ dataType: "string";
270
+ columnType: "PgText";
271
+ data: string;
272
+ driverParam: string;
273
+ notNull: false;
274
+ hasDefault: false;
275
+ isPrimaryKey: false;
276
+ isAutoincrement: false;
277
+ hasRuntimeDefault: false;
278
+ enumValues: [string, ...string[]];
279
+ baseColumn: never;
280
+ identity: undefined;
281
+ generated: undefined;
282
+ }, {}, {}>;
283
+ context: import("drizzle-orm/pg-core").PgColumn<{
284
+ name: "context";
285
+ tableName: "audit_entries";
286
+ dataType: "string";
287
+ columnType: "PgText";
288
+ data: string;
289
+ driverParam: string;
290
+ notNull: false;
291
+ hasDefault: false;
292
+ isPrimaryKey: false;
293
+ isAutoincrement: false;
294
+ hasRuntimeDefault: false;
295
+ enumValues: [string, ...string[]];
296
+ baseColumn: never;
297
+ identity: undefined;
298
+ generated: undefined;
299
+ }, {}, {}>;
300
+ correlationId: import("drizzle-orm/pg-core").PgColumn<{
301
+ name: "correlation_id";
302
+ tableName: "audit_entries";
303
+ dataType: "string";
304
+ columnType: "PgText";
305
+ data: string;
306
+ driverParam: string;
307
+ notNull: true;
308
+ hasDefault: false;
309
+ isPrimaryKey: false;
310
+ isAutoincrement: false;
311
+ hasRuntimeDefault: false;
312
+ enumValues: [string, ...string[]];
313
+ baseColumn: never;
314
+ identity: undefined;
315
+ generated: undefined;
316
+ }, {}, {}>;
317
+ causationId: import("drizzle-orm/pg-core").PgColumn<{
318
+ name: "causation_id";
319
+ tableName: "audit_entries";
320
+ dataType: "string";
321
+ columnType: "PgText";
322
+ data: string;
323
+ driverParam: string;
324
+ notNull: false;
325
+ hasDefault: false;
326
+ isPrimaryKey: false;
327
+ isAutoincrement: false;
328
+ hasRuntimeDefault: false;
329
+ enumValues: [string, ...string[]];
330
+ baseColumn: never;
331
+ identity: undefined;
332
+ generated: undefined;
333
+ }, {}, {}>;
334
+ origin: import("drizzle-orm/pg-core").PgColumn<{
335
+ name: "origin";
336
+ tableName: "audit_entries";
337
+ dataType: "string";
338
+ columnType: "PgText";
339
+ data: string;
340
+ driverParam: string;
341
+ notNull: true;
342
+ hasDefault: false;
343
+ isPrimaryKey: false;
344
+ isAutoincrement: false;
345
+ hasRuntimeDefault: false;
346
+ enumValues: [string, ...string[]];
347
+ baseColumn: never;
348
+ identity: undefined;
349
+ generated: undefined;
350
+ }, {}, {}>;
351
+ changes: import("drizzle-orm/pg-core").PgColumn<{
352
+ name: "changes";
353
+ tableName: "audit_entries";
354
+ dataType: "json";
355
+ columnType: "PgJsonb";
356
+ data: Readonly<Record<string, import("@ddd-ts-kit/kernel").AuditChange>>;
357
+ driverParam: unknown;
358
+ notNull: false;
359
+ hasDefault: false;
360
+ isPrimaryKey: false;
361
+ isAutoincrement: false;
362
+ hasRuntimeDefault: false;
363
+ enumValues: undefined;
364
+ baseColumn: never;
365
+ identity: undefined;
366
+ generated: undefined;
367
+ }, {}, {
368
+ $type: Readonly<Record<string, import("@ddd-ts-kit/kernel").AuditChange>>;
369
+ }>;
370
+ extensions: import("drizzle-orm/pg-core").PgColumn<{
371
+ name: "extensions";
372
+ tableName: "audit_entries";
373
+ dataType: "json";
374
+ columnType: "PgJsonb";
375
+ data: unknown;
376
+ driverParam: unknown;
377
+ notNull: true;
378
+ hasDefault: true;
379
+ isPrimaryKey: false;
380
+ isAutoincrement: false;
381
+ hasRuntimeDefault: false;
382
+ enumValues: undefined;
383
+ baseColumn: never;
384
+ identity: undefined;
385
+ generated: undefined;
386
+ }, {}, {}>;
387
+ previousHash: import("drizzle-orm/pg-core").PgColumn<{
388
+ name: "previous_hash";
389
+ tableName: "audit_entries";
390
+ dataType: "string";
391
+ columnType: "PgText";
392
+ data: string;
393
+ driverParam: string;
394
+ notNull: true;
395
+ hasDefault: false;
396
+ isPrimaryKey: false;
397
+ isAutoincrement: false;
398
+ hasRuntimeDefault: false;
399
+ enumValues: [string, ...string[]];
400
+ baseColumn: never;
401
+ identity: undefined;
402
+ generated: undefined;
403
+ }, {}, {}>;
404
+ hash: import("drizzle-orm/pg-core").PgColumn<{
405
+ name: "hash";
406
+ tableName: "audit_entries";
407
+ dataType: "string";
408
+ columnType: "PgText";
409
+ data: string;
410
+ driverParam: string;
411
+ notNull: true;
412
+ hasDefault: false;
413
+ isPrimaryKey: false;
414
+ isAutoincrement: false;
415
+ hasRuntimeDefault: false;
416
+ enumValues: [string, ...string[]];
417
+ baseColumn: never;
418
+ identity: undefined;
419
+ generated: undefined;
420
+ }, {}, {}>;
421
+ };
422
+ dialect: 'pg';
423
+ }>;
424
+ //# sourceMappingURL=audit-entries-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-entries-table.d.ts","sourceRoot":"","sources":["../../src/drizzle/audit-entries-table.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQpD"}
@@ -0,0 +1,44 @@
1
+ import { bigint, index, jsonb, primaryKey, text, timestamp } from 'drizzle-orm/pg-core';
2
+ import { AUDIT_ENTRIES_TABLE } from '../sql/audit-entries-table-name.js';
3
+ import { tableIn } from './table-in.js';
4
+ const ENTRY_COLUMNS = {
5
+ id: text('id').notNull().unique(),
6
+ chain: text('chain').notNull(),
7
+ sequence: bigint('sequence', { mode: 'number' }).notNull(),
8
+ occurredAt: timestamp('occurred_at', { withTimezone: true, mode: 'date', precision: 3 }).notNull(),
9
+ category: text('category').notNull(),
10
+ action: text('action').notNull(),
11
+ outcome: text('outcome').notNull(),
12
+ reason: text('reason'),
13
+ actorId: text('actor_id').notNull(),
14
+ actorType: text('actor_type').notNull(),
15
+ actorTenantId: text('actor_tenant_id'),
16
+ tenantId: text('tenant_id'),
17
+ impersonatedBy: text('impersonated_by'),
18
+ sessionId: text('session_id'),
19
+ resourceType: text('resource_type'),
20
+ resourceId: text('resource_id'),
21
+ context: text('context'),
22
+ correlationId: text('correlation_id').notNull(),
23
+ causationId: text('causation_id'),
24
+ origin: text('origin').notNull(),
25
+ changes: jsonb('changes').$type(),
26
+ extensions: jsonb('extensions').notNull().default({}),
27
+ previousHash: text('previous_hash').notNull(),
28
+ hash: text('hash').notNull(),
29
+ };
30
+ /**
31
+ * The entries table, to include in the schema files drizzle-kit reads so that the migrations
32
+ * of the consuming project create it. Without a schema name it lives in `public`. Add
33
+ * `auditChainsTable` next to it and `auditGuardStatements` in a custom migration.
34
+ */
35
+ export function auditEntriesTable(schemaName) {
36
+ return tableIn(schemaName)(AUDIT_ENTRIES_TABLE, ENTRY_COLUMNS, (table) => [
37
+ primaryKey({ columns: [table.chain, table.sequence] }),
38
+ index('audit_entries_occurred_idx').on(table.occurredAt, table.chain, table.sequence),
39
+ index('audit_entries_actor_idx').on(table.actorId, table.occurredAt),
40
+ index('audit_entries_resource_idx').on(table.resourceType, table.resourceId),
41
+ index('audit_entries_correlation_idx').on(table.correlationId),
42
+ ]);
43
+ }
44
+ //# sourceMappingURL=audit-entries-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-entries-table.js","sourceRoot":"","sources":["../../src/drizzle/audit-entries-table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * drizzle-kit does not generate triggers: paste these statements in a custom migration
3
+ * (`drizzle-kit generate --custom`) after the one that creates the tables. They make
4
+ * `audit_entries` refuse UPDATE, DELETE and TRUNCATE.
5
+ */
6
+ export declare function auditGuardStatements(schemaName?: string): string[];
7
+ //# sourceMappingURL=audit-guard-statements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-guard-statements.d.ts","sourceRoot":"","sources":["../../src/drizzle/audit-guard-statements.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAElE"}
@@ -0,0 +1,10 @@
1
+ import { auditGuardSql } from '../sql/audit-guard-sql.js';
2
+ /**
3
+ * drizzle-kit does not generate triggers: paste these statements in a custom migration
4
+ * (`drizzle-kit generate --custom`) after the one that creates the tables. They make
5
+ * `audit_entries` refuse UPDATE, DELETE and TRUNCATE.
6
+ */
7
+ export function auditGuardStatements(schemaName) {
8
+ return auditGuardSql(schemaName === undefined ? {} : { schema: schemaName });
9
+ }
10
+ //# sourceMappingURL=audit-guard-statements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-guard-statements.js","sourceRoot":"","sources":["../../src/drizzle/audit-guard-statements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAmB;IACtD,OAAO,aAAa,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { TablesRelationalConfig } from 'drizzle-orm';
2
+ import type { PgDatabase, PgQueryResultHKT } from 'drizzle-orm/pg-core';
3
+ /** The `DrizzleContext` of `@ddd-ts-kit/drizzle`, restated structurally: any unit of work of that package fits. */
4
+ export interface DrizzleAuditContext<Q extends PgQueryResultHKT, F extends Record<string, unknown>, S extends TablesRelationalConfig> {
5
+ executor(): PgDatabase<Q, F, S>;
6
+ }
7
+ //# sourceMappingURL=drizzle-audit-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-audit-context.d.ts","sourceRoot":"","sources":["../../src/drizzle/drizzle-audit-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAExE,mHAAmH;AACnH,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,gBAAgB,EAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,CAAC,SAAS,sBAAsB;IAEhC,QAAQ,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=drizzle-audit-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-audit-context.js","sourceRoot":"","sources":["../../src/drizzle/drizzle-audit-context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { type TablesRelationalConfig } from 'drizzle-orm';
2
+ import type { PgQueryResultHKT } from 'drizzle-orm/pg-core';
3
+ import { PostgresAuditTrail } from '../sql/postgres-audit-trail.js';
4
+ import type { AuditTrailOptions } from '../trail/audit-trail-options.js';
5
+ import type { DrizzleAuditContext } from './drizzle-audit-context.js';
6
+ export interface DrizzleAuditTrailOptions extends AuditTrailOptions {
7
+ /** The schema the tables were declared in with `auditEntriesTable(schemaName)`. Default `public`. */
8
+ readonly schema?: string;
9
+ }
10
+ /**
11
+ * The audit trail on PostgreSQL through drizzle, for any driver. It writes on the executor of
12
+ * the context: inside a unit of work the entry commits or rolls back with it.
13
+ */
14
+ export declare class DrizzleAuditTrail<Q extends PgQueryResultHKT, F extends Record<string, unknown>, S extends TablesRelationalConfig> extends PostgresAuditTrail {
15
+ constructor(context: DrizzleAuditContext<Q, F, S>, options?: DrizzleAuditTrailOptions);
16
+ }
17
+ //# sourceMappingURL=drizzle-audit-trail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-audit-trail.d.ts","sourceRoot":"","sources":["../../src/drizzle/drizzle-audit-trail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,qGAAqG;IACrG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,iBAAiB,CAC5B,CAAC,SAAS,gBAAgB,EAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,CAAC,SAAS,sBAAsB,CAChC,SAAQ,kBAAkB;IAC1B,YAAY,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAE,wBAA6B,EAExF;CACF"}
@@ -0,0 +1,28 @@
1
+ import { sql } from 'drizzle-orm';
2
+ import { auditTables } from '../sql/audit-tables.js';
3
+ import { PostgresAuditTrail } from '../sql/postgres-audit-trail.js';
4
+ import { rowsOf } from '../sql/rows-of.js';
5
+ /**
6
+ * The audit trail on PostgreSQL through drizzle, for any driver. It writes on the executor of
7
+ * the context: inside a unit of work the entry commits or rolls back with it.
8
+ */
9
+ export class DrizzleAuditTrail extends PostgresAuditTrail {
10
+ constructor(context, options = {}) {
11
+ super(() => sessionOn(context.executor()), auditTables(options), options);
12
+ }
13
+ }
14
+ function sessionOn(database) {
15
+ return {
16
+ query: async (statement) => {
17
+ const result = await database.execute(drizzleSqlOf(statement));
18
+ return rowsOf(result);
19
+ },
20
+ transaction: (work) => database.transaction((transaction) => work(sessionOn(transaction))),
21
+ };
22
+ }
23
+ function drizzleSqlOf(statement) {
24
+ const [first = '', ...rest] = statement.strings;
25
+ const following = rest.flatMap((literal, index) => [sql.param(statement.values[index]), sql.raw(literal)]);
26
+ return sql.join([sql.raw(first), ...following]);
27
+ }
28
+ //# sourceMappingURL=drizzle-audit-trail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-audit-trail.js","sourceRoot":"","sources":["../../src/drizzle/drizzle-audit-trail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAyC,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAW3C;;;GAGG;AACH,MAAM,OAAO,iBAIX,SAAQ,kBAAkB;IAC1B,YAAY,OAAqC,EAAE,OAAO,GAA6B,EAAE;QACvF,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,SAAS,SAAS,CAChB,QAA6B;IAE7B,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YACzB,MAAM,MAAM,GAAY,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;YAExE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,SAAc;IAClC,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3G,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type PgTableFn } from 'drizzle-orm/pg-core';
2
+ /** The table constructor of a schema, or the one of `public` without a name. */
3
+ export declare function tableIn(schemaName: string | undefined): PgTableFn<string | undefined>;
4
+ //# sourceMappingURL=table-in.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-in.d.ts","sourceRoot":"","sources":["../../src/drizzle/table-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAExE,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,CAErF"}
@@ -0,0 +1,6 @@
1
+ import { pgSchema, pgTable } from 'drizzle-orm/pg-core';
2
+ /** The table constructor of a schema, or the one of `public` without a name. */
3
+ export function tableIn(schemaName) {
4
+ return schemaName === undefined ? pgTable : pgSchema(schemaName).table;
5
+ }
6
+ //# sourceMappingURL=table-in.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-in.js","sourceRoot":"","sources":["../../src/drizzle/table-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAExE,gFAAgF;AAChF,MAAM,UAAU,OAAO,CAAC,UAA8B;IACpD,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { auditChainsTable, type AuditChainsTable } from './drizzle/audit-chains-table.js';
2
+ export { auditEntriesTable, type AuditEntriesTable } from './drizzle/audit-entries-table.js';
3
+ export { auditGuardStatements } from './drizzle/audit-guard-statements.js';
4
+ export type { DrizzleAuditContext } from './drizzle/drizzle-audit-context.js';
5
+ export { DrizzleAuditTrail, type DrizzleAuditTrailOptions } from './drizzle/drizzle-audit-trail.js';
6
+ //# sourceMappingURL=drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../src/drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { auditChainsTable } from './drizzle/audit-chains-table.js';
2
+ export { auditEntriesTable } from './drizzle/audit-entries-table.js';
3
+ export { auditGuardStatements } from './drizzle/audit-guard-statements.js';
4
+ export { DrizzleAuditTrail } from './drizzle/drizzle-audit-trail.js';
5
+ //# sourceMappingURL=drizzle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../src/drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAA0B,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAiC,MAAM,kCAAkC,CAAC"}