@powerhousedao/vetra 6.0.0-dev.50 → 6.0.0-dev.53

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 (53) hide show
  1. package/dist/subgraphs/index.d.ts +0 -5
  2. package/dist/subgraphs/index.d.ts.map +1 -1
  3. package/dist/subgraphs/index.js +0 -5
  4. package/dist/tsconfig.tsbuildinfo +1 -1
  5. package/package.json +16 -16
  6. package/dist/subgraphs/__tests__/app-module-permissions.test.d.ts +0 -2
  7. package/dist/subgraphs/__tests__/app-module-permissions.test.d.ts.map +0 -1
  8. package/dist/subgraphs/__tests__/app-module-permissions.test.js +0 -436
  9. package/dist/subgraphs/app-module/index.d.ts +0 -11
  10. package/dist/subgraphs/app-module/index.d.ts.map +0 -1
  11. package/dist/subgraphs/app-module/index.js +0 -11
  12. package/dist/subgraphs/app-module/resolvers.d.ts +0 -3
  13. package/dist/subgraphs/app-module/resolvers.d.ts.map +0 -1
  14. package/dist/subgraphs/app-module/resolvers.js +0 -188
  15. package/dist/subgraphs/app-module/schema.d.ts +0 -3
  16. package/dist/subgraphs/app-module/schema.d.ts.map +0 -1
  17. package/dist/subgraphs/app-module/schema.js +0 -78
  18. package/dist/subgraphs/document-editor/index.d.ts +0 -11
  19. package/dist/subgraphs/document-editor/index.d.ts.map +0 -1
  20. package/dist/subgraphs/document-editor/index.js +0 -11
  21. package/dist/subgraphs/document-editor/resolvers.d.ts +0 -3
  22. package/dist/subgraphs/document-editor/resolvers.d.ts.map +0 -1
  23. package/dist/subgraphs/document-editor/resolvers.js +0 -158
  24. package/dist/subgraphs/document-editor/schema.d.ts +0 -3
  25. package/dist/subgraphs/document-editor/schema.d.ts.map +0 -1
  26. package/dist/subgraphs/document-editor/schema.js +0 -59
  27. package/dist/subgraphs/processor-module/index.d.ts +0 -10
  28. package/dist/subgraphs/processor-module/index.d.ts.map +0 -1
  29. package/dist/subgraphs/processor-module/index.js +0 -11
  30. package/dist/subgraphs/processor-module/resolvers.d.ts +0 -3
  31. package/dist/subgraphs/processor-module/resolvers.d.ts.map +0 -1
  32. package/dist/subgraphs/processor-module/resolvers.js +0 -173
  33. package/dist/subgraphs/processor-module/schema.d.ts +0 -3
  34. package/dist/subgraphs/processor-module/schema.d.ts.map +0 -1
  35. package/dist/subgraphs/processor-module/schema.js +0 -67
  36. package/dist/subgraphs/subgraph-module/index.d.ts +0 -10
  37. package/dist/subgraphs/subgraph-module/index.d.ts.map +0 -1
  38. package/dist/subgraphs/subgraph-module/index.js +0 -11
  39. package/dist/subgraphs/subgraph-module/resolvers.d.ts +0 -3
  40. package/dist/subgraphs/subgraph-module/resolvers.d.ts.map +0 -1
  41. package/dist/subgraphs/subgraph-module/resolvers.js +0 -128
  42. package/dist/subgraphs/subgraph-module/schema.d.ts +0 -3
  43. package/dist/subgraphs/subgraph-module/schema.d.ts.map +0 -1
  44. package/dist/subgraphs/subgraph-module/schema.js +0 -42
  45. package/dist/subgraphs/vetra-package/index.d.ts +0 -10
  46. package/dist/subgraphs/vetra-package/index.d.ts.map +0 -1
  47. package/dist/subgraphs/vetra-package/index.js +0 -11
  48. package/dist/subgraphs/vetra-package/resolvers.d.ts +0 -3
  49. package/dist/subgraphs/vetra-package/resolvers.d.ts.map +0 -1
  50. package/dist/subgraphs/vetra-package/resolvers.js +0 -248
  51. package/dist/subgraphs/vetra-package/schema.d.ts +0 -3
  52. package/dist/subgraphs/vetra-package/schema.d.ts.map +0 -1
  53. package/dist/subgraphs/vetra-package/schema.js +0 -108
@@ -1,248 +0,0 @@
1
- import { addFile } from "document-drive";
2
- import { setName } from "document-model";
3
- import { GraphQLError } from "graphql";
4
- import { actions, vetraPackageDocumentType, } from "@powerhousedao/vetra/document-models/vetra-package";
5
- import { assertCanRead, assertCanWrite, assertCanExecuteOperation, canReadDocument, hasGlobalReadAccess, hasGlobalWriteAccess, } from "../permission-utils.js";
6
- export const getResolvers = (subgraph) => {
7
- const reactor = subgraph.reactor;
8
- return {
9
- Query: {
10
- VetraPackage: (_, __, ctx) => {
11
- return {
12
- getDocument: async (args) => {
13
- const { docId, driveId } = args;
14
- if (!docId) {
15
- throw new Error("Document id is required");
16
- }
17
- // Check read permission before accessing document
18
- await assertCanRead(subgraph, docId, ctx);
19
- if (driveId) {
20
- const docIds = await reactor.getDocuments(driveId);
21
- if (!docIds.includes(docId)) {
22
- throw new Error(`Document with id ${docId} is not part of ${driveId}`);
23
- }
24
- }
25
- const doc = await reactor.getDocument(docId);
26
- return {
27
- driveId: driveId,
28
- ...doc,
29
- ...doc.header,
30
- created: doc.header.createdAtUtcIso,
31
- lastModified: doc.header.lastModifiedAtUtcIso,
32
- state: doc.state.global,
33
- stateJSON: doc.state.global,
34
- revision: doc.header?.revision?.global ?? 0,
35
- };
36
- },
37
- getDocuments: async (args) => {
38
- const { driveId } = args;
39
- // Check read permission on drive before listing documents
40
- await assertCanRead(subgraph, driveId, ctx);
41
- const docsIds = await reactor.getDocuments(driveId);
42
- const docs = await Promise.all(docsIds.map(async (docId) => {
43
- const doc = await reactor.getDocument(docId);
44
- return {
45
- driveId: driveId,
46
- ...doc,
47
- ...doc.header,
48
- created: doc.header.createdAtUtcIso,
49
- lastModified: doc.header.lastModifiedAtUtcIso,
50
- state: doc.state.global,
51
- stateJSON: doc.state.global,
52
- revision: doc.header?.revision?.global ?? 0,
53
- };
54
- }));
55
- const filteredByType = docs.filter((doc) => doc.header.documentType === vetraPackageDocumentType);
56
- // If user doesn't have global read access, filter by document-level permissions
57
- if (!hasGlobalReadAccess(ctx) &&
58
- subgraph.documentPermissionService) {
59
- const filteredDocs = [];
60
- for (const doc of filteredByType) {
61
- const canRead = await canReadDocument(subgraph, doc.id, ctx);
62
- if (canRead) {
63
- filteredDocs.push(doc);
64
- }
65
- }
66
- return filteredDocs;
67
- }
68
- return filteredByType;
69
- },
70
- };
71
- },
72
- },
73
- Mutation: {
74
- VetraPackage_createDocument: async (_, args, ctx) => {
75
- const { driveId, name } = args;
76
- // If creating under a drive, check write permission on drive
77
- if (driveId) {
78
- await assertCanWrite(subgraph, driveId, ctx);
79
- }
80
- else if (!hasGlobalWriteAccess(ctx)) {
81
- throw new GraphQLError("Forbidden: insufficient permissions to create documents");
82
- }
83
- const document = await reactor.addDocument(vetraPackageDocumentType);
84
- if (driveId) {
85
- await reactor.addAction(driveId, addFile({
86
- name,
87
- id: document.header.id,
88
- documentType: vetraPackageDocumentType,
89
- }));
90
- }
91
- if (name) {
92
- await reactor.addAction(document.header.id, setName(name));
93
- }
94
- return document.header.id;
95
- },
96
- VetraPackage_setPackageName: async (_, args, ctx) => {
97
- const { docId, input } = args;
98
- // Check write permission before mutating document
99
- await assertCanWrite(subgraph, docId, ctx);
100
- await assertCanExecuteOperation(subgraph, docId, "SET_PACKAGE_NAME", ctx);
101
- const doc = await reactor.getDocument(docId);
102
- if (!doc) {
103
- throw new Error("Document not found");
104
- }
105
- const result = await reactor.addAction(docId, actions.setPackageName(input));
106
- if (result.status !== "SUCCESS") {
107
- throw new Error(result.error?.message ?? "Failed to setPackageName");
108
- }
109
- return true;
110
- },
111
- VetraPackage_setPackageDescription: async (_, args, ctx) => {
112
- const { docId, input } = args;
113
- // Check write permission before mutating document
114
- await assertCanWrite(subgraph, docId, ctx);
115
- await assertCanExecuteOperation(subgraph, docId, "SET_PACKAGE_DESCRIPTION", ctx);
116
- const doc = await reactor.getDocument(docId);
117
- if (!doc) {
118
- throw new Error("Document not found");
119
- }
120
- const result = await reactor.addAction(docId, actions.setPackageDescription(input));
121
- if (result.status !== "SUCCESS") {
122
- throw new Error(result.error?.message ?? "Failed to setPackageDescription");
123
- }
124
- return true;
125
- },
126
- VetraPackage_setPackageCategory: async (_, args, ctx) => {
127
- const { docId, input } = args;
128
- // Check write permission before mutating document
129
- await assertCanWrite(subgraph, docId, ctx);
130
- await assertCanExecuteOperation(subgraph, docId, "SET_PACKAGE_CATEGORY", ctx);
131
- const doc = await reactor.getDocument(docId);
132
- if (!doc) {
133
- throw new Error("Document not found");
134
- }
135
- const result = await reactor.addAction(docId, actions.setPackageCategory(input));
136
- if (result.status !== "SUCCESS") {
137
- throw new Error(result.error?.message ?? "Failed to setPackageCategory");
138
- }
139
- return true;
140
- },
141
- VetraPackage_setPackageAuthor: async (_, args, ctx) => {
142
- const { docId, input } = args;
143
- // Check write permission before mutating document
144
- await assertCanWrite(subgraph, docId, ctx);
145
- await assertCanExecuteOperation(subgraph, docId, "SET_PACKAGE_AUTHOR", ctx);
146
- const doc = await reactor.getDocument(docId);
147
- if (!doc) {
148
- throw new Error("Document not found");
149
- }
150
- const result = await reactor.addAction(docId, actions.setPackageAuthor(input));
151
- if (result.status !== "SUCCESS") {
152
- throw new Error(result.error?.message ?? "Failed to setPackageAuthor");
153
- }
154
- return true;
155
- },
156
- VetraPackage_setPackageAuthorName: async (_, args, ctx) => {
157
- const { docId, input } = args;
158
- // Check write permission before mutating document
159
- await assertCanWrite(subgraph, docId, ctx);
160
- await assertCanExecuteOperation(subgraph, docId, "SET_PACKAGE_AUTHOR_NAME", ctx);
161
- const doc = await reactor.getDocument(docId);
162
- if (!doc) {
163
- throw new Error("Document not found");
164
- }
165
- const result = await reactor.addAction(docId, actions.setPackageAuthorName(input));
166
- if (result.status !== "SUCCESS") {
167
- throw new Error(result.error?.message ?? "Failed to setPackageAuthorName");
168
- }
169
- return true;
170
- },
171
- VetraPackage_setPackageAuthorWebsite: async (_, args, ctx) => {
172
- const { docId, input } = args;
173
- // Check write permission before mutating document
174
- await assertCanWrite(subgraph, docId, ctx);
175
- await assertCanExecuteOperation(subgraph, docId, "SET_PACKAGE_AUTHOR_WEBSITE", ctx);
176
- const doc = await reactor.getDocument(docId);
177
- if (!doc) {
178
- throw new Error("Document not found");
179
- }
180
- const result = await reactor.addAction(docId, actions.setPackageAuthorWebsite(input));
181
- if (result.status !== "SUCCESS") {
182
- throw new Error(result.error?.message ?? "Failed to setPackageAuthorWebsite");
183
- }
184
- return true;
185
- },
186
- VetraPackage_addPackageKeyword: async (_, args, ctx) => {
187
- const { docId, input } = args;
188
- // Check write permission before mutating document
189
- await assertCanWrite(subgraph, docId, ctx);
190
- await assertCanExecuteOperation(subgraph, docId, "ADD_PACKAGE_KEYWORD", ctx);
191
- const doc = await reactor.getDocument(docId);
192
- if (!doc) {
193
- throw new Error("Document not found");
194
- }
195
- const result = await reactor.addAction(docId, actions.addPackageKeyword(input));
196
- if (result.status !== "SUCCESS") {
197
- throw new Error(result.error?.message ?? "Failed to addPackageKeyword");
198
- }
199
- return true;
200
- },
201
- VetraPackage_removePackageKeyword: async (_, args, ctx) => {
202
- const { docId, input } = args;
203
- // Check write permission before mutating document
204
- await assertCanWrite(subgraph, docId, ctx);
205
- await assertCanExecuteOperation(subgraph, docId, "REMOVE_PACKAGE_KEYWORD", ctx);
206
- const doc = await reactor.getDocument(docId);
207
- if (!doc) {
208
- throw new Error("Document not found");
209
- }
210
- const result = await reactor.addAction(docId, actions.removePackageKeyword(input));
211
- if (result.status !== "SUCCESS") {
212
- throw new Error(result.error?.message ?? "Failed to removePackageKeyword");
213
- }
214
- return true;
215
- },
216
- VetraPackage_setPackageGithubUrl: async (_, args, ctx) => {
217
- const { docId, input } = args;
218
- // Check write permission before mutating document
219
- await assertCanWrite(subgraph, docId, ctx);
220
- await assertCanExecuteOperation(subgraph, docId, "SET_PACKAGE_GITHUB_URL", ctx);
221
- const doc = await reactor.getDocument(docId);
222
- if (!doc) {
223
- throw new Error("Document not found");
224
- }
225
- const result = await reactor.addAction(docId, actions.setPackageGithubUrl(input));
226
- if (result.status !== "SUCCESS") {
227
- throw new Error(result.error?.message ?? "Failed to setPackageGithubUrl");
228
- }
229
- return true;
230
- },
231
- VetraPackage_setPackageNpmUrl: async (_, args, ctx) => {
232
- const { docId, input } = args;
233
- // Check write permission before mutating document
234
- await assertCanWrite(subgraph, docId, ctx);
235
- await assertCanExecuteOperation(subgraph, docId, "SET_PACKAGE_NPM_URL", ctx);
236
- const doc = await reactor.getDocument(docId);
237
- if (!doc) {
238
- throw new Error("Document not found");
239
- }
240
- const result = await reactor.addAction(docId, actions.setPackageNpmUrl(input));
241
- if (result.status !== "SUCCESS") {
242
- throw new Error(result.error?.message ?? "Failed to setPackageNpmUrl");
243
- }
244
- return true;
245
- },
246
- },
247
- };
248
- };
@@ -1,3 +0,0 @@
1
- import type { DocumentNode } from "graphql";
2
- export declare const schema: DocumentNode;
3
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../subgraphs/vetra-package/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,YA0GpB,CAAC"}
@@ -1,108 +0,0 @@
1
- import { gql } from "graphql-tag";
2
- export const schema = gql `
3
- """
4
- Queries: VetraPackage Document
5
- """
6
- type VetraPackageQueries {
7
- getDocument(docId: PHID!, driveId: PHID): VetraPackage
8
- getDocuments(driveId: String!): [VetraPackage!]
9
- }
10
-
11
- type Query {
12
- VetraPackage: VetraPackageQueries
13
- }
14
-
15
- """
16
- Mutations: VetraPackage
17
- """
18
- type Mutation {
19
- VetraPackage_createDocument(name: String!, driveId: String): String
20
-
21
- VetraPackage_setPackageName(
22
- driveId: String
23
- docId: PHID
24
- input: VetraPackage_SetPackageNameInput
25
- ): Int
26
- VetraPackage_setPackageDescription(
27
- driveId: String
28
- docId: PHID
29
- input: VetraPackage_SetPackageDescriptionInput
30
- ): Int
31
- VetraPackage_setPackageCategory(
32
- driveId: String
33
- docId: PHID
34
- input: VetraPackage_SetPackageCategoryInput
35
- ): Int
36
- VetraPackage_setPackageAuthor(
37
- driveId: String
38
- docId: PHID
39
- input: VetraPackage_SetPackageAuthorInput
40
- ): Int
41
- VetraPackage_setPackageAuthorName(
42
- driveId: String
43
- docId: PHID
44
- input: VetraPackage_SetPackageAuthorNameInput
45
- ): Int
46
- VetraPackage_setPackageAuthorWebsite(
47
- driveId: String
48
- docId: PHID
49
- input: VetraPackage_SetPackageAuthorWebsiteInput
50
- ): Int
51
- VetraPackage_addPackageKeyword(
52
- driveId: String
53
- docId: PHID
54
- input: VetraPackage_AddPackageKeywordInput
55
- ): Int
56
- VetraPackage_removePackageKeyword(
57
- driveId: String
58
- docId: PHID
59
- input: VetraPackage_RemovePackageKeywordInput
60
- ): Int
61
- VetraPackage_setPackageGithubUrl(
62
- driveId: String
63
- docId: PHID
64
- input: VetraPackage_SetPackageGithubUrlInput
65
- ): Int
66
- VetraPackage_setPackageNpmUrl(
67
- driveId: String
68
- docId: PHID
69
- input: VetraPackage_SetPackageNpmUrlInput
70
- ): Int
71
- }
72
-
73
- """
74
- Module: BaseOperations
75
- """
76
- input VetraPackage_SetPackageNameInput {
77
- name: String!
78
- }
79
- input VetraPackage_SetPackageDescriptionInput {
80
- description: String!
81
- }
82
- input VetraPackage_SetPackageCategoryInput {
83
- category: String!
84
- }
85
- input VetraPackage_SetPackageAuthorInput {
86
- name: OID
87
- website: URL
88
- }
89
- input VetraPackage_SetPackageAuthorNameInput {
90
- name: String!
91
- }
92
- input VetraPackage_SetPackageAuthorWebsiteInput {
93
- website: URL!
94
- }
95
- input VetraPackage_AddPackageKeywordInput {
96
- id: String!
97
- label: String!
98
- }
99
- input VetraPackage_RemovePackageKeywordInput {
100
- id: String!
101
- }
102
- input VetraPackage_SetPackageGithubUrlInput {
103
- url: URL!
104
- }
105
- input VetraPackage_SetPackageNpmUrlInput {
106
- url: URL!
107
- }
108
- `;