@dosgato/api 1.2.4 → 1.3.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 (149) hide show
  1. package/dist/access/access.resolver.d.ts +11 -11
  2. package/dist/access/access.resolver.js +33 -33
  3. package/dist/access/access.resolver.js.map +1 -1
  4. package/dist/asset/asset.database.js +26 -13
  5. package/dist/asset/asset.database.js.map +1 -1
  6. package/dist/asset/asset.model.d.ts +3 -0
  7. package/dist/asset/asset.model.js +1 -0
  8. package/dist/asset/asset.model.js.map +1 -1
  9. package/dist/asset/asset.resolver.d.ts +6 -6
  10. package/dist/asset/asset.resolver.js +18 -18
  11. package/dist/asset/asset.resolver.js.map +1 -1
  12. package/dist/asset/asset.routes.js +30 -35
  13. package/dist/asset/asset.routes.js.map +1 -1
  14. package/dist/asset/asset.service.d.ts +8 -8
  15. package/dist/asset/asset.service.js +52 -64
  16. package/dist/asset/asset.service.js.map +1 -1
  17. package/dist/assetfolder/assetfolder.database.js +23 -10
  18. package/dist/assetfolder/assetfolder.database.js.map +1 -1
  19. package/dist/assetfolder/assetfolder.model.d.ts +2 -0
  20. package/dist/assetfolder/assetfolder.model.js.map +1 -1
  21. package/dist/assetfolder/assetfolder.resolver.d.ts +6 -6
  22. package/dist/assetfolder/assetfolder.resolver.js +18 -18
  23. package/dist/assetfolder/assetfolder.resolver.js.map +1 -1
  24. package/dist/assetfolder/assetfolder.service.d.ts +9 -9
  25. package/dist/assetfolder/assetfolder.service.js +41 -52
  26. package/dist/assetfolder/assetfolder.service.js.map +1 -1
  27. package/dist/assetrule/assetrule.service.d.ts +2 -2
  28. package/dist/assetrule/assetrule.service.js +14 -16
  29. package/dist/assetrule/assetrule.service.js.map +1 -1
  30. package/dist/data/data.database.js +7 -7
  31. package/dist/data/data.database.js.map +1 -1
  32. package/dist/data/data.model.d.ts +3 -0
  33. package/dist/data/data.model.js +4 -1
  34. package/dist/data/data.model.js.map +1 -1
  35. package/dist/data/data.resolver.d.ts +8 -8
  36. package/dist/data/data.resolver.js +25 -25
  37. package/dist/data/data.resolver.js.map +1 -1
  38. package/dist/data/data.service.d.ts +11 -12
  39. package/dist/data/data.service.js +49 -62
  40. package/dist/data/data.service.js.map +1 -1
  41. package/dist/datafolder/datafolder.database.js +2 -1
  42. package/dist/datafolder/datafolder.database.js.map +1 -1
  43. package/dist/datafolder/datafolder.model.d.ts +2 -0
  44. package/dist/datafolder/datafolder.model.js +2 -0
  45. package/dist/datafolder/datafolder.model.js.map +1 -1
  46. package/dist/datafolder/datafolder.resolver.d.ts +6 -6
  47. package/dist/datafolder/datafolder.resolver.js +18 -18
  48. package/dist/datafolder/datafolder.resolver.js.map +1 -1
  49. package/dist/datafolder/datafolder.service.d.ts +7 -7
  50. package/dist/datafolder/datafolder.service.js +41 -45
  51. package/dist/datafolder/datafolder.service.js.map +1 -1
  52. package/dist/dataroot/dataroot.resolver.d.ts +1 -1
  53. package/dist/dataroot/dataroot.resolver.js +3 -3
  54. package/dist/dataroot/dataroot.resolver.js.map +1 -1
  55. package/dist/dataroot/dataroot.service.d.ts +3 -3
  56. package/dist/dataroot/dataroot.service.js +8 -8
  57. package/dist/dataroot/dataroot.service.js.map +1 -1
  58. package/dist/datarule/datarule.model.d.ts +1 -0
  59. package/dist/datarule/datarule.model.js +2 -1
  60. package/dist/datarule/datarule.model.js.map +1 -1
  61. package/dist/datarule/datarule.service.d.ts +4 -4
  62. package/dist/datarule/datarule.service.js +18 -21
  63. package/dist/datarule/datarule.service.js.map +1 -1
  64. package/dist/globalrule/globalrule.service.d.ts +3 -3
  65. package/dist/globalrule/globalrule.service.js +13 -21
  66. package/dist/globalrule/globalrule.service.js.map +1 -1
  67. package/dist/group/group.resolver.d.ts +2 -2
  68. package/dist/group/group.resolver.js +6 -6
  69. package/dist/group/group.resolver.js.map +1 -1
  70. package/dist/group/group.service.d.ts +7 -7
  71. package/dist/group/group.service.js +46 -49
  72. package/dist/group/group.service.js.map +1 -1
  73. package/dist/index.js +8 -8
  74. package/dist/index.js.map +1 -1
  75. package/dist/organization/organization.service.d.ts +2 -2
  76. package/dist/organization/organization.service.js +7 -7
  77. package/dist/organization/organization.service.js.map +1 -1
  78. package/dist/page/page.bootstrap.js +3 -3
  79. package/dist/page/page.bootstrap.js.map +1 -1
  80. package/dist/page/page.database.js +28 -14
  81. package/dist/page/page.database.js.map +1 -1
  82. package/dist/page/page.model.d.ts +2 -0
  83. package/dist/page/page.model.js.map +1 -1
  84. package/dist/page/page.resolver.d.ts +8 -8
  85. package/dist/page/page.resolver.js +24 -24
  86. package/dist/page/page.resolver.js.map +1 -1
  87. package/dist/page/page.routes.js +33 -39
  88. package/dist/page/page.routes.js.map +1 -1
  89. package/dist/page/page.service.d.ts +20 -16
  90. package/dist/page/page.service.js +79 -95
  91. package/dist/page/page.service.js.map +1 -1
  92. package/dist/pagerule/pagerule.service.d.ts +2 -2
  93. package/dist/pagerule/pagerule.service.js +15 -18
  94. package/dist/pagerule/pagerule.service.js.map +1 -1
  95. package/dist/pagetree/pagetree.resolver.d.ts +5 -5
  96. package/dist/pagetree/pagetree.resolver.js +18 -18
  97. package/dist/pagetree/pagetree.resolver.js.map +1 -1
  98. package/dist/pagetree/pagetree.service.d.ts +5 -7
  99. package/dist/pagetree/pagetree.service.js +26 -72
  100. package/dist/pagetree/pagetree.service.js.map +1 -1
  101. package/dist/role/role.resolver.d.ts +3 -3
  102. package/dist/role/role.resolver.js +9 -9
  103. package/dist/role/role.resolver.js.map +1 -1
  104. package/dist/role/role.service.d.ts +6 -7
  105. package/dist/role/role.service.js +32 -32
  106. package/dist/role/role.service.js.map +1 -1
  107. package/dist/site/site.database.js +3 -7
  108. package/dist/site/site.database.js.map +1 -1
  109. package/dist/site/site.resolver.d.ts +7 -7
  110. package/dist/site/site.resolver.js +30 -30
  111. package/dist/site/site.resolver.js.map +1 -1
  112. package/dist/site/site.service.d.ts +13 -11
  113. package/dist/site/site.service.js +50 -57
  114. package/dist/site/site.service.js.map +1 -1
  115. package/dist/sitecomment/sitecomment.routes.js +3 -4
  116. package/dist/sitecomment/sitecomment.routes.js.map +1 -1
  117. package/dist/sitecomment/sitecomment.service.d.ts +1 -1
  118. package/dist/sitecomment/sitecomment.service.js +5 -9
  119. package/dist/sitecomment/sitecomment.service.js.map +1 -1
  120. package/dist/siterule/siterule.service.d.ts +2 -2
  121. package/dist/siterule/siterule.service.js +13 -15
  122. package/dist/siterule/siterule.service.js.map +1 -1
  123. package/dist/template/template.resolver.d.ts +2 -2
  124. package/dist/template/template.resolver.js +6 -6
  125. package/dist/template/template.resolver.js.map +1 -1
  126. package/dist/template/template.service.d.ts +4 -4
  127. package/dist/template/template.service.js +21 -25
  128. package/dist/template/template.service.js.map +1 -1
  129. package/dist/templaterule/templaterule.service.d.ts +2 -2
  130. package/dist/templaterule/templaterule.service.js +11 -13
  131. package/dist/templaterule/templaterule.service.js.map +1 -1
  132. package/dist/user/user.service.d.ts +6 -6
  133. package/dist/user/user.service.js +30 -31
  134. package/dist/user/user.service.js.map +1 -1
  135. package/dist/util/authservice.d.ts +17 -27
  136. package/dist/util/authservice.js +29 -155
  137. package/dist/util/authservice.js.map +1 -1
  138. package/dist/util/context.d.ts +24 -0
  139. package/dist/util/context.js +99 -0
  140. package/dist/util/context.js.map +1 -0
  141. package/dist/util/index.d.ts +2 -0
  142. package/dist/util/index.js +4 -0
  143. package/dist/util/index.js.map +1 -1
  144. package/dist/util/registry.d.ts +6 -2
  145. package/dist/util/registry.js +3 -0
  146. package/dist/util/registry.js.map +1 -1
  147. package/dist/version/version.resolver.js +3 -3
  148. package/dist/version/version.resolver.js.map +1 -1
  149. package/package.json +2 -2
@@ -0,0 +1,99 @@
1
+ import { MockContext } from '@txstate-mws/graphql-server';
2
+ import { AssetRule, DataRule, PageRule, RoleServiceInternal, RulePathMode, SiteRule, getPageRules, getAssetRules, getDataRules, getSiteRules, getGlobalRules, getTemplateRules, getUsers, GroupServiceInternal } from '../internal.js';
3
+ import { Cache, keyby } from 'txstate-utils';
4
+ async function fetchPageRules(netid, roleIds) {
5
+ if (netid === 'anonymous')
6
+ return [new PageRule({ path: '/', mode: RulePathMode.SELFANDSUB })];
7
+ if (netid === 'render')
8
+ return [new PageRule({ path: '/', mode: RulePathMode.SELFANDSUB, viewlatest: true })];
9
+ if (roleIds.length === 0)
10
+ return [];
11
+ return await getPageRules({ roleIds });
12
+ }
13
+ async function fetchAssetRules(netid, roleIds) {
14
+ if (netid === 'anonymous')
15
+ return [];
16
+ if (netid === 'render')
17
+ return [new AssetRule({ path: '/', mode: RulePathMode.SELFANDSUB })];
18
+ if (roleIds.length === 0)
19
+ return [];
20
+ return await getAssetRules({ roleIds });
21
+ }
22
+ async function fetchSiteRules(netid, roleIds) {
23
+ if (netid === 'anonymous' || netid === 'render')
24
+ return [new SiteRule({})];
25
+ if (roleIds.length === 0)
26
+ return [];
27
+ return await getSiteRules({ roleIds });
28
+ }
29
+ async function fetchDataRules(netid, roleIds) {
30
+ if (netid === 'anonymous')
31
+ return [new DataRule({ path: '/' })];
32
+ if (netid === 'render')
33
+ return [new DataRule({ path: '/', viewlatest: true })];
34
+ if (roleIds.length === 0)
35
+ return [];
36
+ return await getDataRules({ roleIds });
37
+ }
38
+ async function fetchGlobalRules(netid, roleIds) {
39
+ const grants = {
40
+ manageAccess: false,
41
+ manageGlobalData: false,
42
+ manageParentRoles: false,
43
+ manageTemplates: false,
44
+ createSites: false
45
+ };
46
+ if (roleIds.length === 0)
47
+ return grants;
48
+ const rules = await getGlobalRules({ roleIds });
49
+ for (const r of rules) {
50
+ grants.manageAccess || (grants.manageAccess = r.grants.manageAccess);
51
+ grants.manageGlobalData || (grants.manageGlobalData = r.grants.manageGlobalData);
52
+ grants.manageParentRoles || (grants.manageParentRoles = r.grants.manageParentRoles);
53
+ grants.manageTemplates || (grants.manageTemplates = r.grants.manageTemplates);
54
+ grants.createSites || (grants.createSites = r.grants.createSites);
55
+ }
56
+ return grants;
57
+ }
58
+ async function fetchTemplateRules(netid, roleIds) {
59
+ if (roleIds.length === 0)
60
+ return [];
61
+ return await getTemplateRules({ roleIds });
62
+ }
63
+ async function fetchUser(login) {
64
+ if (['render', 'anonymous'].includes(login))
65
+ return undefined;
66
+ return (await getUsers({ ids: [login] }))[0];
67
+ }
68
+ async function fetchGroups(login, ctx) {
69
+ const groups = await ctx.svc(GroupServiceInternal).findByUserId(login);
70
+ return keyby(groups, 'id');
71
+ }
72
+ const authCache = new Cache(async (login, ctx) => {
73
+ const roles = await ctx.svc(RoleServiceInternal).findByUserId(login);
74
+ const roleIds = roles.map(r => r.id);
75
+ const [pageRules, assetRules, siteRules, dataRules, globalGrants, templateRules, groupsById, user] = await Promise.all([
76
+ fetchPageRules(login, roleIds),
77
+ fetchAssetRules(login, roleIds),
78
+ fetchSiteRules(login, roleIds),
79
+ fetchDataRules(login, roleIds),
80
+ fetchGlobalRules(login, roleIds),
81
+ fetchTemplateRules(login, roleIds),
82
+ fetchGroups(login, ctx),
83
+ fetchUser(login)
84
+ ]);
85
+ return { roles, pageRules, assetRules, siteRules, dataRules, globalGrants, templateRules, groupsById, user };
86
+ });
87
+ export function dgContextMixin(Ctx) {
88
+ return class extends Ctx {
89
+ get login() {
90
+ return this.auth?.sub ?? this.auth?.client_id ?? 'anonymous';
91
+ }
92
+ async waitForAuth() {
93
+ await super.waitForAuth();
94
+ this.authInfo = await authCache.get(this.login, this);
95
+ }
96
+ };
97
+ }
98
+ export const DGMockContext = dgContextMixin(MockContext);
99
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/util/context.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './authservice.js';
2
+ export * from './context.js';
2
3
  export * from './indexing.js';
3
4
  export * from './migrations.js';
4
5
  export * from './registry.js';
@@ -22,6 +23,7 @@ export declare function popPath(path: string): string;
22
23
  * must begin with a / or else it will remove two directories
23
24
  */
24
25
  export declare function shiftPath(path: string): string;
26
+ export declare function ensureEndSlash(path: string): string;
25
27
  export declare function basename(p: string): string;
26
28
  export declare function numerate(name: string): string;
27
29
  export declare function numerateLoop(name: string, usedNames: Set<string>): string;
@@ -1,6 +1,7 @@
1
1
  import path from 'path';
2
2
  import { isNotBlank } from 'txstate-utils';
3
3
  export * from './authservice.js';
4
+ export * from './context.js';
4
5
  export * from './indexing.js';
5
6
  export * from './migrations.js';
6
7
  export * from './registry.js';
@@ -39,6 +40,9 @@ export function popPath(path) {
39
40
  export function shiftPath(path) {
40
41
  return '/' + path.split('/').slice(2).join('/');
41
42
  }
43
+ export function ensureEndSlash(path) {
44
+ return path.endsWith('/') ? path : path + '/';
45
+ }
42
46
  export function basename(p) {
43
47
  return path.basename(p);
44
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type APITemplateType, type APIAnyTemplate, type APIPageTemplate, type APIComponentTemplate, type APIDataTemplate, type LinkDefinition, type Migration } from '@dosgato/templating';
2
+ import type { FastifyRequest } from 'fastify';
2
3
  import { DateTime } from 'luxon';
3
- import { TemplateArea } from '../internal.js';
4
+ import { TemplateArea, type DGContextClass, type DGContext } from '../internal.js';
4
5
  import { type DGStartOpts } from '../index.js';
5
6
  interface HasHydratedAreas {
6
7
  getLinks: (data: any) => LinkDefinition[];
@@ -32,7 +33,9 @@ declare class TemplateRegistry {
32
33
  isPage: boolean;
33
34
  })[];
34
35
  currentSchemaVersion: DateTime;
35
- serverConfig: Omit<DGStartOpts, 'templates'>;
36
+ serverConfig: Omit<DGStartOpts, 'templates'> & {
37
+ customContext: DGContextClass;
38
+ };
36
39
  register(template: APIAnyTemplate): void;
37
40
  sortMigrations(): void;
38
41
  /**
@@ -48,6 +51,7 @@ declare class TemplateRegistry {
48
51
  getComponentTemplate(templateKey: string): ComponentTemplate;
49
52
  getPageOrComponentTemplate(templateKey: string): PageTemplate | ComponentTemplate;
50
53
  getType(type: APITemplateType): PageTemplate[] | ComponentTemplate[] | DataTemplate[];
54
+ getCtx(req: FastifyRequest): DGContext;
51
55
  }
52
56
  export declare const templateRegistry: TemplateRegistry;
53
57
  export {};
@@ -57,6 +57,9 @@ class TemplateRegistry {
57
57
  getType(type) {
58
58
  return this.byType[type];
59
59
  }
60
+ getCtx(req) {
61
+ return new this.serverConfig.customContext(req);
62
+ }
60
63
  }
61
64
  export const templateRegistry = new TemplateRegistry();
62
65
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/util/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/util/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAuC,MAAM,gBAAgB,CAAA;AAC9F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAelD,MAAM,gBAAgB;IAAtB;QACY,WAAM,GAAmF,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QAC9H,UAAK,GAAgC,EAAE,CAAA;QACvC,eAAU,GAAuE,EAAE,CAAA;QACtF,sBAAiB,GAAuE,EAAE,CAAA;QAC1F,uBAAkB,GAAuE,EAAE,CAAA;QAC3F,yBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IA4DvJ,CAAC;IAzDC,QAAQ,CAAE,QAAwB;QAChC,MAAM,QAAQ,GAAgB,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAiB,CAAA;QAC/E,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;YACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC7C,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;aACzE;SACF;QACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACxD,QAAQ,CAAC,QAAQ,GAAG,CAAC,IAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/E,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;YAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAA;QAC/F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAe,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAA;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACjJ,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;QACpE,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IACtE,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAE,WAAmB,EAAE,IAAY,EAAE,kBAA0B;QAClF,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;IACtF,CAAC;IAED,GAAG,CAAE,WAAmB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAED,eAAe,CAAE,WAAmB;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAiB,CAAA;IAC9C,CAAC;IAED,eAAe,CAAE,WAAmB;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAiB,CAAA;IAC9C,CAAC;IAED,oBAAoB,CAAE,WAAmB;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAsB,CAAA;IACnD,CAAC;IAED,0BAA0B,CAAE,WAAmB;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAqC,CAAA;IAClE,CAAC;IAED,OAAO,CAAE,IAAqB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAE,GAAmB;QACzB,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAc,CAAA;IAC9D,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA"}
@@ -30,9 +30,9 @@ let VersionResolver = class VersionResolver {
30
30
  ]);
31
31
  if (!page && !asset && !data)
32
32
  throw new Error('Specified dataId could not be found.');
33
- if ((page && !await ctx.svc(PageService).mayUpdate(page)) ||
34
- (asset && !await ctx.svc(AssetService).mayUpdate(asset)) ||
35
- (data && !await ctx.svc(DataService).mayUpdate(data)))
33
+ if ((page && !ctx.svc(PageService).mayUpdate(page)) ||
34
+ (asset && !ctx.svc(AssetService).mayUpdate(asset)) ||
35
+ (data && !ctx.svc(DataService).mayUpdate(data)))
36
36
  throw new Error('You are not allowed to mark or unmark this version.');
37
37
  const vSvc = ctx.svc(VersionedService);
38
38
  await vSvc.toggleMarked(intDataId, version);
@@ -1 +1 @@
1
- {"version":3,"file":"version.resolver.js","sourceRoot":"","sources":["../../src/version/version.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version.resolver.js","sourceRoot":"","sources":["../../src/version/version.resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dosgato/api",
3
- "version": "1.2.4",
3
+ "version": "1.3.1",
4
4
  "description": "A CMS designed for large institutions with thousands of editors and hundreds of subsites.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -10,7 +10,7 @@
10
10
  "dependencies": {
11
11
  "@dosgato/templating": "^1.0.3",
12
12
  "@fastify/multipart": "^8.0.0",
13
- "@txstate-mws/graphql-server": "^2.1.4",
13
+ "@txstate-mws/graphql-server": "^2.2.4",
14
14
  "archiver": "^6.0.1",
15
15
  "dataloader-factory": "^4.5.0",
16
16
  "fast-json-patch": "^3.1.0",