@unchainedshop/api 2.0.0-beta4 → 2.0.0-beta5

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.
@@ -27,15 +27,25 @@ const ercMetadataMiddleware = async (req, res) => {
27
27
  const parsedPath = path.parse(url.pathname);
28
28
  if (parsedPath.ext !== '.json')
29
29
  throw new Error('Invalid ERC Metadata URI');
30
- const locale = parsedPath.dir === '/' ? systemLocale.language : parsedPath.name;
31
- const tokenId = parsedPath.dir === '/' ? parsedPath.name : parsedPath.dir.substring(1);
32
- const [product] = await resolvedContext.modules.products.findProducts({
33
- productSelector: { 'tokenization.tokenId': tokenId },
30
+ const [, productIdOrContractAddress, localeOrTokenFilename, tokenFileName] = url.pathname.split('/');
31
+ const locale = tokenFileName ? localeOrTokenFilename : systemLocale.language;
32
+ const chainTokenId = parsedPath.name;
33
+ const productByProductId = await resolvedContext.modules.products.findProduct({
34
+ productId: productIdOrContractAddress,
34
35
  });
35
- const ercMetadata = await resolvedContext.services.products.ercMetadata({
36
+ const selector = {
37
+ chainTokenId,
38
+ contractAddress: productByProductId?.tokenization?.contractAddress || productIdOrContractAddress,
39
+ };
40
+ const [token] = await resolvedContext.modules.warehousing.findTokens(selector);
41
+ const product = productByProductId ||
42
+ (await resolvedContext.modules.products.findProduct({
43
+ productId: token?.productId,
44
+ }));
45
+ const ercMetadata = await resolvedContext.modules.warehousing.tokenMetadata(token, {
36
46
  product,
37
- locale: new Locale(locale),
38
- }, resolvedContext);
47
+ referenceDate: new Date(),
48
+ }, { ...resolvedContext, localeContext: new Locale(locale) });
39
49
  const body = JSON.stringify(ercMetadata);
40
50
  res.writeHead(200, {
41
51
  'Content-Length': Buffer.byteLength(body),
@@ -1 +1 @@
1
- {"version":3,"file":"createERCMetadataServer.js","sourceRoot":"","sources":["../src/createERCMetadataServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createERCMetadataServer.js","sourceRoot":"","sources":["../src/createERCMetadataServer.ts"],"names":[],"mappings":"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"}
package/lib/errors.d.ts CHANGED
@@ -52,3 +52,4 @@ export declare const EnrollmentNotFoundError: any;
52
52
  export declare const WarehousingProviderNotFoundError: any;
53
53
  export declare const InvalidIdError: any;
54
54
  export declare const ProviderConfigurationInvalid: any;
55
+ export declare const TokenWrongStatusError: any;
package/lib/errors.js CHANGED
@@ -57,4 +57,5 @@ export const EnrollmentNotFoundError = createError('EnrollmentNotFoundError', 'E
57
57
  export const WarehousingProviderNotFoundError = createError('WarehousingProviderNotFoundError', 'Warehousing provider not found');
58
58
  export const InvalidIdError = createError('InvalidIdError', 'Invalid ID provided');
59
59
  export const ProviderConfigurationInvalid = createError('ProviderConfigurationInvalid', 'Provider Configuration invalid (check if the Adapter Key exists)');
60
+ export const TokenWrongStatusError = createError('TokenWrongStatusError', 'The current status of the token does not allow this operation');
60
61
  //# sourceMappingURL=errors.js.map
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAe,EAAO,EAAE,CAChE,KAAM,SAAQ,WAAW;IACvB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE;QAC/C,KAAK,CAAC,eAAe,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,yBAAyB,CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAChD,yBAAyB,EACzB,iEAAiE,CAClE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CACpD,6BAA6B,EAC7B,2BAA2B,CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,gCAAgC,EAChC,8BAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,6BAA6B,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,oCAAoC,GAAG,WAAW,CAC7D,sCAAsC,EACtC,oCAAoC,CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,iCAAiC,CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CACpD,6BAA6B,EAC7B,0BAA0B,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,oDAAoD,CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,+BAA+B,EAC/B,yDAAyD,CAC1D,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,qEAAqE,CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,0BAA0B,EAC1B,iCAAiC,CAClC,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,yBAAyB,EACzB,iEAAiE,CAClE,CAAC;AACF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACtD,0BAA0B,EAC1B,kEAAkE,CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAC/C,wBAAwB,EACxB,sEAAsE,CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,oBAAoB,EACpB,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,gCAAgC,EAChC,+BAA+B,CAChC,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,mEAAmE,CACpE,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,yBAAyB,CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,0BAA0B,EAC1B,2DAA2D,CAC5D,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,2BAA2B,EAC3B,wDAAwD,CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,+BAA+B,GAAG,WAAW,CACxD,iCAAiC,EACjC,+BAA+B,CAChC,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CACnD,4BAA4B,EAC5B,oEAAoE,CACrE,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,gCAAgC,GAAG,WAAW,CACzD,kCAAkC,EAClC,gCAAgC,CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACrD,8BAA8B,EAC9B,kEAAkE,CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,uBAAuB,EACvB,+DAA+D,CAChE,CAAC"}
@@ -7,6 +7,6 @@ export default async function emptyCart(root, { orderId }, context) {
7
7
  if (!cart)
8
8
  return null;
9
9
  await modules.orders.positions.removePositions({ orderId: cart._id }, context);
10
- return cart;
10
+ return modules.orders.findOrder({ orderId: cart._id });
11
11
  }
12
12
  //# sourceMappingURL=emptyCart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emptyCart.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/orders/emptyCart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,SAAS,CACrC,IAAU,EACV,EAAE,OAAO,EAAwB,EACjC,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE1C,GAAG,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAE/E,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"emptyCart.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/orders/emptyCart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,SAAS,CACrC,IAAU,EACV,EAAE,OAAO,EAAwB,EACjC,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE1C,GAAG,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACzD,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { log } from '@unchainedshop/logger';
2
- import { InvalidIdError } from '../../../errors';
2
+ import { WorkStatus } from '@unchainedshop/types/worker';
3
+ import { InvalidIdError, TokenWrongStatusError } from '../../../errors';
3
4
  export default async function exportToken(root, { tokenId, quantity, recipientWalletAddress, }, { modules, userId }) {
4
5
  log(`mutation exportToken ${tokenId}`, {
5
6
  userId,
@@ -8,15 +9,25 @@ export default async function exportToken(root, { tokenId, quantity, recipientWa
8
9
  throw new InvalidIdError({ tokenId });
9
10
  const token = await modules.warehousing.findToken({ tokenId });
10
11
  if (token) {
11
- await modules.worker.addWork({
12
- type: 'EXPORT_TOKEN',
13
- retries: 5,
14
- input: {
15
- token,
16
- quantity,
17
- recipientWalletAddress,
18
- },
12
+ if (token.walletAddress && !token.userId) {
13
+ throw new TokenWrongStatusError({ tokenId });
14
+ }
15
+ const workItems = await modules.worker.findWorkQueue({
16
+ types: ['EXPORT_TOKEN'],
17
+ status: [WorkStatus.NEW, WorkStatus.ALLOCATED],
19
18
  });
19
+ const existingWork = workItems.find((item) => item.input?.token?._id === token._id);
20
+ if (!existingWork) {
21
+ await modules.worker.addWork({
22
+ type: 'EXPORT_TOKEN',
23
+ retries: 5,
24
+ input: {
25
+ token,
26
+ quantity,
27
+ recipientWalletAddress,
28
+ },
29
+ });
30
+ }
20
31
  }
21
32
  return modules.warehousing.findToken({ tokenId });
22
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exportToken.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/warehousing/exportToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,IAAU,EACV,EACE,OAAO,EACP,QAAQ,EACR,sBAAsB,GACgD,EACxE,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CAAC,wBAAwB,OAAO,EAAE,EAAE;QACrC,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/D,IAAI,KAAK,EAAE;QACT,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAC3B,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,CAAC;YACV,KAAK,EAAE;gBACL,KAAK;gBACL,QAAQ;gBACR,sBAAsB;aACvB;SACF,CAAC,CAAC;KACJ;IAED,OAAO,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"exportToken.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/warehousing/exportToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,IAAU,EACV,EACE,OAAO,EACP,QAAQ,EACR,sBAAsB,GACgD,EACxE,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CAAC,wBAAwB,OAAO,EAAE,EAAE;QACrC,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/D,IAAI,KAAK,EAAE;QACT,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACxC,MAAM,IAAI,qBAAqB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;SAC9C;QACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;YACnD,KAAK,EAAE,CAAC,cAAc,CAAC;YACvB,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC3B,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE;oBACL,KAAK;oBACL,QAAQ;oBACR,sBAAsB;iBACvB;aACF,CAAC,CAAC;SACJ;KACF;IAED,OAAO,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -1,6 +1,4 @@
1
- import localePkg from 'locale';
2
1
  import { PlanProduct } from './product-plan-types';
3
- const { Locale } = localePkg;
4
2
  export const TokenizedProduct = {
5
3
  ...PlanProduct,
6
4
  contractAddress(product) {
@@ -17,9 +15,31 @@ export const TokenizedProduct = {
17
15
  contractStandard(product) {
18
16
  return product.tokenization?.contractStandard;
19
17
  },
20
- async ercMetadata(product, { forceLocale }, context) {
21
- const locale = forceLocale ? new Locale(forceLocale) : context.localeContext;
22
- return context.services.products.ercMetadata({ product, locale }, context);
18
+ simulatedStocks: async (obj, params, requestContext) => {
19
+ const { modules } = requestContext;
20
+ const { referenceDate } = params;
21
+ const deliveryProviders = await modules.delivery.findProviders({});
22
+ return deliveryProviders.reduce(async (oldResult, deliveryProvider) => {
23
+ const result = await oldResult;
24
+ const warehousingProviders = await modules.warehousing.findSupported({
25
+ product: obj,
26
+ deliveryProvider,
27
+ }, requestContext);
28
+ const mappedWarehousingProviders = await Promise.all(warehousingProviders.map(async (warehousingProvider) => {
29
+ const warehousingContext = {
30
+ deliveryProvider,
31
+ product: obj,
32
+ referenceDate,
33
+ };
34
+ const stock = await modules.warehousing.estimatedStock(warehousingProvider, warehousingContext, requestContext);
35
+ return {
36
+ warehousingProvider,
37
+ ...warehousingContext,
38
+ ...stock,
39
+ };
40
+ }));
41
+ return result.concat(result, mappedWarehousingProviders);
42
+ }, Promise.resolve([]));
23
43
  },
24
44
  };
25
45
  delete TokenizedProduct.salesUnit;
@@ -1 +1 @@
1
- {"version":3,"file":"product-tokenized-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-tokenized-types.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,GAAG,WAAW;IAEd,eAAe,CAAC,OAAO;QACrB,OAAO,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC;IAC/C,CAAC;IAED,qBAAqB,CAAC,OAAO;QAC3B,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;YACnC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO;SACtC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,OAAO;QACtB,OAAO,OAAO,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO;QACjD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7E,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;CACF,CAAC;AAEF,OAAO,gBAAgB,CAAC,SAAS,CAAC;AAClC,OAAO,gBAAgB,CAAC,oBAAoB,CAAC;AAC7C,OAAO,gBAAgB,CAAC,oBAAoB,CAAC"}
1
+ {"version":3,"file":"product-tokenized-types.js","sourceRoot":"","sources":["../../../../src/resolvers/type/product/product-tokenized-types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,GAAG,WAAW;IAEd,eAAe,CAAC,OAAO;QACrB,OAAO,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC;IAC/C,CAAC;IAED,qBAAqB,CAAC,OAAO;QAC3B,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;YACnC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO;SACtC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,OAAO;QACtB,OAAO,OAAO,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAChD,CAAC;IAED,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE;QACrD,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QACnC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QAEjC,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAEnE,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE;YACpE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;YAE/B,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,aAAa,CAClE;gBACE,OAAO,EAAE,GAAG;gBACZ,gBAAgB;aACjB,EACD,cAAc,CACf,CAAC;YAEF,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,GAAG,CAClD,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE;gBACrD,MAAM,kBAAkB,GAAuB;oBAC7C,gBAAgB;oBAChB,OAAO,EAAE,GAAG;oBACZ,aAAa;iBACd,CAAC;gBAEF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,cAAc,CACpD,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,CACf,CAAC;gBAEF,OAAO;oBACL,mBAAmB;oBACnB,GAAG,kBAAkB;oBACrB,GAAG,KAAK;iBACT,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YAEF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC3D,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC;AAEF,OAAO,gBAAgB,CAAC,SAAS,CAAC;AAClC,OAAO,gBAAgB,CAAC,oBAAoB,CAAC;AAC7C,OAAO,gBAAgB,CAAC,oBAAoB,CAAC"}
@@ -1,16 +1,14 @@
1
1
  import { Context } from '@unchainedshop/types/api';
2
2
  import { Product } from '@unchainedshop/types/products';
3
3
  import { User } from '@unchainedshop/types/user';
4
- import { TokenSurrogate } from '@unchainedshop/types/warehousing';
4
+ import { TokenStatus, TokenSurrogate } from '@unchainedshop/types/warehousing';
5
5
  declare type HelperType<T> = (root: TokenSurrogate, params: never, context: Context) => Promise<T>;
6
- export declare enum TokenExportStatus {
7
- CENTRALIZED = "CENTRALIZED",
8
- EXPORTING = "EXPORTING",
9
- DECENTRALIZED = "DECENTRALIZED"
10
- }
11
6
  export interface TokenHelperTypes {
12
7
  product: HelperType<Product>;
13
- status: HelperType<TokenExportStatus>;
8
+ status: HelperType<TokenStatus>;
9
+ ercMetadata: (root: TokenSurrogate, params: {
10
+ forceLocale?: string;
11
+ }, context: Context) => Promise<any>;
14
12
  user: HelperType<User>;
15
13
  }
16
14
  export declare const Token: TokenHelperTypes;
@@ -1,10 +1,7 @@
1
+ import { TokenStatus } from '@unchainedshop/types/warehousing';
1
2
  import { WorkStatus } from '@unchainedshop/types/worker';
2
- export var TokenExportStatus;
3
- (function (TokenExportStatus) {
4
- TokenExportStatus["CENTRALIZED"] = "CENTRALIZED";
5
- TokenExportStatus["EXPORTING"] = "EXPORTING";
6
- TokenExportStatus["DECENTRALIZED"] = "DECENTRALIZED";
7
- })(TokenExportStatus || (TokenExportStatus = {}));
3
+ import localePkg from 'locale';
4
+ const { Locale } = localePkg;
8
5
  export const Token = {
9
6
  product: async (token, _params, { modules }) => {
10
7
  return modules.products.findProduct({ productId: token.productId });
@@ -16,15 +13,24 @@ export const Token = {
16
13
  },
17
14
  status: async (token, _params, { modules }) => {
18
15
  if (token.walletAddress && !token.userId) {
19
- return TokenExportStatus.DECENTRALIZED;
16
+ return TokenStatus.DECENTRALIZED;
20
17
  }
21
18
  const workItems = await modules.worker.findWorkQueue({
22
19
  types: ['EXPORT_TOKEN'],
23
20
  status: [WorkStatus.NEW, WorkStatus.ALLOCATED],
24
21
  });
25
22
  if (workItems.find((item) => item.input?.token?._id === token._id))
26
- return TokenExportStatus.EXPORTING;
27
- return TokenExportStatus.CENTRALIZED;
23
+ return TokenStatus.EXPORTING;
24
+ return TokenStatus.CENTRALIZED;
25
+ },
26
+ ercMetadata: async (token, { forceLocale }, context) => {
27
+ const { modules } = context;
28
+ const product = await modules.products.findProduct({ productId: token.productId });
29
+ const ercMetadata = await modules.warehousing.tokenMetadata(token, {
30
+ product,
31
+ referenceDate: new Date(),
32
+ }, { ...context, localeContext: new Locale(forceLocale) });
33
+ return ercMetadata;
28
34
  },
29
35
  };
30
36
  //# sourceMappingURL=token-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/token-types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAIzD,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,gDAA2B,CAAA;IAC3B,4CAAuB,CAAA;IACvB,oDAA+B,CAAA;AACjC,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAQD,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7C,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACxC,OAAO,iBAAiB,CAAC,aAAa,CAAC;SACxC;QACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;YACnD,KAAK,EAAE,CAAC,cAAc,CAAC;YACvB,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;YAChE,OAAO,iBAAiB,CAAC,SAAS,CAAC;QACrC,OAAO,iBAAiB,CAAC,WAAW,CAAC;IACvC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"token-types.js","sourceRoot":"","sources":["../../../src/resolvers/type/token-types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAkB,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,SAAS,MAAM,QAAQ,CAAC;AAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AAe7B,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7C,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACxC,OAAO,WAAW,CAAC,aAAa,CAAC;SAClC;QACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;YACnD,KAAK,EAAE,CAAC,cAAc,CAAC;YACvB,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,WAAW,CAAC,SAAS,CAAC;QACjG,OAAO,WAAW,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE;QACrD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,aAAa,CACzD,KAAK,EACL;YACE,OAAO;YACP,aAAa,EAAE,IAAI,IAAI,EAAE;SAC1B,EACD,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CACvD,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAC"}
@@ -130,11 +130,14 @@ export const loggedIn = (role, actions) => {
130
130
  return true;
131
131
  return credentials.userId === userId;
132
132
  };
133
- const isOwnedToken = async (obj, { tokenId }, { modules, userId }) => {
133
+ const isOwnedToken = async (obj, { tokenId }, { modules, userId, user }) => {
134
134
  const token = await modules.warehousing.findToken({ tokenId });
135
135
  if (!token)
136
136
  return true;
137
- return token.userId === userId;
137
+ return (token.userId === userId ||
138
+ user?.services?.web3?.some((service) => {
139
+ return service.address === token.walletAddress && service.verified;
140
+ }));
138
141
  };
139
142
  role.allow(actions.viewEvent, false);
140
143
  role.allow(actions.viewEvents, false);
@@ -1 +1 @@
1
- {"version":3,"file":"loggedIn.js","sourceRoot":"","sources":["../../src/roles/loggedIn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loggedIn.js","sourceRoot":"","sources":["../../src/roles/loggedIn.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ export default [
3
3
  input UpdateProductTokenizationInput {
4
4
  contractAddress: String!
5
5
  contractStandard: SmartContractStandard!
6
- tokenId: String!
7
- supply: Int!
6
+ tokenId: String
7
+ supply: Int
8
8
  }
9
9
 
10
10
  enum SmartContractStandard {
@@ -13,8 +13,8 @@ export default [
13
13
  }
14
14
 
15
15
  type ContractConfiguration {
16
- tokenId: String!
17
- supply: Int!
16
+ tokenId: String
17
+ supply: Int
18
18
  }
19
19
 
20
20
  """
@@ -34,6 +34,7 @@ export default [
34
34
  leveledCatalogPrices(currency: String): [PriceLevel!]!
35
35
  simulatedPrice(currency: String, useNetPrice: Boolean = false, quantity: Int = 1): Price
36
36
  simulatedDiscounts(quantity: Int = 1): [ProductDiscount!]
37
+ simulatedStocks(referenceDate: Timestamp): [Stock!]
37
38
  assortmentPaths(forceLocale: String): [ProductAssortmentPath!]!
38
39
  siblings(
39
40
  assortmentId: ID
@@ -50,7 +51,6 @@ export default [
50
51
  contractAddress: String
51
52
  contractStandard: SmartContractStandard
52
53
  contractConfiguration: ContractConfiguration
53
- ercMetadata(forceLocale: String): JSON
54
54
  }
55
55
  `,
56
56
  ];
@@ -52,6 +52,7 @@ export default [
52
52
  contractAddress: String
53
53
  chainId: String
54
54
  chainTokenId: String
55
+ ercMetadata(forceLocale: String): JSON
55
56
  }
56
57
  `,
57
58
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"warehousing.js","sourceRoot":"","sources":["../../../src/schema/types/warehousing.js"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDb;CACF,CAAC"}
1
+ {"version":3,"file":"warehousing.js","sourceRoot":"","sources":["../../../src/schema/types/warehousing.js"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDb;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/api",
3
- "version": "2.0.0-beta4",
3
+ "version": "2.0.0-beta5",
4
4
  "main": "lib/api-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/api-index.js",
@@ -36,14 +36,14 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@metamask/eth-sig-util": "^5.0.0",
39
- "@unchainedshop/core": "^2.0.0-beta4",
40
- "@unchainedshop/events": "^2.0.0-beta4",
41
- "@unchainedshop/logger": "^2.0.0-beta4",
42
- "@unchainedshop/roles": "^2.0.0-beta4",
43
- "@unchainedshop/utils": "^2.0.0-beta4",
39
+ "@unchainedshop/core": "^2.0.0-beta5",
40
+ "@unchainedshop/events": "^2.0.0-beta5",
41
+ "@unchainedshop/logger": "^2.0.0-beta5",
42
+ "@unchainedshop/roles": "^2.0.0-beta5",
43
+ "@unchainedshop/utils": "^2.0.0-beta5",
44
44
  "accounting": "0.4.1",
45
45
  "dataloader": "^2.1.0",
46
- "graphql-scalars": "^1.19.0",
46
+ "graphql-scalars": "^1.20.0",
47
47
  "graphql-upload": "^13.0.0",
48
48
  "locale": "0.1.0",
49
49
  "lodash.isnumber": "3.0.3",
@@ -52,11 +52,11 @@
52
52
  "devDependencies": {
53
53
  "@types/graphql-upload": "^8.0.12",
54
54
  "@types/locale": "^0.1.1",
55
- "@types/node": "^16.11.68",
56
- "@unchainedshop/types": "^2.0.0-beta4",
55
+ "@types/node": "^16.18.2",
56
+ "@unchainedshop/types": "^2.0.0-beta5",
57
57
  "apollo-server-express": "^2.26.0",
58
58
  "graphql": "^15.8.0",
59
- "jest": "^29.2.1",
59
+ "jest": "^29.2.2",
60
60
  "ts-jest": "^29.0.3",
61
61
  "typescript": "^4.8.4"
62
62
  }
@@ -1,5 +1,5 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
- import { UnchainedCore } from '@unchainedshop/types/core';
2
+ import { Context } from '@unchainedshop/types/api';
3
3
  import { systemLocale } from '@unchainedshop/utils';
4
4
  import { IncomingMessage } from 'http';
5
5
  import localePkg from 'locale';
@@ -24,10 +24,7 @@ const methodWrongHandler = (res) => () => {
24
24
  res.end();
25
25
  };
26
26
 
27
- const ercMetadataMiddleware = async (
28
- req: IncomingMessage & { unchainedContext?: UnchainedCore },
29
- res,
30
- ) => {
27
+ const ercMetadataMiddleware = async (req: IncomingMessage & { unchainedContext?: Context }, res) => {
31
28
  try {
32
29
  if (req.method !== 'GET') {
33
30
  methodWrongHandler(res)();
@@ -41,20 +38,36 @@ const ercMetadataMiddleware = async (
41
38
 
42
39
  if (parsedPath.ext !== '.json') throw new Error('Invalid ERC Metadata URI');
43
40
 
44
- const locale = parsedPath.dir === '/' ? systemLocale.language : parsedPath.name;
45
- const tokenId = parsedPath.dir === '/' ? parsedPath.name : parsedPath.dir.substring(1);
41
+ const [, productIdOrContractAddress, localeOrTokenFilename, tokenFileName] = url.pathname.split('/');
46
42
 
47
- const [product] = await resolvedContext.modules.products.findProducts({
48
- productSelector: { 'tokenization.tokenId': tokenId },
43
+ const locale = tokenFileName ? localeOrTokenFilename : systemLocale.language;
44
+ const chainTokenId = parsedPath.name;
45
+
46
+ const productByProductId = await resolvedContext.modules.products.findProduct({
47
+ productId: productIdOrContractAddress,
49
48
  });
50
49
 
51
- const ercMetadata = await resolvedContext.services.products.ercMetadata(
50
+ const selector: any = {
51
+ chainTokenId,
52
+ contractAddress: productByProductId?.tokenization?.contractAddress || productIdOrContractAddress,
53
+ };
54
+ const [token] = await resolvedContext.modules.warehousing.findTokens(selector);
55
+
56
+ const product =
57
+ productByProductId ||
58
+ (await resolvedContext.modules.products.findProduct({
59
+ productId: token?.productId,
60
+ }));
61
+
62
+ const ercMetadata = await resolvedContext.modules.warehousing.tokenMetadata(
63
+ token,
52
64
  {
53
65
  product,
54
- locale: new Locale(locale),
66
+ referenceDate: new Date(),
55
67
  },
56
- resolvedContext,
68
+ { ...resolvedContext, localeContext: new Locale(locale) },
57
69
  );
70
+
58
71
  const body = JSON.stringify(ercMetadata);
59
72
  res.writeHead(200, {
60
73
  'Content-Length': Buffer.byteLength(body),
package/src/errors.ts CHANGED
@@ -192,3 +192,8 @@ export const ProviderConfigurationInvalid = createError(
192
192
  'ProviderConfigurationInvalid',
193
193
  'Provider Configuration invalid (check if the Adapter Key exists)',
194
194
  );
195
+
196
+ export const TokenWrongStatusError = createError(
197
+ 'TokenWrongStatusError',
198
+ 'The current status of the token does not allow this operation',
199
+ );
@@ -15,6 +15,5 @@ export default async function emptyCart(
15
15
  if (!cart) return null;
16
16
 
17
17
  await modules.orders.positions.removePositions({ orderId: cart._id }, context);
18
-
19
- return cart;
18
+ return modules.orders.findOrder({ orderId: cart._id });
20
19
  }
@@ -1,6 +1,7 @@
1
1
  import { Context, Root } from '@unchainedshop/types/api';
2
2
  import { log } from '@unchainedshop/logger';
3
- import { InvalidIdError } from '../../../errors';
3
+ import { WorkStatus } from '@unchainedshop/types/worker';
4
+ import { InvalidIdError, TokenWrongStatusError } from '../../../errors';
4
5
 
5
6
  export default async function exportToken(
6
7
  root: Root,
@@ -20,15 +21,25 @@ export default async function exportToken(
20
21
  const token = await modules.warehousing.findToken({ tokenId });
21
22
 
22
23
  if (token) {
23
- await modules.worker.addWork({
24
- type: 'EXPORT_TOKEN',
25
- retries: 5,
26
- input: {
27
- token,
28
- quantity,
29
- recipientWalletAddress,
30
- },
24
+ if (token.walletAddress && !token.userId) {
25
+ throw new TokenWrongStatusError({ tokenId });
26
+ }
27
+ const workItems = await modules.worker.findWorkQueue({
28
+ types: ['EXPORT_TOKEN'],
29
+ status: [WorkStatus.NEW, WorkStatus.ALLOCATED],
31
30
  });
31
+ const existingWork = workItems.find((item) => item.input?.token?._id === token._id);
32
+ if (!existingWork) {
33
+ await modules.worker.addWork({
34
+ type: 'EXPORT_TOKEN',
35
+ retries: 5,
36
+ input: {
37
+ token,
38
+ quantity,
39
+ recipientWalletAddress,
40
+ },
41
+ });
42
+ }
32
43
  }
33
44
 
34
45
  return modules.warehousing.findToken({ tokenId });
@@ -1,9 +1,7 @@
1
1
  import { TokenizedProductHelperTypes } from '@unchainedshop/types/products';
2
- import localePkg from 'locale';
2
+ import { WarehousingContext } from '@unchainedshop/types/warehousing';
3
3
  import { PlanProduct } from './product-plan-types';
4
4
 
5
- const { Locale } = localePkg;
6
-
7
5
  export const TokenizedProduct: TokenizedProductHelperTypes = {
8
6
  ...PlanProduct,
9
7
 
@@ -23,9 +21,47 @@ export const TokenizedProduct: TokenizedProductHelperTypes = {
23
21
  return product.tokenization?.contractStandard;
24
22
  },
25
23
 
26
- async ercMetadata(product, { forceLocale }, context) {
27
- const locale = forceLocale ? new Locale(forceLocale) : context.localeContext;
28
- return context.services.products.ercMetadata({ product, locale }, context);
24
+ simulatedStocks: async (obj, params, requestContext) => {
25
+ const { modules } = requestContext;
26
+ const { referenceDate } = params;
27
+
28
+ const deliveryProviders = await modules.delivery.findProviders({});
29
+
30
+ return deliveryProviders.reduce(async (oldResult, deliveryProvider) => {
31
+ const result = await oldResult;
32
+
33
+ const warehousingProviders = await modules.warehousing.findSupported(
34
+ {
35
+ product: obj,
36
+ deliveryProvider,
37
+ },
38
+ requestContext,
39
+ );
40
+
41
+ const mappedWarehousingProviders = await Promise.all(
42
+ warehousingProviders.map(async (warehousingProvider) => {
43
+ const warehousingContext: WarehousingContext = {
44
+ deliveryProvider,
45
+ product: obj,
46
+ referenceDate,
47
+ };
48
+
49
+ const stock = await modules.warehousing.estimatedStock(
50
+ warehousingProvider,
51
+ warehousingContext,
52
+ requestContext,
53
+ );
54
+
55
+ return {
56
+ warehousingProvider,
57
+ ...warehousingContext,
58
+ ...stock,
59
+ };
60
+ }),
61
+ );
62
+
63
+ return result.concat(result, mappedWarehousingProviders);
64
+ }, Promise.resolve([]));
29
65
  },
30
66
  };
31
67
 
@@ -1,20 +1,22 @@
1
1
  import { Context } from '@unchainedshop/types/api';
2
2
  import { Product } from '@unchainedshop/types/products';
3
3
  import { User } from '@unchainedshop/types/user';
4
- import { TokenSurrogate } from '@unchainedshop/types/warehousing';
4
+ import { TokenStatus, TokenSurrogate } from '@unchainedshop/types/warehousing';
5
5
  import { WorkStatus } from '@unchainedshop/types/worker';
6
+ import localePkg from 'locale';
6
7
 
7
- type HelperType<T> = (root: TokenSurrogate, params: never, context: Context) => Promise<T>;
8
+ const { Locale } = localePkg;
8
9
 
9
- export enum TokenExportStatus {
10
- CENTRALIZED = 'CENTRALIZED',
11
- EXPORTING = 'EXPORTING',
12
- DECENTRALIZED = 'DECENTRALIZED',
13
- }
10
+ type HelperType<T> = (root: TokenSurrogate, params: never, context: Context) => Promise<T>;
14
11
 
15
12
  export interface TokenHelperTypes {
16
13
  product: HelperType<Product>;
17
- status: HelperType<TokenExportStatus>;
14
+ status: HelperType<TokenStatus>;
15
+ ercMetadata: (
16
+ root: TokenSurrogate,
17
+ params: { forceLocale?: string },
18
+ context: Context,
19
+ ) => Promise<any>;
18
20
  user: HelperType<User>;
19
21
  }
20
22
 
@@ -30,14 +32,28 @@ export const Token: TokenHelperTypes = {
30
32
 
31
33
  status: async (token, _params, { modules }) => {
32
34
  if (token.walletAddress && !token.userId) {
33
- return TokenExportStatus.DECENTRALIZED;
35
+ return TokenStatus.DECENTRALIZED;
34
36
  }
35
37
  const workItems = await modules.worker.findWorkQueue({
36
38
  types: ['EXPORT_TOKEN'],
37
39
  status: [WorkStatus.NEW, WorkStatus.ALLOCATED],
38
40
  });
39
- if (workItems.find((item) => item.input?.token?._id === token._id))
40
- return TokenExportStatus.EXPORTING;
41
- return TokenExportStatus.CENTRALIZED;
41
+ if (workItems.find((item) => item.input?.token?._id === token._id)) return TokenStatus.EXPORTING;
42
+ return TokenStatus.CENTRALIZED;
43
+ },
44
+
45
+ ercMetadata: async (token, { forceLocale }, context) => {
46
+ const { modules } = context;
47
+ const product = await modules.products.findProduct({ productId: token.productId });
48
+ const ercMetadata = await modules.warehousing.tokenMetadata(
49
+ token,
50
+ {
51
+ product,
52
+ referenceDate: new Date(),
53
+ },
54
+ { ...context, localeContext: new Locale(forceLocale) },
55
+ );
56
+
57
+ return ercMetadata;
42
58
  },
43
59
  };
@@ -193,11 +193,16 @@ export const loggedIn = (role: any, actions: Record<string, string>) => {
193
193
  const isOwnedToken = async (
194
194
  obj: any,
195
195
  { tokenId }: { tokenId: string },
196
- { modules, userId }: Context,
196
+ { modules, userId, user }: Context,
197
197
  ) => {
198
198
  const token = await modules.warehousing.findToken({ tokenId });
199
199
  if (!token) return true;
200
- return token.userId === userId;
200
+ return (
201
+ token.userId === userId ||
202
+ user?.services?.web3?.some((service) => {
203
+ return service.address === token.walletAddress && service.verified;
204
+ })
205
+ );
201
206
  };
202
207
 
203
208
  role.allow(actions.viewEvent, false);
@@ -3,8 +3,8 @@ export default [
3
3
  input UpdateProductTokenizationInput {
4
4
  contractAddress: String!
5
5
  contractStandard: SmartContractStandard!
6
- tokenId: String!
7
- supply: Int!
6
+ tokenId: String
7
+ supply: Int
8
8
  }
9
9
 
10
10
  enum SmartContractStandard {
@@ -13,8 +13,8 @@ export default [
13
13
  }
14
14
 
15
15
  type ContractConfiguration {
16
- tokenId: String!
17
- supply: Int!
16
+ tokenId: String
17
+ supply: Int
18
18
  }
19
19
 
20
20
  """
@@ -34,6 +34,7 @@ export default [
34
34
  leveledCatalogPrices(currency: String): [PriceLevel!]!
35
35
  simulatedPrice(currency: String, useNetPrice: Boolean = false, quantity: Int = 1): Price
36
36
  simulatedDiscounts(quantity: Int = 1): [ProductDiscount!]
37
+ simulatedStocks(referenceDate: Timestamp): [Stock!]
37
38
  assortmentPaths(forceLocale: String): [ProductAssortmentPath!]!
38
39
  siblings(
39
40
  assortmentId: ID
@@ -50,7 +51,6 @@ export default [
50
51
  contractAddress: String
51
52
  contractStandard: SmartContractStandard
52
53
  contractConfiguration: ContractConfiguration
53
- ercMetadata(forceLocale: String): JSON
54
54
  }
55
55
  `,
56
56
  ];
@@ -52,6 +52,7 @@ export default [
52
52
  contractAddress: String
53
53
  chainId: String
54
54
  chainTokenId: String
55
+ ercMetadata(forceLocale: String): JSON
55
56
  }
56
57
  `,
57
58
  ];