@smartive/graphql-magic 4.0.0 → 5.0.0
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.
- package/CHANGELOG.md +1 -1
- package/README.md +46 -0
- package/dist/cjs/index.cjs +64 -26
- package/dist/esm/api/execute.d.ts +10 -0
- package/dist/esm/api/execute.js +32 -0
- package/dist/esm/api/execute.js.map +1 -0
- package/dist/esm/api/index.d.ts +1 -0
- package/dist/esm/api/index.js +3 -0
- package/dist/esm/api/index.js.map +1 -0
- package/dist/esm/client/queries.d.ts +1 -1
- package/dist/esm/client/queries.js +1 -1
- package/dist/esm/client/queries.js.map +1 -1
- package/dist/esm/context.d.ts +1 -4
- package/dist/esm/generate/generate.d.ts +1 -1
- package/dist/esm/generate/generate.js +1 -1
- package/dist/esm/generate/generate.js.map +1 -1
- package/dist/esm/generate/mutations.d.ts +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/migrations/generate.d.ts +1 -1
- package/dist/esm/migrations/generate.js +1 -1
- package/dist/esm/migrations/generate.js.map +1 -1
- package/dist/esm/models/index.d.ts +2 -0
- package/dist/esm/models/index.js +4 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/{models.d.ts → models/models.d.ts} +4 -4
- package/dist/esm/{models.js.map → models/models.js.map} +1 -1
- package/dist/esm/{utils.d.ts → models/utils.d.ts} +8 -8
- package/dist/esm/models/utils.js.map +1 -0
- package/dist/esm/permissions/check.d.ts +1 -1
- package/dist/esm/permissions/check.js +1 -1
- package/dist/esm/permissions/check.js.map +1 -1
- package/dist/esm/permissions/generate.d.ts +1 -1
- package/dist/esm/permissions/generate.js +1 -1
- package/dist/esm/permissions/generate.js.map +1 -1
- package/dist/esm/resolvers/arguments.js +1 -1
- package/dist/esm/resolvers/arguments.js.map +1 -1
- package/dist/esm/resolvers/filters.js +1 -1
- package/dist/esm/resolvers/filters.js.map +1 -1
- package/dist/esm/resolvers/mutations.js +1 -1
- package/dist/esm/resolvers/mutations.js.map +1 -1
- package/dist/esm/resolvers/node.d.ts +1 -1
- package/dist/esm/resolvers/node.js +1 -1
- package/dist/esm/resolvers/node.js.map +1 -1
- package/dist/esm/resolvers/resolver.js +1 -1
- package/dist/esm/resolvers/resolver.js.map +1 -1
- package/dist/esm/resolvers/resolvers.d.ts +1 -1
- package/dist/esm/resolvers/resolvers.js +1 -1
- package/dist/esm/resolvers/resolvers.js.map +1 -1
- package/dist/esm/resolvers/utils.js +1 -1
- package/dist/esm/resolvers/utils.js.map +1 -1
- package/package.json +4 -4
- package/src/api/execute.ts +45 -0
- package/src/api/index.ts +3 -0
- package/src/client/queries.ts +2 -2
- package/src/context.ts +1 -3
- package/src/generate/generate.ts +2 -2
- package/src/generate/mutations.ts +1 -1
- package/src/index.ts +2 -2
- package/src/migrations/generate.ts +2 -2
- package/src/models/index.ts +4 -0
- package/src/{models.ts → models/models.ts} +4 -4
- package/src/permissions/check.ts +2 -2
- package/src/permissions/generate.ts +2 -2
- package/src/resolvers/arguments.ts +1 -1
- package/src/resolvers/filters.ts +1 -1
- package/src/resolvers/mutations.ts +2 -2
- package/src/resolvers/node.ts +2 -2
- package/src/resolvers/resolver.ts +1 -1
- package/src/resolvers/resolvers.ts +2 -2
- package/src/resolvers/utils.ts +1 -1
- package/tests/unit/resolve.spec.ts +4 -19
- package/tests/utils/models.ts +1 -1
- package/tests/utils/server.ts +13 -33
- package/dist/esm/utils.js.map +0 -1
- /package/dist/esm/{models.js → models/models.js} +0 -0
- /package/dist/esm/{utils.js → models/utils.js} +0 -0
- /package/src/{utils.ts → models/utils.ts} +0 -0
package/src/index.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// created from 'create-ts-index'
|
|
2
2
|
|
|
3
|
+
export * from './api';
|
|
3
4
|
export * from './client';
|
|
4
5
|
export * from './db';
|
|
5
6
|
export * from './generate';
|
|
6
7
|
export * from './migrations';
|
|
8
|
+
export * from './models';
|
|
7
9
|
export * from './permissions';
|
|
8
10
|
export * from './resolvers';
|
|
9
11
|
export * from './context';
|
|
10
12
|
export * from './errors';
|
|
11
|
-
export * from './models';
|
|
12
|
-
export * from './utils';
|
|
13
13
|
export * from './values';
|
|
@@ -4,8 +4,8 @@ import { SchemaInspector } from 'knex-schema-inspector';
|
|
|
4
4
|
import { Column } from 'knex-schema-inspector/dist/types/column';
|
|
5
5
|
import { SchemaInspector as SchemaInspectorType } from 'knex-schema-inspector/dist/types/schema-inspector';
|
|
6
6
|
import lowerFirst from 'lodash/lowerFirst';
|
|
7
|
-
import { EnumModel, Model, ModelField, Models, RawModels } from '../models';
|
|
8
|
-
import { get, getModels, isEnumModel, summonByName, typeToField } from '../utils';
|
|
7
|
+
import { EnumModel, Model, ModelField, Models, RawModels } from '../models/models';
|
|
8
|
+
import { get, getModels, isEnumModel, summonByName, typeToField } from '../models/utils';
|
|
9
9
|
import { Value } from '../values';
|
|
10
10
|
|
|
11
11
|
type Callbacks = (() => void)[];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DateTime } from 'luxon';
|
|
2
|
-
import { Field } from '
|
|
3
|
-
import type { Context } from '
|
|
4
|
-
import type { OrderBy } from '
|
|
5
|
-
import type { Value } from '
|
|
2
|
+
import { Field } from '..';
|
|
3
|
+
import type { Context } from '../context';
|
|
4
|
+
import type { OrderBy } from '../resolvers/arguments';
|
|
5
|
+
import type { Value } from '../values';
|
|
6
6
|
|
|
7
7
|
export type RawModels = RawModel[];
|
|
8
8
|
|
package/src/permissions/check.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Knex } from 'knex';
|
|
2
2
|
import { FullContext } from '../context';
|
|
3
3
|
import { NotFoundError, PermissionError } from '../errors';
|
|
4
|
-
import { Model } from '../models';
|
|
4
|
+
import { Model } from '../models/models';
|
|
5
|
+
import { get, getModelPlural, isRelation, summonByName } from '../models/utils';
|
|
5
6
|
import { AliasGenerator, hash, ors } from '../resolvers/utils';
|
|
6
|
-
import { get, getModelPlural, isRelation, summonByName } from '../utils';
|
|
7
7
|
import { BasicValue } from '../values';
|
|
8
8
|
import { PermissionAction, PermissionLink, PermissionStack } from './generate';
|
|
9
9
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Models } from '../models';
|
|
2
|
-
import { isRelation, summonByName } from '../utils';
|
|
1
|
+
import { Models } from '../models/models';
|
|
2
|
+
import { isRelation, summonByName } from '../models/utils';
|
|
3
3
|
|
|
4
4
|
export type PermissionAction = 'READ' | 'CREATE' | 'UPDATE' | 'DELETE' | 'RESTORE' | 'LINK';
|
|
5
5
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GraphQLObjectType, GraphQLSchema, TypeDefinitionNode, TypeNode, ValueNode } from 'graphql';
|
|
2
2
|
import { Kind } from 'graphql';
|
|
3
|
-
import { summonByKey } from '../utils';
|
|
3
|
+
import { summonByKey } from '../models/utils';
|
|
4
4
|
import { Value } from '../values';
|
|
5
5
|
import { FieldResolverNode } from './node';
|
|
6
6
|
import { Maybe, VariableValues } from './utils';
|
package/src/resolvers/filters.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Knex } from 'knex';
|
|
2
2
|
import { ForbiddenError, UserInputError } from '../errors';
|
|
3
|
-
import { get, summonByName } from '../utils';
|
|
3
|
+
import { get, summonByName } from '../models/utils';
|
|
4
4
|
import { OrderBy, Where, normalizeArguments } from './arguments';
|
|
5
5
|
import { FieldResolverNode, WhereNode } from './node';
|
|
6
6
|
import { Joins, Ops, addJoin, apply, ors } from './utils';
|
|
@@ -3,9 +3,9 @@ import { DateTime } from 'luxon';
|
|
|
3
3
|
import { v4 as uuid } from 'uuid';
|
|
4
4
|
import { Context, FullContext } from '../context';
|
|
5
5
|
import { ForbiddenError, GraphQLError } from '../errors';
|
|
6
|
-
import { Entity, Model, ModelField } from '../models';
|
|
6
|
+
import { Entity, Model, ModelField } from '../models/models';
|
|
7
|
+
import { get, isEnumList, it, summonByName, typeToField } from '../models/utils';
|
|
7
8
|
import { applyPermissions, checkCanWrite, getEntityToMutate } from '../permissions/check';
|
|
8
|
-
import { get, isEnumList, it, summonByName, typeToField } from '../utils';
|
|
9
9
|
import { resolve } from './resolver';
|
|
10
10
|
import { AliasGenerator } from './utils';
|
|
11
11
|
|
package/src/resolvers/node.ts
CHANGED
|
@@ -8,8 +8,8 @@ import type {
|
|
|
8
8
|
} from 'graphql';
|
|
9
9
|
|
|
10
10
|
import { FullContext } from '../context';
|
|
11
|
-
import { Model } from '../models';
|
|
12
|
-
import { get, isRawObjectModel, summonByKey, summonByName } from '../utils';
|
|
11
|
+
import { Model } from '../models/models';
|
|
12
|
+
import { get, isRawObjectModel, summonByKey, summonByName } from '../models/utils';
|
|
13
13
|
import {
|
|
14
14
|
getFragmentTypeName,
|
|
15
15
|
getNameOrAlias,
|
|
@@ -4,9 +4,9 @@ import cloneDeep from 'lodash/cloneDeep';
|
|
|
4
4
|
import flatMap from 'lodash/flatMap';
|
|
5
5
|
import { Context, FullContext } from '../context';
|
|
6
6
|
import { NotFoundError, PermissionError } from '../errors';
|
|
7
|
+
import { get, summonByKey } from '../models/utils';
|
|
7
8
|
import { applyPermissions } from '../permissions/check';
|
|
8
9
|
import { PermissionStack } from '../permissions/generate';
|
|
9
|
-
import { get, summonByKey } from '../utils';
|
|
10
10
|
import { applyFilters } from './filters';
|
|
11
11
|
import {
|
|
12
12
|
FieldResolverNode,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Models } from '../models';
|
|
2
|
-
import { getModelPluralField, merge, typeToField } from '../utils';
|
|
1
|
+
import { Models } from '../models/models';
|
|
2
|
+
import { getModelPluralField, merge, typeToField } from '../models/utils';
|
|
3
3
|
import { mutationResolver } from './mutations';
|
|
4
4
|
import { queryResolver } from './resolver';
|
|
5
5
|
|
package/src/resolvers/utils.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type {
|
|
|
12
12
|
import { Kind } from 'graphql';
|
|
13
13
|
import { Knex } from 'knex';
|
|
14
14
|
import { UserInputError } from '../errors';
|
|
15
|
-
import { get, it } from '../utils';
|
|
15
|
+
import { get, it } from '../models/utils';
|
|
16
16
|
import { Value } from '../values';
|
|
17
17
|
import { FieldResolverNode } from './node';
|
|
18
18
|
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { makeExecutableSchema } from '@graphql-tools/schema';
|
|
2
|
-
import { execute, parse, Source } from 'graphql';
|
|
3
1
|
import knex from 'knex';
|
|
4
2
|
import { DateTime } from 'luxon';
|
|
3
|
+
import { execute } from '../../src';
|
|
5
4
|
import { gql } from '../../src/client/gql';
|
|
6
|
-
import { Context } from '../../src/context';
|
|
7
|
-
import { generate } from '../../src/generate';
|
|
8
5
|
import { getResolvers } from '../../src/resolvers';
|
|
9
6
|
import { models, permissions, rawModels } from '../utils/models';
|
|
10
7
|
|
|
11
|
-
const test = async (operationName: string, query: string,
|
|
8
|
+
const test = async (operationName: string, query: string, variables: object, responses: unknown[]) => {
|
|
12
9
|
const knexInstance = knex({
|
|
13
10
|
client: 'postgresql',
|
|
14
11
|
});
|
|
@@ -25,11 +22,8 @@ const test = async (operationName: string, query: string, variableValues: object
|
|
|
25
22
|
});
|
|
26
23
|
|
|
27
24
|
const user = await knexInstance('User').where({ id: 1 }).first();
|
|
28
|
-
const
|
|
29
|
-
const contextValue: Context = {
|
|
30
|
-
req: null as any,
|
|
25
|
+
const result = await execute({
|
|
31
26
|
knex: knexInstance,
|
|
32
|
-
document: typeDefs,
|
|
33
27
|
locale: 'en',
|
|
34
28
|
locales: ['en'],
|
|
35
29
|
user,
|
|
@@ -37,16 +31,7 @@ const test = async (operationName: string, query: string, variableValues: object
|
|
|
37
31
|
models,
|
|
38
32
|
permissions,
|
|
39
33
|
now: DateTime.fromISO('2020-01-01T00:00:00.000Z'),
|
|
40
|
-
|
|
41
|
-
const result = await execute({
|
|
42
|
-
schema: makeExecutableSchema({
|
|
43
|
-
typeDefs,
|
|
44
|
-
resolvers: getResolvers(models),
|
|
45
|
-
}),
|
|
46
|
-
document: parse(new Source(query, 'GraphQL request')),
|
|
47
|
-
contextValue,
|
|
48
|
-
variableValues,
|
|
49
|
-
operationName,
|
|
34
|
+
body: { operationName, query, variables }
|
|
50
35
|
});
|
|
51
36
|
|
|
52
37
|
expect(result).toMatchSnapshot();
|
package/tests/utils/models.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RawModels } from '../../src/models';
|
|
2
|
+
import { getModels } from '../../src/models/utils';
|
|
2
3
|
import { generatePermissions, PermissionsConfig } from '../../src/permissions/generate';
|
|
3
|
-
import { getModels } from '../../src/utils';
|
|
4
4
|
|
|
5
5
|
export const rawModels: RawModels = [
|
|
6
6
|
{
|
package/tests/utils/server.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { execute, parse, Source, TypedQueryDocumentNode } from 'graphql';
|
|
1
|
+
import { TypedQueryDocumentNode } from 'graphql';
|
|
3
2
|
import graphqlRequest, { RequestDocument, Variables } from 'graphql-request';
|
|
4
|
-
import {
|
|
3
|
+
import { RequestListener, createServer } from 'http';
|
|
5
4
|
import { Knex } from 'knex';
|
|
6
5
|
import { DateTime } from 'luxon';
|
|
7
|
-
import {
|
|
8
|
-
import { generate } from '../../src/generate';
|
|
9
|
-
import { getResolvers } from '../../src/resolvers';
|
|
6
|
+
import { execute } from '../../src';
|
|
10
7
|
import { getKnex } from './database/knex';
|
|
11
8
|
import { setupSchema } from './database/schema';
|
|
12
9
|
import { ADMIN_ID, setupSeed } from './database/seed';
|
|
@@ -50,25 +47,7 @@ export const withServer = async (
|
|
|
50
47
|
|
|
51
48
|
handler = async (req, res) => {
|
|
52
49
|
const user = await knex('User').where({ id: ADMIN_ID }).first();
|
|
53
|
-
|
|
54
|
-
const typeDefs = generate(rawModels);
|
|
55
|
-
const contextValue: Context = {
|
|
56
|
-
req,
|
|
57
|
-
knex,
|
|
58
|
-
document: typeDefs,
|
|
59
|
-
locale: 'en',
|
|
60
|
-
locales: ['en'],
|
|
61
|
-
user,
|
|
62
|
-
rawModels,
|
|
63
|
-
models,
|
|
64
|
-
permissions,
|
|
65
|
-
now: DateTime.fromISO('2020-01-01T00:00:00.000Z'),
|
|
66
|
-
};
|
|
67
|
-
const {
|
|
68
|
-
query,
|
|
69
|
-
variables: variableValues,
|
|
70
|
-
operationName,
|
|
71
|
-
} = await new Promise<any>((res) => {
|
|
50
|
+
const body = await new Promise<any>((res) => {
|
|
72
51
|
const chunks: any = [];
|
|
73
52
|
req
|
|
74
53
|
.on('data', (chunk) => {
|
|
@@ -79,14 +58,15 @@ export const withServer = async (
|
|
|
79
58
|
});
|
|
80
59
|
});
|
|
81
60
|
const result = await execute({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
61
|
+
knex,
|
|
62
|
+
locale: 'en',
|
|
63
|
+
locales: ['en'],
|
|
64
|
+
user,
|
|
65
|
+
rawModels,
|
|
66
|
+
models,
|
|
67
|
+
permissions,
|
|
68
|
+
now: DateTime.fromISO('2020-01-01T00:00:00.000Z'),
|
|
69
|
+
body,
|
|
90
70
|
});
|
|
91
71
|
|
|
92
72
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
package/dist/esm/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|