Built motion from commit eddce310.|2.6.12
[motion2.git] / server / api / intDynamics365Field / intDynamics365Field.controller.js
index f864609..a5a7c9a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9570=['../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','set','apply','reject','save','destroy','then','error','stack','name','send','index','map','Dynamics365Field','rawAttributes','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','limit','sort','where','filters','pick','filter','type','VIRTUAL','merge','options','includeAll','findAll','rows','catch','params','include','find','create','update','body','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api'];(function(_0xfe56e3,_0x5bb3b9){var _0x5bdffa=function(_0x587674){while(--_0x587674){_0xfe56e3['push'](_0xfe56e3['shift']());}};_0x5bdffa(++_0x5bb3b9);}(_0x9570,0x7d));var _0x0957=function(_0x119e7a,_0x3949d3){_0x119e7a=_0x119e7a-0x0;var _0x1fb90a=_0x9570[_0x119e7a];return _0x1fb90a;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x0957('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0957('0x1'));var moment=require(_0x0957('0x2'));var BPromise=require(_0x0957('0x3'));var Mustache=require(_0x0957('0x4'));var util=require(_0x0957('0x5'));var path=require('path');var sox=require(_0x0957('0x6'));var csv=require(_0x0957('0x7'));var ejs=require(_0x0957('0x8'));var fs=require('fs');var fs_extra=require(_0x0957('0x9'));var _=require(_0x0957('0xa'));var squel=require('squel');var crypto=require(_0x0957('0xb'));var jsforce=require(_0x0957('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x0957('0xd'));var Papa=require(_0x0957('0xe'));var Redis=require(_0x0957('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x0957('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x0957('0x11'))(_0x0957('0x12'));var utils=require('../../config/utils');var config=require(_0x0957('0x13'));var licenseUtil=require(_0x0957('0x14'));var db=require(_0x0957('0x15'))['db'];function respondWithStatusCode(_0x1f2495,_0x5ccd50){_0x5ccd50=_0x5ccd50||0xcc;return function(_0x40504e){if(_0x40504e){return _0x1f2495[_0x0957('0x16')](_0x5ccd50);}return _0x1f2495[_0x0957('0x17')](_0x5ccd50)[_0x0957('0x18')]();};}function respondWithResult(_0x46fd3c,_0x3a71b3){_0x3a71b3=_0x3a71b3||0xc8;return function(_0x2f6414){if(_0x2f6414){return _0x46fd3c[_0x0957('0x17')](_0x3a71b3)[_0x0957('0x19')](_0x2f6414);}};}function respondWithFilteredResult(_0x2e371f,_0x52f501){return function(_0x280d43){if(_0x280d43){var _0x2622f0=typeof _0x52f501['offset']===_0x0957('0x1a')&&typeof _0x52f501['limit']===_0x0957('0x1a');var _0x57c8c6=_0x280d43[_0x0957('0x1b')];var _0x4feb54=_0x2622f0?0x0:_0x52f501[_0x0957('0x1c')];var _0x2e41fb=_0x2622f0?_0x280d43[_0x0957('0x1b')]:_0x52f501[_0x0957('0x1c')]+_0x52f501['limit'];var _0x165854;if(_0x2e41fb>=_0x57c8c6){_0x2e41fb=_0x57c8c6;_0x165854=0xc8;}else{_0x165854=0xce;}_0x2e371f['status'](_0x165854);return _0x2e371f[_0x0957('0x1d')]('Content-Range',_0x4feb54+'-'+_0x2e41fb+'/'+_0x57c8c6)[_0x0957('0x19')](_0x280d43);}return null;};}function patchUpdates(_0x1b455b){return function(_0x4bafd1){try{jsonpatch[_0x0957('0x1e')](_0x4bafd1,_0x1b455b,!![]);}catch(_0x8629c){return BPromise[_0x0957('0x1f')](_0x8629c);}return _0x4bafd1[_0x0957('0x20')]();};}function saveUpdates(_0x1a1ce0,_0x53eec7){return function(_0x41515c){if(_0x41515c){return _0x41515c['update'](_0x1a1ce0)['then'](function(_0x68565d){return _0x68565d;});}return null;};}function removeEntity(_0x116c9d,_0x160524){return function(_0x3fccc2){if(_0x3fccc2){return _0x3fccc2[_0x0957('0x21')]()[_0x0957('0x22')](function(){_0x116c9d[_0x0957('0x17')](0xcc)[_0x0957('0x18')]();});}};}function handleEntityNotFound(_0x19ca9c,_0x103584){return function(_0x1e616f){if(!_0x1e616f){_0x19ca9c['sendStatus'](0x194);}return _0x1e616f;};}function handleError(_0x2951a9,_0x1d1aa7){_0x1d1aa7=_0x1d1aa7||0x1f4;return function(_0x30ff6d){logger[_0x0957('0x23')](_0x30ff6d[_0x0957('0x24')]);if(_0x30ff6d['name']){delete _0x30ff6d[_0x0957('0x25')];}_0x2951a9['status'](_0x1d1aa7)[_0x0957('0x26')](_0x30ff6d);};}exports[_0x0957('0x27')]=function(_0x4c082b,_0x441f1d){var _0x27cd39={},_0x3b8a8f={},_0x5488fe={'count':0x0,'rows':[]};var _0x2d4fb3=_[_0x0957('0x28')](db[_0x0957('0x29')][_0x0957('0x2a')],function(_0x2c44cf){return{'name':_0x2c44cf['fieldName'],'type':_0x2c44cf['type'][_0x0957('0x2b')]};});_0x3b8a8f[_0x0957('0x2c')]=_[_0x0957('0x28')](_0x2d4fb3,_0x0957('0x25'));_0x3b8a8f[_0x0957('0x2d')]=_[_0x0957('0x2e')](_0x4c082b['query']);_0x3b8a8f['filters']=_[_0x0957('0x2f')](_0x3b8a8f[_0x0957('0x2c')],_0x3b8a8f['query']);_0x27cd39[_0x0957('0x30')]=_[_0x0957('0x2f')](_0x3b8a8f[_0x0957('0x2c')],qs['fields'](_0x4c082b['query'][_0x0957('0x31')]));_0x27cd39[_0x0957('0x30')]=_0x27cd39['attributes'][_0x0957('0x32')]?_0x27cd39[_0x0957('0x30')]:_0x3b8a8f[_0x0957('0x2c')];if(!_0x4c082b['query'][_0x0957('0x33')]('nolimit')){_0x27cd39[_0x0957('0x34')]=qs[_0x0957('0x34')](_0x4c082b[_0x0957('0x2d')]['limit']);_0x27cd39[_0x0957('0x1c')]=qs[_0x0957('0x1c')](_0x4c082b[_0x0957('0x2d')][_0x0957('0x1c')]);}_0x27cd39['order']=qs[_0x0957('0x35')](_0x4c082b[_0x0957('0x2d')][_0x0957('0x35')]);_0x27cd39[_0x0957('0x36')]=qs[_0x0957('0x37')](_[_0x0957('0x38')](_0x4c082b[_0x0957('0x2d')],_0x3b8a8f[_0x0957('0x37')]),_0x2d4fb3);if(_0x4c082b[_0x0957('0x2d')][_0x0957('0x39')]){_0x27cd39[_0x0957('0x36')]=_['merge'](_0x27cd39[_0x0957('0x36')],{'$or':_[_0x0957('0x28')](_0x2d4fb3,function(_0x3b9cf5){if(_0x3b9cf5[_0x0957('0x3a')]!==_0x0957('0x3b')){var _0x554caa={};_0x554caa[_0x3b9cf5[_0x0957('0x25')]]={'$like':'%'+_0x4c082b[_0x0957('0x2d')][_0x0957('0x39')]+'%'};return _0x554caa;}})});}_0x27cd39=_[_0x0957('0x3c')]({},_0x27cd39,_0x4c082b[_0x0957('0x3d')]);var _0x209218={'where':_0x27cd39[_0x0957('0x36')]};return db[_0x0957('0x29')][_0x0957('0x1b')](_0x209218)['then'](function(_0x136ee6){_0x5488fe[_0x0957('0x1b')]=_0x136ee6;if(_0x4c082b[_0x0957('0x2d')][_0x0957('0x3e')]){_0x27cd39['include']=[{'all':!![]}];}return db[_0x0957('0x29')][_0x0957('0x3f')](_0x27cd39);})[_0x0957('0x22')](function(_0x534659){_0x5488fe[_0x0957('0x40')]=_0x534659;return _0x5488fe;})['then'](respondWithFilteredResult(_0x441f1d,_0x27cd39))[_0x0957('0x41')](handleError(_0x441f1d,null));};exports['show']=function(_0x509bb6,_0x5a3ec8){var _0x402689={'raw':!![],'where':{'id':_0x509bb6[_0x0957('0x42')]['id']}},_0x9cde94={};_0x9cde94['model']=_['keys'](db['Dynamics365Field'][_0x0957('0x2a')]);_0x9cde94[_0x0957('0x2d')]=_[_0x0957('0x2e')](_0x509bb6[_0x0957('0x2d')]);_0x9cde94[_0x0957('0x37')]=_[_0x0957('0x2f')](_0x9cde94[_0x0957('0x2c')],_0x9cde94[_0x0957('0x2d')]);_0x402689[_0x0957('0x30')]=_[_0x0957('0x2f')](_0x9cde94[_0x0957('0x2c')],qs['fields'](_0x509bb6[_0x0957('0x2d')][_0x0957('0x31')]));_0x402689[_0x0957('0x30')]=_0x402689[_0x0957('0x30')][_0x0957('0x32')]?_0x402689[_0x0957('0x30')]:_0x9cde94[_0x0957('0x2c')];if(_0x509bb6[_0x0957('0x2d')]['includeAll']){_0x402689[_0x0957('0x43')]=[{'all':!![]}];}_0x402689=_['merge']({},_0x402689,_0x509bb6[_0x0957('0x3d')]);return db[_0x0957('0x29')][_0x0957('0x44')](_0x402689)['then'](handleEntityNotFound(_0x5a3ec8,null))[_0x0957('0x22')](respondWithResult(_0x5a3ec8,null))[_0x0957('0x41')](handleError(_0x5a3ec8,null));};exports[_0x0957('0x45')]=function(_0x594b3a,_0x1ccbbb){return db[_0x0957('0x29')][_0x0957('0x45')](_0x594b3a['body'],{})[_0x0957('0x22')](respondWithResult(_0x1ccbbb,0xc9))[_0x0957('0x41')](handleError(_0x1ccbbb,null));};exports[_0x0957('0x46')]=function(_0x5d5258,_0x4a6d5b){if(_0x5d5258[_0x0957('0x47')]['id']){delete _0x5d5258[_0x0957('0x47')]['id'];}return db[_0x0957('0x29')][_0x0957('0x44')]({'where':{'id':_0x5d5258['params']['id']}})[_0x0957('0x22')](handleEntityNotFound(_0x4a6d5b,null))['then'](saveUpdates(_0x5d5258[_0x0957('0x47')],null))[_0x0957('0x22')](respondWithResult(_0x4a6d5b,null))[_0x0957('0x41')](handleError(_0x4a6d5b,null));};exports['destroy']=function(_0x88dd63,_0x1e3b6d){return db[_0x0957('0x29')]['find']({'where':{'id':_0x88dd63[_0x0957('0x42')]['id']}})[_0x0957('0x22')](handleEntityNotFound(_0x1e3b6d,null))[_0x0957('0x22')](removeEntity(_0x1e3b6d,null))[_0x0957('0x41')](handleError(_0x1e3b6d,null));};
\ No newline at end of file
+var _0xb856=['../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','reject','save','update','then','destroy','error','stack','name','map','Dynamics365Field','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','options','include','findAll','catch','params','includeAll','find','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','fs-extra','lodash','squel','crypto','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x5b1bab,_0x2de8dd){var _0x25600d=function(_0x5a1149){while(--_0x5a1149){_0x5b1bab['push'](_0x5b1bab['shift']());}};_0x25600d(++_0x2de8dd);}(_0xb856,0x147));var _0x6b85=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xb856[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6b85('0x0'));var zipdir=require(_0x6b85('0x1'));var jsonpatch=require(_0x6b85('0x2'));var rp=require(_0x6b85('0x3'));var moment=require(_0x6b85('0x4'));var BPromise=require(_0x6b85('0x5'));var Mustache=require('mustache');var util=require(_0x6b85('0x6'));var path=require('path');var sox=require(_0x6b85('0x7'));var csv=require(_0x6b85('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6b85('0x9'));var _=require(_0x6b85('0xa'));var squel=require(_0x6b85('0xb'));var crypto=require(_0x6b85('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6b85('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x6b85('0xd'));var authService=require(_0x6b85('0xe'));var qs=require(_0x6b85('0xf'));var as=require(_0x6b85('0x10'));var hardwareService=require(_0x6b85('0x11'));var logger=require(_0x6b85('0x12'))('api');var utils=require(_0x6b85('0x13'));var config=require(_0x6b85('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x6b85('0x15'))['db'];function respondWithStatusCode(_0xa9516d,_0x3e0e6b){_0x3e0e6b=_0x3e0e6b||0xcc;return function(_0x258808){if(_0x258808){return _0xa9516d[_0x6b85('0x16')](_0x3e0e6b);}return _0xa9516d[_0x6b85('0x17')](_0x3e0e6b)[_0x6b85('0x18')]();};}function respondWithResult(_0x328a75,_0x5f1258){_0x5f1258=_0x5f1258||0xc8;return function(_0x56cdbf){if(_0x56cdbf){return _0x328a75[_0x6b85('0x17')](_0x5f1258)['json'](_0x56cdbf);}};}function respondWithFilteredResult(_0x30e38e,_0x4f7d2c){return function(_0x17c8c6){if(_0x17c8c6){var _0x200dff=typeof _0x4f7d2c[_0x6b85('0x19')]===_0x6b85('0x1a')&&typeof _0x4f7d2c[_0x6b85('0x1b')]==='undefined';var _0x2ad5b1=_0x17c8c6[_0x6b85('0x1c')];var _0x108aac=_0x200dff?0x0:_0x4f7d2c[_0x6b85('0x19')];var _0x43e39c=_0x200dff?_0x17c8c6['count']:_0x4f7d2c[_0x6b85('0x19')]+_0x4f7d2c[_0x6b85('0x1b')];var _0x473dce;if(_0x43e39c>=_0x2ad5b1){_0x43e39c=_0x2ad5b1;_0x473dce=0xc8;}else{_0x473dce=0xce;}_0x30e38e[_0x6b85('0x17')](_0x473dce);return _0x30e38e['set'](_0x6b85('0x1d'),_0x108aac+'-'+_0x43e39c+'/'+_0x2ad5b1)[_0x6b85('0x1e')](_0x17c8c6);}return null;};}function patchUpdates(_0x42bdcb){return function(_0x442bb0){try{jsonpatch['apply'](_0x442bb0,_0x42bdcb,!![]);}catch(_0x582223){return BPromise[_0x6b85('0x1f')](_0x582223);}return _0x442bb0[_0x6b85('0x20')]();};}function saveUpdates(_0x326468,_0x245851){return function(_0x462a50){if(_0x462a50){return _0x462a50[_0x6b85('0x21')](_0x326468)[_0x6b85('0x22')](function(_0x393551){return _0x393551;});}return null;};}function removeEntity(_0x454892,_0x2fcd2f){return function(_0x5e573f){if(_0x5e573f){return _0x5e573f[_0x6b85('0x23')]()[_0x6b85('0x22')](function(){_0x454892[_0x6b85('0x17')](0xcc)[_0x6b85('0x18')]();});}};}function handleEntityNotFound(_0x1a189c,_0x46065d){return function(_0x3de637){if(!_0x3de637){_0x1a189c[_0x6b85('0x16')](0x194);}return _0x3de637;};}function handleError(_0x3285ce,_0x1c3ab7){_0x1c3ab7=_0x1c3ab7||0x1f4;return function(_0x36529d){logger[_0x6b85('0x24')](_0x36529d[_0x6b85('0x25')]);if(_0x36529d['name']){delete _0x36529d[_0x6b85('0x26')];}_0x3285ce['status'](_0x1c3ab7)['send'](_0x36529d);};}exports['index']=function(_0x59e342,_0x3516c7){var _0xb438e6={},_0x3d2422={},_0x48bba1={'count':0x0,'rows':[]};var _0x4e806f=_[_0x6b85('0x27')](db[_0x6b85('0x28')][_0x6b85('0x29')],function(_0x36ba9a){return{'name':_0x36ba9a[_0x6b85('0x2a')],'type':_0x36ba9a[_0x6b85('0x2b')][_0x6b85('0x2c')]};});_0x3d2422[_0x6b85('0x2d')]=_[_0x6b85('0x27')](_0x4e806f,_0x6b85('0x26'));_0x3d2422[_0x6b85('0x2e')]=_[_0x6b85('0x2f')](_0x59e342['query']);_0x3d2422[_0x6b85('0x30')]=_[_0x6b85('0x31')](_0x3d2422['model'],_0x3d2422[_0x6b85('0x2e')]);_0xb438e6[_0x6b85('0x32')]=_[_0x6b85('0x31')](_0x3d2422[_0x6b85('0x2d')],qs['fields'](_0x59e342['query'][_0x6b85('0x33')]));_0xb438e6[_0x6b85('0x32')]=_0xb438e6[_0x6b85('0x32')][_0x6b85('0x34')]?_0xb438e6['attributes']:_0x3d2422[_0x6b85('0x2d')];if(!_0x59e342[_0x6b85('0x2e')][_0x6b85('0x35')](_0x6b85('0x36'))){_0xb438e6['limit']=qs[_0x6b85('0x1b')](_0x59e342[_0x6b85('0x2e')][_0x6b85('0x1b')]);_0xb438e6[_0x6b85('0x19')]=qs[_0x6b85('0x19')](_0x59e342[_0x6b85('0x2e')][_0x6b85('0x19')]);}_0xb438e6['order']=qs[_0x6b85('0x37')](_0x59e342['query']['sort']);_0xb438e6[_0x6b85('0x38')]=qs['filters'](_['pick'](_0x59e342[_0x6b85('0x2e')],_0x3d2422['filters']),_0x4e806f);if(_0x59e342['query'][_0x6b85('0x39')]){_0xb438e6[_0x6b85('0x38')]=_[_0x6b85('0x3a')](_0xb438e6[_0x6b85('0x38')],{'$or':_[_0x6b85('0x27')](_0x4e806f,function(_0x198125){if(_0x198125['type']!==_0x6b85('0x3b')){var _0x4fbc4e={};_0x4fbc4e[_0x198125['name']]={'$like':'%'+_0x59e342[_0x6b85('0x2e')][_0x6b85('0x39')]+'%'};return _0x4fbc4e;}})});}_0xb438e6=_['merge']({},_0xb438e6,_0x59e342[_0x6b85('0x3c')]);var _0x470225={'where':_0xb438e6['where']};return db[_0x6b85('0x28')][_0x6b85('0x1c')](_0x470225)[_0x6b85('0x22')](function(_0x4950c9){_0x48bba1[_0x6b85('0x1c')]=_0x4950c9;if(_0x59e342[_0x6b85('0x2e')]['includeAll']){_0xb438e6[_0x6b85('0x3d')]=[{'all':!![]}];}return db[_0x6b85('0x28')][_0x6b85('0x3e')](_0xb438e6);})[_0x6b85('0x22')](function(_0x3ad993){_0x48bba1['rows']=_0x3ad993;return _0x48bba1;})[_0x6b85('0x22')](respondWithFilteredResult(_0x3516c7,_0xb438e6))[_0x6b85('0x3f')](handleError(_0x3516c7,null));};exports['show']=function(_0xe6897f,_0x20a410){var _0x3ea4b1={'raw':!![],'where':{'id':_0xe6897f[_0x6b85('0x40')]['id']}},_0x1bdb6e={};_0x1bdb6e[_0x6b85('0x2d')]=_[_0x6b85('0x2f')](db['Dynamics365Field'][_0x6b85('0x29')]);_0x1bdb6e[_0x6b85('0x2e')]=_[_0x6b85('0x2f')](_0xe6897f[_0x6b85('0x2e')]);_0x1bdb6e['filters']=_[_0x6b85('0x31')](_0x1bdb6e[_0x6b85('0x2d')],_0x1bdb6e[_0x6b85('0x2e')]);_0x3ea4b1['attributes']=_[_0x6b85('0x31')](_0x1bdb6e[_0x6b85('0x2d')],qs[_0x6b85('0x33')](_0xe6897f['query'][_0x6b85('0x33')]));_0x3ea4b1[_0x6b85('0x32')]=_0x3ea4b1[_0x6b85('0x32')][_0x6b85('0x34')]?_0x3ea4b1[_0x6b85('0x32')]:_0x1bdb6e[_0x6b85('0x2d')];if(_0xe6897f[_0x6b85('0x2e')][_0x6b85('0x41')]){_0x3ea4b1[_0x6b85('0x3d')]=[{'all':!![]}];}_0x3ea4b1=_[_0x6b85('0x3a')]({},_0x3ea4b1,_0xe6897f[_0x6b85('0x3c')]);return db[_0x6b85('0x28')][_0x6b85('0x42')](_0x3ea4b1)[_0x6b85('0x22')](handleEntityNotFound(_0x20a410,null))['then'](respondWithResult(_0x20a410,null))[_0x6b85('0x3f')](handleError(_0x20a410,null));};exports[_0x6b85('0x43')]=function(_0x5174be,_0x3faa17){return db[_0x6b85('0x28')]['create'](_0x5174be[_0x6b85('0x44')],{})[_0x6b85('0x22')](respondWithResult(_0x3faa17,0xc9))[_0x6b85('0x3f')](handleError(_0x3faa17,null));};exports['update']=function(_0xbcdaec,_0x5ba832){if(_0xbcdaec[_0x6b85('0x44')]['id']){delete _0xbcdaec[_0x6b85('0x44')]['id'];}return db[_0x6b85('0x28')][_0x6b85('0x42')]({'where':{'id':_0xbcdaec['params']['id']}})[_0x6b85('0x22')](handleEntityNotFound(_0x5ba832,null))[_0x6b85('0x22')](saveUpdates(_0xbcdaec['body'],null))[_0x6b85('0x22')](respondWithResult(_0x5ba832,null))[_0x6b85('0x3f')](handleError(_0x5ba832,null));};exports[_0x6b85('0x23')]=function(_0x4dac34,_0x4818ac){return db[_0x6b85('0x28')][_0x6b85('0x42')]({'where':{'id':_0x4dac34[_0x6b85('0x40')]['id']}})['then'](handleEntityNotFound(_0x4818ac,null))['then'](removeEntity(_0x4818ac,null))[_0x6b85('0x3f')](handleError(_0x4818ac,null));};
\ No newline at end of file