%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.119.102.46
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/sale/b24integration/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/sale/b24integration/dist/b24integration.bundle.js.map
{"version":3,"file":"b24integration.bundle.js","sources":["../src/stepper.js"],"sourcesContent":["export class Stepper\n{\n    constructor(props = {})\n    {\n        this.ownerId = !!props.ownerId ? props.ownerId:0;\n        this.ownerTypeId = !!props.ownerTypeId ? props.ownerTypeId:0;\n\n    }\n\n    progress(list, total = 0, start = 0)\n    {\n        if (!list || list.length <= 0)\n        {\n            throw new Error('list must be defined');\n        }\n\n        Stepper.isSuccess = true;\n\n        this.batchFetch(list, total, start)\n            .then(\n                batch => {\n                    this.activityAdds(batch)\n                        .then(\n                            () => this.clientAdds(batch)\n                                .then(\n                                    () => this.dealUpdateContacts(this.ownerId, batch)\n                                        .then(\n                                            () => Stepper.getFulfillPromise(),\n                                            () => {throw new Error('batchFetch dealUpdateContacts Error')}),\n                                    () => {throw new Error('batchFetch clientAdds Error')}),\n                            (activity) => this.continueProcess(activity))// reject to call progress again\n                        .then(\n                            () => this.nextBatch(batch)\n                                .then(\n                                    ()=>{},\n                                    ()=>Stepper.labelFinish(batch)),\n                            () => {throw new Error('progress Error')})},\n                () => {throw new Error('batchFetch Error')}\n            );\n    }\n\n    continueProcess(response)\n    {\n        let errors = !!response.errors ? response.errors:{};\n        if(Object.values(errors).length>0)\n        {\n            throw new Error('continueProcess Error')\n        }\n        else\n        {\n            return Stepper.getFulfillPromise()\n        }\n    }\n\n    batchFetch(list, total, start)\n    {\n        return BX.ajax.runAction('sale.integration.stepper.activityBatch', {\n            data: {\n                list: list,\n                total: total,\n                start: start\n            }})\n    }\n    activityAdds(response)\n    {\n        let data = !!response.data ? response.data:{};\n\n        Stepper.progressBar(data);\n        Stepper.messageBar(data);\n\n        if(!!data.process)\n        {\n            /*\n            * Object.values(data.process.items).length = n && Object.values(data.process.list).length = 0 //start - one step\n            * Object.values(data.process.items).length = 0 && Object.values(data.process.list).length = n // skip step\n            *\n            * */\n            //\n\n            if(Object.values(data.process.items).length>0)\n            {\n                return BX.ajax.runAction('sale.integration.scenarios.activityAddsFromOrderList', {data: {params: data.process.items}});\n            }\n            else if(Object.values(data.process.list).length>0)\n            {\n                return Stepper.getRejectPromise();\n            }\n            else if(!!data.error && data.error.length>0)\n            {\n                // продолжаем выполнение, т.к. текст ошибки на данном шаге выведен. пропускаем шаг\n                return Stepper.getRejectPromise();\n            }\n\n\n        }\n        throw new Error('activityAdds Error')\n    }\n\n    prepareContactFields(response)\n    {\n        if(!!response.status && response.status === 'success')\n        {\n            let data = !!response.data ? response.data:{};\n\n            if(!!data.process && Object.values(data.process.items).length>0)\n            {\n                return BX.ajax.runAction('sale.integration.scenarios.resolveContactFieldsValuesFromOrderList', {data: {params: data.process.items}})\n            }\n        }\n        throw new Error('clientAdds Error')\n    }\n\n    clientAdds(batch)\n    {\n        return this.prepareContactFields(batch) //->из исходных данных получили список по локальным пользователям\n            .then(\n                list => this.contactRelationVoid(list) //->возвращает локальный список пользователей у которых связь с удаленной сущностью отсутвует/не корректна\n                    .then(\n                        addList => this.contactAdds(addList) //->добавили контакты в удаленную сиситему, обновили связи на локальной. с этого момента для пользователей из batch локально храниться актальная таблица связок к удаленным сущностям\n                            .then(\n                                () => Stepper.getFulfillPromise(),\n                                () => {throw new Error('clientAdds contactAdds Error')}),\n                        () => {throw new Error('clientAdds contactRelationVoid Error')}),\n                () => {throw new Error('clientAdds prepareContactFields Error')}\n                );\n    }\n    contactRelationVoid(list)\n    {\n        if(!!list.status && list.status === 'success')\n        {\n            let data = !!list.data ? list.data:{};\n\n            //если данных нет пропускаем вызов и возвращаем fulfill promise\n            if(!!data.result && Object.values(data.result).length>0)\n            {\n                return BX.ajax.runAction('sale.integration.scenarios.resolveUserTypeIAfterComparingRemotelyRelationFromOrderList', {data: {params: data.result}})\n            }\n            else\n            {\n                return Stepper.getFulfillPromise(list)\n            }\n        }\n\n        throw new Error('contactRelationVoid Error')\n    }\n    contactAdds(addList)\n    {\n        if(!!addList.status && addList.status === 'success')\n        {\n            let data = !!addList.data ? addList.data:{};\n\n            //если данных нет пропускаем вызов и возвращаем fulfill promise\n            if(!!data.result && Object.values(data.result).length>0)\n            {\n                return BX.ajax.runAction('sale.integration.scenarios.contactAddsFromOrderList', {data: {params: data.result}})\n            }\n            else\n            {\n                return Stepper.getFulfillPromise()\n            }\n        }\n\n        throw new Error('contactAdds Error')\n    }\n\n    dealUpdateContacts(dealId, batch)\n    {\n        return this.prepareContactFields(batch) //->из исходных данных получили список по локальным пользователям\n            .then(\n                (list) => this.dealContactItemsUpdate(dealId, list), //->обновляем пользоватлей в сделке (обогощаем сделку контактами)\n                () => {throw new Error('dealUpdateContacts prepareContactFields Error')});\n    }\n\n    dealContactItemsUpdate(dealId, list)\n    {\n        if(!!list.status && list.status === 'success')\n        {\n            let data = !!list.data ? list.data:{};\n\n            //если данных нет пропускаем вызов и возвращаем fulfill promise\n            // (например когда в заказе указана компания, а запрашиваются данные клинта-Контакта)\n            if(!!data.result && Object.values(data.result).length>0)\n            {\n                return this.dealContactItemsGet(dealId)\n                    .then(\n                        (items)=>this.dealContactAdds(dealId, {list:list, items:items}),\n                        () => {throw new Error('dealUpdateContacts dealContactAdds Error')})\n            }\n            else\n            {\n                return Stepper.getFulfillPromise()\n            }\n        }\n\n        throw new Error('dealUpdateContacts dealContactItemsUpdate Error')\n    }\n\n    dealContactAdds(dealId, params)\n    {\n        // метод должен вызываться когда гарантровано есть список пльзоватлей из БУС для обогощения сделки\n        // если у сделки есть контакты, то обогощаем их пользователями\n        // если у сделки нет контактов добавляем всех пользователей\n\n        let users = !!params.list ? params.list:{};\n        let contacts = !!params.items ? params.items:{};\n\n        if(!!users.status && users.status === 'success' &&\n            !!contacts.status && contacts.status === 'success')\n        {\n            let dataUsers = !!users.data ? users.data:{};\n            let dataContacts = !!contacts.data ? contacts.data:{};\n\n            if(!!dataUsers.result && !!dataContacts.result)\n            {\n                if(Object.values(dataContacts.result).length>0)\n                {\n                    return BX.ajax.runAction('sale.integration.scenarios.dealContactUpdates', {data: {id: dealId, items: dataUsers.result, contacts: dataContacts.result}})\n                }\n                else\n                {\n                    return BX.ajax.runAction('sale.integration.scenarios.dealContactAdds', {data: {id: dealId, items: dataUsers.result}})\n                }\n            }\n        }\n\n        throw new Error('dealContactAdds Error')\n    }\n    dealContactItemsGet(dealId)\n    {\n        return BX.ajax.runAction('sale.integration.scenarios.dealContactItemsGet', {data: {id: dealId}})\n    }\n    dealUpdate(response)\n    {\n        if(!!response.status && response.status === 'success')\n        {\n            let data = !!response.data ? response.data:{};\n\n            if(!!data.process && data.process.items.length>0)\n            {\n                return BX.ajax.runAction('sale.integration.scenarios.dealupdatecontacts', {data: {id:this.ownerId, params: data.process.items}})\n            }\n        }\n        throw new Error('dealUpdate Error')\n    }\n\n    nextBatch(response)\n    {\n        if(!!response.status && response.status === 'success')\n        {\n            let data = !!response.data ? response.data:{};\n\n            if(!!data.process &&\n                !!data.process.list &&\n                !!data.process.items &&\n                !!data.process.total &&\n                !!data.process.start)\n            {\n                if (Object.values(data.process.items).length > 0 && Object.values(data.process.list).length > 0)\n                {\n                    this.progress(data.process.list, data.process.total, data.process.start);\n                    return Stepper.getFulfillPromise();\n                }\n                if (Object.values(data.process.items).length === 0 && Object.values(data.process.list).length > 0)\n                {\n                    this.progress(data.process.list, data.process.total, data.process.start);\n                    return Stepper.getFulfillPromise();\n                }\n                else if(Object.values(data.process.list).length <= 0)\n                {\n                    // finish process batch\n                    return Stepper.getRejectPromise();\n                }\n            }\n        }\n        throw new Error('nextBatch Error')\n    }\n\n    static progressBar(data)\n    {\n        if(!!data.progress)\n        {\n            BX.ajax.runAction('sale.integration.stepper.progressbar', {data:{value: data.progress}})\n                .then(\n                    response => Stepper.render('progress', response.data),\n                    () => {throw new Error('ProgressBar failure!')}\n                );\n        }\n    }\n    static labelFinish(response)\n    {\n        let data = !!response.data ? response.data:{};\n\n        if(!!data.finish)\n        {\n            //BX.closeWait();\n\n            BX.ajax.runAction('sale.integration.stepper.messageOK', {})\n                .then(\n                    response => {\n                        Stepper.render('finish', response.data);\n                        if(Stepper.isSuccess) {\n                            Stepper.closeApplication()}},\n                    () => {throw new Error('MessagebyType OK failure!')}\n                );\n        }\n    }\n    static messageBar(data)\n    {\n        if (!!data.error)\n        {\n            Stepper.isSuccess = false;\n\n            BX.ajax.runAction('sale.integration.stepper.messagebytype', {\n                data: {\n                    message: data.error,\n                    type: 'ERROR'\n                }})\n                .then(\n                    response => {\n                        let div = BX.create('DIV');\n                        div.innerHTML = response.data;\n                        BX('progress_error').appendChild(div);\n                    },\n                    () => {throw new Error('MessagebyType ERROR failure!')}\n                );\n        }\n    }\n    static render(element, result)\n    {\n        BX.adjust(BX(element), {html: result});\n    }\n\n    static getFulfillPromise(params={})\n    {\n        let promise = new BX.Promise();\n        promise.fulfill(params);\n        return promise;\n    }\n    static getFulfillPromise_setTimeout()\n    {\n        let promise = new BX.Promise();\n\n        setTimeout(() => {\n            promise.fulfill(this);\n        }, 2000);\n\n        return promise;\n    }\n    static getRejectPromise()\n    {\n        let promise = new BX.Promise();\n\n        promise.reject(this);\n        return promise;\n    }\n\n    static closeApplication()\n    {\n        setTimeout(() => {\n            BX24.closeApplication();\n        }, 500);\n    }\n}"],"names":["Stepper","props","ownerId","ownerTypeId","list","total","start","length","Error","isSuccess","batchFetch","then","batch","activityAdds","clientAdds","dealUpdateContacts","getFulfillPromise","activity","continueProcess","nextBatch","labelFinish","response","errors","Object","values","BX","ajax","runAction","data","progressBar","messageBar","process","items","params","getRejectPromise","error","status","prepareContactFields","contactRelationVoid","addList","contactAdds","result","dealId","dealContactItemsUpdate","dealContactItemsGet","dealContactAdds","users","contacts","dataUsers","dataContacts","id","progress","value","render","finish","closeApplication","message","type","div","create","innerHTML","appendChild","element","adjust","html","promise","Promise","fulfill","setTimeout","reject","BX24"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit