Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- var Q = require('q')
- module.exports = function(Funnel) {
- Funnel.details = function(funnel_id, callback) {
- var result = {};
- var app = Funnel.app;
- var Step = app.models.Step;
- var Page = app.models.Page;
- var Product = app.models.Product;
- var Transition = app.models.Transition;
- var Pricingmodel = app.models.PricingModel;
- var Variant = app.models.Variant;
- Funnel.findById(funnel_id)
- .then(funnel => {
- var steps_ids = funnel.steps;
- var products_ids = funnel.products;
- var steps = {};
- var products = [];
- result["name"] = funnel.name;
- result["descriptor"] = funnel.descriptor;
- result["slug"] = funnel.slug;
- result["total_free_shipping_count"] = funnel.total_free_shipping_count;
- result["url"] = funnel.url;
- var promises = steps_ids.map(function (step_id) {
- return Step.findById(step_id)
- .then(step => {
- var step_details = {};
- var transition_id = step.transition_id;
- var page_id = step.page_id;
- step_details["id"] = step_id;
- step_details["name"] = step.name;
- step_details["type"] = step.type;
- step_details["description"] = step.description;
- step_details["funnel_id"] = step.funnel_id;
- return [step_details , transition_id , page_id , step_id];
- }).then(function(data){
- console.log("hereeeeeeeeeeeeee");
- console.log(data);
- return Transition.findById(data[1])
- .then(transition => {
- var transition_details = {};
- transition_details["name"] = transition.name;
- transition_details["signal"] = transition.signal;
- transition_details["condition"] = transition.condition;
- transition_details["from"] = transition.from;
- transition_details["to"] = transition.to;
- data[0]["transition"] = transition_details;
- console.log("transition_details");
- console.log(transition_details);
- return data
- });
- }).then(function(data){
- return Page.findById(data[2])
- .then(page => {
- var page_details = {};
- page_details["name"] = page.name;
- page_details["type"] = page.type;
- page_details["title"] = page.title;
- page_details["status"] = page.status;
- page_details["slug"] = page.slug;
- page_details["path"] = page.path;
- data[0]["page"] = page_details;
- console.log("page_details");
- console.log(page_details);
- return data;
- });
- }).then(function(data){
- console.log("step_details");
- console.log(data[0]);
- steps[data[3]] = data[0];
- return steps;
- }).catch(step_error => {
- console.log(step_error);
- });
- });
- return Q.all(promises).then(function (steps) { // [2]
- console.log("steps");
- console.log(steps);
- result["steps"] = steps;
- callback(null , result);
- })
- }).catch(funnel_error => {
- console.log(funnel_error);
- });
- }
- Funnel.remoteMethod('details', {
- accepts: {arg: 'id', type: 'number', required: true},
- returns: {arg: 'res', type: 'object'}
- });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement