@webresto/graphql 1.3.6 → 1.3.7
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/graphqlHelper.js +0 -1
 - package/lib/graphqlHelper.ts +0 -1
 - package/package.json +1 -1
 - package/src/resolvers/cart.js +3 -3
 - package/src/resolvers/cart.ts +5 -4
 - package/src/resolvers/checkout.d.ts +10 -0
 - package/src/resolvers/checkout.js +27 -54
 - package/src/resolvers/checkout.ts +26 -60
 
    
        package/lib/graphqlHelper.js
    CHANGED
    
    | 
         @@ -483,7 +483,6 @@ function addModelResolver(modelname) { 
     | 
|
| 
       483 
483 
     | 
    
         
             
                        return parent && parent[key];
         
     | 
| 
       484 
484 
     | 
    
         
             
                    };
         
     | 
| 
       485 
485 
     | 
    
         
             
                });
         
     | 
| 
       486 
     | 
    
         
            -
                console.log(modelName, resolvers);
         
     | 
| 
       487 
486 
     | 
    
         
             
                modelsResolvers[modelName] = resolvers;
         
     | 
| 
       488 
487 
     | 
    
         
             
                // Subscription resolver
         
     | 
| 
       489 
488 
     | 
    
         
             
                if (!blackList.includes(`${modelName}`) && whiteList[modelname].includes('subscription')) {
         
     | 
    
        package/lib/graphqlHelper.ts
    CHANGED
    
    
    
        package/package.json
    CHANGED
    
    
    
        package/src/resolvers/cart.js
    CHANGED
    
    | 
         @@ -41,7 +41,7 @@ exports.default = { 
     | 
|
| 
       41 
41 
     | 
    
         
             
                            if (args.modifiers) {
         
     | 
| 
       42 
42 
     | 
    
         
             
                                args.modifiers.forEach((modifier) => {
         
     | 
| 
       43 
43 
     | 
    
         
             
                                    if (modifier.amount === undefined || modifier.id === undefined)
         
     | 
| 
       44 
     | 
    
         
            -
                                        throw new errorWrapper_1.Error( 
     | 
| 
      
 44 
     | 
    
         
            +
                                        throw new errorWrapper_1.Error("BAD_DISHMODIFIER", `modifier required (amount, id) for dish: ${args.dishId} current values: id: ${modifier.id}, amount: ${modifier.amount}`);
         
     | 
| 
       45 
45 
     | 
    
         
             
                                });
         
     | 
| 
       46 
46 
     | 
    
         
             
                            }
         
     | 
| 
       47 
47 
     | 
    
         
             
                            if (args.orderId)
         
     | 
| 
         @@ -66,7 +66,7 @@ exports.default = { 
     | 
|
| 
       66 
66 
     | 
    
         
             
                                    throw new errorWrapper_1.Error(0, "ERROR", `"${dish.name}" является акционным и не может быть добавлено пользователем`);
         
     | 
| 
       67 
67 
     | 
    
         
             
                                }
         
     | 
| 
       68 
68 
     | 
    
         
             
                            }
         
     | 
| 
       69 
     | 
    
         
            -
                            await Order.addDish(order.id, args.dishId, args.amount, args.modifiers  
     | 
| 
      
 69 
     | 
    
         
            +
                            await Order.addDish(order.id, args.dishId, args.amount, args.modifiers === undefined ? [] : args.modifiers, args.comment, args.from, args.replace, args.orderDishId);
         
     | 
| 
       70 
70 
     | 
    
         
             
                            await Order.countCart(order);
         
     | 
| 
       71 
71 
     | 
    
         
             
                            let fullOrder = await Order.populate(order.id);
         
     | 
| 
       72 
72 
     | 
    
         
             
                            getEmitter_1.default().emit("http-api:before-response-order-add-dish", fullOrder);
         
     | 
| 
         @@ -86,7 +86,7 @@ exports.default = { 
     | 
|
| 
       86 
86 
     | 
    
         
             
                            if (order.paid || order.state === "ORDER") {
         
     | 
| 
       87 
87 
     | 
    
         
             
                                order = await getNewCart();
         
     | 
| 
       88 
88 
     | 
    
         
             
                            }
         
     | 
| 
       89 
     | 
    
         
            -
                            await Order.addDish(order.id, args.dishId, args.amount, args.modifiers  
     | 
| 
      
 89 
     | 
    
         
            +
                            await Order.addDish(order.id, args.dishId, args.amount, args.modifiers === undefined ? [] : args.modifiers, args.comment, args.from, args.replace, args.orderDishId);
         
     | 
| 
       90 
90 
     | 
    
         
             
                            await Order.countCart(order);
         
     | 
| 
       91 
91 
     | 
    
         
             
                            let fullOrder = await Order.populate(order.id);
         
     | 
| 
       92 
92 
     | 
    
         
             
                            getEmitter_1.default().emit("http-api:before-response-order-replace-dish", fullOrder);
         
     | 
    
        package/src/resolvers/cart.ts
    CHANGED
    
    | 
         @@ -45,12 +45,13 @@ export default { 
     | 
|
| 
       45 
45 
     | 
    
         
             
                  fn: async function (parent, args, context) {
         
     | 
| 
       46 
46 
     | 
    
         
             
                    let order;
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
       48 
50 
     | 
    
         
             
                    if (args.modifiers) {
         
     | 
| 
       49 
51 
     | 
    
         
             
                      args.modifiers.forEach((modifier) => {
         
     | 
| 
       50 
52 
     | 
    
         
             
                        if (modifier.amount === undefined || modifier.id === undefined)
         
     | 
| 
       51 
53 
     | 
    
         
             
                          throw new Error(
         
     | 
| 
       52 
     | 
    
         
            -
                             
     | 
| 
       53 
     | 
    
         
            -
                            "ERROR",
         
     | 
| 
      
 54 
     | 
    
         
            +
                            "BAD_DISHMODIFIER",
         
     | 
| 
       54 
55 
     | 
    
         
             
                            `modifier required (amount, id) for dish: ${args.dishId} current values: id: ${modifier.id}, amount: ${modifier.amount}`
         
     | 
| 
       55 
56 
     | 
    
         
             
                          );
         
     | 
| 
       56 
57 
     | 
    
         
             
                      });
         
     | 
| 
         @@ -92,7 +93,7 @@ export default { 
     | 
|
| 
       92 
93 
     | 
    
         
             
                      order.id,
         
     | 
| 
       93 
94 
     | 
    
         
             
                      args.dishId,
         
     | 
| 
       94 
95 
     | 
    
         
             
                      args.amount,
         
     | 
| 
       95 
     | 
    
         
            -
                      args.modifiers  
     | 
| 
      
 96 
     | 
    
         
            +
                      args.modifiers === undefined ?  [] : args.modifiers,
         
     | 
| 
       96 
97 
     | 
    
         
             
                      args.comment,
         
     | 
| 
       97 
98 
     | 
    
         
             
                      args.from,
         
     | 
| 
       98 
99 
     | 
    
         
             
                      args.replace,
         
     | 
| 
         @@ -127,7 +128,7 @@ export default { 
     | 
|
| 
       127 
128 
     | 
    
         
             
                      order.id,
         
     | 
| 
       128 
129 
     | 
    
         
             
                      args.dishId,
         
     | 
| 
       129 
130 
     | 
    
         
             
                      args.amount,
         
     | 
| 
       130 
     | 
    
         
            -
                      args.modifiers  
     | 
| 
      
 131 
     | 
    
         
            +
                      args.modifiers === undefined ?  [] : args.modifiers,
         
     | 
| 
       131 
132 
     | 
    
         
             
                      args.comment,
         
     | 
| 
       132 
133 
     | 
    
         
             
                      args.from,
         
     | 
| 
       133 
134 
     | 
    
         
             
                      args.replace,
         
     | 
| 
         @@ -17,12 +17,22 @@ declare const _default: { 
     | 
|
| 
       17 
17 
     | 
    
         
             
                    sendOrder: {
         
     | 
| 
       18 
18 
     | 
    
         
             
                        def: string;
         
     | 
| 
       19 
19 
     | 
    
         
             
                        fn: (parent: any, args: any, context: any) => Promise<{
         
     | 
| 
      
 20 
     | 
    
         
            +
                            order: import("@webresto/core/models/Order").default;
         
     | 
| 
      
 21 
     | 
    
         
            +
                            action: {
         
     | 
| 
      
 22 
     | 
    
         
            +
                                type: string;
         
     | 
| 
      
 23 
     | 
    
         
            +
                                data: {
         
     | 
| 
      
 24 
     | 
    
         
            +
                                    redirectLink: string;
         
     | 
| 
      
 25 
     | 
    
         
            +
                                };
         
     | 
| 
      
 26 
     | 
    
         
            +
                            };
         
     | 
| 
      
 27 
     | 
    
         
            +
                            message?: undefined;
         
     | 
| 
      
 28 
     | 
    
         
            +
                        } | {
         
     | 
| 
       20 
29 
     | 
    
         
             
                            order: import("@webresto/core/models/Order").default;
         
     | 
| 
       21 
30 
     | 
    
         
             
                            message: {
         
     | 
| 
       22 
31 
     | 
    
         
             
                                type: string;
         
     | 
| 
       23 
32 
     | 
    
         
             
                                title: string;
         
     | 
| 
       24 
33 
     | 
    
         
             
                                message: string;
         
     | 
| 
       25 
34 
     | 
    
         
             
                            };
         
     | 
| 
      
 35 
     | 
    
         
            +
                            action?: undefined;
         
     | 
| 
       26 
36 
     | 
    
         
             
                        }>;
         
     | 
| 
       27 
37 
     | 
    
         
             
                    };
         
     | 
| 
       28 
38 
     | 
    
         
             
                };
         
     | 
| 
         @@ -21,6 +21,10 @@ exports.default = { 
     | 
|
| 
       21 
21 
     | 
    
         
             
                            if (data.selfService || data.selfDelivery) {
         
     | 
| 
       22 
22 
     | 
    
         
             
                                isSelfService = true;
         
     | 
| 
       23 
23 
     | 
    
         
             
                            }
         
     | 
| 
      
 24 
     | 
    
         
            +
                            else {
         
     | 
| 
      
 25 
     | 
    
         
            +
                                if (!data.address)
         
     | 
| 
      
 26 
     | 
    
         
            +
                                    throw `Address is required for non self service orders`;
         
     | 
| 
      
 27 
     | 
    
         
            +
                            }
         
     | 
| 
       24 
28 
     | 
    
         
             
                            try {
         
     | 
| 
       25 
29 
     | 
    
         
             
                                var order = await Order.findOne(data.orderId);
         
     | 
| 
       26 
30 
     | 
    
         
             
                                if (!order) {
         
     | 
| 
         @@ -136,14 +140,6 @@ exports.default = { 
     | 
|
| 
       136 
140 
     | 
    
         
             
                        def: "sendOrder(orderId: String!): CheckResponse",
         
     | 
| 
       137 
141 
     | 
    
         
             
                        fn: async function (parent, args, context) {
         
     | 
| 
       138 
142 
     | 
    
         
             
                            let data = args;
         
     | 
| 
       139 
     | 
    
         
            -
                            // if (data.date) {
         
     | 
| 
       140 
     | 
    
         
            -
                            //   let date = moment(data.date)
         
     | 
| 
       141 
     | 
    
         
            -
                            //   if(!date.isValid()){
         
     | 
| 
       142 
     | 
    
         
            -
                            //     return eventHelper.sendMessage(args.orderId,"Please order.date format is ISO (YYYY-MM-DD HH:mm:ss)");
         
     | 
| 
       143 
     | 
    
         
            -
                            //   } else {
         
     | 
| 
       144 
     | 
    
         
            -
                            //     data.date = date.format('YYYY-MM-DD HH:mm:ss');
         
     | 
| 
       145 
     | 
    
         
            -
                            //   }
         
     | 
| 
       146 
     | 
    
         
            -
                            // }
         
     | 
| 
       147 
143 
     | 
    
         
             
                            try {
         
     | 
| 
       148 
144 
     | 
    
         
             
                                var order = await Order.findOne({ id: data.orderId });
         
     | 
| 
       149 
145 
     | 
    
         
             
                                if (!order) {
         
     | 
| 
         @@ -156,52 +152,29 @@ exports.default = { 
     | 
|
| 
       156 
152 
     | 
    
         
             
                                    sails.log.error(`${errorMessage}`);
         
     | 
| 
       157 
153 
     | 
    
         
             
                                    throw new errorWrapper_1.Error(0, errorMessage);
         
     | 
| 
       158 
154 
     | 
    
         
             
                                }
         
     | 
| 
       159 
     | 
    
         
            -
                                 
     | 
| 
       160 
     | 
    
         
            -
             
     | 
| 
       161 
     | 
    
         
            -
             
     | 
| 
       162 
     | 
    
         
            -
             
     | 
| 
       163 
     | 
    
         
            -
             
     | 
| 
       164 
     | 
    
         
            -
             
     | 
| 
       165 
     | 
    
         
            -
             
     | 
| 
       166 
     | 
    
         
            -
             
     | 
| 
       167 
     | 
    
         
            -
             
     | 
| 
       168 
     | 
    
         
            -
             
     | 
| 
       169 
     | 
    
         
            -
             
     | 
| 
       170 
     | 
    
         
            -
             
     | 
| 
       171 
     | 
    
         
            -
             
     | 
| 
       172 
     | 
    
         
            -
             
     | 
| 
       173 
     | 
    
         
            -
             
     | 
| 
       174 
     | 
    
         
            -
             
     | 
| 
       175 
     | 
    
         
            -
             
     | 
| 
       176 
     | 
    
         
            -
             
     | 
| 
       177 
     | 
    
         
            -
             
     | 
| 
       178 
     | 
    
         
            -
             
     | 
| 
       179 
     | 
    
         
            -
             
     | 
| 
       180 
     | 
    
         
            -
             
     | 
| 
       181 
     | 
    
         
            -
                                 
     | 
| 
       182 
     | 
    
         
            -
                                //   }
         
     | 
| 
       183 
     | 
    
         
            -
                                //   if (!(await PaymentMethod.isPaymentPromise(data.paymentMethodId))) {
         
     | 
| 
       184 
     | 
    
         
            -
                                //     try {
         
     | 
| 
       185 
     | 
    
         
            -
                                //       let paymentResponse = await order.payment();
         
     | 
| 
       186 
     | 
    
         
            -
                                //       const action = {
         
     | 
| 
       187 
     | 
    
         
            -
                                //         type: "PaymentRedirect",
         
     | 
| 
       188 
     | 
    
         
            -
                                //         data: {
         
     | 
| 
       189 
     | 
    
         
            -
                                //           redirectLink: paymentResponse.redirectLink,
         
     | 
| 
       190 
     | 
    
         
            -
                                //         },
         
     | 
| 
       191 
     | 
    
         
            -
                                //       };
         
     | 
| 
       192 
     | 
    
         
            -
                                //       eventHelper.sendAction(args.orderId, action);
         
     | 
| 
       193 
     | 
    
         
            -
                                //       return { order: order, action: action };
         
     | 
| 
       194 
     | 
    
         
            -
                                //     } catch (e) {
         
     | 
| 
       195 
     | 
    
         
            -
                                //       eventHelper.sendMessage(args.orderId, {
         
     | 
| 
       196 
     | 
    
         
            -
                                //         type: "error",
         
     | 
| 
       197 
     | 
    
         
            -
                                //         title: "Ошибка",
         
     | 
| 
       198 
     | 
    
         
            -
                                //         message: "Попытка регистрации платежа завершилась неудачно",
         
     | 
| 
       199 
     | 
    
         
            -
                                //       });
         
     | 
| 
       200 
     | 
    
         
            -
                                //       sails.log.error(e);
         
     | 
| 
       201 
     | 
    
         
            -
                                //       throw new Error(0, JSON.stringify(e));
         
     | 
| 
       202 
     | 
    
         
            -
                                //     }
         
     | 
| 
       203 
     | 
    
         
            -
                                //   }
         
     | 
| 
       204 
     | 
    
         
            -
                                // }
         
     | 
| 
      
 155 
     | 
    
         
            +
                                if (!(await PaymentMethod.isPaymentPromise(order.paymentMethod))) {
         
     | 
| 
      
 156 
     | 
    
         
            +
                                    try {
         
     | 
| 
      
 157 
     | 
    
         
            +
                                        let paymentResponse = await Order.payment({ id: order.id });
         
     | 
| 
      
 158 
     | 
    
         
            +
                                        const action = {
         
     | 
| 
      
 159 
     | 
    
         
            +
                                            type: "PaymentRedirect",
         
     | 
| 
      
 160 
     | 
    
         
            +
                                            data: {
         
     | 
| 
      
 161 
     | 
    
         
            +
                                                redirectLink: paymentResponse.redirectLink,
         
     | 
| 
      
 162 
     | 
    
         
            +
                                            },
         
     | 
| 
      
 163 
     | 
    
         
            +
                                        };
         
     | 
| 
      
 164 
     | 
    
         
            +
                                        eventHelper.sendAction(args.orderId, action);
         
     | 
| 
      
 165 
     | 
    
         
            +
                                        order = await Order.populate(order.id);
         
     | 
| 
      
 166 
     | 
    
         
            +
                                        return { order: order, action: action };
         
     | 
| 
      
 167 
     | 
    
         
            +
                                    }
         
     | 
| 
      
 168 
     | 
    
         
            +
                                    catch (e) {
         
     | 
| 
      
 169 
     | 
    
         
            +
                                        eventHelper.sendMessage(args.orderId, {
         
     | 
| 
      
 170 
     | 
    
         
            +
                                            type: "error",
         
     | 
| 
      
 171 
     | 
    
         
            +
                                            title: "Ошибка",
         
     | 
| 
      
 172 
     | 
    
         
            +
                                            message: "Попытка регистрации платежа завершилась неудачно",
         
     | 
| 
      
 173 
     | 
    
         
            +
                                        });
         
     | 
| 
      
 174 
     | 
    
         
            +
                                        sails.log.error(e);
         
     | 
| 
      
 175 
     | 
    
         
            +
                                        throw new errorWrapper_1.Error(JSON.stringify(e));
         
     | 
| 
      
 176 
     | 
    
         
            +
                                    }
         
     | 
| 
      
 177 
     | 
    
         
            +
                                }
         
     | 
| 
       205 
178 
     | 
    
         
             
                                await Order.order(order.id);
         
     | 
| 
       206 
179 
     | 
    
         
             
                                order = await Order.findOne({ id: data.orderId });
         
     | 
| 
       207 
180 
     | 
    
         
             
                                const message = {
         
     | 
| 
         @@ -22,6 +22,8 @@ export default { 
     | 
|
| 
       22 
22 
     | 
    
         
             
                    //@ts-ignore
         
     | 
| 
       23 
23 
     | 
    
         
             
                    if (data.selfService || data.selfDelivery) {
         
     | 
| 
       24 
24 
     | 
    
         
             
                      isSelfService = true;
         
     | 
| 
      
 25 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 26 
     | 
    
         
            +
                      if(!data.address) throw `Address is required for non self service orders`
         
     | 
| 
       25 
27 
     | 
    
         
             
                    }
         
     | 
| 
       26 
28 
     | 
    
         | 
| 
       27 
29 
     | 
    
         
             
                    try {
         
     | 
| 
         @@ -105,7 +107,6 @@ export default { 
     | 
|
| 
       105 
107 
     | 
    
         
             
                      }
         
     | 
| 
       106 
108 
     | 
    
         | 
| 
       107 
109 
     | 
    
         
             
                      eventHelper.sendMessage(args.orderId, message);
         
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
110 
     | 
    
         
             
                      return { message: message, order: order };
         
     | 
| 
       110 
111 
     | 
    
         
             
                    } catch (e) {
         
     | 
| 
       111 
112 
     | 
    
         
             
                      let message = {
         
     | 
| 
         @@ -148,15 +149,6 @@ export default { 
     | 
|
| 
       148 
149 
     | 
    
         
             
                  fn: async function (parent, args, context) {
         
     | 
| 
       149 
150 
     | 
    
         
             
                    let data = args;
         
     | 
| 
       150 
151 
     | 
    
         | 
| 
       151 
     | 
    
         
            -
                    // if (data.date) {
         
     | 
| 
       152 
     | 
    
         
            -
                    //   let date = moment(data.date)
         
     | 
| 
       153 
     | 
    
         
            -
                    //   if(!date.isValid()){
         
     | 
| 
       154 
     | 
    
         
            -
                    //     return eventHelper.sendMessage(args.orderId,"Please order.date format is ISO (YYYY-MM-DD HH:mm:ss)");
         
     | 
| 
       155 
     | 
    
         
            -
                    //   } else {
         
     | 
| 
       156 
     | 
    
         
            -
                    //     data.date = date.format('YYYY-MM-DD HH:mm:ss');
         
     | 
| 
       157 
     | 
    
         
            -
                    //   }
         
     | 
| 
       158 
     | 
    
         
            -
                    // }
         
     | 
| 
       159 
     | 
    
         
            -
             
     | 
| 
       160 
152 
     | 
    
         
             
                    try {
         
     | 
| 
       161 
153 
     | 
    
         
             
                      var order = await Order.findOne({ id: data.orderId });
         
     | 
| 
       162 
154 
     | 
    
         
             
                      if (!order) {
         
     | 
| 
         @@ -170,56 +162,30 @@ export default { 
     | 
|
| 
       170 
162 
     | 
    
         
             
                        throw new Error(0,errorMessage);
         
     | 
| 
       171 
163 
     | 
    
         
             
                      }
         
     | 
| 
       172 
164 
     | 
    
         | 
| 
       173 
     | 
    
         
            -
                       
     | 
| 
       174 
     | 
    
         
            -
             
     | 
| 
       175 
     | 
    
         
            -
             
     | 
| 
       176 
     | 
    
         
            -
             
     | 
| 
       177 
     | 
    
         
            -
             
     | 
| 
       178 
     | 
    
         
            -
             
     | 
| 
       179 
     | 
    
         
            -
             
     | 
| 
       180 
     | 
    
         
            -
             
     | 
| 
       181 
     | 
    
         
            -
             
     | 
| 
       182 
     | 
    
         
            -
             
     | 
| 
       183 
     | 
    
         
            -
             
     | 
| 
       184 
     | 
    
         
            -
             
     | 
| 
       185 
     | 
    
         
            -
             
     | 
| 
       186 
     | 
    
         
            -
             
     | 
| 
       187 
     | 
    
         
            -
             
     | 
| 
       188 
     | 
    
         
            -
             
     | 
| 
       189 
     | 
    
         
            -
             
     | 
| 
       190 
     | 
    
         
            -
             
     | 
| 
       191 
     | 
    
         
            -
             
     | 
| 
       192 
     | 
    
         
            -
             
     | 
| 
       193 
     | 
    
         
            -
             
     | 
| 
       194 
     | 
    
         
            -
             
     | 
| 
       195 
     | 
    
         
            -
             
     | 
| 
       196 
     | 
    
         
            -
             
     | 
| 
       197 
     | 
    
         
            -
                      //     throw new Error(0,errorMessage);
         
     | 
| 
       198 
     | 
    
         
            -
                      //   }
         
     | 
| 
       199 
     | 
    
         
            -
             
     | 
| 
       200 
     | 
    
         
            -
                      //   if (!(await PaymentMethod.isPaymentPromise(data.paymentMethodId))) {
         
     | 
| 
       201 
     | 
    
         
            -
                      //     try {
         
     | 
| 
       202 
     | 
    
         
            -
                      //       let paymentResponse = await order.payment();
         
     | 
| 
       203 
     | 
    
         
            -
                      //       const action = {
         
     | 
| 
       204 
     | 
    
         
            -
                      //         type: "PaymentRedirect",
         
     | 
| 
       205 
     | 
    
         
            -
                      //         data: {
         
     | 
| 
       206 
     | 
    
         
            -
                      //           redirectLink: paymentResponse.redirectLink,
         
     | 
| 
       207 
     | 
    
         
            -
                      //         },
         
     | 
| 
       208 
     | 
    
         
            -
                      //       };
         
     | 
| 
       209 
     | 
    
         
            -
                      //       eventHelper.sendAction(args.orderId, action);
         
     | 
| 
       210 
     | 
    
         
            -
                      //       return { order: order, action: action };
         
     | 
| 
       211 
     | 
    
         
            -
                      //     } catch (e) {
         
     | 
| 
       212 
     | 
    
         
            -
                      //       eventHelper.sendMessage(args.orderId, {
         
     | 
| 
       213 
     | 
    
         
            -
                      //         type: "error",
         
     | 
| 
       214 
     | 
    
         
            -
                      //         title: "Ошибка",
         
     | 
| 
       215 
     | 
    
         
            -
                      //         message: "Попытка регистрации платежа завершилась неудачно",
         
     | 
| 
       216 
     | 
    
         
            -
                      //       });
         
     | 
| 
       217 
     | 
    
         
            -
             
     | 
| 
       218 
     | 
    
         
            -
                      //       sails.log.error(e);
         
     | 
| 
       219 
     | 
    
         
            -
                      //       throw new Error(0, JSON.stringify(e));
         
     | 
| 
       220 
     | 
    
         
            -
                      //     }
         
     | 
| 
       221 
     | 
    
         
            -
                      //   }
         
     | 
| 
       222 
     | 
    
         
            -
                      // }
         
     | 
| 
      
 165 
     | 
    
         
            +
                      if (!(await PaymentMethod.isPaymentPromise(order.paymentMethod))) {
         
     | 
| 
      
 166 
     | 
    
         
            +
                          try {
         
     | 
| 
      
 167 
     | 
    
         
            +
                            let paymentResponse = await Order.payment({id: order.id});
         
     | 
| 
      
 168 
     | 
    
         
            +
                            
         
     | 
| 
      
 169 
     | 
    
         
            +
                            const action = {
         
     | 
| 
      
 170 
     | 
    
         
            +
                              type: "PaymentRedirect",
         
     | 
| 
      
 171 
     | 
    
         
            +
                              data: {
         
     | 
| 
      
 172 
     | 
    
         
            +
                                redirectLink: paymentResponse.redirectLink,
         
     | 
| 
      
 173 
     | 
    
         
            +
                              },
         
     | 
| 
      
 174 
     | 
    
         
            +
                            };
         
     | 
| 
      
 175 
     | 
    
         
            +
                            eventHelper.sendAction(args.orderId, action);
         
     | 
| 
      
 176 
     | 
    
         
            +
                            order = await Order.populate(order.id);
         
     | 
| 
      
 177 
     | 
    
         
            +
                            return { order: order, action: action };
         
     | 
| 
      
 178 
     | 
    
         
            +
                          } catch (e) {
         
     | 
| 
      
 179 
     | 
    
         
            +
                            eventHelper.sendMessage(args.orderId, {
         
     | 
| 
      
 180 
     | 
    
         
            +
                              type: "error",
         
     | 
| 
      
 181 
     | 
    
         
            +
                              title: "Ошибка",
         
     | 
| 
      
 182 
     | 
    
         
            +
                              message: "Попытка регистрации платежа завершилась неудачно",
         
     | 
| 
      
 183 
     | 
    
         
            +
                            });
         
     | 
| 
      
 184 
     | 
    
         
            +
             
     | 
| 
      
 185 
     | 
    
         
            +
                            sails.log.error(e);
         
     | 
| 
      
 186 
     | 
    
         
            +
                            throw new Error(JSON.stringify(e));
         
     | 
| 
      
 187 
     | 
    
         
            +
                          }
         
     | 
| 
      
 188 
     | 
    
         
            +
                        }
         
     | 
| 
       223 
189 
     | 
    
         | 
| 
       224 
190 
     | 
    
         
             
                      await Order.order(order.id);
         
     | 
| 
       225 
191 
     | 
    
         
             
                      order = await Order.findOne({ id: data.orderId })
         
     |