Built motion from commit efa66e19.|2.6.22
[motion2.git] / server / api / intFreshsalesField / intFreshsalesField.controller.js
index 463837d..d645426 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x334f=['length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','includeAll','include','findAll','rows','catch','options','find','create','body','params','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','map','FreshsalesField','rawAttributes','fieldName','type','model','query','keys','attributes','intersection','fields'];(function(_0x46a206,_0x5c7116){var _0x19a05d=function(_0x4c1c70){while(--_0x4c1c70){_0x46a206['push'](_0x46a206['shift']());}};_0x19a05d(++_0x5c7116);}(_0x334f,0x140));var _0xf334=function(_0x3e8df9,_0x384c9b){_0x3e8df9=_0x3e8df9-0x0;var _0x4970f6=_0x334f[_0x3e8df9];return _0x4970f6;};'use strict';var emlformat=require(_0xf334('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xf334('0x1'));var rp=require(_0xf334('0x2'));var moment=require(_0xf334('0x3'));var BPromise=require(_0xf334('0x4'));var Mustache=require(_0xf334('0x5'));var util=require('util');var path=require(_0xf334('0x6'));var sox=require(_0xf334('0x7'));var csv=require(_0xf334('0x8'));var ejs=require(_0xf334('0x9'));var fs=require('fs');var fs_extra=require(_0xf334('0xa'));var _=require(_0xf334('0xb'));var squel=require(_0xf334('0xc'));var crypto=require(_0xf334('0xd'));var jsforce=require(_0xf334('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xf334('0x8'));var querystring=require(_0xf334('0xf'));var Papa=require(_0xf334('0x10'));var Redis=require(_0xf334('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xf334('0x12'));var as=require(_0xf334('0x13'));var hardwareService=require(_0xf334('0x14'));var logger=require(_0xf334('0x15'))(_0xf334('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xf334('0x17'));var db=require(_0xf334('0x18'))['db'];function respondWithStatusCode(_0x4ac18e,_0x302fe8){_0x302fe8=_0x302fe8||0xcc;return function(_0x5776ad){if(_0x5776ad){return _0x4ac18e[_0xf334('0x19')](_0x302fe8);}return _0x4ac18e[_0xf334('0x1a')](_0x302fe8)[_0xf334('0x1b')]();};}function respondWithResult(_0x121320,_0x373043){_0x373043=_0x373043||0xc8;return function(_0x1433c4){if(_0x1433c4){return _0x121320['status'](_0x373043)[_0xf334('0x1c')](_0x1433c4);}};}function respondWithFilteredResult(_0x4e9e1,_0x139515){return function(_0x4e8782){if(_0x4e8782){var _0x99a55=typeof _0x139515['offset']===_0xf334('0x1d')&&typeof _0x139515[_0xf334('0x1e')]===_0xf334('0x1d');var _0x524766=_0x4e8782[_0xf334('0x1f')];var _0x20a570=_0x99a55?0x0:_0x139515[_0xf334('0x20')];var _0x5630ad=_0x99a55?_0x4e8782[_0xf334('0x1f')]:_0x139515[_0xf334('0x20')]+_0x139515['limit'];var _0xfedca3;if(_0x5630ad>=_0x524766){_0x5630ad=_0x524766;_0xfedca3=0xc8;}else{_0xfedca3=0xce;}_0x4e9e1[_0xf334('0x1a')](_0xfedca3);return _0x4e9e1[_0xf334('0x21')](_0xf334('0x22'),_0x20a570+'-'+_0x5630ad+'/'+_0x524766)[_0xf334('0x1c')](_0x4e8782);}return null;};}function patchUpdates(_0x192cd8){return function(_0x54e9fa){try{jsonpatch[_0xf334('0x23')](_0x54e9fa,_0x192cd8,!![]);}catch(_0x21d632){return BPromise[_0xf334('0x24')](_0x21d632);}return _0x54e9fa[_0xf334('0x25')]();};}function saveUpdates(_0x5d0a4c,_0x3c5636){return function(_0x31e58a){if(_0x31e58a){return _0x31e58a[_0xf334('0x26')](_0x5d0a4c)['then'](function(_0x145f46){return _0x145f46;});}return null;};}function removeEntity(_0x6d29b1,_0xab0338){return function(_0x2c575c){if(_0x2c575c){return _0x2c575c[_0xf334('0x27')]()[_0xf334('0x28')](function(){_0x6d29b1['status'](0xcc)[_0xf334('0x1b')]();});}};}function handleEntityNotFound(_0x4d3467,_0x3c8a0b){return function(_0xe68a65){if(!_0xe68a65){_0x4d3467[_0xf334('0x19')](0x194);}return _0xe68a65;};}function handleError(_0x150a2b,_0x5a8c2f){_0x5a8c2f=_0x5a8c2f||0x1f4;return function(_0x9aad51){logger[_0xf334('0x29')](_0x9aad51[_0xf334('0x2a')]);if(_0x9aad51[_0xf334('0x2b')]){delete _0x9aad51[_0xf334('0x2b')];}_0x150a2b['status'](_0x5a8c2f)['send'](_0x9aad51);};}exports['index']=function(_0x3fb41a,_0x2f1c1c){var _0x3a9ab7={},_0x3f52ad={},_0x3cd251={'count':0x0,'rows':[]};var _0x50681f=_[_0xf334('0x2c')](db[_0xf334('0x2d')][_0xf334('0x2e')],function(_0x374e68){return{'name':_0x374e68[_0xf334('0x2f')],'type':_0x374e68[_0xf334('0x30')]['key']};});_0x3f52ad[_0xf334('0x31')]=_[_0xf334('0x2c')](_0x50681f,_0xf334('0x2b'));_0x3f52ad[_0xf334('0x32')]=_[_0xf334('0x33')](_0x3fb41a['query']);_0x3f52ad['filters']=_['intersection'](_0x3f52ad[_0xf334('0x31')],_0x3f52ad['query']);_0x3a9ab7[_0xf334('0x34')]=_[_0xf334('0x35')](_0x3f52ad[_0xf334('0x31')],qs[_0xf334('0x36')](_0x3fb41a[_0xf334('0x32')][_0xf334('0x36')]));_0x3a9ab7[_0xf334('0x34')]=_0x3a9ab7['attributes'][_0xf334('0x37')]?_0x3a9ab7[_0xf334('0x34')]:_0x3f52ad[_0xf334('0x31')];if(!_0x3fb41a[_0xf334('0x32')][_0xf334('0x38')](_0xf334('0x39'))){_0x3a9ab7[_0xf334('0x1e')]=qs[_0xf334('0x1e')](_0x3fb41a[_0xf334('0x32')]['limit']);_0x3a9ab7[_0xf334('0x20')]=qs[_0xf334('0x20')](_0x3fb41a[_0xf334('0x32')][_0xf334('0x20')]);}_0x3a9ab7[_0xf334('0x3a')]=qs[_0xf334('0x3b')](_0x3fb41a[_0xf334('0x32')][_0xf334('0x3b')]);_0x3a9ab7[_0xf334('0x3c')]=qs[_0xf334('0x3d')](_[_0xf334('0x3e')](_0x3fb41a[_0xf334('0x32')],_0x3f52ad['filters']),_0x50681f);if(_0x3fb41a['query'][_0xf334('0x3f')]){_0x3a9ab7['where']=_[_0xf334('0x40')](_0x3a9ab7[_0xf334('0x3c')],{'$or':_[_0xf334('0x2c')](_0x50681f,function(_0x12c761){if(_0x12c761[_0xf334('0x30')]!=='VIRTUAL'){var _0x18511f={};_0x18511f[_0x12c761[_0xf334('0x2b')]]={'$like':'%'+_0x3fb41a[_0xf334('0x32')][_0xf334('0x3f')]+'%'};return _0x18511f;}})});}_0x3a9ab7=_['merge']({},_0x3a9ab7,_0x3fb41a['options']);var _0x5f5781={'where':_0x3a9ab7[_0xf334('0x3c')]};return db[_0xf334('0x2d')]['count'](_0x5f5781)[_0xf334('0x28')](function(_0x5c1016){_0x3cd251[_0xf334('0x1f')]=_0x5c1016;if(_0x3fb41a[_0xf334('0x32')][_0xf334('0x41')]){_0x3a9ab7[_0xf334('0x42')]=[{'all':!![]}];}return db[_0xf334('0x2d')][_0xf334('0x43')](_0x3a9ab7);})['then'](function(_0x189c8d){_0x3cd251[_0xf334('0x44')]=_0x189c8d;return _0x3cd251;})[_0xf334('0x28')](respondWithFilteredResult(_0x2f1c1c,_0x3a9ab7))[_0xf334('0x45')](handleError(_0x2f1c1c,null));};exports['show']=function(_0x30925f,_0x823e9b){var _0xe527bf={'raw':!![],'where':{'id':_0x30925f['params']['id']}},_0x231f06={};_0x231f06['model']=_[_0xf334('0x33')](db[_0xf334('0x2d')][_0xf334('0x2e')]);_0x231f06[_0xf334('0x32')]=_[_0xf334('0x33')](_0x30925f['query']);_0x231f06[_0xf334('0x3d')]=_[_0xf334('0x35')](_0x231f06[_0xf334('0x31')],_0x231f06[_0xf334('0x32')]);_0xe527bf['attributes']=_[_0xf334('0x35')](_0x231f06['model'],qs[_0xf334('0x36')](_0x30925f[_0xf334('0x32')][_0xf334('0x36')]));_0xe527bf[_0xf334('0x34')]=_0xe527bf['attributes']['length']?_0xe527bf[_0xf334('0x34')]:_0x231f06[_0xf334('0x31')];if(_0x30925f['query'][_0xf334('0x41')]){_0xe527bf[_0xf334('0x42')]=[{'all':!![]}];}_0xe527bf=_[_0xf334('0x40')]({},_0xe527bf,_0x30925f[_0xf334('0x46')]);return db[_0xf334('0x2d')][_0xf334('0x47')](_0xe527bf)['then'](handleEntityNotFound(_0x823e9b,null))[_0xf334('0x28')](respondWithResult(_0x823e9b,null))[_0xf334('0x45')](handleError(_0x823e9b,null));};exports[_0xf334('0x48')]=function(_0x241462,_0x8e67fc){return db[_0xf334('0x2d')][_0xf334('0x48')](_0x241462[_0xf334('0x49')],{})[_0xf334('0x28')](respondWithResult(_0x8e67fc,0xc9))[_0xf334('0x45')](handleError(_0x8e67fc,null));};exports[_0xf334('0x26')]=function(_0x5e17ae,_0xdf037c){if(_0x5e17ae[_0xf334('0x49')]['id']){delete _0x5e17ae[_0xf334('0x49')]['id'];}return db['FreshsalesField'][_0xf334('0x47')]({'where':{'id':_0x5e17ae['params']['id']}})[_0xf334('0x28')](handleEntityNotFound(_0xdf037c,null))[_0xf334('0x28')](saveUpdates(_0x5e17ae[_0xf334('0x49')],null))['then'](respondWithResult(_0xdf037c,null))[_0xf334('0x45')](handleError(_0xdf037c,null));};exports['destroy']=function(_0x5e2e71,_0x2745dc){return db[_0xf334('0x2d')][_0xf334('0x47')]({'where':{'id':_0x5e2e71[_0xf334('0x4a')]['id']}})['then'](handleEntityNotFound(_0x2745dc,null))['then'](removeEntity(_0x2745dc,null))['catch'](handleError(_0x2745dc,null));};
\ No newline at end of file
+var _0xc480=['crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','undefined','limit','offset','count','status','set','Content-Range','json','reject','save','then','destroy','stack','name','send','index','map','FreshsalesField','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','catch','params','include','create','body','update','find','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel'];(function(_0xa98302,_0x844f27){var _0x1ad8e3=function(_0x57e51d){while(--_0x57e51d){_0xa98302['push'](_0xa98302['shift']());}};_0x1ad8e3(++_0x844f27);}(_0xc480,0xd2));var _0x0c48=function(_0x12771f,_0x4f203e){_0x12771f=_0x12771f-0x0;var _0xef2dc1=_0xc480[_0x12771f];return _0xef2dc1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0c48('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0c48('0x1'));var rp=require(_0x0c48('0x2'));var moment=require('moment');var BPromise=require(_0x0c48('0x3'));var Mustache=require('mustache');var util=require(_0x0c48('0x4'));var path=require(_0x0c48('0x5'));var sox=require(_0x0c48('0x6'));var csv=require(_0x0c48('0x7'));var ejs=require(_0x0c48('0x8'));var fs=require('fs');var fs_extra=require(_0x0c48('0x9'));var _=require(_0x0c48('0xa'));var squel=require(_0x0c48('0xb'));var crypto=require(_0x0c48('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x0c48('0xd'));var toCsv=require('to-csv');var querystring=require(_0x0c48('0xe'));var Papa=require(_0x0c48('0xf'));var Redis=require(_0x0c48('0x10'));var authService=require(_0x0c48('0x11'));var qs=require(_0x0c48('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0c48('0x13'));var logger=require('../../config/logger')(_0x0c48('0x14'));var utils=require(_0x0c48('0x15'));var config=require(_0x0c48('0x16'));var licenseUtil=require(_0x0c48('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2c84ec,_0x521c02){_0x521c02=_0x521c02||0xcc;return function(_0xb9ec20){if(_0xb9ec20){return _0x2c84ec[_0x0c48('0x18')](_0x521c02);}return _0x2c84ec['status'](_0x521c02)[_0x0c48('0x19')]();};}function respondWithResult(_0x412ba5,_0x16e67f){_0x16e67f=_0x16e67f||0xc8;return function(_0x1705bf){if(_0x1705bf){return _0x412ba5['status'](_0x16e67f)['json'](_0x1705bf);}};}function respondWithFilteredResult(_0x46bf39,_0x5cd666){return function(_0x2a0856){if(_0x2a0856){var _0x575e34=typeof _0x5cd666['offset']===_0x0c48('0x1a')&&typeof _0x5cd666[_0x0c48('0x1b')]===_0x0c48('0x1a');var _0x31f117=_0x2a0856['count'];var _0xe8b73b=_0x575e34?0x0:_0x5cd666[_0x0c48('0x1c')];var _0x2116c6=_0x575e34?_0x2a0856[_0x0c48('0x1d')]:_0x5cd666[_0x0c48('0x1c')]+_0x5cd666[_0x0c48('0x1b')];var _0x42a5a7;if(_0x2116c6>=_0x31f117){_0x2116c6=_0x31f117;_0x42a5a7=0xc8;}else{_0x42a5a7=0xce;}_0x46bf39[_0x0c48('0x1e')](_0x42a5a7);return _0x46bf39[_0x0c48('0x1f')](_0x0c48('0x20'),_0xe8b73b+'-'+_0x2116c6+'/'+_0x31f117)[_0x0c48('0x21')](_0x2a0856);}return null;};}function patchUpdates(_0x19d0a1){return function(_0x369b3c){try{jsonpatch['apply'](_0x369b3c,_0x19d0a1,!![]);}catch(_0xe44c97){return BPromise[_0x0c48('0x22')](_0xe44c97);}return _0x369b3c[_0x0c48('0x23')]();};}function saveUpdates(_0x9422e8,_0x5c9a1e){return function(_0x496610){if(_0x496610){return _0x496610['update'](_0x9422e8)[_0x0c48('0x24')](function(_0x29769b){return _0x29769b;});}return null;};}function removeEntity(_0x268e1b,_0x424e43){return function(_0x4ec52c){if(_0x4ec52c){return _0x4ec52c[_0x0c48('0x25')]()['then'](function(){_0x268e1b[_0x0c48('0x1e')](0xcc)[_0x0c48('0x19')]();});}};}function handleEntityNotFound(_0x522fc2,_0x52a333){return function(_0xc0bec9){if(!_0xc0bec9){_0x522fc2[_0x0c48('0x18')](0x194);}return _0xc0bec9;};}function handleError(_0x427a1d,_0x5320b4){_0x5320b4=_0x5320b4||0x1f4;return function(_0x16bf5d){logger['error'](_0x16bf5d[_0x0c48('0x26')]);if(_0x16bf5d['name']){delete _0x16bf5d[_0x0c48('0x27')];}_0x427a1d[_0x0c48('0x1e')](_0x5320b4)[_0x0c48('0x28')](_0x16bf5d);};}exports[_0x0c48('0x29')]=function(_0x5cf7ae,_0x38a1b5){var _0x219605={},_0x13b6ac={},_0x28a123={'count':0x0,'rows':[]};var _0x35e9e8=_[_0x0c48('0x2a')](db[_0x0c48('0x2b')][_0x0c48('0x2c')],function(_0x44790a){return{'name':_0x44790a[_0x0c48('0x2d')],'type':_0x44790a[_0x0c48('0x2e')][_0x0c48('0x2f')]};});_0x13b6ac[_0x0c48('0x30')]=_[_0x0c48('0x2a')](_0x35e9e8,_0x0c48('0x27'));_0x13b6ac[_0x0c48('0x31')]=_[_0x0c48('0x32')](_0x5cf7ae[_0x0c48('0x31')]);_0x13b6ac[_0x0c48('0x33')]=_[_0x0c48('0x34')](_0x13b6ac[_0x0c48('0x30')],_0x13b6ac[_0x0c48('0x31')]);_0x219605[_0x0c48('0x35')]=_[_0x0c48('0x34')](_0x13b6ac[_0x0c48('0x30')],qs[_0x0c48('0x36')](_0x5cf7ae['query']['fields']));_0x219605[_0x0c48('0x35')]=_0x219605[_0x0c48('0x35')][_0x0c48('0x37')]?_0x219605['attributes']:_0x13b6ac[_0x0c48('0x30')];if(!_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x38')]('nolimit')){_0x219605[_0x0c48('0x1b')]=qs[_0x0c48('0x1b')](_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x1b')]);_0x219605[_0x0c48('0x1c')]=qs['offset'](_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x1c')]);}_0x219605['order']=qs[_0x0c48('0x39')](_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x39')]);_0x219605['where']=qs[_0x0c48('0x33')](_[_0x0c48('0x3a')](_0x5cf7ae['query'],_0x13b6ac[_0x0c48('0x33')]),_0x35e9e8);if(_0x5cf7ae['query'][_0x0c48('0x3b')]){_0x219605[_0x0c48('0x3c')]=_[_0x0c48('0x3d')](_0x219605['where'],{'$or':_[_0x0c48('0x2a')](_0x35e9e8,function(_0x53df99){if(_0x53df99[_0x0c48('0x2e')]!==_0x0c48('0x3e')){var _0x259b74={};_0x259b74[_0x53df99[_0x0c48('0x27')]]={'$like':'%'+_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x3b')]+'%'};return _0x259b74;}})});}_0x219605=_['merge']({},_0x219605,_0x5cf7ae[_0x0c48('0x3f')]);var _0x47703e={'where':_0x219605[_0x0c48('0x3c')]};return db[_0x0c48('0x2b')][_0x0c48('0x1d')](_0x47703e)[_0x0c48('0x24')](function(_0xa8b6ed){_0x28a123[_0x0c48('0x1d')]=_0xa8b6ed;if(_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x40')]){_0x219605['include']=[{'all':!![]}];}return db[_0x0c48('0x2b')][_0x0c48('0x41')](_0x219605);})['then'](function(_0x523b75){_0x28a123[_0x0c48('0x42')]=_0x523b75;return _0x28a123;})['then'](respondWithFilteredResult(_0x38a1b5,_0x219605))[_0x0c48('0x43')](handleError(_0x38a1b5,null));};exports['show']=function(_0x13cfee,_0x27c3d8){var _0x4a2233={'raw':!![],'where':{'id':_0x13cfee[_0x0c48('0x44')]['id']}},_0x1208a6={};_0x1208a6[_0x0c48('0x30')]=_[_0x0c48('0x32')](db[_0x0c48('0x2b')][_0x0c48('0x2c')]);_0x1208a6[_0x0c48('0x31')]=_[_0x0c48('0x32')](_0x13cfee[_0x0c48('0x31')]);_0x1208a6[_0x0c48('0x33')]=_[_0x0c48('0x34')](_0x1208a6[_0x0c48('0x30')],_0x1208a6['query']);_0x4a2233[_0x0c48('0x35')]=_['intersection'](_0x1208a6[_0x0c48('0x30')],qs[_0x0c48('0x36')](_0x13cfee[_0x0c48('0x31')][_0x0c48('0x36')]));_0x4a2233[_0x0c48('0x35')]=_0x4a2233['attributes'][_0x0c48('0x37')]?_0x4a2233[_0x0c48('0x35')]:_0x1208a6[_0x0c48('0x30')];if(_0x13cfee['query'][_0x0c48('0x40')]){_0x4a2233[_0x0c48('0x45')]=[{'all':!![]}];}_0x4a2233=_['merge']({},_0x4a2233,_0x13cfee[_0x0c48('0x3f')]);return db[_0x0c48('0x2b')]['find'](_0x4a2233)[_0x0c48('0x24')](handleEntityNotFound(_0x27c3d8,null))[_0x0c48('0x24')](respondWithResult(_0x27c3d8,null))[_0x0c48('0x43')](handleError(_0x27c3d8,null));};exports[_0x0c48('0x46')]=function(_0x396988,_0x126743){return db['FreshsalesField'][_0x0c48('0x46')](_0x396988[_0x0c48('0x47')],{})['then'](respondWithResult(_0x126743,0xc9))['catch'](handleError(_0x126743,null));};exports[_0x0c48('0x48')]=function(_0x7d6ae2,_0x1c6ec6){if(_0x7d6ae2[_0x0c48('0x47')]['id']){delete _0x7d6ae2[_0x0c48('0x47')]['id'];}return db[_0x0c48('0x2b')]['find']({'where':{'id':_0x7d6ae2['params']['id']}})['then'](handleEntityNotFound(_0x1c6ec6,null))[_0x0c48('0x24')](saveUpdates(_0x7d6ae2[_0x0c48('0x47')],null))[_0x0c48('0x24')](respondWithResult(_0x1c6ec6,null))[_0x0c48('0x43')](handleError(_0x1c6ec6,null));};exports[_0x0c48('0x25')]=function(_0x51fea4,_0x27fe81){return db['FreshsalesField'][_0x0c48('0x49')]({'where':{'id':_0x51fea4[_0x0c48('0x44')]['id']}})[_0x0c48('0x24')](handleEntityNotFound(_0x27fe81,null))[_0x0c48('0x24')](removeEntity(_0x27fe81,null))[_0x0c48('0x43')](handleError(_0x27fe81,null));};
\ No newline at end of file