Browse Source

feat(server): Add currencyCode to Order entity

Michael Bromley 7 years ago
parent
commit
0da4493be4

File diff suppressed because it is too large
+ 0 - 0
schema.json


+ 1 - 1
server/src/api/resolvers/order.resolver.ts

@@ -273,7 +273,7 @@ export class OrderResolver {
             }
             }
 
 
             if (!order && createIfNotExists) {
             if (!order && createIfNotExists) {
-                order = await this.orderService.create(ctx.activeUserId);
+                order = await this.orderService.create(ctx, ctx.activeUserId);
             }
             }
 
 
             if (order) {
             if (order) {

+ 4 - 0
server/src/entity/order/order.entity.ts

@@ -4,6 +4,7 @@ import {
     Adjustment,
     Adjustment,
     AdjustmentType,
     AdjustmentType,
     BillingAddress,
     BillingAddress,
+    CurrencyCode,
     ShippingAddress,
     ShippingAddress,
 } from '../../../../shared/generated-types';
 } from '../../../../shared/generated-types';
 import { DeepPartial, ID } from '../../../../shared/shared-types';
 import { DeepPartial, ID } from '../../../../shared/shared-types';
@@ -48,6 +49,9 @@ export class Order extends VendureEntity {
     @OneToMany(type => Payment, payment => payment.order)
     @OneToMany(type => Payment, payment => payment.order)
     payments: Payment[];
     payments: Payment[];
 
 
+    @Column('varchar')
+    currencyCode: CurrencyCode;
+
     @Column() subTotalBeforeTax: number;
     @Column() subTotalBeforeTax: number;
 
 
     @Column() subTotal: number;
     @Column() subTotal: number;

+ 1 - 0
server/src/entity/order/order.graphql

@@ -13,6 +13,7 @@ type Order implements Node {
     payments: [Payment!]
     payments: [Payment!]
     subTotalBeforeTax: Int!
     subTotalBeforeTax: Int!
     subTotal: Int!
     subTotal: Int!
+    currencyCode: CurrencyCode!
     shipping: Int!
     shipping: Int!
     shippingMethod: ShippingMethod
     shippingMethod: ShippingMethod
     totalBeforeTax: Int!
     totalBeforeTax: Int!

+ 2 - 1
server/src/service/services/order.service.ts

@@ -109,7 +109,7 @@ export class OrderService {
         }
         }
     }
     }
 
 
-    async create(userId?: ID): Promise<Order> {
+    async create(ctx: RequestContext, userId?: ID): Promise<Order> {
         const newOrder = new Order({
         const newOrder = new Order({
             code: generatePublicId(),
             code: generatePublicId(),
             state: this.orderStateMachine.getInitialState(),
             state: this.orderStateMachine.getInitialState(),
@@ -119,6 +119,7 @@ export class OrderService {
             pendingAdjustments: [],
             pendingAdjustments: [],
             subTotal: 0,
             subTotal: 0,
             subTotalBeforeTax: 0,
             subTotalBeforeTax: 0,
+            currencyCode: ctx.channel.currencyCode,
         });
         });
         if (userId) {
         if (userId) {
             const customer = await this.customerService.findOneByUserId(userId);
             const customer = await this.customerService.findOneByUserId(userId);

+ 7 - 0
shared/generated-types.ts

@@ -303,6 +303,7 @@ export interface Order extends Node {
     payments?: Payment[] | null;
     payments?: Payment[] | null;
     subTotalBeforeTax: number;
     subTotalBeforeTax: number;
     subTotal: number;
     subTotal: number;
+    currencyCode: CurrencyCode;
     shipping: number;
     shipping: number;
     shippingMethod?: ShippingMethod | null;
     shippingMethod?: ShippingMethod | null;
     totalBeforeTax: number;
     totalBeforeTax: number;
@@ -3202,6 +3203,7 @@ export namespace OrderResolvers {
         payments?: PaymentsResolver<Payment[] | null, any, Context>;
         payments?: PaymentsResolver<Payment[] | null, any, Context>;
         subTotalBeforeTax?: SubTotalBeforeTaxResolver<number, any, Context>;
         subTotalBeforeTax?: SubTotalBeforeTaxResolver<number, any, Context>;
         subTotal?: SubTotalResolver<number, any, Context>;
         subTotal?: SubTotalResolver<number, any, Context>;
+        currencyCode?: CurrencyCodeResolver<CurrencyCode, any, Context>;
         shipping?: ShippingResolver<number, any, Context>;
         shipping?: ShippingResolver<number, any, Context>;
         shippingMethod?: ShippingMethodResolver<ShippingMethod | null, any, Context>;
         shippingMethod?: ShippingMethodResolver<ShippingMethod | null, any, Context>;
         totalBeforeTax?: TotalBeforeTaxResolver<number, any, Context>;
         totalBeforeTax?: TotalBeforeTaxResolver<number, any, Context>;
@@ -3246,6 +3248,11 @@ export namespace OrderResolvers {
         Context
         Context
     >;
     >;
     export type SubTotalResolver<R = number, Parent = any, Context = any> = Resolver<R, Parent, Context>;
     export type SubTotalResolver<R = number, Parent = any, Context = any> = Resolver<R, Parent, Context>;
+    export type CurrencyCodeResolver<R = CurrencyCode, Parent = any, Context = any> = Resolver<
+        R,
+        Parent,
+        Context
+    >;
     export type ShippingResolver<R = number, Parent = any, Context = any> = Resolver<R, Parent, Context>;
     export type ShippingResolver<R = number, Parent = any, Context = any> = Resolver<R, Parent, Context>;
     export type ShippingMethodResolver<R = ShippingMethod | null, Parent = any, Context = any> = Resolver<
     export type ShippingMethodResolver<R = ShippingMethod | null, Parent = any, Context = any> = Resolver<
         R,
         R,

Some files were not shown because too many files changed in this diff