@unchainedshop/api 2.0.0-beta9 → 2.0.0-rc.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.
@@ -1,7 +1,8 @@
1
1
  import { ApolloServer } from '@apollo/server';
2
2
  import { log, LogLevel } from '@unchainedshop/logger';
3
- import typeDefs from './schema';
3
+ import { buildDefaultTypeDefs } from './schema';
4
4
  import resolvers from './resolvers';
5
+ import { actions } from './roles';
5
6
  const { APOLLO_ENGINE_KEY } = process.env;
6
7
  const logGraphQLServerError = (error) => {
7
8
  try {
@@ -22,9 +23,16 @@ const logGraphQLServerError = (error) => {
22
23
  catch (e) { } // eslint-disable-line
23
24
  };
24
25
  export default async (options) => {
25
- const { typeDefs: additionalTypeDefs = [], resolvers: additionalResolvers = [], engine = {}, ...apolloServerOptions } = options || {};
26
+ const { typeDefs: additionalTypeDefs = [], resolvers: additionalResolvers = [], engine = {}, events = [], workTypes = [], ...apolloServerOptions } = options || {};
26
27
  const server = new ApolloServer({
27
- typeDefs: [...typeDefs, ...additionalTypeDefs],
28
+ typeDefs: [
29
+ ...buildDefaultTypeDefs({
30
+ actions: Object.keys(actions),
31
+ events,
32
+ workTypes,
33
+ }),
34
+ ...additionalTypeDefs,
35
+ ],
28
36
  resolvers: [resolvers, ...additionalResolvers],
29
37
  formatError: (error) => {
30
38
  logGraphQLServerError(error);
@@ -1 +1 @@
1
- {"version":3,"file":"createGraphQLServer.js","sourceRoot":"","sources":["../src/createGraphQLServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE1C,MAAM,qBAAqB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC7D,IAAI;QACF,MAAM,EACJ,OAAO,EACP,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,EACzC,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;QACV,GAAG,CAAC,GAAG,OAAO,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;YACjD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,UAAU;YACb,GAAG,IAAI;SACR,CAAC,CAAC;QACH,IAAI,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC1F,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YACvC,WAAW,CAAC,KAAK,GAAI,UAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC,IAAc,CAAC;YAC7C,2BAA2B;YAC3B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC5B;KACF;IAAC,OAAO,CAAC,EAAE,GAAE,CAAC,sBAAsB;AACvC,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,MAAM,EACJ,QAAQ,EAAE,kBAAkB,GAAG,EAAE,EACjC,SAAS,EAAE,mBAAmB,GAAG,EAAE,EACnC,MAAM,GAAG,EAAE,EACX,GAAG,mBAAmB,EACvB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,kBAAkB,CAAC;QAC9C,SAAS,EAAE,CAAC,SAAS,EAAE,GAAG,mBAAmB,CAAC;QAC9C,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,iBAAiB;YACvB,CAAC,CAAC;gBACE,GAAG,EAAE,iBAAiB;gBACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;gBACpF,GAAG,MAAM;aACV;YACH,CAAC,CAAC,SAAS;QACb,GAAG,mBAAmB;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"createGraphQLServer.js","sourceRoot":"","sources":["../src/createGraphQLServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE1C,MAAM,qBAAqB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC7D,IAAI;QACF,MAAM,EACJ,OAAO,EACP,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,EACzC,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;QACV,GAAG,CAAC,GAAG,OAAO,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;YACjD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,UAAU;YACb,GAAG,IAAI;SACR,CAAC,CAAC;QACH,IAAI,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC1F,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YACvC,WAAW,CAAC,KAAK,GAAI,UAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC,IAAc,CAAC;YAC7C,2BAA2B;YAC3B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC5B;KACF;IAAC,OAAO,CAAC,EAAE,GAAE,CAAC,sBAAsB;AACvC,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,MAAM,EACJ,QAAQ,EAAE,kBAAkB,GAAG,EAAE,EACjC,SAAS,EAAE,mBAAmB,GAAG,EAAE,EACnC,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,EACX,SAAS,GAAG,EAAE,EACd,GAAG,mBAAmB,EACvB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,QAAQ,EAAE;YACR,GAAG,oBAAoB,CAAC;gBACtB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,MAAM;gBACN,SAAS;aACV,CAAC;YACF,GAAG,kBAAkB;SACtB;QACD,SAAS,EAAE,CAAC,SAAS,EAAE,GAAG,mBAAmB,CAAC;QAC9C,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,iBAAiB;YACvB,CAAC,CAAC;gBACE,GAAG,EAAE,iBAAiB;gBACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;gBACpF,GAAG,MAAM;aACV;YACH,CAAC,CAAC,SAAS;QACb,GAAG,mBAAmB;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,2 +1,5 @@
1
- declare const _default: string[];
2
- export default _default;
1
+ export function buildDefaultTypeDefs({ actions, events, workTypes }: {
2
+ actions?: any[];
3
+ events?: any[];
4
+ workTypes?: any[];
5
+ }): string[];
@@ -4,5 +4,18 @@ import types from './types';
4
4
  import inputTypes from './inputTypes';
5
5
  import query from './query';
6
6
  import mutation from './mutation';
7
- export default [...scalars, ...directives, ...types, ...inputTypes, ...query, ...mutation];
7
+ export const buildDefaultTypeDefs = ({ actions = [], events = [], workTypes = [] }) => {
8
+ const dynamicTypeDefs = `
9
+ extend enum RoleAction {
10
+ ${actions.join(',')}
11
+ }
12
+ extend enum EventType {
13
+ ${events.join(',')}
14
+ }
15
+ extend enum WorkType {
16
+ ${workTypes.join(',')}
17
+ }
18
+ `;
19
+ return [...scalars, ...directives, ...types, ...inputTypes, ...query, ...mutation, dynamicTypeDefs];
20
+ };
8
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.js"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,eAAe,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.js"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE;IACpF,MAAM,eAAe,GAAG;;UAEhB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;;;UAGjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;;;UAGhB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;;GAE1B,CAAC;IAEF,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,EAAE,eAAe,CAAC,CAAC;AACtG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/api",
3
- "version": "2.0.0-beta9",
3
+ "version": "2.0.0-rc.1",
4
4
  "main": "lib/api-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/api-index.js",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "homepage": "https://github.com/unchainedshop/unchained#readme",
42
42
  "peerDependencies": {
43
- "@apollo/server": "^4.2.2",
43
+ "@apollo/server": "^4.3.0",
44
44
  "cookie": "^0.5.0",
45
45
  "graphql": "^16.6.0"
46
46
  },
@@ -49,11 +49,11 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@metamask/eth-sig-util": "^5.0.2",
52
- "@unchainedshop/core": "^2.0.0-beta9",
53
- "@unchainedshop/events": "^2.0.0-beta9",
54
- "@unchainedshop/logger": "^2.0.0-beta9",
55
- "@unchainedshop/roles": "^2.0.0-beta9",
56
- "@unchainedshop/utils": "^2.0.0-beta9",
52
+ "@unchainedshop/core": "^2.0.0-rc.1",
53
+ "@unchainedshop/events": "^2.0.0-rc.1",
54
+ "@unchainedshop/logger": "^2.0.0-rc.1",
55
+ "@unchainedshop/roles": "^2.0.0-rc.1",
56
+ "@unchainedshop/utils": "^2.0.0-rc.1",
57
57
  "accounting": "0.4.1",
58
58
  "dataloader": "^2.1.0",
59
59
  "graphql-scalars": "^1.20.1",
@@ -65,8 +65,8 @@
65
65
  "devDependencies": {
66
66
  "@types/graphql-upload": "^8.0.12",
67
67
  "@types/locale": "^0.1.1",
68
- "@types/node": "^18.11.12",
69
- "@unchainedshop/types": "^2.0.0-beta9",
68
+ "@types/node": "^18.11.17",
69
+ "@unchainedshop/types": "^2.0.0-rc.1",
70
70
  "express": "^4.18.2",
71
71
  "graphql": "^16.6.0",
72
72
  "jest": "^29.3.1",
@@ -1,8 +1,9 @@
1
1
  import { ApolloServer } from '@apollo/server';
2
2
  import { log, LogLevel } from '@unchainedshop/logger';
3
3
  import { GraphQLFormattedError } from 'graphql';
4
- import typeDefs from './schema';
4
+ import { buildDefaultTypeDefs } from './schema';
5
5
  import resolvers from './resolvers';
6
+ import { actions } from './roles';
6
7
 
7
8
  const { APOLLO_ENGINE_KEY } = process.env;
8
9
 
@@ -33,11 +34,20 @@ export default async (options) => {
33
34
  typeDefs: additionalTypeDefs = [],
34
35
  resolvers: additionalResolvers = [],
35
36
  engine = {},
37
+ events = [],
38
+ workTypes = [],
36
39
  ...apolloServerOptions
37
40
  } = options || {};
38
41
 
39
42
  const server = new ApolloServer({
40
- typeDefs: [...typeDefs, ...additionalTypeDefs],
43
+ typeDefs: [
44
+ ...buildDefaultTypeDefs({
45
+ actions: Object.keys(actions),
46
+ events,
47
+ workTypes,
48
+ }),
49
+ ...additionalTypeDefs,
50
+ ],
41
51
  resolvers: [resolvers, ...additionalResolvers],
42
52
  formatError: (error) => {
43
53
  logGraphQLServerError(error);
@@ -5,4 +5,18 @@ import inputTypes from './inputTypes';
5
5
  import query from './query';
6
6
  import mutation from './mutation';
7
7
 
8
- export default [...scalars, ...directives, ...types, ...inputTypes, ...query, ...mutation];
8
+ export const buildDefaultTypeDefs = ({ actions = [], events = [], workTypes = [] }) => {
9
+ const dynamicTypeDefs = `
10
+ extend enum RoleAction {
11
+ ${actions.join(',')}
12
+ }
13
+ extend enum EventType {
14
+ ${events.join(',')}
15
+ }
16
+ extend enum WorkType {
17
+ ${workTypes.join(',')}
18
+ }
19
+ `;
20
+
21
+ return [...scalars, ...directives, ...types, ...inputTypes, ...query, ...mutation, dynamicTypeDefs];
22
+ };