@unchainedshop/core-quotations 2.14.2 → 3.0.0-alpha3

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 (36) hide show
  1. package/lib/db/QuotationsCollection.d.ts +1 -1
  2. package/lib/db/QuotationsCollection.d.ts.map +1 -1
  3. package/lib/director/QuotationAdapter.d.ts +1 -1
  4. package/lib/director/QuotationAdapter.d.ts.map +1 -1
  5. package/lib/director/QuotationAdapter.js.map +1 -1
  6. package/lib/director/QuotationDirector.d.ts +1 -1
  7. package/lib/director/QuotationDirector.d.ts.map +1 -1
  8. package/lib/director/QuotationDirector.js.map +1 -1
  9. package/lib/module/configureQuotationsModule.d.ts +60 -2
  10. package/lib/module/configureQuotationsModule.d.ts.map +1 -1
  11. package/lib/module/configureQuotationsModule.js +10 -15
  12. package/lib/module/configureQuotationsModule.js.map +1 -1
  13. package/lib/quotations-index.d.ts +4 -2
  14. package/lib/quotations-index.d.ts.map +1 -1
  15. package/lib/quotations-index.js +4 -2
  16. package/lib/quotations-index.js.map +1 -1
  17. package/lib/quotations-settings.d.ts +4 -1
  18. package/lib/quotations-settings.d.ts.map +1 -1
  19. package/lib/quotations-settings.js.map +1 -1
  20. package/lib/types.d.ts +69 -0
  21. package/lib/types.d.ts.map +1 -0
  22. package/lib/types.js +16 -0
  23. package/lib/types.js.map +1 -0
  24. package/package.json +6 -9
  25. package/src/db/QuotationsCollection.ts +1 -1
  26. package/src/director/QuotationAdapter.ts +1 -2
  27. package/src/director/QuotationDirector.ts +2 -6
  28. package/src/module/configureQuotationsModule.ts +84 -31
  29. package/src/quotations-index.ts +4 -2
  30. package/src/quotations-settings.ts +5 -1
  31. package/src/types.ts +74 -0
  32. package/lib/db/QuotationsSchema.d.ts +0 -3
  33. package/lib/db/QuotationsSchema.d.ts.map +0 -1
  34. package/lib/db/QuotationsSchema.js +0 -31
  35. package/lib/db/QuotationsSchema.js.map +0 -1
  36. package/src/db/QuotationsSchema.ts +0 -35
@@ -1,4 +1,4 @@
1
1
  import { mongodb } from '@unchainedshop/mongodb';
2
- import { Quotation } from '@unchainedshop/types/quotations.js';
2
+ import { Quotation } from '../types.js';
3
3
  export declare const QuotationsCollection: (db: mongodb.Db) => Promise<mongodb.Collection<Quotation>>;
4
4
  //# sourceMappingURL=QuotationsCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuotationsCollection.d.ts","sourceRoot":"","sources":["../../src/db/QuotationsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,oBAAoB,OAAc,OAAO,CAAC,EAAE,2CAgCxD,CAAC"}
1
+ {"version":3,"file":"QuotationsCollection.d.ts","sourceRoot":"","sources":["../../src/db/QuotationsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,oBAAoB,OAAc,OAAO,CAAC,EAAE,2CAgCxD,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IQuotationAdapter } from '@unchainedshop/types/quotations.js';
1
+ import { IQuotationAdapter } from '../types.js';
2
2
  export declare const QuotationAdapter: Omit<IQuotationAdapter, 'key' | 'label' | 'version'>;
3
3
  //# sourceMappingURL=QuotationAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuotationAdapter.d.ts","sourceRoot":"","sources":["../../src/director/QuotationAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CA8CjF,CAAC"}
1
+ {"version":3,"file":"QuotationAdapter.d.ts","sourceRoot":"","sources":["../../src/director/QuotationAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CA8CjF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"QuotationAdapter.js","sourceRoot":"","sources":["../../src/director/QuotationAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAyD;IACpF,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,GAAG,EAAE;QACZ,OAAO;YACL,kBAAkB,EAAE,GAAG,EAAE;gBACvB,OAAO,cAAc,CAAC,eAAe,CAAC;YACxC,CAAC;YAED,mCAAmC,EAAE,KAAK,IAAI,EAAE;gBAC9C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,wBAAwB,EAAE,KAAK,IAAI,EAAE;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,0BAA0B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;gBAChE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"QuotationAdapter.js","sourceRoot":"","sources":["../../src/director/QuotationAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAyD;IACpF,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,GAAG,EAAE;QACZ,OAAO;YACL,kBAAkB,EAAE,GAAG,EAAE;gBACvB,OAAO,cAAc,CAAC,eAAe,CAAC;YACxC,CAAC;YAED,mCAAmC,EAAE,KAAK,IAAI,EAAE;gBAC9C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,wBAAwB,EAAE,KAAK,IAAI,EAAE;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,0BAA0B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;gBAChE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IQuotationDirector } from '@unchainedshop/types/quotations.js';
1
+ import { IQuotationDirector } from '../types.js';
2
2
  export declare const QuotationDirector: IQuotationDirector;
3
3
  //# sourceMappingURL=QuotationDirector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuotationDirector.d.ts","sourceRoot":"","sources":["../../src/director/QuotationDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAEnB,MAAM,oCAAoC,CAAC;AAsB5C,eAAO,MAAM,iBAAiB,EAAE,kBA2E/B,CAAC"}
1
+ {"version":3,"file":"QuotationDirector.d.ts","sourceRoot":"","sources":["../../src/director/QuotationDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,kBAAkB,EAAoB,MAAM,aAAa,CAAC;AAsBtF,eAAO,MAAM,iBAAiB,EAAE,kBA2E/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"QuotationDirector.js","sourceRoot":"","sources":["../../src/director/QuotationDirector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuotationDirector.js","sourceRoot":"","sources":["../../src/director/QuotationDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,YAAY,GAAG,YAAY,CAAoB,mBAAmB,EAAE;IACxE,cAAc,EAAE,YAAY;CAC7B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,gBAAkC,EAAE,YAA2B,EAAE,EAAE,CAClG,YAAY,CAAC,WAAW,CAAC;IACvB,aAAa,EAAE,CAAC,OAA0B,EAAE,EAAE;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,yBAAyB,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,OAAO,WAAW,EAAE;gBACvE,KAAK,EAAE,QAAQ,CAAC,OAAO;aACxB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,GAAG,YAAY;IAEf,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,YAAY,EAAE,CAAC;QAEzD,MAAM,OAAO,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;QAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO;YACL,kBAAkB,EAAE,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACtC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,kEAAkE,EAAE;wBACtE,KAAK,EAAE,QAAQ,CAAC,OAAO;wBACvB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,cAAc,CAAC,iBAAiB,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,mCAAmC,EAAE,KAAK,IAAI,EAAE;gBAC9C,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,mCAAmC,EAAE,CAAC;oBACvE,OAAO,UAAU,CAAC;gBACpB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,sFAAsF,EAAE;wBAC1F,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,wBAAwB,EAAE,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,wBAAwB,EAAE,CAAC;oBAC5D,OAAO,UAAU,CAAC;gBACpB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,0EAA0E,EAAE;wBAC9E,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YAEpC,0BAA0B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;gBAChE,IAAI,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,0BAA0B,CAAC;wBACjE,QAAQ;wBACR,aAAa;qBACd,CAAC,CAAC;oBACH,OAAO,iBAAiB,CAAC;gBAC3B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,kEAAkE,EAAE;wBACtE,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,GAAG,KAAK;qBACT,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,5 +1,63 @@
1
- import { ModuleInput } from '@unchainedshop/types/core.js';
2
- import { QuotationQuery, QuotationsModule, QuotationsSettingsOptions } from '@unchainedshop/types/quotations.js';
1
+ import { SortOption } from '@unchainedshop/utils';
2
+ import { ModuleInput, UnchainedCore } from '@unchainedshop/core';
3
+ import { Quotation, QuotationItemConfiguration, QuotationProposal } from '../types.js';
4
+ import { mongodb } from '@unchainedshop/mongodb';
5
+ import { QuotationStatus } from '../db/QuotationStatus.js';
6
+ import { QuotationsSettingsOptions } from '../quotations-settings.js';
7
+ export type QuotationQuery = {
8
+ userId?: string;
9
+ queryString?: string;
10
+ };
11
+ export interface QuotationQueries {
12
+ findQuotation: (query: {
13
+ quotationId: string;
14
+ }, options?: mongodb.FindOptions) => Promise<Quotation>;
15
+ findQuotations: (query: QuotationQuery & {
16
+ limit?: number;
17
+ offset?: number;
18
+ sort?: Array<SortOption>;
19
+ }, options?: mongodb.FindOptions) => Promise<Array<Quotation>>;
20
+ count: (query: QuotationQuery) => Promise<number>;
21
+ openQuotationWithProduct: (param: {
22
+ productId: string;
23
+ }) => Promise<Quotation | null>;
24
+ }
25
+ export interface QuotationTransformations {
26
+ isExpired: (quotation: Quotation, params?: {
27
+ referenceDate: Date;
28
+ }) => boolean;
29
+ isProposalValid: (quotation: Quotation) => boolean;
30
+ normalizedStatus: (quotation: Quotation) => string;
31
+ }
32
+ export type QuotationContextParams = (quotation: Quotation, params: {
33
+ quotationContext?: any;
34
+ }, unchainedAPI: UnchainedCore) => Promise<Quotation>;
35
+ export interface QuotationData {
36
+ configuration?: Array<{
37
+ key: string;
38
+ value: string;
39
+ }>;
40
+ countryCode?: string;
41
+ productId: string;
42
+ userId: string;
43
+ }
44
+ export interface QuotationMutations {
45
+ create: (doc: QuotationData, unchainedAPI: UnchainedCore) => Promise<Quotation>;
46
+ updateContext: (quotationId: string, context: any) => Promise<Quotation | null>;
47
+ updateProposal: (quotationId: string, proposal: QuotationProposal) => Promise<Quotation>;
48
+ updateStatus: (quotationId: string, params: {
49
+ status: QuotationStatus;
50
+ info?: string;
51
+ }) => Promise<Quotation>;
52
+ }
53
+ export interface QuotationProcessing {
54
+ fullfillQuotation: (quotationId: string, info: any, unchainedAPI: UnchainedCore) => Promise<Quotation>;
55
+ proposeQuotation: QuotationContextParams;
56
+ rejectQuotation: QuotationContextParams;
57
+ verifyQuotation: QuotationContextParams;
58
+ transformItemConfiguration: (quotation: Quotation, configuration: QuotationItemConfiguration, unchainedAPI: UnchainedCore) => Promise<QuotationItemConfiguration>;
59
+ }
60
+ export type QuotationsModule = QuotationQueries & QuotationTransformations & QuotationProcessing & QuotationMutations;
3
61
  export declare const buildFindSelector: (query?: QuotationQuery) => {
4
62
  userId?: string;
5
63
  $text?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"configureQuotationsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureQuotationsModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAkC,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAEL,cAAc,EACd,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAkB5C,eAAO,MAAM,iBAAiB,WAAW,cAAc;aAC1B,MAAM;YAAU,GAAG;CAS/C,CAAC;AASF,eAAO,MAAM,yBAAyB,wCAGnC,WAAW,CAAC,yBAAyB,CAAC,KAAG,OAAO,CAAC,gBAAgB,CAqTnE,CAAC"}
1
+ {"version":3,"file":"configureQuotationsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureQuotationsModule.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- import { SortDirection } from '@unchainedshop/types/api.js';
1
+ import { SortDirection } from '@unchainedshop/utils';
2
2
  import { emit, registerEvents } from '@unchainedshop/events';
3
- import { log } from '@unchainedshop/logger';
4
- import { generateDbFilterById, generateDbMutations, buildSortOptions, } from '@unchainedshop/mongodb';
3
+ import { generateDbFilterById, buildSortOptions, generateDbObjectId, } from '@unchainedshop/mongodb';
5
4
  import { QuotationsCollection } from '../db/QuotationsCollection.js';
6
- import { QuotationsSchema } from '../db/QuotationsSchema.js';
7
5
  import { QuotationStatus } from '../db/QuotationStatus.js';
8
6
  import { QuotationDirector } from '../quotations-index.js';
9
7
  import { quotationsSettings } from '../quotations-settings.js';
@@ -29,7 +27,6 @@ export const configureQuotationsModule = async ({ db, options: quotationsOptions
29
27
  registerEvents(QUOTATION_EVENTS);
30
28
  quotationsSettings.configureSettings(quotationsOptions);
31
29
  const Quotations = await QuotationsCollection(db);
32
- const mutations = generateDbMutations(Quotations, QuotationsSchema);
33
30
  const findNewQuotationNumber = async (quotation, index = 0) => {
34
31
  const newHashID = quotationsSettings.quotationNumberHashFn(quotation, index);
35
32
  if ((await Quotations.countDocuments({ quotationNumber: newHashID }, { limit: 1 })) === 0) {
@@ -91,7 +88,6 @@ export const configureQuotationsModule = async ({ db, options: quotationsOptions
91
88
  },
92
89
  },
93
90
  };
94
- log(`New Status: ${status}`, { quotationId });
95
91
  const updatedQuotation = await Quotations.findOneAndUpdate(selector, modifier, {
96
92
  returnDocument: 'after',
97
93
  });
@@ -142,15 +138,12 @@ export const configureQuotationsModule = async ({ db, options: quotationsOptions
142
138
  return quotation;
143
139
  };
144
140
  const updateQuotationFields = (fieldKeys) => async (quotationId, values) => {
145
- log(`Update quotation fields ${fieldKeys.join(', ').toUpperCase()}`, {
146
- quotationId,
141
+ const quotation = await Quotations.findOneAndUpdate(generateDbFilterById(quotationId), {
142
+ $set: {
143
+ updated: new Date(),
144
+ ...fieldKeys.reduce((set, key) => ({ ...set, [key]: values[key] }), {}),
145
+ },
147
146
  });
148
- const modifier = {
149
- $set: fieldKeys.reduce((set, key) => ({ ...set, [key]: values[key] }), {}),
150
- };
151
- await mutations.update(quotationId, modifier);
152
- const selector = generateDbFilterById(quotationId);
153
- const quotation = await Quotations.findOne(selector, {});
154
147
  await emit('QUOTATION_UPDATE', { quotation, fields: fieldKeys });
155
148
  return quotation;
156
149
  };
@@ -242,7 +235,9 @@ export const configureQuotationsModule = async ({ db, options: quotationsOptions
242
235
  const countryObject = await modules.countries.findCountry({ isoCode: countryCode });
243
236
  const currencies = await modules.currencies.findCurrencies({ includeInactive: false });
244
237
  const currency = resolveBestCurrency(countryObject.defaultCurrencyCode, currencies);
245
- const quotationId = await mutations.create({
238
+ const { insertedId: quotationId } = await Quotations.insertOne({
239
+ _id: generateDbObjectId(),
240
+ created: new Date(),
246
241
  ...quotationData,
247
242
  configuration: quotationData.configuration || [],
248
243
  countryCode,
@@ -1 +1 @@
1
- {"version":3,"file":"configureQuotationsModule.js","sourceRoot":"","sources":["../../src/module/configureQuotationsModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureQuotationsModule.js","sourceRoot":"","sources":["../../src/module/configureQuotationsModule.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- export { configureQuotationsModule } from './module/configureQuotationsModule.js';
1
+ export * from './types.js';
2
+ export * from './module/configureQuotationsModule.js';
3
+ export * from './quotations-settings.js';
2
4
  export { QuotationStatus } from './db/QuotationStatus.js';
3
5
  export { QuotationAdapter } from './director/QuotationAdapter.js';
4
6
  export { QuotationDirector } from './director/QuotationDirector.js';
5
- export { quotationsSettings } from './quotations-settings.js';
7
+ export { QuotationError } from './director/QuotationError.js';
6
8
  //# sourceMappingURL=quotations-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quotations-index.d.ts","sourceRoot":"","sources":["../src/quotations-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"quotations-index.d.ts","sourceRoot":"","sources":["../src/quotations-index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,6 +1,8 @@
1
- export { configureQuotationsModule } from './module/configureQuotationsModule.js';
1
+ export * from './types.js';
2
+ export * from './module/configureQuotationsModule.js';
3
+ export * from './quotations-settings.js';
2
4
  export { QuotationStatus } from './db/QuotationStatus.js';
3
5
  export { QuotationAdapter } from './director/QuotationAdapter.js';
4
6
  export { QuotationDirector } from './director/QuotationDirector.js';
5
- export { quotationsSettings } from './quotations-settings.js';
7
+ export { QuotationError } from './director/QuotationError.js';
6
8
  //# sourceMappingURL=quotations-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quotations-index.js","sourceRoot":"","sources":["../src/quotations-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"quotations-index.js","sourceRoot":"","sources":["../src/quotations-index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,4 +1,7 @@
1
- import { QuotationsSettingsOptions } from '@unchainedshop/types/quotations.js';
1
+ import { Quotation } from './types.js';
2
+ export interface QuotationsSettingsOptions {
3
+ quotationNumberHashFn?: (quotation: Quotation, index: number) => string;
4
+ }
2
5
  export declare const quotationsSettings: {
3
6
  quotationNumberHashFn: any;
4
7
  configureSettings({ quotationNumberHashFn }?: QuotationsSettingsOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"quotations-settings.d.ts","sourceRoot":"","sources":["../src/quotations-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAG/E,eAAO,MAAM,kBAAkB;;kDAGqC,yBAAyB;CAG5F,CAAC"}
1
+ {"version":3,"file":"quotations-settings.d.ts","sourceRoot":"","sources":["../src/quotations-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,yBAAyB;IACxC,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzE;AAED,eAAO,MAAM,kBAAkB;;kDAGqC,yBAAyB;CAG5F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quotations-settings.js","sourceRoot":"","sources":["../src/quotations-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,qBAAqB,EAAE,IAAI;IAE3B,iBAAiB,CAAC,EAAE,qBAAqB,GAAG,kBAAkB,KAAgC,EAAE;QAC9F,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"quotations-settings.js","sourceRoot":"","sources":["../src/quotations-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAO1D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,qBAAqB,EAAE,IAAI;IAE3B,iBAAiB,CAAC,EAAE,qBAAqB,GAAG,kBAAkB,KAAgC,EAAE;QAC9F,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;CACF,CAAC"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,69 @@
1
+ import type { IBaseAdapter, IBaseDirector } from '@unchainedshop/utils';
2
+ import type { TimestampFields, LogFields } from '@unchainedshop/mongodb';
3
+ import type { UnchainedCore } from '@unchainedshop/core';
4
+ export declare enum QuotationStatus {
5
+ REQUESTED = "REQUESTED",
6
+ PROCESSING = "PROCESSING",
7
+ PROPOSED = "PROPOSED",
8
+ FULLFILLED = "FULLFILLED",
9
+ REJECTED = "REJECTED"
10
+ }
11
+ export declare enum QuotationError {
12
+ ADAPTER_NOT_FOUND = "ADAPTER_NOT_FOUND",
13
+ NOT_IMPLEMENTED = "NOT_IMPLEMENTED",
14
+ INCOMPLETE_CONFIGURATION = "INCOMPLETE_CONFIGURATION",
15
+ WRONG_CREDENTIALS = "WRONG_CREDENTIALS"
16
+ }
17
+ export type Quotation = {
18
+ _id?: string;
19
+ configuration?: Array<{
20
+ key: string;
21
+ value: string;
22
+ }>;
23
+ context?: any;
24
+ countryCode?: string;
25
+ currency?: string;
26
+ expires?: Date;
27
+ fullfilled?: Date;
28
+ meta?: any;
29
+ price?: number;
30
+ productId: string;
31
+ quotationNumber?: string;
32
+ rejected?: Date;
33
+ status: string;
34
+ userId: string;
35
+ } & LogFields & TimestampFields;
36
+ export type QuotationProposal = {
37
+ price?: number;
38
+ expires?: Date;
39
+ meta?: any;
40
+ };
41
+ export interface QuotationItemConfiguration {
42
+ quantity?: number;
43
+ configuration: Array<{
44
+ key: string;
45
+ value: string;
46
+ }>;
47
+ }
48
+ export type QuotationContext = {
49
+ quotation?: Quotation;
50
+ };
51
+ export interface QuotationAdapterActions {
52
+ configurationError: () => QuotationError;
53
+ isManualProposalRequired: () => Promise<boolean>;
54
+ isManualRequestVerificationRequired: () => Promise<boolean>;
55
+ quote: () => Promise<QuotationProposal>;
56
+ rejectRequest: (unchainedAPI?: any) => Promise<boolean>;
57
+ submitRequest: (unchainedAPI?: any) => Promise<boolean>;
58
+ verifyRequest: (unchainedAPI?: any) => Promise<boolean>;
59
+ transformItemConfiguration: (params: QuotationItemConfiguration) => Promise<QuotationItemConfiguration>;
60
+ }
61
+ export type IQuotationAdapter = IBaseAdapter & {
62
+ orderIndex: number;
63
+ isActivatedFor: (quotationContext: QuotationContext, unchainedAPI: UnchainedCore) => boolean;
64
+ actions: (params: QuotationContext & UnchainedCore) => QuotationAdapterActions;
65
+ };
66
+ export type IQuotationDirector = IBaseDirector<IQuotationAdapter> & {
67
+ actions: (quotationContext: QuotationContext, unchainedAPI: UnchainedCore) => Promise<QuotationAdapterActions>;
68
+ };
69
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js ADDED
@@ -0,0 +1,16 @@
1
+ export var QuotationStatus;
2
+ (function (QuotationStatus) {
3
+ QuotationStatus["REQUESTED"] = "REQUESTED";
4
+ QuotationStatus["PROCESSING"] = "PROCESSING";
5
+ QuotationStatus["PROPOSED"] = "PROPOSED";
6
+ QuotationStatus["FULLFILLED"] = "FULLFILLED";
7
+ QuotationStatus["REJECTED"] = "REJECTED";
8
+ })(QuotationStatus || (QuotationStatus = {}));
9
+ export var QuotationError;
10
+ (function (QuotationError) {
11
+ QuotationError["ADAPTER_NOT_FOUND"] = "ADAPTER_NOT_FOUND";
12
+ QuotationError["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
13
+ QuotationError["INCOMPLETE_CONFIGURATION"] = "INCOMPLETE_CONFIGURATION";
14
+ QuotationError["WRONG_CREDENTIALS"] = "WRONG_CREDENTIALS";
15
+ })(QuotationError || (QuotationError = {}));
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;IACrB,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;AACvB,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,yDAAuC,CAAA;IACvC,qDAAmC,CAAA;IACnC,uEAAqD,CAAA;IACrD,yDAAuC,CAAA;AACzC,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-quotations",
3
- "version": "2.14.2",
3
+ "version": "3.0.0-alpha3",
4
4
  "main": "lib/quotations-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/quotations-index.js",
@@ -31,17 +31,14 @@
31
31
  },
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
- "@unchainedshop/events": "^2.14.2",
35
- "@unchainedshop/logger": "^2.14.2",
36
- "@unchainedshop/utils": "^2.14.2",
37
- "simpl-schema": "^3.4.6"
34
+ "@unchainedshop/events": "^3.0.0-alpha3",
35
+ "@unchainedshop/logger": "^3.0.0-alpha3",
36
+ "@unchainedshop/utils": "^3.0.0-alpha3"
38
37
  },
39
38
  "devDependencies": {
40
- "@types/locale": "^0.1.4",
41
- "@types/node": "^20.16.5",
42
- "@unchainedshop/types": "^2.14.2",
39
+ "@types/node": "^22.5.5",
43
40
  "jest": "^29.7.0",
44
41
  "ts-jest": "^29.2.5",
45
- "typescript": "^5.5.4"
42
+ "typescript": "^5.6.2"
46
43
  }
47
44
  }
@@ -1,5 +1,5 @@
1
1
  import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
- import { Quotation } from '@unchainedshop/types/quotations.js';
2
+ import { Quotation } from '../types.js';
3
3
 
4
4
  export const QuotationsCollection = async (db: mongodb.Db) => {
5
5
  const Quotations = db.collection<Quotation>('quotations');
@@ -1,6 +1,5 @@
1
1
  import { log, LogLevel } from '@unchainedshop/logger';
2
-
3
- import { IQuotationAdapter } from '@unchainedshop/types/quotations.js';
2
+ import { IQuotationAdapter } from '../types.js';
4
3
  import { QuotationError } from './QuotationError.js';
5
4
 
6
5
  export const QuotationAdapter: Omit<IQuotationAdapter, 'key' | 'label' | 'version'> = {
@@ -1,11 +1,7 @@
1
1
  import { LogLevel, log } from '@unchainedshop/logger';
2
- import {
3
- IQuotationAdapter,
4
- IQuotationDirector,
5
- QuotationContext,
6
- } from '@unchainedshop/types/quotations.js';
2
+ import { IQuotationAdapter, IQuotationDirector, QuotationContext } from '../types.js';
7
3
  import { BaseDirector } from '@unchainedshop/utils';
8
- import { UnchainedCore } from '@unchainedshop/types/core.js';
4
+ import { UnchainedCore } from '@unchainedshop/core';
9
5
  import { QuotationError } from './QuotationError.js';
10
6
 
11
7
  const baseDirector = BaseDirector<IQuotationAdapter>('QuotationDirector', {
@@ -1,26 +1,90 @@
1
- import { SortDirection, SortOption } from '@unchainedshop/types/api.js';
2
- import { ModuleInput, ModuleMutations, UnchainedCore } from '@unchainedshop/types/core.js';
3
- import {
4
- Quotation,
5
- QuotationQuery,
6
- QuotationsModule,
7
- QuotationsSettingsOptions,
8
- } from '@unchainedshop/types/quotations.js';
1
+ import { SortDirection, SortOption } from '@unchainedshop/utils';
2
+ import { ModuleInput, UnchainedCore } from '@unchainedshop/core';
3
+ import { Quotation, QuotationItemConfiguration, QuotationProposal } from '../types.js';
9
4
  import { emit, registerEvents } from '@unchainedshop/events';
10
- import { log } from '@unchainedshop/logger';
11
5
  import {
12
6
  generateDbFilterById,
13
- generateDbMutations,
14
7
  buildSortOptions,
15
8
  mongodb,
9
+ generateDbObjectId,
16
10
  } from '@unchainedshop/mongodb';
17
11
  import { QuotationsCollection } from '../db/QuotationsCollection.js';
18
- import { QuotationsSchema } from '../db/QuotationsSchema.js';
19
12
  import { QuotationStatus } from '../db/QuotationStatus.js';
20
13
  import { QuotationDirector } from '../quotations-index.js';
21
- import { quotationsSettings } from '../quotations-settings.js';
14
+ import { quotationsSettings, QuotationsSettingsOptions } from '../quotations-settings.js';
22
15
  import { resolveBestCurrency } from '@unchainedshop/utils';
23
16
 
17
+ export type QuotationQuery = {
18
+ userId?: string;
19
+ queryString?: string;
20
+ };
21
+ export interface QuotationQueries {
22
+ findQuotation: (query: { quotationId: string }, options?: mongodb.FindOptions) => Promise<Quotation>;
23
+ findQuotations: (
24
+ query: QuotationQuery & {
25
+ limit?: number;
26
+ offset?: number;
27
+ sort?: Array<SortOption>;
28
+ },
29
+ options?: mongodb.FindOptions,
30
+ ) => Promise<Array<Quotation>>;
31
+ count: (query: QuotationQuery) => Promise<number>;
32
+ openQuotationWithProduct: (param: { productId: string }) => Promise<Quotation | null>;
33
+ }
34
+
35
+ // Transformations
36
+
37
+ export interface QuotationTransformations {
38
+ isExpired: (quotation: Quotation, params?: { referenceDate: Date }) => boolean;
39
+ isProposalValid: (quotation: Quotation) => boolean;
40
+ normalizedStatus: (quotation: Quotation) => string;
41
+ }
42
+
43
+ // Processing
44
+
45
+ export type QuotationContextParams = (
46
+ quotation: Quotation,
47
+ params: { quotationContext?: any },
48
+ unchainedAPI: UnchainedCore,
49
+ ) => Promise<Quotation>;
50
+
51
+ // Mutations
52
+ export interface QuotationData {
53
+ configuration?: Array<{ key: string; value: string }>;
54
+ countryCode?: string;
55
+ productId: string;
56
+ userId: string;
57
+ }
58
+ export interface QuotationMutations {
59
+ create: (doc: QuotationData, unchainedAPI: UnchainedCore) => Promise<Quotation>;
60
+
61
+ updateContext: (quotationId: string, context: any) => Promise<Quotation | null>;
62
+
63
+ updateProposal: (quotationId: string, proposal: QuotationProposal) => Promise<Quotation>;
64
+
65
+ updateStatus: (
66
+ quotationId: string,
67
+ params: { status: QuotationStatus; info?: string },
68
+ ) => Promise<Quotation>;
69
+ }
70
+
71
+ export interface QuotationProcessing {
72
+ fullfillQuotation: (quotationId: string, info: any, unchainedAPI: UnchainedCore) => Promise<Quotation>;
73
+ proposeQuotation: QuotationContextParams;
74
+ rejectQuotation: QuotationContextParams;
75
+ verifyQuotation: QuotationContextParams;
76
+ transformItemConfiguration: (
77
+ quotation: Quotation,
78
+ configuration: QuotationItemConfiguration,
79
+ unchainedAPI: UnchainedCore,
80
+ ) => Promise<QuotationItemConfiguration>;
81
+ }
82
+
83
+ export type QuotationsModule = QuotationQueries &
84
+ QuotationTransformations &
85
+ QuotationProcessing &
86
+ QuotationMutations;
87
+
24
88
  const QUOTATION_EVENTS: string[] = ['QUOTATION_REQUEST_CREATE', 'QUOTATION_REMOVE', 'QUOTATION_UPDATE'];
25
89
 
26
90
  export const buildFindSelector = (query: QuotationQuery = {}) => {
@@ -52,11 +116,6 @@ export const configureQuotationsModule = async ({
52
116
 
53
117
  const Quotations = await QuotationsCollection(db);
54
118
 
55
- const mutations = generateDbMutations<Quotation>(
56
- Quotations,
57
- QuotationsSchema,
58
- ) as ModuleMutations<Quotation>;
59
-
60
119
  const findNewQuotationNumber = async (quotation: Quotation, index = 0) => {
61
120
  const newHashID = quotationsSettings.quotationNumberHashFn(quotation, index);
62
121
  if ((await Quotations.countDocuments({ quotationNumber: newHashID }, { limit: 1 })) === 0) {
@@ -128,8 +187,6 @@ export const configureQuotationsModule = async ({
128
187
  },
129
188
  };
130
189
 
131
- log(`New Status: ${status}`, { quotationId });
132
-
133
190
  const updatedQuotation = await Quotations.findOneAndUpdate(selector, modifier, {
134
191
  returnDocument: 'after',
135
192
  });
@@ -199,19 +256,13 @@ export const configureQuotationsModule = async ({
199
256
 
200
257
  const updateQuotationFields =
201
258
  (fieldKeys: Array<string>) => async (quotationId: string, values: any) => {
202
- log(`Update quotation fields ${fieldKeys.join(', ').toUpperCase()}`, {
203
- quotationId,
259
+ const quotation = await Quotations.findOneAndUpdate(generateDbFilterById(quotationId), {
260
+ $set: {
261
+ updated: new Date(),
262
+ ...fieldKeys.reduce((set, key) => ({ ...set, [key]: values[key] }), {}),
263
+ },
204
264
  });
205
265
 
206
- const modifier = {
207
- $set: fieldKeys.reduce((set, key) => ({ ...set, [key]: values[key] }), {}),
208
- };
209
-
210
- await mutations.update(quotationId, modifier);
211
-
212
- const selector = generateDbFilterById(quotationId);
213
- const quotation = await Quotations.findOne(selector, {});
214
-
215
266
  await emit('QUOTATION_UPDATE', { quotation, fields: fieldKeys });
216
267
 
217
268
  return quotation;
@@ -329,7 +380,9 @@ export const configureQuotationsModule = async ({
329
380
  const currencies = await modules.currencies.findCurrencies({ includeInactive: false });
330
381
  const currency = resolveBestCurrency(countryObject.defaultCurrencyCode, currencies);
331
382
 
332
- const quotationId = await mutations.create({
383
+ const { insertedId: quotationId } = await Quotations.insertOne({
384
+ _id: generateDbObjectId(),
385
+ created: new Date(),
333
386
  ...quotationData,
334
387
  configuration: quotationData.configuration || [],
335
388
  countryCode,
@@ -1,8 +1,10 @@
1
- export { configureQuotationsModule } from './module/configureQuotationsModule.js';
1
+ export * from './types.js';
2
+ export * from './module/configureQuotationsModule.js';
3
+ export * from './quotations-settings.js';
2
4
 
3
5
  export { QuotationStatus } from './db/QuotationStatus.js';
4
6
 
5
7
  export { QuotationAdapter } from './director/QuotationAdapter.js';
6
8
  export { QuotationDirector } from './director/QuotationDirector.js';
7
9
 
8
- export { quotationsSettings } from './quotations-settings.js';
10
+ export { QuotationError } from './director/QuotationError.js';
@@ -1,5 +1,9 @@
1
- import { QuotationsSettingsOptions } from '@unchainedshop/types/quotations.js';
2
1
  import { generateRandomHash } from '@unchainedshop/utils';
2
+ import { Quotation } from './types.js';
3
+
4
+ export interface QuotationsSettingsOptions {
5
+ quotationNumberHashFn?: (quotation: Quotation, index: number) => string;
6
+ }
3
7
 
4
8
  export const quotationsSettings = {
5
9
  quotationNumberHashFn: null,
package/src/types.ts ADDED
@@ -0,0 +1,74 @@
1
+ import type { IBaseAdapter, IBaseDirector } from '@unchainedshop/utils';
2
+ import type { TimestampFields, LogFields } from '@unchainedshop/mongodb';
3
+ import type { UnchainedCore } from '@unchainedshop/core';
4
+
5
+ export enum QuotationStatus {
6
+ REQUESTED = 'REQUESTED',
7
+ PROCESSING = 'PROCESSING',
8
+ PROPOSED = 'PROPOSED',
9
+ FULLFILLED = 'FULLFILLED',
10
+ REJECTED = 'REJECTED',
11
+ }
12
+
13
+ export enum QuotationError {
14
+ ADAPTER_NOT_FOUND = 'ADAPTER_NOT_FOUND',
15
+ NOT_IMPLEMENTED = 'NOT_IMPLEMENTED',
16
+ INCOMPLETE_CONFIGURATION = 'INCOMPLETE_CONFIGURATION',
17
+ WRONG_CREDENTIALS = 'WRONG_CREDENTIALS',
18
+ }
19
+
20
+ export type Quotation = {
21
+ _id?: string;
22
+ configuration?: Array<{ key: string; value: string }>;
23
+ context?: any;
24
+ countryCode?: string;
25
+ currency?: string;
26
+ expires?: Date;
27
+ fullfilled?: Date;
28
+ meta?: any;
29
+ price?: number;
30
+ productId: string;
31
+ quotationNumber?: string;
32
+ rejected?: Date;
33
+ status: string;
34
+ userId: string;
35
+ } & LogFields &
36
+ TimestampFields;
37
+
38
+ export type QuotationProposal = { price?: number; expires?: Date; meta?: any };
39
+
40
+ export interface QuotationItemConfiguration {
41
+ quantity?: number;
42
+ configuration: Array<{ key: string; value: string }>;
43
+ }
44
+
45
+ export type QuotationContext = {
46
+ quotation?: Quotation;
47
+ };
48
+
49
+ export interface QuotationAdapterActions {
50
+ configurationError: () => QuotationError;
51
+ isManualProposalRequired: () => Promise<boolean>;
52
+ isManualRequestVerificationRequired: () => Promise<boolean>;
53
+ quote: () => Promise<QuotationProposal>;
54
+ rejectRequest: (unchainedAPI?: any) => Promise<boolean>;
55
+ submitRequest: (unchainedAPI?: any) => Promise<boolean>;
56
+ verifyRequest: (unchainedAPI?: any) => Promise<boolean>;
57
+
58
+ transformItemConfiguration: (
59
+ params: QuotationItemConfiguration,
60
+ ) => Promise<QuotationItemConfiguration>;
61
+ }
62
+
63
+ export type IQuotationAdapter = IBaseAdapter & {
64
+ orderIndex: number;
65
+ isActivatedFor: (quotationContext: QuotationContext, unchainedAPI: UnchainedCore) => boolean;
66
+ actions: (params: QuotationContext & UnchainedCore) => QuotationAdapterActions;
67
+ };
68
+
69
+ export type IQuotationDirector = IBaseDirector<IQuotationAdapter> & {
70
+ actions: (
71
+ quotationContext: QuotationContext,
72
+ unchainedAPI: UnchainedCore,
73
+ ) => Promise<QuotationAdapterActions>;
74
+ };
@@ -1,3 +0,0 @@
1
- import SimpleSchema from 'simpl-schema';
2
- export declare const QuotationsSchema: SimpleSchema;
3
- //# sourceMappingURL=QuotationsSchema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuotationsSchema.d.ts","sourceRoot":"","sources":["../../src/db/QuotationsSchema.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,eAAO,MAAM,gBAAgB,cA+B5B,CAAC"}
@@ -1,31 +0,0 @@
1
- import { Schemas } from '@unchainedshop/utils';
2
- import SimpleSchema from 'simpl-schema';
3
- export const QuotationsSchema = new SimpleSchema({
4
- userId: { type: String, required: true },
5
- productId: { type: String, required: true },
6
- status: { type: String, required: true },
7
- quotationNumber: String,
8
- price: String,
9
- expires: Date,
10
- rejected: Date,
11
- meta: { type: Object, blackbox: true },
12
- fullfilled: Date,
13
- context: { type: Object, blackbox: true },
14
- currency: String,
15
- countryCode: String,
16
- configuration: Array,
17
- 'configuration.$': {
18
- type: Object,
19
- required: true,
20
- },
21
- 'configuration.$.key': {
22
- type: String,
23
- required: true,
24
- },
25
- 'configuration.$.value': {
26
- type: String,
27
- },
28
- ...Schemas.logFields,
29
- ...Schemas.timestampFields,
30
- }, { requiredByDefault: false });
31
- //# sourceMappingURL=QuotationsSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuotationsSchema.js","sourceRoot":"","sources":["../../src/db/QuotationsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,YAAY,CAC9C;IACE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,eAAe,EAAE,MAAM;IACvB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,MAAM;KACb;IAED,GAAG,OAAO,CAAC,SAAS;IACpB,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
@@ -1,35 +0,0 @@
1
- import { Schemas } from '@unchainedshop/utils';
2
- import SimpleSchema from 'simpl-schema';
3
-
4
- export const QuotationsSchema = new SimpleSchema(
5
- {
6
- userId: { type: String, required: true },
7
- productId: { type: String, required: true },
8
- status: { type: String, required: true },
9
- quotationNumber: String,
10
- price: String,
11
- expires: Date,
12
- rejected: Date,
13
- meta: { type: Object, blackbox: true },
14
- fullfilled: Date,
15
- context: { type: Object, blackbox: true },
16
- currency: String,
17
- countryCode: String,
18
- configuration: Array,
19
- 'configuration.$': {
20
- type: Object,
21
- required: true,
22
- },
23
- 'configuration.$.key': {
24
- type: String,
25
- required: true,
26
- },
27
- 'configuration.$.value': {
28
- type: String,
29
- },
30
-
31
- ...Schemas.logFields,
32
- ...Schemas.timestampFields,
33
- },
34
- { requiredByDefault: false },
35
- );