Built motion from commit bab6f49e.|2.6.17
[motion2.git] / server / api / intDynamics365Field / intDynamics365Field.controller.js
index 1267335..54e634f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2560=['create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','Content-Range','apply','reject','save','update','then','stack','name','send','index','map','Dynamics365Field','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','include','find'];(function(_0x1ad9f7,_0x3df7bc){var _0x495299=function(_0xb431b){while(--_0xb431b){_0x1ad9f7['push'](_0x1ad9f7['shift']());}};_0x495299(++_0x3df7bc);}(_0x2560,0x9a));var _0x0256=function(_0x68035a,_0x350f4e){_0x68035a=_0x68035a-0x0;var _0x47c80d=_0x2560[_0x68035a];return _0x47c80d;};'use strict';var pdf=require(_0x0256('0x0'));var emlformat=require(_0x0256('0x1'));var rimraf=require(_0x0256('0x2'));var zipdir=require(_0x0256('0x3'));var jsonpatch=require(_0x0256('0x4'));var rp=require(_0x0256('0x5'));var moment=require(_0x0256('0x6'));var BPromise=require(_0x0256('0x7'));var Mustache=require(_0x0256('0x8'));var util=require(_0x0256('0x9'));var path=require('path');var sox=require(_0x0256('0xa'));var csv=require(_0x0256('0xb'));var ejs=require(_0x0256('0xc'));var fs=require('fs');var _=require(_0x0256('0xd'));var squel=require('squel');var crypto=require(_0x0256('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x0256('0xf'));var toCsv=require(_0x0256('0xb'));var querystring=require(_0x0256('0x10'));var Papa=require(_0x0256('0x11'));var Redis=require(_0x0256('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x0256('0x13'));var as=require(_0x0256('0x14'));var hardwareService=require(_0x0256('0x15'));var logger=require(_0x0256('0x16'))(_0x0256('0x17'));var utils=require(_0x0256('0x18'));var config=require(_0x0256('0x19'));var db=require(_0x0256('0x1a'))['db'];function respondWithStatusCode(_0x5adf18,_0x4986f8){_0x4986f8=_0x4986f8||0xcc;return function(_0x34808b){if(_0x34808b){return _0x5adf18[_0x0256('0x1b')](_0x4986f8);}return _0x5adf18[_0x0256('0x1c')](_0x4986f8)['end']();};}function respondWithResult(_0x37e907,_0x2a9c88){_0x2a9c88=_0x2a9c88||0xc8;return function(_0x19d07e){if(_0x19d07e){return _0x37e907[_0x0256('0x1c')](_0x2a9c88)[_0x0256('0x1d')](_0x19d07e);}};}function respondWithFilteredResult(_0x4dab74,_0x45ab72){return function(_0x539752){if(_0x539752){var _0x2bf170=_0x539752[_0x0256('0x1e')],_0x5a6da6=_0x45ab72[_0x0256('0x1f')],_0x3ae450=_0x45ab72[_0x0256('0x1f')]+_0x45ab72['limit'],_0x1e1a70;if(_0x3ae450>=_0x2bf170){_0x3ae450=_0x2bf170;_0x1e1a70=0xc8;}else{_0x1e1a70=0xce;}_0x4dab74[_0x0256('0x1c')](_0x1e1a70);return _0x4dab74['set'](_0x0256('0x20'),_0x5a6da6+'-'+_0x3ae450+'/'+_0x2bf170)['json'](_0x539752);}return null;};}function patchUpdates(_0x38e56d){return function(_0x252d4d){try{jsonpatch[_0x0256('0x21')](_0x252d4d,_0x38e56d,!![]);}catch(_0x592687){return BPromise[_0x0256('0x22')](_0x592687);}return _0x252d4d[_0x0256('0x23')]();};}function saveUpdates(_0x1f9125,_0x3c497c){return function(_0x26c3a6){if(_0x26c3a6){return _0x26c3a6[_0x0256('0x24')](_0x1f9125)['then'](function(_0x1f9c74){return _0x1f9c74;});}return null;};}function removeEntity(_0x984113,_0x2a54d9){return function(_0x2f048a){if(_0x2f048a){return _0x2f048a['destroy']()[_0x0256('0x25')](function(){_0x984113[_0x0256('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x42e3a8,_0x4220be){return function(_0x350108){if(!_0x350108){_0x42e3a8[_0x0256('0x1b')](0x194);}return _0x350108;};}function handleError(_0x494d7e,_0x30b19a){_0x30b19a=_0x30b19a||0x1f4;return function(_0x54568a){logger['error'](_0x54568a[_0x0256('0x26')]);if(_0x54568a[_0x0256('0x27')]){delete _0x54568a[_0x0256('0x27')];}_0x494d7e[_0x0256('0x1c')](_0x30b19a)[_0x0256('0x28')](_0x54568a);};}exports[_0x0256('0x29')]=function(_0x2bf46c,_0x4fdee2){var _0x5137a8={},_0x5867c0={},_0x4f406f={'count':0x0,'rows':[]};var _0x2cc130=_[_0x0256('0x2a')](db[_0x0256('0x2b')][_0x0256('0x2c')],function(_0x50aed7){return{'name':_0x50aed7[_0x0256('0x2d')],'type':_0x50aed7[_0x0256('0x2e')][_0x0256('0x2f')]};});_0x5867c0[_0x0256('0x30')]=_['map'](_0x2cc130,_0x0256('0x27'));_0x5867c0['query']=_[_0x0256('0x31')](_0x2bf46c[_0x0256('0x32')]);_0x5867c0[_0x0256('0x33')]=_[_0x0256('0x34')](_0x5867c0['model'],_0x5867c0['query']);_0x5137a8[_0x0256('0x35')]=_['intersection'](_0x5867c0[_0x0256('0x30')],qs[_0x0256('0x36')](_0x2bf46c[_0x0256('0x32')][_0x0256('0x36')]));_0x5137a8[_0x0256('0x35')]=_0x5137a8[_0x0256('0x35')][_0x0256('0x37')]?_0x5137a8[_0x0256('0x35')]:_0x5867c0[_0x0256('0x30')];if(!_0x2bf46c[_0x0256('0x32')][_0x0256('0x38')]('nolimit')){_0x5137a8['limit']=qs[_0x0256('0x39')](_0x2bf46c['query'][_0x0256('0x39')]);_0x5137a8[_0x0256('0x1f')]=qs[_0x0256('0x1f')](_0x2bf46c[_0x0256('0x32')][_0x0256('0x1f')]);}_0x5137a8[_0x0256('0x3a')]=qs[_0x0256('0x3b')](_0x2bf46c['query']['sort']);_0x5137a8[_0x0256('0x3c')]=qs['filters'](_[_0x0256('0x3d')](_0x2bf46c[_0x0256('0x32')],_0x5867c0[_0x0256('0x33')]),_0x2cc130);if(_0x2bf46c[_0x0256('0x32')][_0x0256('0x3e')]){_0x5137a8['where']=_[_0x0256('0x3f')](_0x5137a8[_0x0256('0x3c')],{'$or':_[_0x0256('0x2a')](_0x2cc130,function(_0x2c4265){if(_0x2c4265[_0x0256('0x2e')]!==_0x0256('0x40')){var _0x13769e={};_0x13769e[_0x2c4265[_0x0256('0x27')]]={'$like':'%'+_0x2bf46c['query']['filter']+'%'};return _0x13769e;}})});}_0x5137a8=_[_0x0256('0x3f')]({},_0x5137a8,_0x2bf46c[_0x0256('0x41')]);var _0x5123b4={'where':_0x5137a8[_0x0256('0x3c')]};return db['Dynamics365Field'][_0x0256('0x1e')](_0x5123b4)['then'](function(_0x4548d8){_0x4f406f[_0x0256('0x1e')]=_0x4548d8;if(_0x2bf46c['query'][_0x0256('0x42')]){_0x5137a8['include']=[{'all':!![]}];}return db[_0x0256('0x2b')][_0x0256('0x43')](_0x5137a8);})[_0x0256('0x25')](function(_0x2679ca){_0x4f406f[_0x0256('0x44')]=_0x2679ca;return _0x4f406f;})['then'](respondWithFilteredResult(_0x4fdee2,_0x5137a8))[_0x0256('0x45')](handleError(_0x4fdee2,null));};exports[_0x0256('0x46')]=function(_0xb545af,_0x4e56dc){var _0x5557d4={'raw':!![],'where':{'id':_0xb545af[_0x0256('0x47')]['id']}},_0x4301f4={};_0x4301f4[_0x0256('0x30')]=_[_0x0256('0x31')](db['Dynamics365Field'][_0x0256('0x2c')]);_0x4301f4[_0x0256('0x32')]=_[_0x0256('0x31')](_0xb545af[_0x0256('0x32')]);_0x4301f4[_0x0256('0x33')]=_[_0x0256('0x34')](_0x4301f4['model'],_0x4301f4[_0x0256('0x32')]);_0x5557d4['attributes']=_[_0x0256('0x34')](_0x4301f4[_0x0256('0x30')],qs['fields'](_0xb545af['query'][_0x0256('0x36')]));_0x5557d4[_0x0256('0x35')]=_0x5557d4[_0x0256('0x35')]['length']?_0x5557d4[_0x0256('0x35')]:_0x4301f4[_0x0256('0x30')];if(_0xb545af[_0x0256('0x32')][_0x0256('0x42')]){_0x5557d4[_0x0256('0x48')]=[{'all':!![]}];}_0x5557d4=_['merge']({},_0x5557d4,_0xb545af[_0x0256('0x41')]);return db[_0x0256('0x2b')][_0x0256('0x49')](_0x5557d4)[_0x0256('0x25')](handleEntityNotFound(_0x4e56dc,null))[_0x0256('0x25')](respondWithResult(_0x4e56dc,null))[_0x0256('0x45')](handleError(_0x4e56dc,null));};exports[_0x0256('0x4a')]=function(_0x2b0f70,_0x3afe47){return db[_0x0256('0x2b')]['create'](_0x2b0f70[_0x0256('0x4b')],{})[_0x0256('0x25')](respondWithResult(_0x3afe47,0xc9))[_0x0256('0x45')](handleError(_0x3afe47,null));};exports['update']=function(_0x403aa2,_0x2f731c){if(_0x403aa2[_0x0256('0x4b')]['id']){delete _0x403aa2[_0x0256('0x4b')]['id'];}return db[_0x0256('0x2b')][_0x0256('0x49')]({'where':{'id':_0x403aa2[_0x0256('0x47')]['id']}})[_0x0256('0x25')](handleEntityNotFound(_0x2f731c,null))[_0x0256('0x25')](saveUpdates(_0x403aa2[_0x0256('0x4b')],null))[_0x0256('0x25')](respondWithResult(_0x2f731c,null))[_0x0256('0x45')](handleError(_0x2f731c,null));};exports['destroy']=function(_0x5b9d8a,_0x34ca7f){return db[_0x0256('0x2b')][_0x0256('0x49')]({'where':{'id':_0x5b9d8a[_0x0256('0x47')]['id']}})[_0x0256('0x25')](handleEntityNotFound(_0x34ca7f,null))['then'](removeEntity(_0x34ca7f,null))[_0x0256('0x45')](handleError(_0x34ca7f,null));};
\ No newline at end of file
+var _0xb1e0=['where','options','Dynamics365Field','includeAll','include','findAll','catch','show','params','find','create','update','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','filter','merge'];(function(_0xe73080,_0x24c56d){var _0x12cbc4=function(_0x1377e2){while(--_0x1377e2){_0xe73080['push'](_0xe73080['shift']());}};_0x12cbc4(++_0x24c56d);}(_0xb1e0,0x1f0));var _0x0b1e=function(_0x399a17,_0x32737d){_0x399a17=_0x399a17-0x0;var _0x990dd2=_0xb1e0[_0x399a17];return _0x990dd2;};'use strict';var emlformat=require(_0x0b1e('0x0'));var rimraf=require(_0x0b1e('0x1'));var zipdir=require(_0x0b1e('0x2'));var jsonpatch=require(_0x0b1e('0x3'));var rp=require(_0x0b1e('0x4'));var moment=require(_0x0b1e('0x5'));var BPromise=require(_0x0b1e('0x6'));var Mustache=require(_0x0b1e('0x7'));var util=require(_0x0b1e('0x8'));var path=require(_0x0b1e('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0b1e('0xa'));var _=require(_0x0b1e('0xb'));var squel=require(_0x0b1e('0xc'));var crypto=require(_0x0b1e('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x0b1e('0xe'));var toCsv=require('to-csv');var querystring=require(_0x0b1e('0xf'));var Papa=require(_0x0b1e('0x10'));var Redis=require('ioredis');var authService=require(_0x0b1e('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0b1e('0x12'));var db=require(_0x0b1e('0x13'))['db'];function respondWithStatusCode(_0xf64b0c,_0x4cffe1){_0x4cffe1=_0x4cffe1||0xcc;return function(_0x4d75d5){if(_0x4d75d5){return _0xf64b0c[_0x0b1e('0x14')](_0x4cffe1);}return _0xf64b0c[_0x0b1e('0x15')](_0x4cffe1)[_0x0b1e('0x16')]();};}function respondWithResult(_0x23b277,_0x4daf8a){_0x4daf8a=_0x4daf8a||0xc8;return function(_0x230b4e){if(_0x230b4e){return _0x23b277[_0x0b1e('0x15')](_0x4daf8a)[_0x0b1e('0x17')](_0x230b4e);}};}function respondWithFilteredResult(_0x3cf455,_0x2c08c2){return function(_0x3bba03){if(_0x3bba03){var _0x47e563=typeof _0x2c08c2[_0x0b1e('0x18')]===_0x0b1e('0x19')&&typeof _0x2c08c2[_0x0b1e('0x1a')]==='undefined';var _0x540cde=_0x3bba03[_0x0b1e('0x1b')];var _0x5972e1=_0x47e563?0x0:_0x2c08c2[_0x0b1e('0x18')];var _0x5d6904=_0x47e563?_0x3bba03[_0x0b1e('0x1b')]:_0x2c08c2[_0x0b1e('0x18')]+_0x2c08c2[_0x0b1e('0x1a')];var _0x3a5cb8;if(_0x5d6904>=_0x540cde){_0x5d6904=_0x540cde;_0x3a5cb8=0xc8;}else{_0x3a5cb8=0xce;}_0x3cf455['status'](_0x3a5cb8);return _0x3cf455[_0x0b1e('0x1c')](_0x0b1e('0x1d'),_0x5972e1+'-'+_0x5d6904+'/'+_0x540cde)[_0x0b1e('0x17')](_0x3bba03);}return null;};}function patchUpdates(_0x4039d4){return function(_0x2fa357){try{jsonpatch[_0x0b1e('0x1e')](_0x2fa357,_0x4039d4,!![]);}catch(_0x4ce1b0){return BPromise[_0x0b1e('0x1f')](_0x4ce1b0);}return _0x2fa357[_0x0b1e('0x20')]();};}function saveUpdates(_0x142129,_0xe92d0){return function(_0x134833){if(_0x134833){return _0x134833['update'](_0x142129)[_0x0b1e('0x21')](function(_0x5b686b){return _0x5b686b;});}return null;};}function removeEntity(_0x165091,_0x236c3c){return function(_0x546ed7){if(_0x546ed7){return _0x546ed7['destroy']()['then'](function(){_0x165091[_0x0b1e('0x15')](0xcc)[_0x0b1e('0x16')]();});}};}function handleEntityNotFound(_0x44fdce,_0x29eb60){return function(_0x499318){if(!_0x499318){_0x44fdce[_0x0b1e('0x14')](0x194);}return _0x499318;};}function handleError(_0x86aac2,_0x3a8501){_0x3a8501=_0x3a8501||0x1f4;return function(_0x5c7b3a){logger[_0x0b1e('0x22')](_0x5c7b3a['stack']);if(_0x5c7b3a['name']){delete _0x5c7b3a[_0x0b1e('0x23')];}_0x86aac2[_0x0b1e('0x15')](_0x3a8501)[_0x0b1e('0x24')](_0x5c7b3a);};}exports[_0x0b1e('0x25')]=function(_0x53fb96,_0x17769f){var _0x19b194={},_0xca6333={},_0x4db2c5={'count':0x0,'rows':[]};var _0x1a1083=_[_0x0b1e('0x26')](db['Dynamics365Field'][_0x0b1e('0x27')],function(_0x586d5c){return{'name':_0x586d5c[_0x0b1e('0x28')],'type':_0x586d5c[_0x0b1e('0x29')][_0x0b1e('0x2a')]};});_0xca6333[_0x0b1e('0x2b')]=_[_0x0b1e('0x26')](_0x1a1083,_0x0b1e('0x23'));_0xca6333[_0x0b1e('0x2c')]=_[_0x0b1e('0x2d')](_0x53fb96[_0x0b1e('0x2c')]);_0xca6333[_0x0b1e('0x2e')]=_[_0x0b1e('0x2f')](_0xca6333[_0x0b1e('0x2b')],_0xca6333['query']);_0x19b194[_0x0b1e('0x30')]=_[_0x0b1e('0x2f')](_0xca6333[_0x0b1e('0x2b')],qs[_0x0b1e('0x31')](_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x31')]));_0x19b194[_0x0b1e('0x30')]=_0x19b194['attributes'][_0x0b1e('0x32')]?_0x19b194[_0x0b1e('0x30')]:_0xca6333[_0x0b1e('0x2b')];if(!_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x33')]('nolimit')){_0x19b194[_0x0b1e('0x1a')]=qs[_0x0b1e('0x1a')](_0x53fb96[_0x0b1e('0x2c')]['limit']);_0x19b194[_0x0b1e('0x18')]=qs[_0x0b1e('0x18')](_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x18')]);}_0x19b194[_0x0b1e('0x34')]=qs[_0x0b1e('0x35')](_0x53fb96[_0x0b1e('0x2c')]['sort']);_0x19b194['where']=qs[_0x0b1e('0x2e')](_['pick'](_0x53fb96[_0x0b1e('0x2c')],_0xca6333['filters']),_0x1a1083);if(_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x36')]){_0x19b194['where']=_[_0x0b1e('0x37')](_0x19b194[_0x0b1e('0x38')],{'$or':_[_0x0b1e('0x26')](_0x1a1083,function(_0x43a1ca){if(_0x43a1ca[_0x0b1e('0x29')]!=='VIRTUAL'){var _0x50db52={};_0x50db52[_0x43a1ca[_0x0b1e('0x23')]]={'$like':'%'+_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x36')]+'%'};return _0x50db52;}})});}_0x19b194=_['merge']({},_0x19b194,_0x53fb96[_0x0b1e('0x39')]);var _0x430b4e={'where':_0x19b194['where']};return db[_0x0b1e('0x3a')][_0x0b1e('0x1b')](_0x430b4e)['then'](function(_0x44a05e){_0x4db2c5[_0x0b1e('0x1b')]=_0x44a05e;if(_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x3b')]){_0x19b194[_0x0b1e('0x3c')]=[{'all':!![]}];}return db[_0x0b1e('0x3a')][_0x0b1e('0x3d')](_0x19b194);})[_0x0b1e('0x21')](function(_0x24c5d4){_0x4db2c5['rows']=_0x24c5d4;return _0x4db2c5;})[_0x0b1e('0x21')](respondWithFilteredResult(_0x17769f,_0x19b194))[_0x0b1e('0x3e')](handleError(_0x17769f,null));};exports[_0x0b1e('0x3f')]=function(_0x18025f,_0x144b17){var _0x4671ce={'raw':!![],'where':{'id':_0x18025f[_0x0b1e('0x40')]['id']}},_0x29c745={};_0x29c745[_0x0b1e('0x2b')]=_['keys'](db[_0x0b1e('0x3a')][_0x0b1e('0x27')]);_0x29c745[_0x0b1e('0x2c')]=_[_0x0b1e('0x2d')](_0x18025f[_0x0b1e('0x2c')]);_0x29c745[_0x0b1e('0x2e')]=_[_0x0b1e('0x2f')](_0x29c745[_0x0b1e('0x2b')],_0x29c745[_0x0b1e('0x2c')]);_0x4671ce['attributes']=_['intersection'](_0x29c745[_0x0b1e('0x2b')],qs[_0x0b1e('0x31')](_0x18025f[_0x0b1e('0x2c')][_0x0b1e('0x31')]));_0x4671ce[_0x0b1e('0x30')]=_0x4671ce[_0x0b1e('0x30')][_0x0b1e('0x32')]?_0x4671ce['attributes']:_0x29c745['model'];if(_0x18025f[_0x0b1e('0x2c')]['includeAll']){_0x4671ce[_0x0b1e('0x3c')]=[{'all':!![]}];}_0x4671ce=_[_0x0b1e('0x37')]({},_0x4671ce,_0x18025f[_0x0b1e('0x39')]);return db[_0x0b1e('0x3a')][_0x0b1e('0x41')](_0x4671ce)[_0x0b1e('0x21')](handleEntityNotFound(_0x144b17,null))['then'](respondWithResult(_0x144b17,null))[_0x0b1e('0x3e')](handleError(_0x144b17,null));};exports[_0x0b1e('0x42')]=function(_0x501d43,_0x138949){return db[_0x0b1e('0x3a')][_0x0b1e('0x42')](_0x501d43['body'],{})[_0x0b1e('0x21')](respondWithResult(_0x138949,0xc9))[_0x0b1e('0x3e')](handleError(_0x138949,null));};exports[_0x0b1e('0x43')]=function(_0x27d659,_0x35bf07){if(_0x27d659[_0x0b1e('0x44')]['id']){delete _0x27d659[_0x0b1e('0x44')]['id'];}return db[_0x0b1e('0x3a')]['find']({'where':{'id':_0x27d659['params']['id']}})[_0x0b1e('0x21')](handleEntityNotFound(_0x35bf07,null))[_0x0b1e('0x21')](saveUpdates(_0x27d659[_0x0b1e('0x44')],null))[_0x0b1e('0x21')](respondWithResult(_0x35bf07,null))[_0x0b1e('0x3e')](handleError(_0x35bf07,null));};exports['destroy']=function(_0x17da23,_0x1dbb22){return db[_0x0b1e('0x3a')][_0x0b1e('0x41')]({'where':{'id':_0x17da23['params']['id']}})[_0x0b1e('0x21')](handleEntityNotFound(_0x1dbb22,null))[_0x0b1e('0x21')](removeEntity(_0x1dbb22,null))[_0x0b1e('0x3e')](handleError(_0x1dbb22,null));};
\ No newline at end of file