@commitspark/graphql-api 0.9.0 → 0.9.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 (124) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +7 -6
  3. package/dist/app/api.service.js.map +1 -0
  4. package/dist/container.js.map +1 -0
  5. package/dist/graphql/apollo-config-factory.service.js.map +1 -0
  6. package/dist/graphql/input-type-generator.service.js.map +1 -0
  7. package/dist/graphql/queries-mutations-generator.service.js.map +1 -0
  8. package/dist/graphql/resolver-generators/entry-reference-resolver.generator.js.map +1 -0
  9. package/dist/graphql/resolver-generators/mutation-create-resolver-generator.js.map +1 -0
  10. package/dist/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +1 -0
  11. package/dist/graphql/resolver-generators/mutation-update.resolver-generator.js.map +1 -0
  12. package/dist/graphql/resolver-generators/query-all-resolver-generator.js.map +1 -0
  13. package/dist/graphql/resolver-generators/query-by-id-resolver-generator.js.map +1 -0
  14. package/dist/graphql/resolver-generators/query-count-all-resolver-generator.js.map +1 -0
  15. package/dist/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +1 -0
  16. package/dist/graphql/resolver-generators/union-type-resolver-generator.js.map +1 -0
  17. package/dist/graphql/resolver-generators/union-value-resolver-generator.js.map +1 -0
  18. package/dist/graphql/schema-analyzer.service.js.map +1 -0
  19. package/dist/graphql/schema-generator.service.js.map +1 -0
  20. package/dist/graphql/schema-root-type-generator.service.js.map +1 -0
  21. package/dist/graphql/schema-utils/entry-reference-util.js.map +1 -0
  22. package/dist/graphql/schema-validator.js.map +1 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/{src/persistence → persistence}/persistence.service.js +1 -1
  25. package/dist/persistence/persistence.service.js.map +1 -0
  26. package/dist/tsconfig.build.tsbuildinfo +1 -1
  27. package/package.json +9 -1
  28. package/src/persistence/persistence.service.ts +1 -1
  29. package/.eslintrc.js +0 -25
  30. package/.github/workflows/jest.yaml +0 -17
  31. package/.github/workflows/lint.yaml +0 -17
  32. package/.prettierrc +0 -6
  33. package/dist/jest.config.d.ts +0 -7
  34. package/dist/jest.config.js +0 -12
  35. package/dist/jest.config.js.map +0 -1
  36. package/dist/src/app/api.service.js.map +0 -1
  37. package/dist/src/container.js.map +0 -1
  38. package/dist/src/graphql/apollo-config-factory.service.js.map +0 -1
  39. package/dist/src/graphql/input-type-generator.service.js.map +0 -1
  40. package/dist/src/graphql/queries-mutations-generator.service.js.map +0 -1
  41. package/dist/src/graphql/resolver-generators/entry-reference-resolver.generator.js.map +0 -1
  42. package/dist/src/graphql/resolver-generators/mutation-create-resolver-generator.js.map +0 -1
  43. package/dist/src/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +0 -1
  44. package/dist/src/graphql/resolver-generators/mutation-update.resolver-generator.js.map +0 -1
  45. package/dist/src/graphql/resolver-generators/query-all-resolver-generator.js.map +0 -1
  46. package/dist/src/graphql/resolver-generators/query-by-id-resolver-generator.js.map +0 -1
  47. package/dist/src/graphql/resolver-generators/query-count-all-resolver-generator.js.map +0 -1
  48. package/dist/src/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +0 -1
  49. package/dist/src/graphql/resolver-generators/union-type-resolver-generator.js.map +0 -1
  50. package/dist/src/graphql/resolver-generators/union-value-resolver-generator.js.map +0 -1
  51. package/dist/src/graphql/schema-analyzer.service.js.map +0 -1
  52. package/dist/src/graphql/schema-generator.service.js.map +0 -1
  53. package/dist/src/graphql/schema-root-type-generator.service.js.map +0 -1
  54. package/dist/src/graphql/schema-utils/entry-reference-util.js.map +0 -1
  55. package/dist/src/graphql/schema-validator.js.map +0 -1
  56. package/dist/src/index.js.map +0 -1
  57. package/dist/src/persistence/persistence.service.js.map +0 -1
  58. package/dist/tests/integration/mutation/create.test.d.ts +0 -1
  59. package/dist/tests/integration/mutation/create.test.js +0 -78
  60. package/dist/tests/integration/mutation/create.test.js.map +0 -1
  61. package/dist/tests/integration/mutation/delete.test.d.ts +0 -1
  62. package/dist/tests/integration/mutation/delete.test.js +0 -117
  63. package/dist/tests/integration/mutation/delete.test.js.map +0 -1
  64. package/dist/tests/integration/mutation/update.test.d.ts +0 -1
  65. package/dist/tests/integration/mutation/update.test.js +0 -134
  66. package/dist/tests/integration/mutation/update.test.js.map +0 -1
  67. package/dist/tests/integration/query/query.test.d.ts +0 -1
  68. package/dist/tests/integration/query/query.test.js +0 -237
  69. package/dist/tests/integration/query/query.test.js.map +0 -1
  70. package/dist/tests/integration/schema/schema-generator.test.d.ts +0 -1
  71. package/dist/tests/integration/schema/schema-generator.test.js +0 -381
  72. package/dist/tests/integration/schema/schema-generator.test.js.map +0 -1
  73. package/jest.config.ts +0 -14
  74. package/tests/integration/mutation/create.test.ts +0 -89
  75. package/tests/integration/mutation/delete.test.ts +0 -133
  76. package/tests/integration/mutation/update.test.ts +0 -151
  77. package/tests/integration/query/query.test.ts +0 -253
  78. package/tests/integration/schema/schema-generator.test.ts +0 -399
  79. package/tsconfig.build.json +0 -10
  80. package/tsconfig.json +0 -18
  81. package/webpack.config.js +0 -25
  82. /package/dist/{src/app → app}/api.service.d.ts +0 -0
  83. /package/dist/{src/app → app}/api.service.js +0 -0
  84. /package/dist/{src/container.d.ts → container.d.ts} +0 -0
  85. /package/dist/{src/container.js → container.js} +0 -0
  86. /package/dist/{src/graphql → graphql}/apollo-config-factory.service.d.ts +0 -0
  87. /package/dist/{src/graphql → graphql}/apollo-config-factory.service.js +0 -0
  88. /package/dist/{src/graphql → graphql}/input-type-generator.service.d.ts +0 -0
  89. /package/dist/{src/graphql → graphql}/input-type-generator.service.js +0 -0
  90. /package/dist/{src/graphql → graphql}/queries-mutations-generator.service.d.ts +0 -0
  91. /package/dist/{src/graphql → graphql}/queries-mutations-generator.service.js +0 -0
  92. /package/dist/{src/graphql → graphql}/resolver-generators/entry-reference-resolver.generator.d.ts +0 -0
  93. /package/dist/{src/graphql → graphql}/resolver-generators/entry-reference-resolver.generator.js +0 -0
  94. /package/dist/{src/graphql → graphql}/resolver-generators/mutation-create-resolver-generator.d.ts +0 -0
  95. /package/dist/{src/graphql → graphql}/resolver-generators/mutation-create-resolver-generator.js +0 -0
  96. /package/dist/{src/graphql → graphql}/resolver-generators/mutation-delete-resolver-generator.d.ts +0 -0
  97. /package/dist/{src/graphql → graphql}/resolver-generators/mutation-delete-resolver-generator.js +0 -0
  98. /package/dist/{src/graphql → graphql}/resolver-generators/mutation-update.resolver-generator.d.ts +0 -0
  99. /package/dist/{src/graphql → graphql}/resolver-generators/mutation-update.resolver-generator.js +0 -0
  100. /package/dist/{src/graphql → graphql}/resolver-generators/query-all-resolver-generator.d.ts +0 -0
  101. /package/dist/{src/graphql → graphql}/resolver-generators/query-all-resolver-generator.js +0 -0
  102. /package/dist/{src/graphql → graphql}/resolver-generators/query-by-id-resolver-generator.d.ts +0 -0
  103. /package/dist/{src/graphql → graphql}/resolver-generators/query-by-id-resolver-generator.js +0 -0
  104. /package/dist/{src/graphql → graphql}/resolver-generators/query-count-all-resolver-generator.d.ts +0 -0
  105. /package/dist/{src/graphql → graphql}/resolver-generators/query-count-all-resolver-generator.js +0 -0
  106. /package/dist/{src/graphql → graphql}/resolver-generators/query-type-by-id-resolver-generator.d.ts +0 -0
  107. /package/dist/{src/graphql → graphql}/resolver-generators/query-type-by-id-resolver-generator.js +0 -0
  108. /package/dist/{src/graphql → graphql}/resolver-generators/union-type-resolver-generator.d.ts +0 -0
  109. /package/dist/{src/graphql → graphql}/resolver-generators/union-type-resolver-generator.js +0 -0
  110. /package/dist/{src/graphql → graphql}/resolver-generators/union-value-resolver-generator.d.ts +0 -0
  111. /package/dist/{src/graphql → graphql}/resolver-generators/union-value-resolver-generator.js +0 -0
  112. /package/dist/{src/graphql → graphql}/schema-analyzer.service.d.ts +0 -0
  113. /package/dist/{src/graphql → graphql}/schema-analyzer.service.js +0 -0
  114. /package/dist/{src/graphql → graphql}/schema-generator.service.d.ts +0 -0
  115. /package/dist/{src/graphql → graphql}/schema-generator.service.js +0 -0
  116. /package/dist/{src/graphql → graphql}/schema-root-type-generator.service.d.ts +0 -0
  117. /package/dist/{src/graphql → graphql}/schema-root-type-generator.service.js +0 -0
  118. /package/dist/{src/graphql → graphql}/schema-utils/entry-reference-util.d.ts +0 -0
  119. /package/dist/{src/graphql → graphql}/schema-utils/entry-reference-util.js +0 -0
  120. /package/dist/{src/graphql → graphql}/schema-validator.d.ts +0 -0
  121. /package/dist/{src/graphql → graphql}/schema-validator.js +0 -0
  122. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  123. /package/dist/{src/index.js → index.js} +0 -0
  124. /package/dist/{src/persistence → persistence}/persistence.service.d.ts +0 -0
@@ -1,399 +0,0 @@
1
- import { GitAdapter } from '@commitspark/git-adapter'
2
- import { mock } from 'jest-mock-extended'
3
- import { getApiService } from '../../../src'
4
-
5
- describe('Schema generator', () => {
6
- it('should extend schema with a CRUD API for an @Entry type', async () => {
7
- const gitAdapter = mock<GitAdapter>()
8
- const gitRef = 'myRef'
9
- const commitHash = 'abcd'
10
- const originalSchema = `directive @Entry on OBJECT
11
- directive @Ui(visibleList:Boolean) on FIELD_DEFINITION
12
-
13
- type MyEntry @Entry {
14
- id: ID!
15
- name: String @Ui(visibleList:true)
16
- }`
17
-
18
- gitAdapter.getLatestCommitHash
19
- .calledWith(gitRef)
20
- .mockResolvedValue(commitHash)
21
- gitAdapter.getSchema
22
- .calledWith(commitHash)
23
- .mockResolvedValue(originalSchema)
24
-
25
- const apiService = await getApiService()
26
- const result = await apiService.getSchema(gitAdapter, gitRef)
27
-
28
- const expectedSchema = `directive @Entry on OBJECT
29
-
30
- directive @Ui(visibleList: Boolean) on FIELD_DEFINITION
31
-
32
- type MyEntry @Entry {
33
- id: ID!
34
- name: String @Ui(visibleList: true)
35
- }
36
-
37
- schema {
38
- query: Query
39
- mutation: Mutation
40
- }
41
-
42
- type Query {
43
- allMyEntrys: [MyEntry]
44
- _allMyEntrysMeta: ListMetadata
45
- MyEntry(id: ID!): MyEntry
46
- _typeName(id: ID!): String
47
- }
48
-
49
- type Mutation {
50
- createMyEntry(id: ID!, data:MyEntryInput, message:String): MyEntry
51
- updateMyEntry(id: ID!, data:MyEntryInput, message:String): MyEntry
52
- deleteMyEntry(id: ID!, message:String): DeletionResult
53
- }
54
-
55
- type ListMetadata {
56
- count: Int!
57
- }
58
-
59
- type DeletionResult {
60
- id: ID
61
- }
62
-
63
- input MyEntryIdInput {
64
- id: ID!
65
- }
66
-
67
- input MyEntryInput {
68
- name: String
69
- }
70
- `
71
-
72
- expect(result.data).toBe(expectedSchema)
73
- expect(result.ref).toBe(commitHash)
74
- })
75
-
76
- it('should extend schema with a CRUD API for two @Entry types with reference', async () => {
77
- const gitAdapter = mock<GitAdapter>()
78
- const gitRef = 'myRef'
79
- const commitHash = 'abcd'
80
- const originalSchema = `directive @Entry on OBJECT
81
-
82
- type EntryA @Entry {
83
- id: ID!
84
- name: String
85
- }
86
-
87
- type EntryB @Entry {
88
- id: ID!
89
- entryA: EntryA
90
- }`
91
-
92
- gitAdapter.getLatestCommitHash
93
- .calledWith(gitRef)
94
- .mockResolvedValue(commitHash)
95
- gitAdapter.getSchema
96
- .calledWith(commitHash)
97
- .mockResolvedValue(originalSchema)
98
-
99
- const apiService = await getApiService()
100
- const result = await apiService.getSchema(gitAdapter, gitRef)
101
-
102
- const expectedSchema = `directive @Entry on OBJECT
103
-
104
- type EntryA @Entry {
105
- id: ID!
106
- name: String
107
- }
108
-
109
- type EntryB @Entry {
110
- id: ID!
111
- entryA: EntryA
112
- }
113
-
114
- schema {
115
- query: Query
116
- mutation: Mutation
117
- }
118
-
119
- type Query {
120
- allEntryAs: [EntryA]
121
- allEntryBs: [EntryB]
122
- _allEntryAsMeta: ListMetadata
123
- _allEntryBsMeta: ListMetadata
124
- EntryA(id: ID!): EntryA
125
- EntryB(id: ID!): EntryB
126
- _typeName(id: ID!): String
127
- }
128
-
129
- type Mutation {
130
- createEntryA(id: ID!, data:EntryAInput, message:String): EntryA
131
- createEntryB(id: ID!, data:EntryBInput, message:String): EntryB
132
- updateEntryA(id: ID!, data:EntryAInput, message:String): EntryA
133
- updateEntryB(id: ID!, data:EntryBInput, message:String): EntryB
134
- deleteEntryA(id: ID!, message:String): DeletionResult
135
- deleteEntryB(id: ID!, message:String): DeletionResult
136
- }
137
-
138
- type ListMetadata {
139
- count: Int!
140
- }
141
-
142
- type DeletionResult {
143
- id: ID
144
- }
145
-
146
- input EntryAIdInput {
147
- id: ID!
148
- }
149
-
150
- input EntryBIdInput {
151
- id: ID!
152
- }
153
-
154
- input EntryAInput {
155
- name: String
156
- }
157
-
158
- input EntryBInput {
159
- entryA: EntryAIdInput
160
- }
161
- `
162
-
163
- expect(result.data).toBe(expectedSchema)
164
- expect(result.ref).toBe(commitHash)
165
- })
166
-
167
- it('should extend schema with a CRUD API for an @Entry-based union type', async () => {
168
- const gitAdapter = mock<GitAdapter>()
169
- const gitRef = 'myRef'
170
- const commitHash = 'abcd'
171
- const originalSchema = `directive @Entry on OBJECT
172
-
173
- type MyEntry @Entry {
174
- id: ID!
175
- union: MyUnion
176
- }
177
-
178
- union MyUnion =
179
- | EntryA
180
- | EntryB
181
-
182
- type EntryA @Entry {
183
- id: ID!
184
- field1: String
185
- }
186
-
187
- type EntryB @Entry {
188
- id: ID!
189
- field2: String
190
- }`
191
-
192
- gitAdapter.getLatestCommitHash
193
- .calledWith(gitRef)
194
- .mockResolvedValue(commitHash)
195
- gitAdapter.getSchema
196
- .calledWith(commitHash)
197
- .mockResolvedValue(originalSchema)
198
-
199
- const apiService = await getApiService()
200
- const result = await apiService.getSchema(gitAdapter, gitRef)
201
-
202
- const expectedSchema = `directive @Entry on OBJECT
203
-
204
- type MyEntry @Entry {
205
- id: ID!
206
- union: MyUnion
207
- }
208
-
209
- union MyUnion = EntryA | EntryB
210
-
211
- type EntryA @Entry {
212
- id: ID!
213
- field1: String
214
- }
215
-
216
- type EntryB @Entry {
217
- id: ID!
218
- field2: String
219
- }
220
-
221
- schema {
222
- query: Query
223
- mutation: Mutation
224
- }
225
-
226
- type Query {
227
- allMyEntrys: [MyEntry]
228
- allEntryAs: [EntryA]
229
- allEntryBs: [EntryB]
230
- _allMyEntrysMeta: ListMetadata
231
- _allEntryAsMeta: ListMetadata
232
- _allEntryBsMeta: ListMetadata
233
- MyEntry(id: ID!): MyEntry
234
- EntryA(id: ID!): EntryA
235
- EntryB(id: ID!): EntryB
236
- _typeName(id: ID!): String
237
- }
238
-
239
- type Mutation {
240
- createMyEntry(id: ID!, data:MyEntryInput, message:String): MyEntry
241
- createEntryA(id: ID!, data:EntryAInput, message:String): EntryA
242
- createEntryB(id: ID!, data:EntryBInput, message:String): EntryB
243
- updateMyEntry(id: ID!, data:MyEntryInput, message:String): MyEntry
244
- updateEntryA(id: ID!, data:EntryAInput, message:String): EntryA
245
- updateEntryB(id: ID!, data:EntryBInput, message:String): EntryB
246
- deleteMyEntry(id: ID!, message:String): DeletionResult
247
- deleteEntryA(id: ID!, message:String): DeletionResult
248
- deleteEntryB(id: ID!, message:String): DeletionResult
249
- }
250
-
251
- type ListMetadata {
252
- count: Int!
253
- }
254
-
255
- type DeletionResult {
256
- id: ID
257
- }
258
-
259
- input MyEntryIdInput {
260
- id: ID!
261
- }
262
-
263
- input EntryAIdInput {
264
- id: ID!
265
- }
266
-
267
- input EntryBIdInput {
268
- id: ID!
269
- }
270
-
271
- input MyUnionIdInput {
272
- id: ID!
273
- }
274
-
275
- input MyEntryInput {
276
- union: MyUnionIdInput
277
- }
278
-
279
- input EntryAInput {
280
- field1: String
281
- }
282
-
283
- input EntryBInput {
284
- field2: String
285
- }
286
- `
287
-
288
- expect(result.data).toBe(expectedSchema)
289
- expect(result.ref).toBe(commitHash)
290
- })
291
-
292
- it('should create a CRUD API for an inline union type', async () => {
293
- const gitAdapter = mock<GitAdapter>()
294
- const gitRef = 'myRef'
295
- const commitHash = 'abcd'
296
- const originalSchema = `directive @Entry on OBJECT
297
-
298
- type MyEntry @Entry {
299
- id: ID!
300
- union: MyUnion
301
- }
302
-
303
- union MyUnion =
304
- | TypeA
305
- | TypeB
306
-
307
- type TypeA {
308
- field1: String
309
- }
310
-
311
- type TypeB {
312
- field2: String
313
- }`
314
-
315
- gitAdapter.getLatestCommitHash
316
- .calledWith(gitRef)
317
- .mockResolvedValue(commitHash)
318
- gitAdapter.getSchema
319
- .calledWith(commitHash)
320
- .mockResolvedValue(originalSchema)
321
-
322
- const apiService = await getApiService()
323
- const result = await apiService.getSchema(gitAdapter, gitRef)
324
-
325
- const expectedSchema = `directive @Entry on OBJECT
326
-
327
- type MyEntry @Entry {
328
- id: ID!
329
- union: MyUnion
330
- }
331
-
332
- union MyUnion = TypeA | TypeB
333
-
334
- type TypeA {
335
- field1: String
336
- }
337
-
338
- type TypeB {
339
- field2: String
340
- }
341
-
342
- schema {
343
- query: Query
344
- mutation: Mutation
345
- }
346
-
347
- type Query {
348
- allMyEntrys: [MyEntry]
349
- _allMyEntrysMeta: ListMetadata
350
- MyEntry(id: ID!): MyEntry
351
- _typeName(id: ID!): String
352
- }
353
-
354
- type Mutation {
355
- createMyEntry(id: ID!, data:MyEntryInput, message:String): MyEntry
356
- updateMyEntry(id: ID!, data:MyEntryInput, message:String): MyEntry
357
- deleteMyEntry(id: ID!, message:String): DeletionResult
358
- }
359
-
360
- type ListMetadata {
361
- count: Int!
362
- }
363
-
364
- type DeletionResult {
365
- id: ID
366
- }
367
-
368
- input MyEntryIdInput {
369
- id: ID!
370
- }
371
-
372
- input MyUnionIdInput {
373
- id: ID!
374
- }
375
-
376
- input MyEntryInput {
377
- union: MyUnionInput
378
- }
379
-
380
- input TypeAInput {
381
- field1: String
382
- }
383
-
384
- input TypeBInput {
385
- field2: String
386
- }
387
-
388
- input MyUnionInput @oneOf {
389
- typeA: TypeAInput
390
- typeB: TypeBInput
391
- }
392
-
393
- directive @oneOf on INPUT_OBJECT
394
- `
395
-
396
- expect(result.data).toBe(expectedSchema)
397
- expect(result.ref).toBe(commitHash)
398
- })
399
- })
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "exclude": [
4
- "node_modules",
5
- "dist",
6
- "test",
7
- "**/*spec.ts",
8
- "doc/example"
9
- ]
10
- }
package/tsconfig.json DELETED
@@ -1,18 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "declaration": true,
5
- "removeComments": true,
6
- "emitDecoratorMetadata": true,
7
- "experimentalDecorators": true,
8
- "allowSyntheticDefaultImports": true,
9
- "target": "es2017",
10
- "sourceMap": true,
11
- "outDir": "./dist",
12
- "baseUrl": "./",
13
- "incremental": true,
14
- "skipLibCheck": true,
15
- "esModuleInterop": true,
16
- "strict": true
17
- }
18
- }
package/webpack.config.js DELETED
@@ -1,25 +0,0 @@
1
- const path = require('node:path')
2
- module.exports = (options, webpack) => {
3
- return {
4
- ...options,
5
- devtool: 'source-map', // create source map for debugging
6
- externals: [],
7
- entry: {
8
- main: './src/index.ts',
9
- },
10
- output: {
11
- ...options.output,
12
- libraryTarget: 'commonjs2',
13
- },
14
- plugins: [
15
- ...options.plugins,
16
- ],
17
- resolve: {
18
- // @see https://github.com/apollographql/apollo-server/issues/4983
19
- extensions: ['.ts', '.js'],
20
- alias: {
21
- graphql$: path.resolve(__dirname, 'node_modules/graphql/index.js'),
22
- },
23
- },
24
- }
25
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes