@dosgato/api 0.0.2

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 (330) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/dist/access/access.model.d.ts +2 -0
  4. package/dist/access/access.model.js +14 -0
  5. package/dist/access/access.model.js.map +1 -0
  6. package/dist/access/access.resolver.d.ts +15 -0
  7. package/dist/access/access.resolver.js +133 -0
  8. package/dist/access/access.resolver.js.map +1 -0
  9. package/dist/asset/asset.database.d.ts +12 -0
  10. package/dist/asset/asset.database.js +116 -0
  11. package/dist/asset/asset.database.js.map +1 -0
  12. package/dist/asset/asset.model.d.ts +81 -0
  13. package/dist/asset/asset.model.js +271 -0
  14. package/dist/asset/asset.model.js.map +1 -0
  15. package/dist/asset/asset.resolver.d.ts +32 -0
  16. package/dist/asset/asset.resolver.js +325 -0
  17. package/dist/asset/asset.resolver.js.map +1 -0
  18. package/dist/asset/asset.service.d.ts +35 -0
  19. package/dist/asset/asset.service.js +225 -0
  20. package/dist/asset/asset.service.js.map +1 -0
  21. package/dist/assetfolder/assetfolder.database.d.ts +7 -0
  22. package/dist/assetfolder/assetfolder.database.js +85 -0
  23. package/dist/assetfolder/assetfolder.database.js.map +1 -0
  24. package/dist/assetfolder/assetfolder.model.d.ts +56 -0
  25. package/dist/assetfolder/assetfolder.model.js +160 -0
  26. package/dist/assetfolder/assetfolder.model.js.map +1 -0
  27. package/dist/assetfolder/assetfolder.resolver.d.ts +25 -0
  28. package/dist/assetfolder/assetfolder.resolver.js +255 -0
  29. package/dist/assetfolder/assetfolder.resolver.js.map +1 -0
  30. package/dist/assetfolder/assetfolder.service.d.ts +39 -0
  31. package/dist/assetfolder/assetfolder.service.js +355 -0
  32. package/dist/assetfolder/assetfolder.service.js.map +1 -0
  33. package/dist/assetrule/assetrule.database.d.ts +5 -0
  34. package/dist/assetrule/assetrule.database.js +161 -0
  35. package/dist/assetrule/assetrule.database.js.map +1 -0
  36. package/dist/assetrule/assetrule.model.d.ts +71 -0
  37. package/dist/assetrule/assetrule.model.js +221 -0
  38. package/dist/assetrule/assetrule.model.js.map +1 -0
  39. package/dist/assetrule/assetrule.resolver.d.ts +12 -0
  40. package/dist/assetrule/assetrule.resolver.js +100 -0
  41. package/dist/assetrule/assetrule.resolver.js.map +1 -0
  42. package/dist/assetrule/assetrule.service.d.ts +26 -0
  43. package/dist/assetrule/assetrule.service.js +184 -0
  44. package/dist/assetrule/assetrule.service.js.map +1 -0
  45. package/dist/createdb.d.ts +2 -0
  46. package/dist/createdb.js +541 -0
  47. package/dist/createdb.js.map +1 -0
  48. package/dist/data/data.database.d.ts +7 -0
  49. package/dist/data/data.database.js +265 -0
  50. package/dist/data/data.database.js.map +1 -0
  51. package/dist/data/data.indexing.d.ts +2 -0
  52. package/dist/data/data.indexing.js +23 -0
  53. package/dist/data/data.indexing.js.map +1 -0
  54. package/dist/data/data.model.d.ts +69 -0
  55. package/dist/data/data.model.js +206 -0
  56. package/dist/data/data.model.js.map +1 -0
  57. package/dist/data/data.resolver.d.ts +36 -0
  58. package/dist/data/data.resolver.js +384 -0
  59. package/dist/data/data.resolver.js.map +1 -0
  60. package/dist/data/data.service.d.ts +41 -0
  61. package/dist/data/data.service.js +374 -0
  62. package/dist/data/data.service.js.map +1 -0
  63. package/dist/datafolder/datafolder.database.d.ts +7 -0
  64. package/dist/datafolder/datafolder.database.js +72 -0
  65. package/dist/datafolder/datafolder.database.js.map +1 -0
  66. package/dist/datafolder/datafolder.model.d.ts +48 -0
  67. package/dist/datafolder/datafolder.model.js +139 -0
  68. package/dist/datafolder/datafolder.model.js.map +1 -0
  69. package/dist/datafolder/datafolder.resolver.d.ts +24 -0
  70. package/dist/datafolder/datafolder.resolver.js +243 -0
  71. package/dist/datafolder/datafolder.resolver.js.map +1 -0
  72. package/dist/datafolder/datafolder.service.d.ts +32 -0
  73. package/dist/datafolder/datafolder.service.js +223 -0
  74. package/dist/datafolder/datafolder.service.js.map +1 -0
  75. package/dist/dataroot/dataroot.model.d.ts +19 -0
  76. package/dist/dataroot/dataroot.model.js +72 -0
  77. package/dist/dataroot/dataroot.model.js.map +1 -0
  78. package/dist/dataroot/dataroot.resolver.d.ts +11 -0
  79. package/dist/dataroot/dataroot.resolver.js +87 -0
  80. package/dist/dataroot/dataroot.resolver.js.map +1 -0
  81. package/dist/dataroot/dataroot.service.d.ts +12 -0
  82. package/dist/dataroot/dataroot.service.js +62 -0
  83. package/dist/dataroot/dataroot.service.js.map +1 -0
  84. package/dist/datarule/datarule.database.d.ts +5 -0
  85. package/dist/datarule/datarule.database.js +144 -0
  86. package/dist/datarule/datarule.database.js.map +1 -0
  87. package/dist/datarule/datarule.model.d.ts +55 -0
  88. package/dist/datarule/datarule.model.js +200 -0
  89. package/dist/datarule/datarule.model.js.map +1 -0
  90. package/dist/datarule/datarule.resolver.d.ts +13 -0
  91. package/dist/datarule/datarule.resolver.js +114 -0
  92. package/dist/datarule/datarule.resolver.js.map +1 -0
  93. package/dist/datarule/datarule.service.d.ts +27 -0
  94. package/dist/datarule/datarule.service.js +191 -0
  95. package/dist/datarule/datarule.service.js.map +1 -0
  96. package/dist/fixtures.d.ts +1 -0
  97. package/dist/fixtures.js +697 -0
  98. package/dist/fixtures.js.map +1 -0
  99. package/dist/fixturetemplates.d.ts +110 -0
  100. package/dist/fixturetemplates.js +178 -0
  101. package/dist/fixturetemplates.js.map +1 -0
  102. package/dist/globalrule/globalrule.database.d.ts +5 -0
  103. package/dist/globalrule/globalrule.database.js +65 -0
  104. package/dist/globalrule/globalrule.database.js.map +1 -0
  105. package/dist/globalrule/globalrule.model.d.ts +34 -0
  106. package/dist/globalrule/globalrule.model.js +120 -0
  107. package/dist/globalrule/globalrule.model.js.map +1 -0
  108. package/dist/globalrule/globalrule.resolver.d.ts +11 -0
  109. package/dist/globalrule/globalrule.resolver.js +85 -0
  110. package/dist/globalrule/globalrule.resolver.js.map +1 -0
  111. package/dist/globalrule/globalrule.service.d.ts +18 -0
  112. package/dist/globalrule/globalrule.service.js +111 -0
  113. package/dist/globalrule/globalrule.service.js.map +1 -0
  114. package/dist/group/group.database.d.ts +41 -0
  115. package/dist/group/group.database.js +190 -0
  116. package/dist/group/group.database.js.map +1 -0
  117. package/dist/group/group.model.d.ts +19 -0
  118. package/dist/group/group.model.js +70 -0
  119. package/dist/group/group.model.js.map +1 -0
  120. package/dist/group/group.resolver.d.ts +27 -0
  121. package/dist/group/group.resolver.js +275 -0
  122. package/dist/group/group.resolver.js.map +1 -0
  123. package/dist/group/group.service.d.ts +46 -0
  124. package/dist/group/group.service.js +384 -0
  125. package/dist/group/group.service.js.map +1 -0
  126. package/dist/index.d.ts +18 -0
  127. package/dist/index.js +109 -0
  128. package/dist/index.js.map +1 -0
  129. package/dist/internal.d.ts +88 -0
  130. package/dist/internal.js +89 -0
  131. package/dist/internal.js.map +1 -0
  132. package/dist/migrations.d.ts +2 -0
  133. package/dist/migrations.js +41 -0
  134. package/dist/migrations.js.map +1 -0
  135. package/dist/organization/organization.database.d.ts +2 -0
  136. package/dist/organization/organization.database.js +16 -0
  137. package/dist/organization/organization.database.js.map +1 -0
  138. package/dist/organization/organization.model.d.ts +5 -0
  139. package/dist/organization/organization.model.js +35 -0
  140. package/dist/organization/organization.model.js.map +1 -0
  141. package/dist/organization/organization.resolver.d.ts +6 -0
  142. package/dist/organization/organization.resolver.js +43 -0
  143. package/dist/organization/organization.resolver.js.map +1 -0
  144. package/dist/organization/organization.service.d.ts +12 -0
  145. package/dist/organization/organization.service.js +35 -0
  146. package/dist/organization/organization.service.js.map +1 -0
  147. package/dist/page/page.database.d.ts +10 -0
  148. package/dist/page/page.database.js +269 -0
  149. package/dist/page/page.database.js.map +1 -0
  150. package/dist/page/page.indexing.d.ts +3 -0
  151. package/dist/page/page.indexing.js +26 -0
  152. package/dist/page/page.indexing.js.map +1 -0
  153. package/dist/page/page.migrations.d.ts +13 -0
  154. package/dist/page/page.migrations.js +55 -0
  155. package/dist/page/page.migrations.js.map +1 -0
  156. package/dist/page/page.model.d.ts +88 -0
  157. package/dist/page/page.model.js +272 -0
  158. package/dist/page/page.model.js.map +1 -0
  159. package/dist/page/page.resolver.d.ts +48 -0
  160. package/dist/page/page.resolver.js +542 -0
  161. package/dist/page/page.resolver.js.map +1 -0
  162. package/dist/page/page.service.d.ts +59 -0
  163. package/dist/page/page.service.js +399 -0
  164. package/dist/page/page.service.js.map +1 -0
  165. package/dist/page/page.util.d.ts +3 -0
  166. package/dist/page/page.util.js +16 -0
  167. package/dist/page/page.util.js.map +1 -0
  168. package/dist/page/page.validation.d.ts +2 -0
  169. package/dist/page/page.validation.js +21 -0
  170. package/dist/page/page.validation.js.map +1 -0
  171. package/dist/pagerule/pagerule.database.d.ts +5 -0
  172. package/dist/pagerule/pagerule.database.js +212 -0
  173. package/dist/pagerule/pagerule.database.js.map +1 -0
  174. package/dist/pagerule/pagerule.model.d.ts +71 -0
  175. package/dist/pagerule/pagerule.model.js +272 -0
  176. package/dist/pagerule/pagerule.model.js.map +1 -0
  177. package/dist/pagerule/pagerule.resolver.d.ts +13 -0
  178. package/dist/pagerule/pagerule.resolver.js +114 -0
  179. package/dist/pagerule/pagerule.resolver.js.map +1 -0
  180. package/dist/pagerule/pagerule.service.d.ts +23 -0
  181. package/dist/pagerule/pagerule.service.js +180 -0
  182. package/dist/pagerule/pagerule.service.js.map +1 -0
  183. package/dist/pagetree/pagetree.database.d.ts +13 -0
  184. package/dist/pagetree/pagetree.database.js +84 -0
  185. package/dist/pagetree/pagetree.database.js.map +1 -0
  186. package/dist/pagetree/pagetree.model.d.ts +43 -0
  187. package/dist/pagetree/pagetree.model.js +146 -0
  188. package/dist/pagetree/pagetree.model.js.map +1 -0
  189. package/dist/pagetree/pagetree.resolver.d.ts +23 -0
  190. package/dist/pagetree/pagetree.resolver.js +238 -0
  191. package/dist/pagetree/pagetree.resolver.js.map +1 -0
  192. package/dist/pagetree/pagetree.service.d.ts +25 -0
  193. package/dist/pagetree/pagetree.service.js +221 -0
  194. package/dist/pagetree/pagetree.service.js.map +1 -0
  195. package/dist/role/role.database.d.ts +17 -0
  196. package/dist/role/role.database.js +74 -0
  197. package/dist/role/role.database.js.map +1 -0
  198. package/dist/role/role.model.d.ts +26 -0
  199. package/dist/role/role.model.js +84 -0
  200. package/dist/role/role.model.js.map +1 -0
  201. package/dist/role/role.resolver.d.ts +27 -0
  202. package/dist/role/role.resolver.js +294 -0
  203. package/dist/role/role.resolver.js.map +1 -0
  204. package/dist/role/role.service.d.ts +33 -0
  205. package/dist/role/role.service.js +265 -0
  206. package/dist/role/role.service.js.map +1 -0
  207. package/dist/run.d.ts +1 -0
  208. package/dist/run.js +29 -0
  209. package/dist/run.js.map +1 -0
  210. package/dist/scalars/datetime.d.ts +2 -0
  211. package/dist/scalars/datetime.js +19 -0
  212. package/dist/scalars/datetime.js.map +1 -0
  213. package/dist/scalars/index.d.ts +3 -0
  214. package/dist/scalars/index.js +4 -0
  215. package/dist/scalars/index.js.map +1 -0
  216. package/dist/scalars/jsondata.d.ts +2 -0
  217. package/dist/scalars/jsondata.js +15 -0
  218. package/dist/scalars/jsondata.js.map +1 -0
  219. package/dist/scalars/urlsafestring.d.ts +4 -0
  220. package/dist/scalars/urlsafestring.js +28 -0
  221. package/dist/scalars/urlsafestring.js.map +1 -0
  222. package/dist/site/site.database.d.ts +15 -0
  223. package/dist/site/site.database.js +164 -0
  224. package/dist/site/site.database.js.map +1 -0
  225. package/dist/site/site.model.d.ts +62 -0
  226. package/dist/site/site.model.js +197 -0
  227. package/dist/site/site.model.js.map +1 -0
  228. package/dist/site/site.resolver.d.ts +30 -0
  229. package/dist/site/site.resolver.js +326 -0
  230. package/dist/site/site.resolver.js.map +1 -0
  231. package/dist/site/site.service.d.ts +35 -0
  232. package/dist/site/site.service.js +199 -0
  233. package/dist/site/site.service.js.map +1 -0
  234. package/dist/siterule/siterule.database.d.ts +5 -0
  235. package/dist/siterule/siterule.database.js +139 -0
  236. package/dist/siterule/siterule.database.js.map +1 -0
  237. package/dist/siterule/siterule.model.d.ts +53 -0
  238. package/dist/siterule/siterule.model.js +203 -0
  239. package/dist/siterule/siterule.model.js.map +1 -0
  240. package/dist/siterule/siterule.resolver.d.ts +12 -0
  241. package/dist/siterule/siterule.resolver.js +100 -0
  242. package/dist/siterule/siterule.resolver.js.map +1 -0
  243. package/dist/siterule/siterule.service.d.ts +23 -0
  244. package/dist/siterule/siterule.service.js +148 -0
  245. package/dist/siterule/siterule.service.js.map +1 -0
  246. package/dist/template/template.database.d.ts +15 -0
  247. package/dist/template/template.database.js +61 -0
  248. package/dist/template/template.database.js.map +1 -0
  249. package/dist/template/template.model.d.ts +32 -0
  250. package/dist/template/template.model.js +124 -0
  251. package/dist/template/template.model.js.map +1 -0
  252. package/dist/template/template.resolver.d.ts +22 -0
  253. package/dist/template/template.resolver.js +216 -0
  254. package/dist/template/template.resolver.js.map +1 -0
  255. package/dist/template/template.service.d.ts +27 -0
  256. package/dist/template/template.service.js +192 -0
  257. package/dist/template/template.service.js.map +1 -0
  258. package/dist/templaterule/templaterule.database.d.ts +5 -0
  259. package/dist/templaterule/templaterule.database.js +80 -0
  260. package/dist/templaterule/templaterule.database.js.map +1 -0
  261. package/dist/templaterule/templaterule.model.d.ts +38 -0
  262. package/dist/templaterule/templaterule.model.js +136 -0
  263. package/dist/templaterule/templaterule.model.js.map +1 -0
  264. package/dist/templaterule/templaterule.resolver.d.ts +12 -0
  265. package/dist/templaterule/templaterule.resolver.js +100 -0
  266. package/dist/templaterule/templaterule.resolver.js.map +1 -0
  267. package/dist/templaterule/templaterule.service.d.ts +19 -0
  268. package/dist/templaterule/templaterule.service.js +123 -0
  269. package/dist/templaterule/templaterule.service.js.map +1 -0
  270. package/dist/user/user.database.d.ts +22 -0
  271. package/dist/user/user.database.js +116 -0
  272. package/dist/user/user.database.js.map +1 -0
  273. package/dist/user/user.model.d.ts +42 -0
  274. package/dist/user/user.model.js +122 -0
  275. package/dist/user/user.model.js.map +1 -0
  276. package/dist/user/user.resolver.d.ts +16 -0
  277. package/dist/user/user.resolver.js +140 -0
  278. package/dist/user/user.resolver.js.map +1 -0
  279. package/dist/user/user.service.d.ts +29 -0
  280. package/dist/user/user.service.js +195 -0
  281. package/dist/user/user.service.js.map +1 -0
  282. package/dist/util/authservice.d.ts +28 -0
  283. package/dist/util/authservice.js +131 -0
  284. package/dist/util/authservice.js.map +1 -0
  285. package/dist/util/dates.d.ts +2 -0
  286. package/dist/util/dates.js +4 -0
  287. package/dist/util/dates.js.map +1 -0
  288. package/dist/util/filehandler.d.ts +15 -0
  289. package/dist/util/filehandler.js +48 -0
  290. package/dist/util/filehandler.js.map +1 -0
  291. package/dist/util/index.d.ts +13 -0
  292. package/dist/util/index.js +26 -0
  293. package/dist/util/index.js.map +1 -0
  294. package/dist/util/indexing.d.ts +12 -0
  295. package/dist/util/indexing.js +74 -0
  296. package/dist/util/indexing.js.map +1 -0
  297. package/dist/util/migrations.d.ts +15 -0
  298. package/dist/util/migrations.js +2 -0
  299. package/dist/util/migrations.js.map +1 -0
  300. package/dist/util/mutationlogger.d.ts +1 -0
  301. package/dist/util/mutationlogger.js +9 -0
  302. package/dist/util/mutationlogger.js.map +1 -0
  303. package/dist/util/registry.d.ts +25 -0
  304. package/dist/util/registry.js +66 -0
  305. package/dist/util/registry.js.map +1 -0
  306. package/dist/util/rules.d.ts +6 -0
  307. package/dist/util/rules.js +31 -0
  308. package/dist/util/rules.js.map +1 -0
  309. package/dist/util/sharedtypes.d.ts +3 -0
  310. package/dist/util/sharedtypes.js +2 -0
  311. package/dist/util/sharedtypes.js.map +1 -0
  312. package/dist/util/stopwords.d.ts +1 -0
  313. package/dist/util/stopwords.js +152 -0
  314. package/dist/util/stopwords.js.map +1 -0
  315. package/dist/version/version.model.d.ts +11 -0
  316. package/dist/version/version.model.js +46 -0
  317. package/dist/version/version.model.js.map +1 -0
  318. package/dist/version/version.resolver.d.ts +6 -0
  319. package/dist/version/version.resolver.js +45 -0
  320. package/dist/version/version.resolver.js.map +1 -0
  321. package/dist/versionedservice/service.d.ts +148 -0
  322. package/dist/versionedservice/service.js +547 -0
  323. package/dist/versionedservice/service.js.map +1 -0
  324. package/dist/versionedservice/types.d.ts +87 -0
  325. package/dist/versionedservice/types.js +11 -0
  326. package/dist/versionedservice/types.js.map +1 -0
  327. package/package.json +50 -0
  328. package/readme/DosGato.mwb +0 -0
  329. package/readme/DosGato.mwb.bak +0 -0
  330. package/readme/upgradeflow2.png +0 -0
@@ -0,0 +1,152 @@
1
+ export const stopwords = {
2
+ myself: true,
3
+ our: true,
4
+ ours: true,
5
+ ourselves: true,
6
+ you: true,
7
+ your: true,
8
+ yours: true,
9
+ yourself: true,
10
+ yourselves: true,
11
+ him: true,
12
+ his: true,
13
+ himself: true,
14
+ she: true,
15
+ her: true,
16
+ hers: true,
17
+ herself: true,
18
+ its: true,
19
+ itself: true,
20
+ they: true,
21
+ them: true,
22
+ their: true,
23
+ theirs: true,
24
+ themselves: true,
25
+ what: true,
26
+ which: true,
27
+ who: true,
28
+ whom: true,
29
+ this: true,
30
+ that: true,
31
+ these: true,
32
+ those: true,
33
+ are: true,
34
+ was: true,
35
+ were: true,
36
+ been: true,
37
+ being: true,
38
+ have: true,
39
+ has: true,
40
+ had: true,
41
+ having: true,
42
+ does: true,
43
+ did: true,
44
+ doing: true,
45
+ the: true,
46
+ and: true,
47
+ but: true,
48
+ because: true,
49
+ until: true,
50
+ while: true,
51
+ for: true,
52
+ with: true,
53
+ about: true,
54
+ against: true,
55
+ between: true,
56
+ into: true,
57
+ through: true,
58
+ during: true,
59
+ before: true,
60
+ after: true,
61
+ above: true,
62
+ below: true,
63
+ from: true,
64
+ down: true,
65
+ out: true,
66
+ off: true,
67
+ over: true,
68
+ under: true,
69
+ again: true,
70
+ further: true,
71
+ then: true,
72
+ once: true,
73
+ here: true,
74
+ there: true,
75
+ when: true,
76
+ where: true,
77
+ why: true,
78
+ how: true,
79
+ all: true,
80
+ any: true,
81
+ both: true,
82
+ each: true,
83
+ few: true,
84
+ more: true,
85
+ most: true,
86
+ other: true,
87
+ some: true,
88
+ such: true,
89
+ nor: true,
90
+ not: true,
91
+ only: true,
92
+ own: true,
93
+ same: true,
94
+ than: true,
95
+ too: true,
96
+ very: true,
97
+ can: true,
98
+ will: true,
99
+ just: true,
100
+ don: true,
101
+ should: true,
102
+ now: true,
103
+ // HTML
104
+ div: true,
105
+ span: true,
106
+ img: true,
107
+ abbr: true,
108
+ area: true,
109
+ main: true,
110
+ aside: true,
111
+ blockquote: true,
112
+ button: true,
113
+ caption: true,
114
+ code: true,
115
+ del: true,
116
+ strong: true,
117
+ font: true,
118
+ embed: true,
119
+ fieldset: true,
120
+ form: true,
121
+ figure: true,
122
+ iframe: true,
123
+ label: true,
124
+ input: true,
125
+ script: true,
126
+ nav: true,
127
+ select: true,
128
+ option: true,
129
+ picture: true,
130
+ pre: true,
131
+ small: true,
132
+ style: true,
133
+ svg: true,
134
+ sub: true,
135
+ table: true,
136
+ tbody: true,
137
+ href: true,
138
+ src: true,
139
+ srcset: true,
140
+ class: true,
141
+ textarea: true,
142
+ title: true,
143
+ onclick: true,
144
+ // LinkDefinition
145
+ siteId: true,
146
+ path: true,
147
+ type: true,
148
+ assetId: true,
149
+ linkId: true,
150
+ url: true
151
+ };
152
+ //# sourceMappingURL=stopwords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stopwords.js","sourceRoot":"","sources":["../../src/util/stopwords.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { DateTime } from 'luxon';
2
+ import { Version } from '../internal.js';
3
+ export declare class ObjectVersion {
4
+ version: number;
5
+ date: DateTime;
6
+ comment: string;
7
+ tags: string[];
8
+ id: string;
9
+ userId: string;
10
+ constructor(row: Version);
11
+ }
@@ -0,0 +1,46 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { DateTime } from 'luxon';
11
+ import { ObjectType, Field, Int } from 'type-graphql';
12
+ let ObjectVersion = class ObjectVersion {
13
+ constructor(row) {
14
+ this.id = row.id;
15
+ this.version = row.version;
16
+ this.date = DateTime.fromJSDate(row.date);
17
+ this.comment = row.comment;
18
+ this.tags = row.tags;
19
+ this.userId = row.user;
20
+ }
21
+ };
22
+ __decorate([
23
+ Field(type => Int),
24
+ __metadata("design:type", Number)
25
+ ], ObjectVersion.prototype, "version", void 0);
26
+ __decorate([
27
+ Field(),
28
+ __metadata("design:type", DateTime)
29
+ ], ObjectVersion.prototype, "date", void 0);
30
+ __decorate([
31
+ Field(),
32
+ __metadata("design:type", String)
33
+ ], ObjectVersion.prototype, "comment", void 0);
34
+ __decorate([
35
+ Field(type => [String]),
36
+ __metadata("design:type", Array)
37
+ ], ObjectVersion.prototype, "tags", void 0);
38
+ ObjectVersion = __decorate([
39
+ ObjectType('Version', {
40
+ description: `This is metadata pertaining to a historical version of something versionable
41
+ like a page or data entry.`
42
+ }),
43
+ __metadata("design:paramtypes", [Object])
44
+ ], ObjectVersion);
45
+ export { ObjectVersion };
46
+ //# sourceMappingURL=version.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.model.js","sourceRoot":"","sources":["../../src/version/version.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAOrD,IAAa,aAAa,GAA1B,MAAa,aAAa;IAgBxB,YAAa,GAAY;QACvB,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;IACxB,CAAC;CACF,CAAA;AAtBC;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;8CACJ;AAGf;IADC,KAAK,EAAE;8BACF,QAAQ;2CAAA;AAGd;IADC,KAAK,EAAE;;8CACO;AAGf;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;;2CACV;AAXH,aAAa;IAJzB,UAAU,CAAC,SAAS,EAAE;QACrB,WAAW,EAAE;6BACc;KAC5B,CAAC;;GACW,aAAa,CAwBzB;SAxBY,aAAa"}
@@ -0,0 +1,6 @@
1
+ import { Context } from '@txstate-mws/graphql-server';
2
+ import { User, ObjectVersion } from '../internal.js';
3
+ export declare class VersionResolver {
4
+ user(ctx: Context, version: ObjectVersion): Promise<User | import("../internal.js").RedactedUser | undefined>;
5
+ data(ctx: Context, version: ObjectVersion): Promise<any>;
6
+ }
@@ -0,0 +1,45 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Context } from '@txstate-mws/graphql-server';
14
+ import { Ctx, FieldResolver, Resolver, Root } from 'type-graphql';
15
+ import { JsonData, User, UserService, ObjectVersion, VersionedService } from '../internal.js';
16
+ let VersionResolver = class VersionResolver {
17
+ async user(ctx, version) {
18
+ return await ctx.svc(UserService).findById(version.userId);
19
+ }
20
+ async data(ctx, version) {
21
+ const versioned = await ctx.svc(VersionedService).get(version.id, { version: version.version });
22
+ return versioned.data;
23
+ }
24
+ };
25
+ __decorate([
26
+ FieldResolver(returns => User, { description: 'The user whose action created this version.' }),
27
+ __param(0, Ctx()),
28
+ __param(1, Root()),
29
+ __metadata("design:type", Function),
30
+ __metadata("design:paramtypes", [Context, ObjectVersion]),
31
+ __metadata("design:returntype", Promise)
32
+ ], VersionResolver.prototype, "user", null);
33
+ __decorate([
34
+ FieldResolver(returns => JsonData, { description: 'The full JSON object as it was when this version was recorded.' }),
35
+ __param(0, Ctx()),
36
+ __param(1, Root()),
37
+ __metadata("design:type", Function),
38
+ __metadata("design:paramtypes", [Context, ObjectVersion]),
39
+ __metadata("design:returntype", Promise)
40
+ ], VersionResolver.prototype, "data", null);
41
+ VersionResolver = __decorate([
42
+ Resolver(of => ObjectVersion)
43
+ ], VersionResolver);
44
+ export { VersionResolver };
45
+ //# sourceMappingURL=version.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.resolver.js","sourceRoot":"","sources":["../../src/version/version.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAG7F,IAAa,eAAe,GAA5B,MAAa,eAAe;IAE1B,KAAK,CAAC,IAAI,CAAS,GAAY,EAAU,OAAsB;QAC7D,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5D,CAAC;IAGD,KAAK,CAAC,IAAI,CAAS,GAAY,EAAU,OAAsB;QAC7D,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/F,OAAO,SAAU,CAAC,IAAI,CAAA;IACxB,CAAC;CACF,CAAA;AATC;IADC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;IAClF,WAAA,GAAG,EAAE,CAAA;IAAgB,WAAA,IAAI,EAAE,CAAA;;qCAAhB,OAAO,EAAmB,aAAa;;2CAE9D;AAGD;IADC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC;IACzG,WAAA,GAAG,EAAE,CAAA;IAAgB,WAAA,IAAI,EAAE,CAAA;;qCAAhB,OAAO,EAAmB,aAAa;;2CAG9D;AAVU,eAAe;IAD3B,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC;GACjB,eAAe,CAW3B;SAXY,eAAe"}
@@ -0,0 +1,148 @@
1
+ import { BaseService } from '@txstate-mws/graphql-server';
2
+ import { Queryable } from 'mysql2-async';
3
+ import { Index, IndexStringified, SearchRule, Tag, Version, Versioned } from '../internal.js';
4
+ export declare class VersionedService extends BaseService {
5
+ protected static cleaningIndexValues: boolean;
6
+ protected static optimizingTables: boolean;
7
+ /**
8
+ * Retrieve an object with a specific version or tag.
9
+ *
10
+ * This method is dataloaded so don't be afraid to make massively concurrent
11
+ * requests for many objects.
12
+ *
13
+ * If you ask for a specific tag that doesn't exist, you'll receive undefined.
14
+ */
15
+ get<DataType = any>(id: string, { version, tag }?: {
16
+ version?: number;
17
+ tag?: string;
18
+ }): Promise<Versioned<DataType> | undefined>;
19
+ /**
20
+ * Indexed search for objects. Tag required, use 'latest' for current version.
21
+ */
22
+ find(rules: SearchRule[], tag: string, type?: string): Promise<string[]>;
23
+ /**
24
+ * See the indexes associated with a particular version
25
+ *
26
+ * Note that any numbers you passed in as indexes will have been stringified with
27
+ * zerofill to 10 digits. This is to help normalize lexical vs numerical comparisons.
28
+ */
29
+ getIndexes(id: string, version: number): Promise<IndexStringified[]>;
30
+ /**
31
+ * Completely overwrite all the indexes for a specific version of an object.
32
+ */
33
+ setIndexes(id: string, version: number, indexes: Index[]): Promise<void>;
34
+ /**
35
+ * Only overwrite a single index type, leave the others alone.
36
+ */
37
+ setIndex(id: string, version: number, index: Index): Promise<void>;
38
+ /**
39
+ * Create a new versioned object. Returns its auto-generated id (a 10 character string).
40
+ *
41
+ * You are expected to provide your own index strings; they will be stored and kept for
42
+ * the entire version history.
43
+ *
44
+ * You may optionally provide a user who is responsible for the update.
45
+ *
46
+ * @param tdb Optional transaction in which to perform creation.
47
+ */
48
+ create(type: string, data: any, indexes: Index[], user?: string, tdb?: Queryable): Promise<string>;
49
+ /**
50
+ * Update an object, retaining the version history.
51
+ *
52
+ * You are expected to provide your own index strings; they will be stored and kept for
53
+ * the entire version history.
54
+ *
55
+ * You may optionally provide a user who is responsible for the update and a comment string.
56
+ *
57
+ * You may also optionally provide the version that you had when you started the update for
58
+ * an optimistic concurrency check.
59
+ */
60
+ update(id: string, data: any, indexes: Index[], { user, comment, version }?: {
61
+ user?: string;
62
+ comment?: string;
63
+ version?: number;
64
+ }): Promise<void>;
65
+ /**
66
+ * Restore a previous version of the object. Creates a new version. You could do
67
+ * this with a .get and subsequent .update, but this is here for convenience.
68
+ *
69
+ * If you provide an indexes array, it will be used. Otherwise the indexes for the version
70
+ * being restored will be restored as well.
71
+ */
72
+ restore(id: string, { tag, version }: {
73
+ tag?: string;
74
+ version?: number;
75
+ }, { indexes, user, comment }?: {
76
+ indexes?: Index[];
77
+ user?: string;
78
+ comment?: string;
79
+ }): Promise<void>;
80
+ /**
81
+ * Completely remove an object and its entire version history. Use with caution. May be
82
+ * better to place a soft delete flag inside the object data.
83
+ */
84
+ delete(id: string): Promise<void>;
85
+ /**
86
+ * Tag a specific version of an object. A tag can only point to one version at a time, so this
87
+ * replaces an existing tag on another version. Cannot be undone.
88
+ *
89
+ * A common example will be tagging a version as 'published' or 'approved' as part of a workflow.
90
+ *
91
+ * 'latest' is reserved for the most current version of an object.
92
+ *
93
+ * @param version If undefined, tags latest version.
94
+ * @param user Person responsible for applying the tag.
95
+ */
96
+ tag(id: string, tag: string, version?: number, user?: string): Promise<void>;
97
+ /**
98
+ * Get the version number, user, and date associated with a tag on a given object.
99
+ *
100
+ * This method is dataloaded so it is safe to call it many times concurrently.
101
+ *
102
+ * If the object does not have the given tag, returns undefined.
103
+ */
104
+ getTag(id: string, tag: string): Promise<Tag | undefined>;
105
+ /**
106
+ * Remove a tag from an object, no matter which version it might be pointing at. Cannot be undone.
107
+ */
108
+ removeTag(id: string, tag: string): Promise<void>;
109
+ /**
110
+ * Remove a tag from the system. Important to do this for obsolete tags so that versions
111
+ * can be properly cleaned up. Any tag on a version will prevent it from being deleted by
112
+ * retention policy.
113
+ *
114
+ * Use with caution, this cannot be undone.
115
+ */
116
+ globalRemoveTag(tag: string): Promise<void>;
117
+ /**
118
+ * List versions of an object so one can be picked for retrieval.
119
+ */
120
+ listVersions(id: string): Promise<Version[]>;
121
+ /**
122
+ * internal method to map a set of index strings to their id in indexvalues table
123
+ * inserts any values that do not already exist
124
+ */
125
+ protected getIndexValueIds(values: string[], db: Queryable): Promise<Record<string, number>>;
126
+ /**
127
+ * internal method to replace all indexes for a given version of a versioned object
128
+ * the public create, update, and setIndexes all share this common logic
129
+ */
130
+ protected _setIndexes(id: string, version: number, indexes: Index[], db: Queryable): Promise<void>;
131
+ /**
132
+ * Delete old versions in the system to implement a retention policy. Will not
133
+ * delete any versions newer than the oldest active tag. For instance, if an object on
134
+ * version 7 has a version 2 made many years ago but still tagged as 'published', version 2
135
+ * and greater will be retained. Make sure any tags you use are managed carefully.
136
+ */
137
+ static deleteOldVersions(olderThan: Date): Promise<void>;
138
+ /**
139
+ * internal method to defragment and optimize the database tables
140
+ */
141
+ protected static optimize(): Promise<void>;
142
+ /**
143
+ * internal method to clean out value strings from the indexvalues table when they are no longer
144
+ * used
145
+ */
146
+ protected static cleanIndexValues(): Promise<void>;
147
+ static init(db: Queryable): Promise<void>;
148
+ }