@dosgato/api 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/dist/access/access.resolver.d.ts +2 -0
  2. package/dist/access/access.resolver.js +21 -1
  3. package/dist/access/access.resolver.js.map +1 -1
  4. package/dist/asset/asset.database.js +5 -9
  5. package/dist/asset/asset.database.js.map +1 -1
  6. package/dist/asset/asset.model.d.ts +2 -0
  7. package/dist/asset/asset.model.js +17 -7
  8. package/dist/asset/asset.model.js.map +1 -1
  9. package/dist/asset/asset.resolver.js +1 -1
  10. package/dist/asset/asset.resolver.js.map +1 -1
  11. package/dist/asset/asset.service.js +2 -2
  12. package/dist/asset/asset.service.js.map +1 -1
  13. package/dist/assetfolder/assetfolder.database.js +0 -1
  14. package/dist/assetfolder/assetfolder.database.js.map +1 -1
  15. package/dist/assetfolder/assetfolder.service.js +0 -1
  16. package/dist/assetfolder/assetfolder.service.js.map +1 -1
  17. package/dist/assetrule/assetrule.resolver.d.ts +1 -1
  18. package/dist/assetrule/assetrule.resolver.js +4 -3
  19. package/dist/assetrule/assetrule.resolver.js.map +1 -1
  20. package/dist/assetrule/assetrule.service.d.ts +1 -1
  21. package/dist/assetrule/assetrule.service.js +36 -15
  22. package/dist/assetrule/assetrule.service.js.map +1 -1
  23. package/dist/createdb.js +33 -40
  24. package/dist/createdb.js.map +1 -1
  25. package/dist/data/data.database.js +5 -5
  26. package/dist/data/data.database.js.map +1 -1
  27. package/dist/data/data.indexing.d.ts +3 -2
  28. package/dist/data/data.indexing.js +4 -3
  29. package/dist/data/data.indexing.js.map +1 -1
  30. package/dist/data/data.migrations.d.ts +16 -0
  31. package/dist/data/data.migrations.js +34 -0
  32. package/dist/data/data.migrations.js.map +1 -0
  33. package/dist/data/data.model.d.ts +2 -4
  34. package/dist/data/data.model.js +1 -13
  35. package/dist/data/data.model.js.map +1 -1
  36. package/dist/data/data.service.js +50 -55
  37. package/dist/data/data.service.js.map +1 -1
  38. package/dist/datafolder/datafolder.database.d.ts +1 -0
  39. package/dist/datafolder/datafolder.database.js +10 -0
  40. package/dist/datafolder/datafolder.database.js.map +1 -1
  41. package/dist/datafolder/datafolder.resolver.d.ts +1 -1
  42. package/dist/datafolder/datafolder.resolver.js +4 -3
  43. package/dist/datafolder/datafolder.resolver.js.map +1 -1
  44. package/dist/datafolder/datafolder.service.d.ts +1 -1
  45. package/dist/datafolder/datafolder.service.js +21 -12
  46. package/dist/datafolder/datafolder.service.js.map +1 -1
  47. package/dist/datarule/datarule.database.js +2 -1
  48. package/dist/datarule/datarule.database.js.map +1 -1
  49. package/dist/datarule/datarule.resolver.d.ts +1 -1
  50. package/dist/datarule/datarule.resolver.js +4 -3
  51. package/dist/datarule/datarule.resolver.js.map +1 -1
  52. package/dist/datarule/datarule.service.d.ts +1 -1
  53. package/dist/datarule/datarule.service.js +5 -6
  54. package/dist/datarule/datarule.service.js.map +1 -1
  55. package/dist/fixtures.js +61 -56
  56. package/dist/fixtures.js.map +1 -1
  57. package/dist/fixturetemplates.d.ts +13 -110
  58. package/dist/fixturetemplates.js +64 -44
  59. package/dist/fixturetemplates.js.map +1 -1
  60. package/dist/globalrule/globalrule.database.js +30 -6
  61. package/dist/globalrule/globalrule.database.js.map +1 -1
  62. package/dist/globalrule/globalrule.model.d.ts +4 -1
  63. package/dist/globalrule/globalrule.model.js +18 -3
  64. package/dist/globalrule/globalrule.model.js.map +1 -1
  65. package/dist/globalrule/globalrule.service.js +1 -1
  66. package/dist/globalrule/globalrule.service.js.map +1 -1
  67. package/dist/group/group.database.d.ts +2 -12
  68. package/dist/group/group.database.js +13 -57
  69. package/dist/group/group.database.js.map +1 -1
  70. package/dist/group/group.model.d.ts +0 -1
  71. package/dist/group/group.model.js +0 -4
  72. package/dist/group/group.model.js.map +1 -1
  73. package/dist/group/group.resolver.d.ts +4 -9
  74. package/dist/group/group.resolver.js +15 -71
  75. package/dist/group/group.resolver.js.map +1 -1
  76. package/dist/group/group.service.d.ts +3 -11
  77. package/dist/group/group.service.js +46 -117
  78. package/dist/group/group.service.js.map +1 -1
  79. package/dist/index.d.ts +2 -2
  80. package/dist/index.js +11 -2
  81. package/dist/index.js.map +1 -1
  82. package/dist/internal.d.ts +6 -1
  83. package/dist/internal.js +6 -1
  84. package/dist/internal.js.map +1 -1
  85. package/dist/page/page.database.d.ts +2 -2
  86. package/dist/page/page.database.js +5 -4
  87. package/dist/page/page.database.js.map +1 -1
  88. package/dist/page/page.indexing.js +8 -6
  89. package/dist/page/page.indexing.js.map +1 -1
  90. package/dist/page/page.migrations.d.ts +7 -5
  91. package/dist/page/page.migrations.js +39 -26
  92. package/dist/page/page.migrations.js.map +1 -1
  93. package/dist/page/page.model.d.ts +8 -16
  94. package/dist/page/page.model.js +21 -53
  95. package/dist/page/page.model.js.map +1 -1
  96. package/dist/page/page.resolver.d.ts +6 -4
  97. package/dist/page/page.resolver.js +46 -16
  98. package/dist/page/page.resolver.js.map +1 -1
  99. package/dist/page/page.service.d.ts +9 -4
  100. package/dist/page/page.service.js +135 -69
  101. package/dist/page/page.service.js.map +1 -1
  102. package/dist/page/page.util.js +4 -3
  103. package/dist/page/page.util.js.map +1 -1
  104. package/dist/page/page.validation.d.ts +2 -2
  105. package/dist/page/page.validation.js +19 -12
  106. package/dist/page/page.validation.js.map +1 -1
  107. package/dist/pagerule/pagerule.database.js +9 -15
  108. package/dist/pagerule/pagerule.database.js.map +1 -1
  109. package/dist/pagerule/pagerule.model.d.ts +5 -4
  110. package/dist/pagerule/pagerule.model.js +10 -6
  111. package/dist/pagerule/pagerule.model.js.map +1 -1
  112. package/dist/pagerule/pagerule.resolver.d.ts +1 -2
  113. package/dist/pagerule/pagerule.resolver.js +1 -15
  114. package/dist/pagerule/pagerule.resolver.js.map +1 -1
  115. package/dist/pagerule/pagerule.service.js +9 -16
  116. package/dist/pagerule/pagerule.service.js.map +1 -1
  117. package/dist/pagetree/pagetree.resolver.js +1 -13
  118. package/dist/pagetree/pagetree.resolver.js.map +1 -1
  119. package/dist/pagetree/pagetree.service.js +6 -6
  120. package/dist/pagetree/pagetree.service.js.map +1 -1
  121. package/dist/role/role.database.d.ts +6 -0
  122. package/dist/role/role.database.js +36 -3
  123. package/dist/role/role.database.js.map +1 -1
  124. package/dist/role/role.model.d.ts +3 -0
  125. package/dist/role/role.model.js +15 -1
  126. package/dist/role/role.model.js.map +1 -1
  127. package/dist/role/role.resolver.d.ts +3 -1
  128. package/dist/role/role.resolver.js +29 -1
  129. package/dist/role/role.resolver.js.map +1 -1
  130. package/dist/role/role.service.d.ts +4 -0
  131. package/dist/role/role.service.js +47 -10
  132. package/dist/role/role.service.js.map +1 -1
  133. package/dist/run.js +0 -3
  134. package/dist/run.js.map +1 -1
  135. package/dist/scalars/urlsafestring.js +1 -1
  136. package/dist/scalars/urlsafestring.js.map +1 -1
  137. package/dist/site/site.database.d.ts +10 -2
  138. package/dist/site/site.database.js +93 -54
  139. package/dist/site/site.database.js.map +1 -1
  140. package/dist/site/site.model.d.ts +5 -9
  141. package/dist/site/site.model.js +17 -26
  142. package/dist/site/site.model.js.map +1 -1
  143. package/dist/site/site.resolver.d.ts +9 -7
  144. package/dist/site/site.resolver.js +70 -40
  145. package/dist/site/site.resolver.js.map +1 -1
  146. package/dist/site/site.service.d.ts +12 -6
  147. package/dist/site/site.service.js +90 -35
  148. package/dist/site/site.service.js.map +1 -1
  149. package/dist/sitecomment/sitecomment.database.d.ts +4 -0
  150. package/dist/sitecomment/sitecomment.database.js +29 -0
  151. package/dist/sitecomment/sitecomment.database.js.map +1 -0
  152. package/dist/sitecomment/sitecomment.model.d.ts +21 -0
  153. package/dist/sitecomment/sitecomment.model.js +68 -0
  154. package/dist/sitecomment/sitecomment.model.js.map +1 -0
  155. package/dist/sitecomment/sitecomment.resolver.d.ts +7 -0
  156. package/dist/sitecomment/sitecomment.resolver.js +56 -0
  157. package/dist/sitecomment/sitecomment.resolver.js.map +1 -0
  158. package/dist/sitecomment/sitecomment.service.d.ts +14 -0
  159. package/dist/sitecomment/sitecomment.service.js +57 -0
  160. package/dist/sitecomment/sitecomment.service.js.map +1 -0
  161. package/dist/siterule/siterule.database.js +16 -38
  162. package/dist/siterule/siterule.database.js.map +1 -1
  163. package/dist/siterule/siterule.model.d.ts +4 -8
  164. package/dist/siterule/siterule.model.js +11 -29
  165. package/dist/siterule/siterule.model.js.map +1 -1
  166. package/dist/siterule/siterule.service.js +1 -1
  167. package/dist/siterule/siterule.service.js.map +1 -1
  168. package/dist/template/template.database.d.ts +8 -0
  169. package/dist/template/template.database.js +46 -2
  170. package/dist/template/template.database.js.map +1 -1
  171. package/dist/template/template.model.js +4 -3
  172. package/dist/template/template.model.js.map +1 -1
  173. package/dist/template/template.resolver.d.ts +1 -0
  174. package/dist/template/template.resolver.js +14 -2
  175. package/dist/template/template.resolver.js.map +1 -1
  176. package/dist/template/template.service.d.ts +21 -1
  177. package/dist/template/template.service.js +67 -9
  178. package/dist/template/template.service.js.map +1 -1
  179. package/dist/templaterule/templaterule.service.js +1 -1
  180. package/dist/templaterule/templaterule.service.js.map +1 -1
  181. package/dist/user/user.database.d.ts +1 -1
  182. package/dist/user/user.database.js +21 -1
  183. package/dist/user/user.database.js.map +1 -1
  184. package/dist/user/user.model.d.ts +5 -0
  185. package/dist/user/user.model.js +22 -0
  186. package/dist/user/user.model.js.map +1 -1
  187. package/dist/user/user.resolver.d.ts +4 -2
  188. package/dist/user/user.resolver.js +28 -5
  189. package/dist/user/user.resolver.js.map +1 -1
  190. package/dist/user/user.service.d.ts +1 -1
  191. package/dist/user/user.service.js +23 -13
  192. package/dist/user/user.service.js.map +1 -1
  193. package/dist/util/index.d.ts +1 -1
  194. package/dist/util/index.js +1 -1
  195. package/dist/util/index.js.map +1 -1
  196. package/dist/util/indexing.d.ts +0 -4
  197. package/dist/util/indexing.js +0 -13
  198. package/dist/util/indexing.js.map +1 -1
  199. package/dist/util/login.d.ts +1 -0
  200. package/dist/util/login.js +8 -0
  201. package/dist/util/login.js.map +1 -0
  202. package/dist/util/migrations.d.ts +0 -4
  203. package/dist/util/registry.d.ts +22 -12
  204. package/dist/util/registry.js +23 -41
  205. package/dist/util/registry.js.map +1 -1
  206. package/dist/versionedservice/service.d.ts +7 -1
  207. package/dist/versionedservice/service.js +22 -5
  208. package/dist/versionedservice/service.js.map +1 -1
  209. package/package.json +5 -6
  210. package/readme/DosGato.mwb +0 -0
  211. package/dist/util/sharedtypes.d.ts +0 -3
  212. package/dist/util/sharedtypes.js +0 -2
  213. package/dist/util/sharedtypes.js.map +0 -1
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { Field, ID, InputType, ObjectType, registerEnumType } from 'type-graphql';
11
11
  import { ValidatedResponse } from '@txstate-mws/graphql-server';
12
+ import { optionalString } from 'txstate-utils';
12
13
  export var RuleType;
13
14
  (function (RuleType) {
14
15
  RuleType["GLOBAL"] = "global";
@@ -25,6 +26,7 @@ let Role = class Role {
25
26
  constructor(row) {
26
27
  this.id = String(row.id);
27
28
  this.name = row.name;
29
+ this.siteId = optionalString(row.siteId);
28
30
  }
29
31
  };
30
32
  __decorate([
@@ -35,6 +37,10 @@ __decorate([
35
37
  Field(),
36
38
  __metadata("design:type", String)
37
39
  ], Role.prototype, "name", void 0);
40
+ __decorate([
41
+ Field({ nullable: true }),
42
+ __metadata("design:type", String)
43
+ ], Role.prototype, "siteId", void 0);
38
44
  Role = __decorate([
39
45
  ObjectType({
40
46
  description: `A role links a user or group to a set of rules that grant
@@ -53,7 +59,15 @@ __decorate([
53
59
  __metadata("design:type", Array)
54
60
  ], RoleFilter.prototype, "ids", void 0);
55
61
  __decorate([
56
- Field(type => [ID], { nullable: true, description: 'Return roles that are associated with any of the given users.' }),
62
+ Field(type => [ID], { nullable: true, description: 'Return roles managed by any of the specified user ids.' }),
63
+ __metadata("design:type", Array)
64
+ ], RoleFilter.prototype, "managerIds", void 0);
65
+ __decorate([
66
+ Field(type => [ID], { nullable: true, description: 'Return roles associated with any of the given site ids.' }),
67
+ __metadata("design:type", Array)
68
+ ], RoleFilter.prototype, "siteIds", void 0);
69
+ __decorate([
70
+ Field(type => [ID], { nullable: true, description: 'Return roles that have been granted to any of the given users.' }),
57
71
  __metadata("design:type", Array)
58
72
  ], RoleFilter.prototype, "users", void 0);
59
73
  RoleFilter = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"role.model.js","sourceRoot":"","sources":["../../src/role/role.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAyB,MAAM,6BAA6B,CAAA;AAEtF,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACvB,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AACD,gBAAgB,CAAC,QAAQ,EAAE;IACzB,IAAI,EAAE,UAAU;CACjB,CAAC,CAAA;AASF,IAAa,IAAI,GAAjB,MAAa,IAAI;IAOf,YAAa,GAAQ;QACnB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;CACF,CAAA;AATC;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;;gCACR;AAGV;IADC,KAAK,EAAE;;kCACI;AALD,IAAI;IAPhB,UAAU,CAAC;QACV,WAAW,EAAE;;;;mDAIoC;KAClD,CAAC;;GACW,IAAI,CAWhB;SAXY,IAAI;AAcjB,IAAa,UAAU,GAAvB,MAAa,UAAU;CAMtB,CAAA;AAJC;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCAC1B;AAGd;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+DAA+D,EAAE,CAAC;;yCACtG;AALL,UAAU;IADtB,SAAS,EAAE;GACC,UAAU,CAMtB;SANY,UAAU;AASvB,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,iBAAiB;IAIjD,YAAa,MAA+C;QAC1D,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;CACF,CAAA;AANC;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACnB,IAAI;0CAAA;AAFA,YAAY;IADxB,UAAU,EAAE;;GACA,YAAY,CAQxB;SARY,YAAY;AAWzB,IAAa,eAAe,GAA5B,MAAa,eAAe;CAAG,CAAA;AAAlB,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAAG;SAAlB,eAAe"}
1
+ {"version":3,"file":"role.model.js","sourceRoot":"","sources":["../../src/role/role.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAyB,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACvB,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AACD,gBAAgB,CAAC,QAAQ,EAAE;IACzB,IAAI,EAAE,UAAU;CACjB,CAAC,CAAA;AASF,IAAa,IAAI,GAAjB,MAAa,IAAI;IAUf,YAAa,GAAQ;QACnB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;CACF,CAAA;AAbC;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;;gCACR;AAGV;IADC,KAAK,EAAE;;kCACI;AAGZ;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCACX;AARJ,IAAI;IAPhB,UAAU,CAAC;QACV,WAAW,EAAE;;;;mDAIoC;KAClD,CAAC;;GACW,IAAI,CAehB;SAfY,IAAI;AAkBjB,IAAa,UAAU,GAAvB,MAAa,UAAU;CAYtB,CAAA;AAVC;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCAC1B;AAGd;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;;8CAC1F;AAGrB;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yDAAyD,EAAE,CAAC;;2CAC9F;AAGlB;IADC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC;;yCACvG;AAXL,UAAU;IADtB,SAAS,EAAE;GACC,UAAU,CAYtB;SAZY,UAAU;AAevB,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,iBAAiB;IAIjD,YAAa,MAA+C;QAC1D,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;CACF,CAAA;AANC;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACnB,IAAI;0CAAA;AAFA,YAAY;IADxB,UAAU,EAAE;;GACA,YAAY,CAQxB;SARY,YAAY;AAWzB,IAAa,eAAe,GAA5B,MAAa,eAAe;CAAG,CAAA;AAAlB,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAAG;SAAlB,eAAe"}
@@ -1,5 +1,5 @@
1
1
  import { Context, ValidatedResponse } from '@txstate-mws/graphql-server';
2
- import { AssetRule, AssetRuleFilter, DataRule, GlobalRule, PageRule, SiteRule, SiteRuleFilter, Group, GroupFilter, User, UserFilter, Role, RoleFilter, RoleResponse, TemplateRule, TemplateRuleFilter, RuleType } from '../internal.js';
2
+ import { AssetRule, AssetRuleFilter, DataRule, GlobalRule, PageRule, SiteRule, SiteRuleFilter, Group, GroupFilter, User, UserFilter, Role, RoleFilter, RoleResponse, TemplateRule, TemplateRuleFilter, RuleType, Site } from '../internal.js';
3
3
  export declare class RoleResolver {
4
4
  roles(ctx: Context, filter?: RoleFilter): Promise<Role[]>;
5
5
  globalRules(ctx: Context, role: Role): Promise<GlobalRule[]>;
@@ -10,6 +10,7 @@ export declare class RoleResolver {
10
10
  templateRules(ctx: Context, role: Role, filter?: TemplateRuleFilter): Promise<TemplateRule[]>;
11
11
  users(ctx: Context, role: Role, direct?: boolean, filter?: UserFilter): Promise<User[] | (User | import("../internal.js").RedactedUser)[]>;
12
12
  groups(ctx: Context, role: Role, direct?: boolean, filter?: GroupFilter): Promise<Group[]>;
13
+ site(ctx: Context, role: Role): Promise<Site | null | undefined>;
13
14
  permissions(role: Role): Role;
14
15
  createRole(ctx: Context, name: string): Promise<RoleResponse>;
15
16
  updateRole(ctx: Context, roleId: string, name: string): Promise<RoleResponse>;
@@ -24,4 +25,5 @@ export declare class RolePermissionsResolver {
24
25
  rename(ctx: Context, role: Role): Promise<boolean>;
25
26
  delete(ctx: Context, role: Role): Promise<boolean>;
26
27
  createRules(ctx: Context, role: Role): Promise<boolean>;
28
+ assign(ctx: Context, role: Role): Promise<boolean>;
27
29
  }
@@ -12,7 +12,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import { Context, ValidatedResponse } from '@txstate-mws/graphql-server';
14
14
  import { Resolver, Query, Arg, Ctx, FieldResolver, Root, Mutation, ID } from 'type-graphql';
15
- import { AssetRule, AssetRuleService, AssetRuleFilter, DataRule, DataRuleService, GlobalRule, GlobalRuleService, PageRule, PageRuleService, SiteRule, SiteRuleFilter, SiteRuleService, Group, GroupFilter, GroupService, User, UserFilter, UserService, Role, RoleFilter, RolePermissions, RoleResponse, RoleService, TemplateRule, TemplateRuleFilter, TemplateRuleService, RuleType } from '../internal.js';
15
+ import { isNull } from 'txstate-utils';
16
+ import { AssetRule, AssetRuleService, AssetRuleFilter, DataRule, DataRuleService, GlobalRule, GlobalRuleService, PageRule, PageRuleService, SiteRule, SiteRuleFilter, SiteRuleService, Group, GroupFilter, GroupService, User, UserFilter, UserService, Role, RoleFilter, RolePermissions, RoleResponse, RoleService, TemplateRule, TemplateRuleFilter, TemplateRuleService, RuleType, Site, SiteService } from '../internal.js';
16
17
  let RoleResolver = class RoleResolver {
17
18
  async roles(ctx, filter) {
18
19
  return await ctx.svc(RoleService).find(filter);
@@ -41,6 +42,12 @@ let RoleResolver = class RoleResolver {
41
42
  async groups(ctx, role, direct, filter) {
42
43
  return await ctx.svc(GroupService).findByRoleId(role.id, direct, filter);
43
44
  }
45
+ async site(ctx, role) {
46
+ if (isNull(role.siteId))
47
+ return null;
48
+ else
49
+ return await ctx.svc(SiteService).findById(role.siteId);
50
+ }
44
51
  permissions(role) {
45
52
  return role;
46
53
  }
@@ -164,6 +171,14 @@ __decorate([
164
171
  __metadata("design:paramtypes", [Context, Role, Boolean, GroupFilter]),
165
172
  __metadata("design:returntype", Promise)
166
173
  ], RoleResolver.prototype, "groups", null);
174
+ __decorate([
175
+ FieldResolver(returns => Site, { nullable: true, description: 'Returns the site associated with this role or null if the role is not associated with a particular site' }),
176
+ __param(0, Ctx()),
177
+ __param(1, Root()),
178
+ __metadata("design:type", Function),
179
+ __metadata("design:paramtypes", [Context, Role]),
180
+ __metadata("design:returntype", Promise)
181
+ ], RoleResolver.prototype, "site", null);
167
182
  __decorate([
168
183
  FieldResolver(returns => RolePermissions, {
169
184
  description: `Reveal the simplified results after all authorization rules are taken into account
@@ -258,6 +273,9 @@ let RolePermissionsResolver = class RolePermissionsResolver {
258
273
  async createRules(ctx, role) {
259
274
  return await ctx.svc(RoleService).mayCreateRules(role);
260
275
  }
276
+ async assign(ctx, role) {
277
+ return await ctx.svc(RoleService).mayAssign(role);
278
+ }
261
279
  };
262
280
  __decorate([
263
281
  FieldResolver(type => Boolean, { description: 'Current user is able to rename this role.' }),
@@ -287,6 +305,16 @@ before creating a rule relating a role to a target.`
287
305
  __metadata("design:paramtypes", [Context, Role]),
288
306
  __metadata("design:returntype", Promise)
289
307
  ], RolePermissionsResolver.prototype, "createRules", null);
308
+ __decorate([
309
+ FieldResolver(type => Boolean, {
310
+ description: 'Current user is able to assign this role to other users.'
311
+ }),
312
+ __param(0, Ctx()),
313
+ __param(1, Root()),
314
+ __metadata("design:type", Function),
315
+ __metadata("design:paramtypes", [Context, Role]),
316
+ __metadata("design:returntype", Promise)
317
+ ], RolePermissionsResolver.prototype, "assign", null);
290
318
  RolePermissionsResolver = __decorate([
291
319
  Resolver(of => RolePermissions)
292
320
  ], RolePermissionsResolver);
@@ -1 +1 @@
1
- {"version":3,"file":"role.resolver.js","sourceRoot":"","sources":["../../src/role/role.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role.resolver.js","sourceRoot":"","sources":["../../src/role/role.resolver.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export declare class RoleServiceInternal extends BaseService {
6
6
  findByIds(ids: string[]): Promise<Role[]>;
7
7
  findByGroupId(groupId: string, direct?: boolean): Promise<Role[]>;
8
8
  findByUserId(userId: string, direct?: boolean): Promise<Role[]>;
9
+ findByManagerId(managerId: string): Promise<Role[]>;
10
+ findBySiteId(siteId: string): Promise<Role[]>;
9
11
  }
10
12
  export declare class RoleService extends DosGatoService<Role> {
11
13
  raw: RoleServiceInternal;
@@ -14,6 +16,8 @@ export declare class RoleService extends DosGatoService<Role> {
14
16
  findByIds(ids: string[]): Promise<Role[]>;
15
17
  findByGroupId(groupId: string, direct?: boolean): Promise<Role[]>;
16
18
  findByUserId(userId: string, direct?: boolean): Promise<Role[]>;
19
+ findByManagerId(managerId: string): Promise<Role[]>;
20
+ findBySiteId(siteId: string): Promise<Role[]>;
17
21
  create(name: string): Promise<RoleResponse>;
18
22
  update(id: string, name: string): Promise<RoleResponse>;
19
23
  delete(id: string): Promise<ValidatedResponse>;
@@ -1,12 +1,19 @@
1
1
  import { BaseService, ValidatedResponse } from '@txstate-mws/graphql-server';
2
- import { ManyJoinedLoader, PrimaryKeyLoader } from 'dataloader-factory';
3
- import { unique } from 'txstate-utils';
4
- import { DosGatoService, GroupService, UserService, RoleResponse, addRoleToUser, createRole, deleteRole, getRoles, getRolesWithGroup, getRolesForUsers, removeRoleFromUser, updateRole, removeRoleFromGroup, addRoleToGroup, GroupServiceInternal } from '../internal.js';
2
+ import { ManyJoinedLoader, OneToManyLoader, PrimaryKeyLoader } from 'dataloader-factory';
3
+ import { isNotNull, unique } from 'txstate-utils';
4
+ import { DosGatoService, GroupService, UserService, RoleResponse, addRoleToUser, createRole, deleteRole, getRoles, getRolesWithGroup, getRolesWithManager, getRolesForUsers, removeRoleFromUser, updateRole, removeRoleFromGroup, addRoleToGroup, GroupServiceInternal } from '../internal.js';
5
5
  const rolesByIdLoader = new PrimaryKeyLoader({
6
6
  fetch: async (ids) => {
7
7
  return await getRoles({ ids });
8
8
  }
9
9
  });
10
+ const rolesBySiteIdLoader = new OneToManyLoader({
11
+ fetch: async (siteIds) => {
12
+ return await getRoles({ siteIds });
13
+ },
14
+ extractKey: role => role.siteId,
15
+ idLoader: rolesByIdLoader
16
+ });
10
17
  const rolesByGroupIdLoader = new ManyJoinedLoader({
11
18
  fetch: async (groupIds) => {
12
19
  return await getRolesWithGroup(groupIds);
@@ -19,6 +26,12 @@ const rolesByUserIdLoader = new ManyJoinedLoader({
19
26
  },
20
27
  idLoader: rolesByIdLoader
21
28
  });
29
+ const rolesByManagerIdLoader = new ManyJoinedLoader({
30
+ fetch: async (managerIds) => {
31
+ return await getRolesWithManager(managerIds);
32
+ },
33
+ idLoader: rolesByIdLoader
34
+ });
22
35
  export class RoleServiceInternal extends BaseService {
23
36
  async find(filter) {
24
37
  const roles = await getRoles(filter);
@@ -73,6 +86,12 @@ export class RoleServiceInternal extends BaseService {
73
86
  }
74
87
  }
75
88
  }
89
+ async findByManagerId(managerId) {
90
+ return await this.loaders.get(rolesByManagerIdLoader).load(managerId);
91
+ }
92
+ async findBySiteId(siteId) {
93
+ return await this.loaders.get(rolesBySiteIdLoader).load(siteId);
94
+ }
76
95
  }
77
96
  export class RoleService extends DosGatoService {
78
97
  constructor() {
@@ -94,6 +113,12 @@ export class RoleService extends DosGatoService {
94
113
  async findByUserId(userId, direct) {
95
114
  return await this.removeUnauthorized(await this.raw.findByUserId(userId, direct));
96
115
  }
116
+ async findByManagerId(managerId) {
117
+ return await this.removeUnauthorized(await this.raw.findByManagerId(managerId));
118
+ }
119
+ async findBySiteId(siteId) {
120
+ return await this.removeUnauthorized(await this.raw.findBySiteId(siteId));
121
+ }
97
122
  async create(name) {
98
123
  if (!(await this.mayCreate()))
99
124
  throw new Error('Current user is not permitted to create roles.');
@@ -238,28 +263,40 @@ export class RoleService extends DosGatoService {
238
263
  return await this.loaders.get(rolesByIdLoader).load(roleId);
239
264
  }
240
265
  async mayView(role) {
241
- if (await this.haveGlobalPerm('manageUsers'))
266
+ if (await this.haveGlobalPerm('manageAccess'))
242
267
  return true;
243
268
  this.currentRolesSet ?? (this.currentRolesSet = new Set((await this.currentRoles()).map(r => r.id)));
244
269
  return this.currentRolesSet.has(role.id);
245
270
  }
246
271
  async mayViewManagerUI() {
247
- return await this.haveGlobalPerm('manageUsers');
272
+ return await this.haveGlobalPerm('manageAccess');
248
273
  }
249
274
  async mayCreate() {
250
- return await this.haveGlobalPerm('manageUsers');
275
+ // TODO: Check manageParentRoles permission if they are trying to create a top-level role
276
+ return await this.haveGlobalPerm('manageAccess');
251
277
  }
252
278
  async mayUpdate(role) {
253
- return await this.haveGlobalPerm('manageUsers');
279
+ // TODO: Check manageParentRoles permission if they are trying to update a top-level role
280
+ return await this.haveGlobalPerm('manageAccess');
254
281
  }
255
282
  async mayDelete(role) {
256
- return await this.haveGlobalPerm('manageUsers');
283
+ // TODO: Check manageParentRoles permission if they are trying to delete a top-level role?
284
+ return await this.haveGlobalPerm('manageAccess');
257
285
  }
258
286
  async mayAssign(role) {
259
- return await this.haveGlobalPerm('manageUsers');
287
+ if (isNotNull(role.siteId)) {
288
+ const manageAccess = await this.haveGlobalPerm('manageAccess');
289
+ if (manageAccess)
290
+ return true;
291
+ const managers = await this.svc(UserService).findSiteManagers(role.siteId);
292
+ return managers.some(m => m.id === this.login);
293
+ }
294
+ else
295
+ return await this.haveGlobalPerm('manageParentRoles');
260
296
  }
261
297
  async mayCreateRules(role) {
262
- return await this.haveGlobalPerm('manageUsers');
298
+ // TODO: Check manageParentRoles permission if they are trying to create rules for a top-level role
299
+ return await this.haveGlobalPerm('manageAccess');
263
300
  }
264
301
  }
265
302
  //# sourceMappingURL=role.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../src/role/role.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../src/role/role.service.ts"],"names":[],"mappings":"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"}
package/dist/run.js CHANGED
@@ -1,6 +1,3 @@
1
- /* eslint-disable import/first */
2
- import { install } from 'source-map-support';
3
- install();
4
1
  import { DGServer } from './index.js';
5
2
  import { fixtures } from './fixtures.js';
6
3
  import { PageTemplate1, PageTemplate2, PageTemplate3, PageTemplate4, LinkComponent, PanelComponent, QuoteComponent, ColorData, BuildingData, ArticleData } from './fixturetemplates.js';
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,CAAA;AACT,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEvL,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC7B,MAAM,MAAM,CAAC,KAAK,CAAC;QACjB,QAAQ;QACR,SAAS,EAAE;YACT,aAAa;YACb,aAAa;YACb,aAAa;YACb,aAAa;YACb,aAAa;YACb,cAAc;YACd,cAAc;YACd,SAAS;YACT,YAAY;YACZ,WAAW;SACZ;KACF,CAAC,CAAA;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEvL,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC7B,MAAM,MAAM,CAAC,KAAK,CAAC;QACjB,QAAQ;QACR,SAAS,EAAE;YACT,aAAa;YACb,aAAa;YACb,aAAa;YACb,aAAa;YACb,aAAa;YACb,cAAc;YACd,cAAc;YACd,SAAS;YACT,YAAY;YACZ,WAAW;SACZ;KACF,CAAC,CAAA;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { GraphQLScalarType, Kind } from 'graphql';
2
2
  function makeSafe(str) {
3
- return str.toLocaleLowerCase().replace(/[^a-z0-9_-]/, '-').replace(/-+/, '-');
3
+ return str.toLocaleLowerCase().replace(/[^a-z0-9_-]/g, '-').replace(/-+/g, '-');
4
4
  }
5
5
  export class UrlSafeString extends String {
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"urlsafestring.js","sourceRoot":"","sources":["../../src/scalars/urlsafestring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEjD,SAAS,QAAQ,CAAE,GAAW;IAC5B,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,MAAM;CAAG;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,iBAAiB,CAAC;IACvD,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,mEAAmE;IAChF,SAAS,CAAE,KAAa;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,UAAU,CAAE,KAAa;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;SAClD;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IACD,YAAY,CAAE,GAAQ;QACpB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;SAClD;QACD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW;YAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvE,OAAO,GAAG,CAAC,MAAM,CAAA;IACnB,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"urlsafestring.js","sourceRoot":"","sources":["../../src/scalars/urlsafestring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEjD,SAAS,QAAQ,CAAE,GAAW;IAC5B,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACjF,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,MAAM;CAAG;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,iBAAiB,CAAC;IACvD,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,mEAAmE;IAChF,SAAS,CAAE,KAAa;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,UAAU,CAAE,KAAa;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;SAClD;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IACD,YAAY,CAAE,GAAQ;QACpB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;SAClD;QACD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW;YAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvE,OAAO,GAAG,CAAC,MAAM,CAAA;IACnB,CAAC;CACF,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Site, SiteFilter, CreateSiteInput, VersionedService, UpdateSiteInput } from '../internal.js';
1
+ import { Site, SiteFilter, CreateSiteInput, VersionedService, UpdateSiteManagementInput } from '../internal.js';
2
2
  export declare function getSites(filter?: SiteFilter): Promise<Site[]>;
3
3
  export declare function getSitesByOrganization(orgIds: string[]): Promise<Site[]>;
4
4
  export declare function getSitesByTemplate(templateIds: number[], atLeastOneTree?: boolean): Promise<{
@@ -6,10 +6,18 @@ export declare function getSitesByTemplate(templateIds: number[], atLeastOneTree
6
6
  value: Site;
7
7
  }[]>;
8
8
  export declare function getSitesByGroupIds(groupIds: string[]): Promise<{
9
+ key: string;
10
+ value: Site;
11
+ }[]>;
12
+ export declare function getSitesByOwnerInternalId(ownerInternalIds: number[]): Promise<Site[]>;
13
+ export declare function getSitesByManagerInternalId(managerInternalIds: number[]): Promise<{
9
14
  key: any;
10
15
  value: Site;
11
16
  }[]>;
17
+ export declare function siteNameIsUnique(name: string): Promise<boolean>;
12
18
  export declare function createSite(versionedService: VersionedService, userId: string, args: CreateSiteInput): Promise<Site>;
13
- export declare function updateSite(site: Site, siteArgs: UpdateSiteInput): Promise<void>;
19
+ export declare function renameSite(site: Site, name: string, currentUserInternalId: number): Promise<void>;
20
+ export declare function setLaunchURL(site: Site, host: string | undefined, path: string | undefined, enabled: boolean, currentUserInternalId: number): Promise<void>;
21
+ export declare function updateSiteManagement(site: Site, args: UpdateSiteManagementInput, currentUserInternalId: number): Promise<void>;
14
22
  export declare function deleteSite(site: Site, currentUserInternalId: number): Promise<number>;
15
23
  export declare function undeleteSite(site: Site): Promise<number>;
@@ -1,8 +1,8 @@
1
1
  import db from 'mysql2-async/db';
2
- import { unique } from 'txstate-utils';
3
- import { Site, PagetreeType, formatSavedAtVersion } from '../internal.js';
2
+ import { unique, keyby } from 'txstate-utils';
3
+ import { Site, PagetreeType, formatSavedAtVersion, createSiteComment } from '../internal.js';
4
4
  import { nanoid } from 'nanoid';
5
- const columns = ['sites.id', 'sites.name', 'sites.launchHost', 'sites.launchPath', 'sites.primaryPagetreeId', 'sites.rootAssetFolderId', 'sites.organizationId', 'sites.ownerId', 'sites.deletedAt', 'sites.deletedBy'];
5
+ const columns = ['sites.id', 'sites.name', 'sites.launchHost', 'sites.launchPath', 'sites.launchEnabled', 'sites.primaryPagetreeId', 'sites.rootAssetFolderId', 'sites.organizationId', 'sites.ownerId', 'sites.deletedAt', 'sites.deletedBy'];
6
6
  function processFilters(filter) {
7
7
  const binds = [];
8
8
  const where = [];
@@ -14,10 +14,10 @@ function processFilters(filter) {
14
14
  }
15
15
  if (filter?.launched != null) {
16
16
  if (filter.launched) {
17
- where.push('sites.launchHost IS NOT NULL');
17
+ where.push('sites.launchEnabled = 1');
18
18
  }
19
19
  else {
20
- where.push('sites.launchHost IS NULL');
20
+ where.push('sites.launchEnabled = 0');
21
21
  }
22
22
  }
23
23
  if (filter?.launchUrls?.length) {
@@ -73,8 +73,26 @@ export async function getSitesByGroupIds(groupIds) {
73
73
  const rows = await db.getall(`SELECT s.*, gs.groupId
74
74
  FROM sites s
75
75
  INNER JOIN groups_sites gs ON gs.siteId=s.id
76
- WHERE s.id IN (${db.in([], groupIds)})`, groupIds);
77
- return rows.map(r => ({ key: r.groupId, value: new Site(r) }));
76
+ WHERE gs.groupId IN (${db.in([], groupIds)})`, groupIds);
77
+ return rows.map(r => ({ key: String(r.groupId), value: new Site(r) }));
78
+ }
79
+ export async function getSitesByOwnerInternalId(ownerInternalIds) {
80
+ const rows = await db.getall(`SELECT sites.*
81
+ FROM sites
82
+ INNER JOIN users ON sites.ownerId = users.id
83
+ WHERE users.id IN (${db.in([], ownerInternalIds)})`, ownerInternalIds);
84
+ return rows.map(row => new Site(row));
85
+ }
86
+ export async function getSitesByManagerInternalId(managerInternalIds) {
87
+ const rows = await db.getall(`SELECT sites.*, sites_managers.userId
88
+ FROM sites
89
+ INNER JOIN sites_managers ON sites.id = sites_managers.siteId
90
+ WHERE sites_managers.userId IN (${db.in([], managerInternalIds)})`, managerInternalIds);
91
+ return rows.map(row => ({ key: row.userId, value: new Site(row) }));
92
+ }
93
+ export async function siteNameIsUnique(name) {
94
+ const count = await db.getval('SELECT COUNT(*) FROM sites WHERE name = ?', [name]);
95
+ return count === 0;
78
96
  }
79
97
  export async function createSite(versionedService, userId, args) {
80
98
  return await db.transaction(async (db) => {
@@ -100,58 +118,79 @@ export async function createSite(versionedService, userId, args) {
100
118
  return new Site(await db.getrow('SELECT * FROM sites WHERE id=?', [siteId]));
101
119
  });
102
120
  }
103
- export async function updateSite(site, siteArgs) {
104
- const sitesUpdates = [];
105
- const sitesBinds = [];
106
- if (siteArgs.name) {
107
- sitesUpdates.push('name = ?');
108
- sitesBinds.push(siteArgs.name);
109
- }
110
- if (siteArgs.organizationId) {
111
- sitesUpdates.push('organizationId = ?');
112
- sitesBinds.push(siteArgs.organizationId);
113
- }
114
- if (siteArgs.launchHost) {
115
- sitesUpdates.push('launchHost = ?');
116
- sitesBinds.push(siteArgs.launchHost);
117
- }
118
- if (siteArgs.launchPath) {
119
- sitesUpdates.push('launchPath = ?');
120
- sitesBinds.push(siteArgs.launchPath);
121
- }
121
+ export async function renameSite(site, name, currentUserInternalId) {
122
+ return await db.transaction(async (db) => {
123
+ await db.update('UPDATE sites SET name = ? WHERE id = ?', [name, site.id]);
124
+ // if the site is renamed, the root assetfolder and root page for all the pagetrees in the site need to be renamed too
125
+ await db.update('UPDATE assetfolders SET name = ? WHERE id = ?', [name, site.rootAssetFolderInternalId]);
126
+ await db.update(`UPDATE pages
127
+ INNER JOIN pagetrees on pages.pagetreeId = pagetrees.id
128
+ INNER JOIN sites ON pagetrees.siteId = sites.id
129
+ SET pages.name = ?
130
+ WHERE sites.id = ? AND pages.path = '/'`, [name, site.id]);
131
+ await createSiteComment(site.id, `Site renamed. Former name: ${site.name} New name: ${name}`, currentUserInternalId, db);
132
+ });
133
+ }
134
+ export async function setLaunchURL(site, host, path, enabled, currentUserInternalId) {
122
135
  return await db.transaction(async (db) => {
123
- if (siteArgs.ownerId) {
124
- const ownerId = await db.getval('SELECT id FROM users WHERE login = ?', [siteArgs.ownerId]);
125
- if (ownerId) {
126
- sitesUpdates.push('ownerId = ?');
127
- sitesBinds.push(ownerId);
136
+ await db.update('UPDATE sites SET launchHost = ?, launchPath = ?, launchEnabled = ? WHERE id = ?', [host ?? null, path ?? null, enabled && !!host, site.id]);
137
+ await createSiteComment(site.id, `Public URL updated to ${host ? `https://${host}${path ?? ''}` : 'an empty host.'}`, currentUserInternalId, db);
138
+ });
139
+ }
140
+ export async function updateSiteManagement(site, args, currentUserInternalId) {
141
+ const updates = [];
142
+ const binds = [];
143
+ const auditComments = [];
144
+ return await db.transaction(async (db) => {
145
+ // Handle organization updates
146
+ const formerOrganization = site.organizationId ? await db.getval('SELECT name FROM organizations WHERE id = ?', [site.organizationId]) : undefined;
147
+ updates.push('organizationId = ?');
148
+ const orgId = args.organizationId ?? null;
149
+ binds.push(orgId);
150
+ if (site.organizationId !== args.organizationId) {
151
+ if (formerOrganization)
152
+ auditComments.push(`Removed organization ${formerOrganization}.`);
153
+ if (args.organizationId) {
154
+ const newOrganizationName = await db.getval('SELECT name FROM organizations WHERE id = ?', [args.organizationId]);
155
+ auditComments.push(`Added organization ${newOrganizationName}.`);
128
156
  }
129
157
  }
130
- sitesBinds.push(site.id);
131
- if (sitesUpdates.length) {
158
+ // Handle owner updates
159
+ const formerOwnerId = site.ownerId ? await db.getval('SELECT login FROM users WHERE id = ?', [site.ownerId]) : undefined;
160
+ const newOwnerInternalId = args.ownerId ? await db.getval('SELECT id FROM users WHERE login = ?', [args.ownerId]) : undefined;
161
+ updates.push('ownerId = ?');
162
+ binds.push(newOwnerInternalId ?? null);
163
+ if (site.ownerId !== newOwnerInternalId) {
164
+ if (formerOwnerId)
165
+ auditComments.push(`Removed owner ${formerOwnerId}`);
166
+ if (args.ownerId)
167
+ auditComments.push(`Added owner ${args.ownerId}`);
168
+ }
169
+ if (updates.length) {
170
+ binds.push(site.id);
132
171
  await db.update(`UPDATE sites
133
- SET ${sitesUpdates.join(', ')}
134
- WHERE id = ?`, sitesBinds);
135
- if (siteArgs.name) {
136
- // if the site is renamed, the root assetfolder and root page for all the pagetrees in the site need to be renamed too
137
- await db.update('UPDATE assetfolders SET name = ? WHERE id = ?', [siteArgs.name, site.rootAssetFolderInternalId]);
138
- await db.update(`UPDATE pages
139
- INNER JOIN pagetrees on pages.pagetreeId = pagetrees.id
140
- INNER JOIN sites ON pagetrees.siteId = sites.id
141
- SET pages.name = ?
142
- WHERE sites.id = ? AND pages.path = '/'`, [siteArgs.name, site.id]);
143
- }
172
+ SET ${updates.join(', ')}
173
+ WHERE id = ?`, binds);
144
174
  }
145
- if (siteArgs.managerIds?.length) {
146
- const userBinds = [];
147
- const userIds = await db.getvals(`SELECT id from users WHERE login IN (${db.in(userBinds, siteArgs.managerIds)})`, userBinds);
148
- await db.delete('DELETE FROM sites_managers WHERE siteId = ?', [site.id]);
149
- const managerBinds = [];
150
- for (const id of userIds) {
151
- managerBinds.push(site.id);
152
- managerBinds.push(id);
153
- }
154
- await db.insert(`INSERT INTO sites_managers (siteId, userId) VALUES ${userIds.map(u => '(?,?)').join(', ')}`, managerBinds);
175
+ // Handle manager updates
176
+ const formerManagerInternalIds = await db.getvals('SELECT userId FROM sites_managers WHERE siteId = ?', [site.id]);
177
+ const newManagerInternalIds = args.managerIds?.length ? await db.getvals(`SELECT id FROM users WHERE login IN (${db.in([], args.managerIds)})`, args.managerIds) : [];
178
+ await db.delete('DELETE FROM sites_managers WHERE siteId = ?', [site.id]);
179
+ const managerBinds = [];
180
+ for (const id of newManagerInternalIds) {
181
+ managerBinds.push(site.id);
182
+ managerBinds.push(id);
183
+ }
184
+ if (newManagerInternalIds.length) {
185
+ await db.insert(`INSERT INTO sites_managers (siteId, userId) VALUES ${newManagerInternalIds.map(u => '(?,?)').join(', ')}`, managerBinds);
186
+ }
187
+ const managersRemoved = formerManagerInternalIds.filter(man => !newManagerInternalIds.includes(man));
188
+ const managersAdded = newManagerInternalIds.filter(man => !formerManagerInternalIds.includes(man));
189
+ const idsToLookup = [...managersRemoved, ...managersAdded];
190
+ if (idsToLookup.length) {
191
+ const managers = keyby((await db.getall(`SELECT id, login FROM users WHERE id IN (${db.in([], idsToLookup)})`, idsToLookup)), 'id');
192
+ auditComments.push(...managersRemoved.map(m => `Removed manager ${managers[m].login}.`));
193
+ auditComments.push(...managersAdded.map(m => `Added manager ${managers[m].login}.`));
155
194
  }
156
195
  });
157
196
  }