@c15t/backend 1.2.0-canary.9 → 1.2.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 (186) hide show
  1. package/.turbo/turbo-build.log +53 -52
  2. package/CHANGELOG.md +13 -0
  3. package/dist/__tests__/server.test.d.ts +2 -0
  4. package/dist/__tests__/server.test.d.ts.map +1 -0
  5. package/dist/contracts/index.d.ts +1 -1
  6. package/dist/contracts/index.d.ts.map +1 -1
  7. package/dist/contracts.cjs +708 -0
  8. package/dist/contracts.js +661 -0
  9. package/dist/core.cjs +96 -49
  10. package/dist/core.d.ts.map +1 -1
  11. package/dist/core.js +96 -49
  12. package/dist/middleware/openapi/config.d.ts +1 -1
  13. package/dist/middleware/openapi/config.d.ts.map +1 -1
  14. package/dist/pkgs/data-model/index.cjs +59 -41
  15. package/dist/pkgs/data-model/index.js +59 -41
  16. package/dist/pkgs/data-model/schema/index.cjs +59 -41
  17. package/dist/pkgs/data-model/schema/index.js +59 -41
  18. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +2 -2
  19. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +2 -2
  20. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +2 -2
  21. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +2 -2
  22. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +2 -2
  23. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +2 -2
  24. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +2 -2
  25. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +2 -2
  26. package/dist/pkgs/db-adapters/index.cjs +2 -2
  27. package/dist/pkgs/db-adapters/index.js +2 -2
  28. package/dist/pkgs/migrations/index.cjs +2 -2
  29. package/dist/pkgs/migrations/index.js +2 -2
  30. package/dist/router.cjs +5 -3
  31. package/dist/router.js +5 -3
  32. package/dist/schema/consent-policy/registry.d.ts.map +1 -1
  33. package/dist/schema/consent-purpose/registry.d.ts +4 -4
  34. package/dist/schema/consent-purpose/schema.d.ts +6 -6
  35. package/dist/schema/consent-purpose/table.d.ts +6 -6
  36. package/dist/schema/create-registry.d.ts +4 -4
  37. package/dist/schema/create-registry.d.ts.map +1 -1
  38. package/dist/schema/definition.d.ts +6 -6
  39. package/dist/schema/index.cjs +59 -41
  40. package/dist/schema/index.js +59 -41
  41. package/dist/schema/schemas.d.ts +6 -6
  42. package/package.json +7 -2
  43. package/rslib.config.ts +1 -0
  44. package/src/__tests__/server.test.ts +96 -0
  45. package/src/contracts/index.ts +2 -0
  46. package/src/core.ts +29 -1
  47. package/src/middleware/cors/cors.test.ts +0 -1
  48. package/src/middleware/openapi/config.ts +10 -7
  49. package/src/schema/consent-policy/registry.ts +74 -51
  50. package/src/schema/consent-purpose/schema.ts +2 -2
  51. package/.turbo/turbo-fmt.log +0 -7
  52. package/.turbo/turbo-test.log +0 -426
  53. package/coverage/coverage-final.json +0 -88
  54. package/coverage/coverage-summary.json +0 -89
  55. package/coverage/html/backend/index.html +0 -116
  56. package/coverage/html/backend/rslib.config.ts.html +0 -415
  57. package/coverage/html/backend/src/contracts/consent/index.html +0 -161
  58. package/coverage/html/backend/src/contracts/consent/index.ts.html +0 -112
  59. package/coverage/html/backend/src/contracts/consent/post.contract.ts.html +0 -550
  60. package/coverage/html/backend/src/contracts/consent/show-banner.contract.ts.html +0 -220
  61. package/coverage/html/backend/src/contracts/consent/verify.contract.ts.html +0 -463
  62. package/coverage/html/backend/src/contracts/index.html +0 -116
  63. package/coverage/html/backend/src/contracts/index.ts.html +0 -139
  64. package/coverage/html/backend/src/contracts/meta/index.html +0 -131
  65. package/coverage/html/backend/src/contracts/meta/index.ts.html +0 -100
  66. package/coverage/html/backend/src/contracts/meta/status.contract.ts.html +0 -196
  67. package/coverage/html/backend/src/contracts/shared/index.html +0 -116
  68. package/coverage/html/backend/src/contracts/shared/jurisdiction.schema.ts.html +0 -175
  69. package/coverage/html/backend/src/core.ts.html +0 -1342
  70. package/coverage/html/backend/src/handlers/consent/index.html +0 -161
  71. package/coverage/html/backend/src/handlers/consent/index.ts.html +0 -112
  72. package/coverage/html/backend/src/handlers/consent/post.handler.ts.html +0 -904
  73. package/coverage/html/backend/src/handlers/consent/show-banner.handler.ts.html +0 -532
  74. package/coverage/html/backend/src/handlers/consent/verify.handler.ts.html +0 -1000
  75. package/coverage/html/backend/src/handlers/meta/index.html +0 -131
  76. package/coverage/html/backend/src/handlers/meta/index.ts.html +0 -100
  77. package/coverage/html/backend/src/handlers/meta/status.handler.ts.html +0 -226
  78. package/coverage/html/backend/src/index.html +0 -161
  79. package/coverage/html/backend/src/init.ts.html +0 -1018
  80. package/coverage/html/backend/src/middleware/cors/cors.ts.html +0 -661
  81. package/coverage/html/backend/src/middleware/cors/index.html +0 -146
  82. package/coverage/html/backend/src/middleware/cors/is-origin-trusted.ts.html +0 -463
  83. package/coverage/html/backend/src/middleware/cors/process-cors.ts.html +0 -358
  84. package/coverage/html/backend/src/middleware/openapi/config.ts.html +0 -160
  85. package/coverage/html/backend/src/middleware/openapi/handlers.ts.html +0 -481
  86. package/coverage/html/backend/src/middleware/openapi/index.html +0 -131
  87. package/coverage/html/backend/src/pkgs/api-router/hooks/index.html +0 -116
  88. package/coverage/html/backend/src/pkgs/api-router/hooks/processor.ts.html +0 -544
  89. package/coverage/html/backend/src/pkgs/api-router/index.html +0 -116
  90. package/coverage/html/backend/src/pkgs/api-router/telemetry.ts.html +0 -334
  91. package/coverage/html/backend/src/pkgs/api-router/utils/index.html +0 -116
  92. package/coverage/html/backend/src/pkgs/api-router/utils/ip.ts.html +0 -361
  93. package/coverage/html/backend/src/pkgs/data-model/fields/field-factory.ts.html +0 -709
  94. package/coverage/html/backend/src/pkgs/data-model/fields/id-generator.ts.html +0 -256
  95. package/coverage/html/backend/src/pkgs/data-model/fields/index.html +0 -161
  96. package/coverage/html/backend/src/pkgs/data-model/fields/superjson-utils.ts.html +0 -136
  97. package/coverage/html/backend/src/pkgs/data-model/fields/zod-fields.ts.html +0 -496
  98. package/coverage/html/backend/src/pkgs/data-model/hooks/create-hooks.ts.html +0 -349
  99. package/coverage/html/backend/src/pkgs/data-model/hooks/index.html +0 -176
  100. package/coverage/html/backend/src/pkgs/data-model/hooks/update-hooks.ts.html +0 -358
  101. package/coverage/html/backend/src/pkgs/data-model/hooks/update-many-hooks.ts.html +0 -613
  102. package/coverage/html/backend/src/pkgs/data-model/hooks/utils.ts.html +0 -538
  103. package/coverage/html/backend/src/pkgs/data-model/hooks/with-hooks-factory.ts.html +0 -289
  104. package/coverage/html/backend/src/pkgs/db-adapters/adapter-factory.ts.html +0 -289
  105. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts.html +0 -2203
  106. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/index.html +0 -116
  107. package/coverage/html/backend/src/pkgs/db-adapters/adapters/index.html +0 -116
  108. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts.html +0 -670
  109. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/index.html +0 -131
  110. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts.html +0 -3634
  111. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/index.html +0 -116
  112. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts.html +0 -1417
  113. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/index.html +0 -116
  114. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts.html +0 -2071
  115. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/index.html +0 -116
  116. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts.html +0 -1834
  117. package/coverage/html/backend/src/pkgs/db-adapters/adapters/test.ts.html +0 -316
  118. package/coverage/html/backend/src/pkgs/db-adapters/index.html +0 -131
  119. package/coverage/html/backend/src/pkgs/db-adapters/utils.ts.html +0 -238
  120. package/coverage/html/backend/src/pkgs/migrations/get-migration.ts.html +0 -343
  121. package/coverage/html/backend/src/pkgs/migrations/get-schema/get-schema.ts.html +0 -217
  122. package/coverage/html/backend/src/pkgs/migrations/get-schema/index.html +0 -146
  123. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-fields.ts.html +0 -280
  124. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-tables.ts.html +0 -289
  125. package/coverage/html/backend/src/pkgs/migrations/index.html +0 -176
  126. package/coverage/html/backend/src/pkgs/migrations/migration-builders.ts.html +0 -595
  127. package/coverage/html/backend/src/pkgs/migrations/migration-execution.ts.html +0 -301
  128. package/coverage/html/backend/src/pkgs/migrations/schema-comparison.ts.html +0 -694
  129. package/coverage/html/backend/src/pkgs/migrations/type-mapping.ts.html +0 -817
  130. package/coverage/html/backend/src/pkgs/results/core/error-class.ts.html +0 -976
  131. package/coverage/html/backend/src/pkgs/results/core/error-codes.ts.html +0 -703
  132. package/coverage/html/backend/src/pkgs/results/core/index.html +0 -146
  133. package/coverage/html/backend/src/pkgs/results/core/tracing.ts.html +0 -280
  134. package/coverage/html/backend/src/pkgs/results/create-telemetry-options.ts.html +0 -271
  135. package/coverage/html/backend/src/pkgs/results/index.html +0 -131
  136. package/coverage/html/backend/src/pkgs/results/orpc-error-handler.ts.html +0 -496
  137. package/coverage/html/backend/src/pkgs/results/results/index.html +0 -131
  138. package/coverage/html/backend/src/pkgs/results/results/recovery-utils.ts.html +0 -628
  139. package/coverage/html/backend/src/pkgs/results/results/result-helpers.ts.html +0 -1234
  140. package/coverage/html/backend/src/pkgs/utils/env.ts.html +0 -337
  141. package/coverage/html/backend/src/pkgs/utils/index.html +0 -146
  142. package/coverage/html/backend/src/pkgs/utils/logger.ts.html +0 -199
  143. package/coverage/html/backend/src/pkgs/utils/url.ts.html +0 -400
  144. package/coverage/html/backend/src/router.ts.html +0 -109
  145. package/coverage/html/backend/src/schema/audit-log/index.html +0 -146
  146. package/coverage/html/backend/src/schema/audit-log/registry.ts.html +0 -436
  147. package/coverage/html/backend/src/schema/audit-log/schema.ts.html +0 -223
  148. package/coverage/html/backend/src/schema/audit-log/table.ts.html +0 -640
  149. package/coverage/html/backend/src/schema/consent/index.html +0 -146
  150. package/coverage/html/backend/src/schema/consent/registry.ts.html +0 -616
  151. package/coverage/html/backend/src/schema/consent/schema.ts.html +0 -238
  152. package/coverage/html/backend/src/schema/consent/table.ts.html +0 -748
  153. package/coverage/html/backend/src/schema/consent-policy/index.html +0 -146
  154. package/coverage/html/backend/src/schema/consent-policy/registry.ts.html +0 -1063
  155. package/coverage/html/backend/src/schema/consent-policy/schema.ts.html +0 -265
  156. package/coverage/html/backend/src/schema/consent-policy/table.ts.html +0 -535
  157. package/coverage/html/backend/src/schema/consent-purpose/index.html +0 -146
  158. package/coverage/html/backend/src/schema/consent-purpose/registry.ts.html +0 -589
  159. package/coverage/html/backend/src/schema/consent-purpose/schema.ts.html +0 -259
  160. package/coverage/html/backend/src/schema/consent-purpose/table.ts.html +0 -547
  161. package/coverage/html/backend/src/schema/consent-record/index.html +0 -131
  162. package/coverage/html/backend/src/schema/consent-record/schema.ts.html +0 -211
  163. package/coverage/html/backend/src/schema/consent-record/table.ts.html +0 -457
  164. package/coverage/html/backend/src/schema/create-registry.ts.html +0 -148
  165. package/coverage/html/backend/src/schema/definition.ts.html +0 -685
  166. package/coverage/html/backend/src/schema/domain/index.html +0 -146
  167. package/coverage/html/backend/src/schema/domain/registry.ts.html +0 -973
  168. package/coverage/html/backend/src/schema/domain/schema.ts.html +0 -214
  169. package/coverage/html/backend/src/schema/domain/table.ts.html +0 -496
  170. package/coverage/html/backend/src/schema/index.html +0 -146
  171. package/coverage/html/backend/src/schema/schemas.ts.html +0 -166
  172. package/coverage/html/backend/src/schema/subject/index.html +0 -146
  173. package/coverage/html/backend/src/schema/subject/registry.ts.html +0 -973
  174. package/coverage/html/backend/src/schema/subject/schema.ts.html +0 -208
  175. package/coverage/html/backend/src/schema/subject/table.ts.html +0 -499
  176. package/coverage/html/backend/src/server.ts.html +0 -463
  177. package/coverage/html/backend/src/testing/contract-testing.ts.html +0 -1396
  178. package/coverage/html/backend/src/testing/index.html +0 -116
  179. package/coverage/html/base.css +0 -224
  180. package/coverage/html/block-navigation.js +0 -87
  181. package/coverage/html/favicon.png +0 -0
  182. package/coverage/html/index.html +0 -656
  183. package/coverage/html/prettify.css +0 -1
  184. package/coverage/html/prettify.js +0 -2
  185. package/coverage/html/sort-arrow-sprite.png +0 -0
  186. package/coverage/html/sorter.js +0 -196
@@ -1,640 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for backend/src/schema/audit-log/table.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> / <a href="index.html">backend/src/schema/audit-log</a> table.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">75% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>3/4</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>30/30</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>1/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">75% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>3/4</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-neutral">&nbsp;</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-neutral">&nbsp;</span>
272
- <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-yes">110x</span>
278
- <span class="cline-any cline-yes">110x</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-yes">110x</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-neutral">&nbsp;</span>
383
- <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-no">&nbsp;</span>
386
- <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-neutral">&nbsp;</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { COMMON_TIMEZONES, type Field } from '~/pkgs/data-model';
437
- import type { C15TOptions } from '~/types';
438
- import { auditLogSchema } from './schema';
439
- &nbsp;
440
- /**
441
- * Generates the database table configuration for the consent audit log entity.
442
- *
443
- * This function creates a schema definition that includes all standard audit log fields
444
- * and any additional fields from plugins or configuration. The resulting schema is used
445
- * for database migrations, schema validation, and query building.
446
- *
447
- * @param options - c15t configuration options that may contain audit log table customizations
448
- * @param auditLogFields - Additional fields from plugins to include in the audit log table
449
- * @returns A complete table schema definition with fields, model name, and metadata
450
- *
451
- * @example
452
- * ```typescript
453
- * const auditLogTableSchema = getAuditLogTable(c15tOptions);
454
- * // Use the schema for migrations or data access
455
- * const migrationPlans = generateMigrations(auditLogTableSchema);
456
- * ```
457
- */
458
- export function getAuditLogTable(
459
- options: C15TOptions,
460
- auditLogFields?: Record&lt;string, Field&gt;
461
- ) {
462
- const auditLogConfig = options.tables?.auditLog;
463
- const subjectConfig = options.tables?.subject;
464
- &nbsp;
465
- return {
466
- /**
467
- * The name of the audit log table in the database, configurable through options
468
- */
469
- entityName: auditLogConfig?.entityName || 'auditLog',
470
- &nbsp;
471
- /**
472
- * The ID prefix for the audit log table
473
- * Used to generate unique prefixed IDs
474
- */
475
- entityPrefix: auditLogConfig?.entityPrefix || 'log',
476
- &nbsp;
477
- /**
478
- * The schema for the audit log table
479
- */
480
- schema: auditLogSchema,
481
- &nbsp;
482
- /**
483
- * Field definitions for the consent audit log table
484
- */
485
- fields: {
486
- /**
487
- * Type of entity this audit log entry is about (e.g., 'consent', 'subject', 'consentPurpose')
488
- */
489
- entityType: {
490
- type: 'string',
491
- required: true,
492
- fieldName: auditLogConfig?.fields?.entityType || 'entityType',
493
- },
494
- &nbsp;
495
- /**
496
- * ID of the entity this audit log entry is about
497
- */
498
- entityId: {
499
- type: 'string',
500
- required: true,
501
- fieldName: auditLogConfig?.fields?.entityId || 'entityId',
502
- },
503
- &nbsp;
504
- /**
505
- * Type of action that was performed on the entity
506
- * Common values: 'create', 'update', 'delete', 'view'
507
- */
508
- actionType: {
509
- type: 'string',
510
- required: true,
511
- fieldName: auditLogConfig?.fields?.actionType || 'actionType',
512
- },
513
- &nbsp;
514
- /**
515
- * Optional ID of the subject who performed the action
516
- */
517
- subjectId: {
518
- type: 'string',
519
- required: false,
520
- fieldName: auditLogConfig?.fields?.subjectId || 'subjectId',
521
- references: {
522
- model: subjectConfig?.entityName || 'subject',
523
- field: 'id',
524
- },
525
- },
526
- &nbsp;
527
- /**
528
- * IP address from which the action was performed
529
- */
530
- ipAddress: {
531
- type: 'string',
532
- required: false,
533
- fieldName: auditLogConfig?.fields?.ipAddress || 'ipAddress',
534
- },
535
- &nbsp;
536
- /**
537
- * Subject agent (browser/device) from which the action was performed
538
- */
539
- userAgent: {
540
- type: 'string',
541
- required: false,
542
- fieldName: auditLogConfig?.fields?.userAgent || 'userAgent',
543
- },
544
- &nbsp;
545
- /**
546
- * Detailed changes made to the entity
547
- * For updates, this typically contains before/after values
548
- */
549
- changes: {
550
- type: 'json',
551
- required: false,
552
- fieldName: auditLogConfig?.fields?.changes || 'changes',
553
- },
554
- &nbsp;
555
- /**
556
- * Additional metadata about the action
557
- */
558
- metadata: {
559
- type: 'json',
560
- required: false,
561
- fieldName: auditLogConfig?.fields?.metadata || 'metadata',
562
- },
563
- &nbsp;
564
- /**
565
- * When the audit log entry was created
566
- * Automatically set to current time by default
567
- */
568
- createdAt: {
569
- type: 'date',
570
- defaultValue: <span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" >n</span>ew Date(),</span>
571
- required: true,
572
- fieldName: auditLogConfig?.fields?.createdAt || 'createdAt',
573
- },
574
- &nbsp;
575
- /**
576
- * Timezone where the audit event occurred
577
- */
578
- eventTimezone: {
579
- type: 'timezone',
580
- required: true,
581
- defaultValue: COMMON_TIMEZONES.UTC,
582
- fieldName: auditLogConfig?.fields?.eventTimezone || 'eventTimezone',
583
- },
584
- &nbsp;
585
- // Include additional fields from plugins
586
- ...(auditLogFields || {}),
587
- &nbsp;
588
- // Include additional fields from configuration
589
- ...(auditLogConfig?.additionalFields || {}),
590
- },
591
- &nbsp;
592
- /**
593
- * Add indexes for better query performance
594
- */
595
- indexes: [
596
- {
597
- name: 'entity_index',
598
- fields: ['entityType', 'entityId'],
599
- },
600
- {
601
- name: 'action_type_index',
602
- fields: ['actionType'],
603
- },
604
- {
605
- name: 'subject_id_index',
606
- fields: ['subjectId'],
607
- },
608
- {
609
- name: 'created_at_index',
610
- fields: ['createdAt'],
611
- },
612
- ],
613
- &nbsp;
614
- /**
615
- * Execution order during migrations (lower numbers run first)
616
- * Audit log table needs to be created after the subject table it references
617
- */
618
- order: 5,
619
- };
620
- }
621
- &nbsp;</pre></td></tr></table></pre>
622
-
623
- <div class='push'></div><!-- for sticky footer -->
624
- </div><!-- /wrapper -->
625
- <div class='footer quiet pad2 space-top1 center small'>
626
- Code coverage generated by
627
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
628
- at 2025-05-08T20:18:30.062Z
629
- </div>
630
- <script src="../../../../prettify.js"></script>
631
- <script>
632
- window.onload = function () {
633
- prettyPrint();
634
- };
635
- </script>
636
- <script src="../../../../sorter.js"></script>
637
- <script src="../../../../block-navigation.js"></script>
638
- </body>
639
- </html>
640
-