@unchainedshop/api 1.2.0 → 1.2.10
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/lib/api-index.js +1 -1
- package/lib/resolvers/queries/orders/orders.d.ts +2 -1
- package/lib/resolvers/queries/orders/orders.js.map +1 -1
- package/lib/resolvers/type/bookmark-types.d.ts +2 -3
- package/lib/resolvers/type/country-types.d.ts +1 -2
- package/lib/resolvers/type/delivery-provider-types.d.ts +1 -2
- package/lib/resolvers/type/event-types.d.ts +1 -2
- package/lib/resolvers/type/order/order-delivery-pickup-types.d.ts +1 -1
- package/lib/resolvers/type/user-types.d.ts +11 -3
- package/lib/resolvers/type/user-types.js +9 -8
- package/lib/resolvers/type/user-types.js.map +1 -1
- package/lib/schema/query.js +1 -0
- package/lib/schema/query.js.map +1 -1
- package/lib/schema/types/user.js +3 -3
- package/package.json +7 -8
- package/src/api-index.ts +1 -1
- package/src/resolvers/queries/orders/orders.ts +2 -2
- package/src/resolvers/type/bookmark-types.ts +2 -2
- package/src/resolvers/type/country-types.ts +1 -1
- package/src/resolvers/type/delivery-provider-types.ts +1 -1
- package/src/resolvers/type/event-types.ts +1 -1
- package/src/resolvers/type/order/order-delivery-pickup-types.ts +1 -1
- package/src/resolvers/type/user-types.ts +18 -20
- package/src/schema/query.js +1 -0
- package/src/schema/types/user.js +3 -3
package/lib/api-index.js
CHANGED
|
@@ -7,7 +7,7 @@ export * as errors from './errors';
|
|
|
7
7
|
export { hashPassword } from './hashPassword';
|
|
8
8
|
export * as roles from './roles';
|
|
9
9
|
export { createContextResolver, getCurrentContextResolver, setCurrentContextResolver };
|
|
10
|
-
const UNCHAINED_API_VERSION = '1.
|
|
10
|
+
const UNCHAINED_API_VERSION = '1.2.0'; // eslint-disable-line
|
|
11
11
|
export const startAPIServer = (options) => {
|
|
12
12
|
const { unchainedAPI, roles, expressApp, context: customContext, ...apolloServerOptions } = options || {};
|
|
13
13
|
const contextResolver = createContextResolver(unchainedAPI, roles, UNCHAINED_API_VERSION);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Root, Context } from '@unchainedshop/types/api';
|
|
1
|
+
import { Root, Context, SortOption } from '@unchainedshop/types/api';
|
|
2
2
|
import { OrderQuery } from '@unchainedshop/types/orders';
|
|
3
3
|
export default function orders(root: Root, params: OrderQuery & {
|
|
4
4
|
limit?: number;
|
|
5
5
|
offset?: number;
|
|
6
|
+
sort?: Array<SortOption>;
|
|
6
7
|
}, { modules, userId }: Context): Promise<import("@unchainedshop/types/orders").Order[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAClC,IAAU,EACV,
|
|
1
|
+
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAClC,IAAU,EACV,MAAkF,EAClF,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAE5D,GAAG,CAAC,iBAAiB,KAAK,IAAI,MAAM,IAAI,YAAY,IAAI,WAAW,EAAE,EAAE;QACrE,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -2,10 +2,9 @@ import { Context } from '@unchainedshop/types/api';
|
|
|
2
2
|
import { Bookmark as BookmarkType } from '@unchainedshop/types/bookmarks';
|
|
3
3
|
import { Product } from '@unchainedshop/types/products';
|
|
4
4
|
import { User } from '@unchainedshop/types/user';
|
|
5
|
-
declare type HelperType<T> = (bookmark: BookmarkType, _: never, context: Context) => T;
|
|
6
|
-
interface BookmarkHelperTypes {
|
|
5
|
+
export declare type HelperType<T> = (bookmark: BookmarkType, _: never, context: Context) => T;
|
|
6
|
+
export interface BookmarkHelperTypes {
|
|
7
7
|
product: HelperType<Promise<Product>>;
|
|
8
8
|
user: HelperType<Promise<User>>;
|
|
9
9
|
}
|
|
10
10
|
export declare const Bookmark: BookmarkHelperTypes;
|
|
11
|
-
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Context } from '@unchainedshop/types/api';
|
|
2
2
|
import { Country as CountryType } from '@unchainedshop/types/countries';
|
|
3
3
|
import { Currency } from '@unchainedshop/types/currencies';
|
|
4
|
-
declare type HelperType<P, T> = (country: CountryType, params: P, context: Context) => T;
|
|
4
|
+
export declare type HelperType<P, T> = (country: CountryType, params: P, context: Context) => T;
|
|
5
5
|
export interface CountryHelperTypes {
|
|
6
6
|
flagEmoji: HelperType<never, string>;
|
|
7
7
|
isBase: HelperType<never, boolean>;
|
|
@@ -11,4 +11,3 @@ export interface CountryHelperTypes {
|
|
|
11
11
|
defaultCurrency: HelperType<never, Promise<Currency>>;
|
|
12
12
|
}
|
|
13
13
|
export declare const Country: CountryHelperTypes;
|
|
14
|
-
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Context } from '@unchainedshop/types/api';
|
|
2
2
|
import { DeliveryError, DeliveryProvider as DeliveryProviderType } from '@unchainedshop/types/delivery';
|
|
3
|
-
declare type HelperType<P, T> = (provider: DeliveryProviderType, params: P, context: Context) => T;
|
|
3
|
+
export declare type HelperType<P, T> = (provider: DeliveryProviderType, params: P, context: Context) => T;
|
|
4
4
|
export interface DeliveryProviderHelperTypes {
|
|
5
5
|
interface: HelperType<never, {
|
|
6
6
|
_id: string;
|
|
@@ -24,4 +24,3 @@ export interface DeliveryProviderHelperTypes {
|
|
|
24
24
|
}>>;
|
|
25
25
|
}
|
|
26
26
|
export declare const DeliveryProvider: DeliveryProviderHelperTypes;
|
|
27
|
-
export {};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Context } from '@unchainedshop/types/api';
|
|
2
2
|
import { Event as EventType } from '@unchainedshop/types/events';
|
|
3
|
-
declare type HelperType<P, T> = (work: EventType, params: P, context: Context) => T;
|
|
3
|
+
export declare type HelperType<P, T> = (work: EventType, params: P, context: Context) => T;
|
|
4
4
|
export interface EventHelperTypes {
|
|
5
5
|
type: HelperType<never, string>;
|
|
6
6
|
}
|
|
7
7
|
export declare const Event: EventHelperTypes;
|
|
8
|
-
export {};
|
|
@@ -2,7 +2,7 @@ import { Context } from '@unchainedshop/types/api';
|
|
|
2
2
|
import { DeliveryLocation, DeliveryProvider } from '@unchainedshop/types/delivery';
|
|
3
3
|
import { OrderDelivery, OrderDeliveryDiscount } from '@unchainedshop/types/orders.deliveries';
|
|
4
4
|
declare type HelperType<T> = (orderDelivery: OrderDelivery, _: never, context: Context) => T;
|
|
5
|
-
interface OrderDeliveryPickupHelperTypes {
|
|
5
|
+
export interface OrderDeliveryPickupHelperTypes {
|
|
6
6
|
activePickUpLocation: HelperType<Promise<DeliveryLocation>>;
|
|
7
7
|
discounts: HelperType<Promise<Array<OrderDeliveryDiscount>>>;
|
|
8
8
|
pickUpLocations: HelperType<Promise<Array<DeliveryLocation>>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context } from '@unchainedshop/types/api';
|
|
1
|
+
import { Context, SortOption } from '@unchainedshop/types/api';
|
|
2
2
|
import { Bookmark } from '@unchainedshop/types/bookmarks';
|
|
3
3
|
import { Contact } from '@unchainedshop/types/common';
|
|
4
4
|
import { Country } from '@unchainedshop/types/countries';
|
|
@@ -25,7 +25,10 @@ export interface UserHelperTypes {
|
|
|
25
25
|
}, Country>;
|
|
26
26
|
email: HelperType<any, string>;
|
|
27
27
|
emails: HelperType<any, Array<string>>;
|
|
28
|
-
enrollments: HelperType<
|
|
28
|
+
enrollments: HelperType<{
|
|
29
|
+
sort?: Array<SortOption>;
|
|
30
|
+
queryString?: string;
|
|
31
|
+
}, Array<Enrollment>>;
|
|
29
32
|
isEmailVerified: HelperType<any, boolean>;
|
|
30
33
|
isGuest: HelperType<any, boolean>;
|
|
31
34
|
isInitialPassword: HelperType<any, boolean>;
|
|
@@ -40,11 +43,16 @@ export interface UserHelperTypes {
|
|
|
40
43
|
name: HelperType<any, string>;
|
|
41
44
|
orders: HelperType<{
|
|
42
45
|
includeCarts: boolean;
|
|
46
|
+
sort?: Array<SortOption>;
|
|
47
|
+
queryString?: string;
|
|
43
48
|
}, Array<Order>>;
|
|
44
49
|
paymentCredentials: HelperType<any, Array<PaymentCredentials>>;
|
|
45
50
|
primaryEmail: HelperType<any, Email>;
|
|
46
51
|
profile: HelperType<any, UserProfile>;
|
|
47
|
-
quotations: HelperType<
|
|
52
|
+
quotations: HelperType<{
|
|
53
|
+
sort?: Array<SortOption>;
|
|
54
|
+
queryString?: string;
|
|
55
|
+
}, Array<Quotation>>;
|
|
48
56
|
roles: HelperType<any, Array<string>>;
|
|
49
57
|
tags: HelperType<any, Array<string>>;
|
|
50
58
|
username: HelperType<any, string>;
|
|
@@ -91,10 +91,11 @@ export const User = {
|
|
|
91
91
|
// },
|
|
92
92
|
orders: async (user, params, context) => {
|
|
93
93
|
await checkAction(context, viewUserOrders, [user, params]);
|
|
94
|
-
return context.modules.orders.findOrders({
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
return context.modules.orders.findOrders({
|
|
95
|
+
userId: user._id,
|
|
96
|
+
includeCarts: params.includeCarts,
|
|
97
|
+
sort: params.sort,
|
|
98
|
+
queryString: params.queryString,
|
|
98
99
|
});
|
|
99
100
|
},
|
|
100
101
|
paymentCredentials: async (user, params, context) => {
|
|
@@ -107,10 +108,10 @@ export const User = {
|
|
|
107
108
|
},
|
|
108
109
|
quotations: async (user, params, context) => {
|
|
109
110
|
await checkAction(context, viewUserQuotations, [user, params]);
|
|
110
|
-
return context.modules.quotations.findQuotations({
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
return context.modules.quotations.findQuotations({
|
|
112
|
+
userId: user._id,
|
|
113
|
+
sort: params.sort,
|
|
114
|
+
queryString: params.queryString,
|
|
114
115
|
});
|
|
115
116
|
},
|
|
116
117
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/user-types.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"user-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/user-types.ts"],"names":[],"mappings":"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"}
|
package/lib/schema/query.js
CHANGED
package/lib/schema/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/schema/query.js"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/schema/query.js"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgbb;CACF,CAAC"}
|
package/lib/schema/types/user.js
CHANGED
|
@@ -70,11 +70,11 @@ export default [
|
|
|
70
70
|
roles: [String!]
|
|
71
71
|
tags: [String!]
|
|
72
72
|
cart(orderNumber: String): Order
|
|
73
|
-
orders(includeCarts: Boolean = false): [Order!]!
|
|
74
|
-
quotations: [Quotation!]!
|
|
73
|
+
orders(includeCarts: Boolean = false, sort: [SortOptionInput!], queryString: String): [Order!]!
|
|
74
|
+
quotations(sort: [SortOptionInput!], queryString: String): [Quotation!]!
|
|
75
75
|
bookmarks: [Bookmark!]!
|
|
76
76
|
paymentCredentials: [PaymentCredentials!]!
|
|
77
|
-
enrollments: [Enrollment!]!
|
|
77
|
+
enrollments(sort: [SortOptionInput!], queryString: String): [Enrollment!]!
|
|
78
78
|
allowedActions: [RoleAction!]!
|
|
79
79
|
}
|
|
80
80
|
`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/api",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.10",
|
|
4
4
|
"main": "lib/api-index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./lib/api-index.js",
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
"types": "lib/api-index.d.ts",
|
|
10
10
|
"type": "module",
|
|
11
11
|
"scripts": {
|
|
12
|
-
"prepublishOnly": "npm install && npm run build || :",
|
|
13
12
|
"clean": "rm -rf lib",
|
|
14
13
|
"build": "npm run clean && tsc",
|
|
15
14
|
"watch": "tsc -w",
|
|
@@ -36,11 +35,11 @@
|
|
|
36
35
|
"graphql-scalars": "^1.x"
|
|
37
36
|
},
|
|
38
37
|
"dependencies": {
|
|
39
|
-
"@unchainedshop/core": "
|
|
40
|
-
"@unchainedshop/events": "
|
|
41
|
-
"@unchainedshop/logger": "
|
|
42
|
-
"@unchainedshop/roles": "
|
|
43
|
-
"@unchainedshop/utils": "
|
|
38
|
+
"@unchainedshop/core": "1.x",
|
|
39
|
+
"@unchainedshop/events": "1.x",
|
|
40
|
+
"@unchainedshop/logger": "1.x",
|
|
41
|
+
"@unchainedshop/roles": "1.x",
|
|
42
|
+
"@unchainedshop/utils": "1.x",
|
|
44
43
|
"accounting": "0.4.1",
|
|
45
44
|
"dataloader": "^2.1.0",
|
|
46
45
|
"locale": "0.1.0",
|
|
@@ -52,7 +51,7 @@
|
|
|
52
51
|
"@types/graphql-upload": "^8.0.11",
|
|
53
52
|
"@types/locale": "^0.1.1",
|
|
54
53
|
"@types/node": "^16.11.44",
|
|
55
|
-
"@unchainedshop/types": "
|
|
54
|
+
"@unchainedshop/types": "1.x",
|
|
56
55
|
"apollo-server-express": "2.x",
|
|
57
56
|
"graphql": "^15.8.0",
|
|
58
57
|
"graphql-scalars": "^1.17.0",
|
package/src/api-index.ts
CHANGED
|
@@ -11,7 +11,7 @@ export * as roles from './roles';
|
|
|
11
11
|
|
|
12
12
|
export { createContextResolver, getCurrentContextResolver, setCurrentContextResolver };
|
|
13
13
|
|
|
14
|
-
const UNCHAINED_API_VERSION = '1.
|
|
14
|
+
const UNCHAINED_API_VERSION = '1.2.0'; // eslint-disable-line
|
|
15
15
|
|
|
16
16
|
export const startAPIServer = (options: UnchainedServerOptions) => {
|
|
17
17
|
const {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import { Root, Context } from '@unchainedshop/types/api';
|
|
2
|
+
import { Root, Context, SortOption } from '@unchainedshop/types/api';
|
|
3
3
|
import { OrderQuery } from '@unchainedshop/types/orders';
|
|
4
4
|
|
|
5
5
|
export default async function orders(
|
|
6
6
|
root: Root,
|
|
7
|
-
params: OrderQuery & { limit?: number; offset?: number },
|
|
7
|
+
params: OrderQuery & { limit?: number; offset?: number; sort?: Array<SortOption> },
|
|
8
8
|
{ modules, userId }: Context,
|
|
9
9
|
) {
|
|
10
10
|
const { includeCarts, limit, offset, queryString } = params;
|
|
@@ -3,9 +3,9 @@ import { Bookmark as BookmarkType } from '@unchainedshop/types/bookmarks';
|
|
|
3
3
|
import { Product } from '@unchainedshop/types/products';
|
|
4
4
|
import { User } from '@unchainedshop/types/user';
|
|
5
5
|
|
|
6
|
-
type HelperType<T> = (bookmark: BookmarkType, _: never, context: Context) => T;
|
|
6
|
+
export type HelperType<T> = (bookmark: BookmarkType, _: never, context: Context) => T;
|
|
7
7
|
|
|
8
|
-
interface BookmarkHelperTypes {
|
|
8
|
+
export interface BookmarkHelperTypes {
|
|
9
9
|
product: HelperType<Promise<Product>>;
|
|
10
10
|
user: HelperType<Promise<User>>;
|
|
11
11
|
}
|
|
@@ -2,7 +2,7 @@ import { Context } from '@unchainedshop/types/api';
|
|
|
2
2
|
import { Country as CountryType } from '@unchainedshop/types/countries';
|
|
3
3
|
import { Currency } from '@unchainedshop/types/currencies';
|
|
4
4
|
|
|
5
|
-
type HelperType<P, T> = (country: CountryType, params: P, context: Context) => T;
|
|
5
|
+
export type HelperType<P, T> = (country: CountryType, params: P, context: Context) => T;
|
|
6
6
|
|
|
7
7
|
export interface CountryHelperTypes {
|
|
8
8
|
flagEmoji: HelperType<never, string>;
|
|
@@ -3,7 +3,7 @@ import { DeliveryError, DeliveryProvider as DeliveryProviderType } from '@unchai
|
|
|
3
3
|
import crypto from 'crypto';
|
|
4
4
|
import { DeliveryPricingDirector } from '@unchainedshop/core-delivery';
|
|
5
5
|
|
|
6
|
-
type HelperType<P, T> = (provider: DeliveryProviderType, params: P, context: Context) => T;
|
|
6
|
+
export type HelperType<P, T> = (provider: DeliveryProviderType, params: P, context: Context) => T;
|
|
7
7
|
|
|
8
8
|
export interface DeliveryProviderHelperTypes {
|
|
9
9
|
interface: HelperType<
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Context } from '@unchainedshop/types/api';
|
|
2
2
|
import { Event as EventType } from '@unchainedshop/types/events';
|
|
3
3
|
|
|
4
|
-
type HelperType<P, T> = (work: EventType, params: P, context: Context) => T;
|
|
4
|
+
export type HelperType<P, T> = (work: EventType, params: P, context: Context) => T;
|
|
5
5
|
|
|
6
6
|
export interface EventHelperTypes {
|
|
7
7
|
type: HelperType<never, string>;
|
|
@@ -5,7 +5,7 @@ import { DeliveryDirector } from '@unchainedshop/core-delivery';
|
|
|
5
5
|
|
|
6
6
|
type HelperType<T> = (orderDelivery: OrderDelivery, _: never, context: Context) => T;
|
|
7
7
|
|
|
8
|
-
interface OrderDeliveryPickupHelperTypes {
|
|
8
|
+
export interface OrderDeliveryPickupHelperTypes {
|
|
9
9
|
activePickUpLocation: HelperType<Promise<DeliveryLocation>>;
|
|
10
10
|
discounts: HelperType<Promise<Array<OrderDeliveryDiscount>>>;
|
|
11
11
|
pickUpLocations: HelperType<Promise<Array<DeliveryLocation>>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context } from '@unchainedshop/types/api';
|
|
1
|
+
import { Context, SortOption } from '@unchainedshop/types/api';
|
|
2
2
|
import { Bookmark } from '@unchainedshop/types/bookmarks';
|
|
3
3
|
import { Contact } from '@unchainedshop/types/common';
|
|
4
4
|
import { Country } from '@unchainedshop/types/countries';
|
|
@@ -24,7 +24,7 @@ export interface UserHelperTypes {
|
|
|
24
24
|
country: HelperType<{ localeContext: Locale }, Country>;
|
|
25
25
|
email: HelperType<any, string>;
|
|
26
26
|
emails: HelperType<any, Array<string>>;
|
|
27
|
-
enrollments: HelperType<
|
|
27
|
+
enrollments: HelperType<{ sort?: Array<SortOption>; queryString?: string }, Array<Enrollment>>;
|
|
28
28
|
isEmailVerified: HelperType<any, boolean>;
|
|
29
29
|
isGuest: HelperType<any, boolean>;
|
|
30
30
|
isInitialPassword: HelperType<any, boolean>;
|
|
@@ -36,11 +36,14 @@ export interface UserHelperTypes {
|
|
|
36
36
|
allowedActions: HelperType<any, Array<string>>;
|
|
37
37
|
// locale: HelperType<{ localeContext: Locale }, Locale>;
|
|
38
38
|
name: HelperType<any, string>;
|
|
39
|
-
orders: HelperType<
|
|
39
|
+
orders: HelperType<
|
|
40
|
+
{ includeCarts: boolean; sort?: Array<SortOption>; queryString?: string },
|
|
41
|
+
Array<Order>
|
|
42
|
+
>;
|
|
40
43
|
paymentCredentials: HelperType<any, Array<PaymentCredentials>>;
|
|
41
44
|
primaryEmail: HelperType<any, Email>;
|
|
42
45
|
profile: HelperType<any, UserProfile>;
|
|
43
|
-
quotations: HelperType<
|
|
46
|
+
quotations: HelperType<{ sort?: Array<SortOption>; queryString?: string }, Array<Quotation>>;
|
|
44
47
|
roles: HelperType<any, Array<string>>;
|
|
45
48
|
tags: HelperType<any, Array<string>>;
|
|
46
49
|
username: HelperType<any, string>;
|
|
@@ -158,14 +161,12 @@ export const User: UserHelperTypes = {
|
|
|
158
161
|
|
|
159
162
|
orders: async (user, params, context) => {
|
|
160
163
|
await checkAction(context, viewUserOrders, [user, params]);
|
|
161
|
-
return context.modules.orders.findOrders(
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
},
|
|
168
|
-
);
|
|
164
|
+
return context.modules.orders.findOrders({
|
|
165
|
+
userId: user._id,
|
|
166
|
+
includeCarts: params.includeCarts,
|
|
167
|
+
sort: params.sort,
|
|
168
|
+
queryString: params.queryString,
|
|
169
|
+
});
|
|
169
170
|
},
|
|
170
171
|
|
|
171
172
|
paymentCredentials: async (user, params, context) => {
|
|
@@ -182,13 +183,10 @@ export const User: UserHelperTypes = {
|
|
|
182
183
|
|
|
183
184
|
quotations: async (user, params, context) => {
|
|
184
185
|
await checkAction(context, viewUserQuotations, [user, params]);
|
|
185
|
-
return context.modules.quotations.findQuotations(
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
|
-
);
|
|
186
|
+
return context.modules.quotations.findQuotations({
|
|
187
|
+
userId: user._id,
|
|
188
|
+
sort: params.sort,
|
|
189
|
+
queryString: params.queryString,
|
|
190
|
+
});
|
|
193
191
|
},
|
|
194
192
|
};
|
package/src/schema/query.js
CHANGED
package/src/schema/types/user.js
CHANGED
|
@@ -70,11 +70,11 @@ export default [
|
|
|
70
70
|
roles: [String!]
|
|
71
71
|
tags: [String!]
|
|
72
72
|
cart(orderNumber: String): Order
|
|
73
|
-
orders(includeCarts: Boolean = false): [Order!]!
|
|
74
|
-
quotations: [Quotation!]!
|
|
73
|
+
orders(includeCarts: Boolean = false, sort: [SortOptionInput!], queryString: String): [Order!]!
|
|
74
|
+
quotations(sort: [SortOptionInput!], queryString: String): [Quotation!]!
|
|
75
75
|
bookmarks: [Bookmark!]!
|
|
76
76
|
paymentCredentials: [PaymentCredentials!]!
|
|
77
|
-
enrollments: [Enrollment!]!
|
|
77
|
+
enrollments(sort: [SortOptionInput!], queryString: String): [Enrollment!]!
|
|
78
78
|
allowedActions: [RoleAction!]!
|
|
79
79
|
}
|
|
80
80
|
`,
|