Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / api / intDeskField / intDeskField.controller.js
index 1b48abe..9cf48a1 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xbe02=['destroy','then','error','stack','name','index','map','DeskField','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update'];(function(_0x282645,_0x569164){var _0x42a15d=function(_0x3c5d54){while(--_0x3c5d54){_0x282645['push'](_0x282645['shift']());}};_0x42a15d(++_0x569164);}(_0xbe02,0x146));var _0x2be0=function(_0x54d8c3,_0x5161c9){_0x54d8c3=_0x54d8c3-0x0;var _0x42f8c8=_0xbe02[_0x54d8c3];return _0x42f8c8;};'use strict';var pdf=require(_0x2be0('0x0'));var emlformat=require(_0x2be0('0x1'));var rimraf=require(_0x2be0('0x2'));var zipdir=require(_0x2be0('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2be0('0x4'));var moment=require(_0x2be0('0x5'));var BPromise=require(_0x2be0('0x6'));var Mustache=require(_0x2be0('0x7'));var util=require(_0x2be0('0x8'));var path=require(_0x2be0('0x9'));var sox=require(_0x2be0('0xa'));var csv=require(_0x2be0('0xb'));var ejs=require(_0x2be0('0xc'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x2be0('0xd'));var jsforce=require(_0x2be0('0xe'));var deskjs=require(_0x2be0('0xf'));var toCsv=require(_0x2be0('0xb'));var querystring=require(_0x2be0('0x10'));var Papa=require(_0x2be0('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x2be0('0x12'));var utils=require(_0x2be0('0x13'));var config=require('../../config/environment');var db=require(_0x2be0('0x14'))['db'];function respondWithStatusCode(_0x19c73a,_0x204a1f){_0x204a1f=_0x204a1f||0xcc;return function(_0x258b54){if(_0x258b54){return _0x19c73a[_0x2be0('0x15')](_0x204a1f);}return _0x19c73a[_0x2be0('0x16')](_0x204a1f)[_0x2be0('0x17')]();};}function respondWithResult(_0x3b47ab,_0x135d01){_0x135d01=_0x135d01||0xc8;return function(_0x271f25){if(_0x271f25){return _0x3b47ab['status'](_0x135d01)[_0x2be0('0x18')](_0x271f25);}};}function respondWithFilteredResult(_0x422a66,_0x5cda7b){return function(_0x8bdce0){if(_0x8bdce0){var _0x1e0c27=_0x8bdce0[_0x2be0('0x19')],_0x5bcbc5=_0x5cda7b[_0x2be0('0x1a')],_0x334070=_0x5cda7b[_0x2be0('0x1a')]+_0x5cda7b[_0x2be0('0x1b')],_0x30d623;if(_0x334070>=_0x1e0c27){_0x334070=_0x1e0c27;_0x30d623=0xc8;}else{_0x30d623=0xce;}_0x422a66[_0x2be0('0x16')](_0x30d623);return _0x422a66[_0x2be0('0x1c')](_0x2be0('0x1d'),_0x5bcbc5+'-'+_0x334070+'/'+_0x1e0c27)[_0x2be0('0x18')](_0x8bdce0);}return null;};}function patchUpdates(_0x1aaeec){return function(_0x1d4b00){try{jsonpatch[_0x2be0('0x1e')](_0x1d4b00,_0x1aaeec,!![]);}catch(_0x34f588){return BPromise[_0x2be0('0x1f')](_0x34f588);}return _0x1d4b00[_0x2be0('0x20')]();};}function saveUpdates(_0x3bf2ba,_0x4c8afc){return function(_0x51ddee){if(_0x51ddee){return _0x51ddee[_0x2be0('0x21')](_0x3bf2ba)['then'](function(_0x5d1a32){return _0x5d1a32;});}return null;};}function removeEntity(_0x40cc4d,_0x4d2c62){return function(_0x2da0d5){if(_0x2da0d5){return _0x2da0d5[_0x2be0('0x22')]()[_0x2be0('0x23')](function(){_0x40cc4d[_0x2be0('0x16')](0xcc)[_0x2be0('0x17')]();});}};}function handleEntityNotFound(_0x72018a,_0x494fb4){return function(_0x2f44f7){if(!_0x2f44f7){_0x72018a['sendStatus'](0x194);}return _0x2f44f7;};}function handleError(_0x5e7fd2,_0x2fd80f){_0x2fd80f=_0x2fd80f||0x1f4;return function(_0x1602b7){logger[_0x2be0('0x24')](_0x1602b7[_0x2be0('0x25')]);if(_0x1602b7[_0x2be0('0x26')]){delete _0x1602b7[_0x2be0('0x26')];}_0x5e7fd2[_0x2be0('0x16')](_0x2fd80f)['send'](_0x1602b7);};}exports[_0x2be0('0x27')]=function(_0x2a605b,_0x559a66){var _0x5260d3={},_0x1fd3eb={},_0x20f866={'count':0x0,'rows':[]};var _0x4bdf61=_[_0x2be0('0x28')](db[_0x2be0('0x29')][_0x2be0('0x2a')],function(_0x439888){return{'name':_0x439888[_0x2be0('0x2b')],'type':_0x439888[_0x2be0('0x2c')][_0x2be0('0x2d')]};});_0x1fd3eb['model']=_[_0x2be0('0x28')](_0x4bdf61,'name');_0x1fd3eb[_0x2be0('0x2e')]=_[_0x2be0('0x2f')](_0x2a605b[_0x2be0('0x2e')]);_0x1fd3eb[_0x2be0('0x30')]=_[_0x2be0('0x31')](_0x1fd3eb[_0x2be0('0x32')],_0x1fd3eb[_0x2be0('0x2e')]);_0x5260d3['attributes']=_[_0x2be0('0x31')](_0x1fd3eb[_0x2be0('0x32')],qs[_0x2be0('0x33')](_0x2a605b[_0x2be0('0x2e')][_0x2be0('0x33')]));_0x5260d3['attributes']=_0x5260d3[_0x2be0('0x34')][_0x2be0('0x35')]?_0x5260d3[_0x2be0('0x34')]:_0x1fd3eb[_0x2be0('0x32')];if(!_0x2a605b[_0x2be0('0x2e')]['hasOwnProperty']('nolimit')){_0x5260d3[_0x2be0('0x1b')]=qs[_0x2be0('0x1b')](_0x2a605b[_0x2be0('0x2e')]['limit']);_0x5260d3['offset']=qs['offset'](_0x2a605b[_0x2be0('0x2e')][_0x2be0('0x1a')]);}_0x5260d3[_0x2be0('0x36')]=qs[_0x2be0('0x37')](_0x2a605b[_0x2be0('0x2e')][_0x2be0('0x37')]);_0x5260d3[_0x2be0('0x38')]=qs[_0x2be0('0x30')](_[_0x2be0('0x39')](_0x2a605b[_0x2be0('0x2e')],_0x1fd3eb[_0x2be0('0x30')]));if(_0x2a605b['query'][_0x2be0('0x3a')]){_0x5260d3[_0x2be0('0x38')]=_[_0x2be0('0x3b')](_0x5260d3[_0x2be0('0x38')],{'$or':_[_0x2be0('0x28')](_0x4bdf61,function(_0x565623){if(_0x565623[_0x2be0('0x2c')]!==_0x2be0('0x3c')){var _0x2b646c={};_0x2b646c[_0x565623['name']]={'$like':'%'+_0x2a605b[_0x2be0('0x2e')]['filter']+'%'};return _0x2b646c;}})});}_0x5260d3=_[_0x2be0('0x3b')]({},_0x5260d3,_0x2a605b['options']);var _0x4ea299={'where':_0x5260d3[_0x2be0('0x38')]};return db['DeskField'][_0x2be0('0x19')](_0x4ea299)['then'](function(_0x3017c4){_0x20f866['count']=_0x3017c4;if(_0x2a605b[_0x2be0('0x2e')][_0x2be0('0x3d')]){_0x5260d3[_0x2be0('0x3e')]=[{'all':!![]}];}return db['DeskField'][_0x2be0('0x3f')](_0x5260d3);})['then'](function(_0x103608){_0x20f866[_0x2be0('0x40')]=_0x103608;return _0x20f866;})[_0x2be0('0x23')](respondWithFilteredResult(_0x559a66,_0x5260d3))[_0x2be0('0x41')](handleError(_0x559a66,null));};exports[_0x2be0('0x42')]=function(_0x36ed89,_0x2cf412){var _0x9b6867={'raw':!![],'where':{'id':_0x36ed89[_0x2be0('0x43')]['id']}},_0x2f27de={};_0x2f27de[_0x2be0('0x32')]=_[_0x2be0('0x2f')](db[_0x2be0('0x29')][_0x2be0('0x2a')]);_0x2f27de[_0x2be0('0x2e')]=_['keys'](_0x36ed89[_0x2be0('0x2e')]);_0x2f27de['filters']=_[_0x2be0('0x31')](_0x2f27de[_0x2be0('0x32')],_0x2f27de[_0x2be0('0x2e')]);_0x9b6867[_0x2be0('0x34')]=_[_0x2be0('0x31')](_0x2f27de[_0x2be0('0x32')],qs[_0x2be0('0x33')](_0x36ed89['query'][_0x2be0('0x33')]));_0x9b6867[_0x2be0('0x34')]=_0x9b6867[_0x2be0('0x34')][_0x2be0('0x35')]?_0x9b6867[_0x2be0('0x34')]:_0x2f27de['model'];if(_0x36ed89[_0x2be0('0x2e')]['includeAll']){_0x9b6867[_0x2be0('0x3e')]=[{'all':!![]}];}_0x9b6867=_[_0x2be0('0x3b')]({},_0x9b6867,_0x36ed89[_0x2be0('0x44')]);return db[_0x2be0('0x29')][_0x2be0('0x45')](_0x9b6867)[_0x2be0('0x23')](handleEntityNotFound(_0x2cf412,null))['then'](respondWithResult(_0x2cf412,null))[_0x2be0('0x41')](handleError(_0x2cf412,null));};exports['create']=function(_0x237995,_0x41237c){return db['DeskField'][_0x2be0('0x46')](_0x237995[_0x2be0('0x47')],{})[_0x2be0('0x23')](respondWithResult(_0x41237c,0xc9))[_0x2be0('0x41')](handleError(_0x41237c,null));};exports[_0x2be0('0x21')]=function(_0x59bb83,_0x52211f){if(_0x59bb83[_0x2be0('0x47')]['id']){delete _0x59bb83[_0x2be0('0x47')]['id'];}return db['DeskField']['find']({'where':{'id':_0x59bb83[_0x2be0('0x43')]['id']}})[_0x2be0('0x23')](handleEntityNotFound(_0x52211f,null))[_0x2be0('0x23')](saveUpdates(_0x59bb83[_0x2be0('0x47')],null))['then'](respondWithResult(_0x52211f,null))[_0x2be0('0x41')](handleError(_0x52211f,null));};exports[_0x2be0('0x22')]=function(_0x7c024c,_0x3e7e87){return db[_0x2be0('0x29')][_0x2be0('0x45')]({'where':{'id':_0x7c024c[_0x2be0('0x43')]['id']}})['then'](handleEntityNotFound(_0x3e7e87,null))[_0x2be0('0x23')](removeEntity(_0x3e7e87,null))[_0x2be0('0x41')](handleError(_0x3e7e87,null));};
\ No newline at end of file
+var _0x2a6f=['VIRTUAL','merge','options','include','catch','show','includeAll','find','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','limit','set','save','then','destroy','error','stack','name','send','index','map','DeskField','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter'];(function(_0x3c685a,_0x2ef8c8){var _0x54567e=function(_0x12ffba){while(--_0x12ffba){_0x3c685a['push'](_0x3c685a['shift']());}};_0x54567e(++_0x2ef8c8);}(_0x2a6f,0x9f));var _0xf2a6=function(_0x9e5bcd,_0x41fadf){_0x9e5bcd=_0x9e5bcd-0x0;var _0x34297e=_0x2a6f[_0x9e5bcd];return _0x34297e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xf2a6('0x0'));var rimraf=require(_0xf2a6('0x1'));var zipdir=require(_0xf2a6('0x2'));var jsonpatch=require(_0xf2a6('0x3'));var rp=require(_0xf2a6('0x4'));var moment=require(_0xf2a6('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xf2a6('0x6'));var util=require(_0xf2a6('0x7'));var path=require(_0xf2a6('0x8'));var sox=require(_0xf2a6('0x9'));var csv=require(_0xf2a6('0xa'));var ejs=require(_0xf2a6('0xb'));var fs=require('fs');var _=require(_0xf2a6('0xc'));var squel=require(_0xf2a6('0xd'));var crypto=require(_0xf2a6('0xe'));var jsforce=require(_0xf2a6('0xf'));var deskjs=require(_0xf2a6('0x10'));var toCsv=require(_0xf2a6('0xa'));var querystring=require(_0xf2a6('0x11'));var Papa=require('papaparse');var Redis=require(_0xf2a6('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xf2a6('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf2a6('0x14'));var logger=require(_0xf2a6('0x15'))(_0xf2a6('0x16'));var utils=require(_0xf2a6('0x17'));var config=require(_0xf2a6('0x18'));var licenseUtil=require(_0xf2a6('0x19'));var db=require(_0xf2a6('0x1a'))['db'];function respondWithStatusCode(_0x3e5969,_0x4d2f25){_0x4d2f25=_0x4d2f25||0xcc;return function(_0x180a99){if(_0x180a99){return _0x3e5969[_0xf2a6('0x1b')](_0x4d2f25);}return _0x3e5969[_0xf2a6('0x1c')](_0x4d2f25)[_0xf2a6('0x1d')]();};}function respondWithResult(_0x348519,_0x2104a9){_0x2104a9=_0x2104a9||0xc8;return function(_0x3997c7){if(_0x3997c7){return _0x348519[_0xf2a6('0x1c')](_0x2104a9)['json'](_0x3997c7);}};}function respondWithFilteredResult(_0xad17,_0x5b94c0){return function(_0x47158f){if(_0x47158f){var _0x2736de=_0x47158f[_0xf2a6('0x1e')],_0x159b34=_0x5b94c0['offset'],_0x3c0e03=_0x5b94c0['offset']+_0x5b94c0[_0xf2a6('0x1f')],_0x30a602;if(_0x3c0e03>=_0x2736de){_0x3c0e03=_0x2736de;_0x30a602=0xc8;}else{_0x30a602=0xce;}_0xad17[_0xf2a6('0x1c')](_0x30a602);return _0xad17[_0xf2a6('0x20')]('Content-Range',_0x159b34+'-'+_0x3c0e03+'/'+_0x2736de)['json'](_0x47158f);}return null;};}function patchUpdates(_0x69bafe){return function(_0x6b073d){try{jsonpatch['apply'](_0x6b073d,_0x69bafe,!![]);}catch(_0x33e862){return BPromise['reject'](_0x33e862);}return _0x6b073d[_0xf2a6('0x21')]();};}function saveUpdates(_0x1e4034,_0x2ddd4f){return function(_0x30f912){if(_0x30f912){return _0x30f912['update'](_0x1e4034)[_0xf2a6('0x22')](function(_0x3e2322){return _0x3e2322;});}return null;};}function removeEntity(_0x4a708b,_0x157472){return function(_0x42dea0){if(_0x42dea0){return _0x42dea0[_0xf2a6('0x23')]()[_0xf2a6('0x22')](function(){_0x4a708b[_0xf2a6('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x876631,_0x14317c){return function(_0x37dc7b){if(!_0x37dc7b){_0x876631[_0xf2a6('0x1b')](0x194);}return _0x37dc7b;};}function handleError(_0x114e44,_0x1aa25e){_0x1aa25e=_0x1aa25e||0x1f4;return function(_0x150074){logger[_0xf2a6('0x24')](_0x150074[_0xf2a6('0x25')]);if(_0x150074['name']){delete _0x150074[_0xf2a6('0x26')];}_0x114e44['status'](_0x1aa25e)[_0xf2a6('0x27')](_0x150074);};}exports[_0xf2a6('0x28')]=function(_0x27b090,_0x2cf503){var _0x144e63={},_0x5e0dc5={},_0x4b5041={'count':0x0,'rows':[]};var _0x51dedc=_[_0xf2a6('0x29')](db[_0xf2a6('0x2a')][_0xf2a6('0x2b')],function(_0x1a51c0){return{'name':_0x1a51c0[_0xf2a6('0x2c')],'type':_0x1a51c0[_0xf2a6('0x2d')][_0xf2a6('0x2e')]};});_0x5e0dc5[_0xf2a6('0x2f')]=_['map'](_0x51dedc,_0xf2a6('0x26'));_0x5e0dc5['query']=_[_0xf2a6('0x30')](_0x27b090[_0xf2a6('0x31')]);_0x5e0dc5[_0xf2a6('0x32')]=_[_0xf2a6('0x33')](_0x5e0dc5[_0xf2a6('0x2f')],_0x5e0dc5[_0xf2a6('0x31')]);_0x144e63[_0xf2a6('0x34')]=_[_0xf2a6('0x33')](_0x5e0dc5['model'],qs['fields'](_0x27b090[_0xf2a6('0x31')][_0xf2a6('0x35')]));_0x144e63[_0xf2a6('0x34')]=_0x144e63['attributes'][_0xf2a6('0x36')]?_0x144e63[_0xf2a6('0x34')]:_0x5e0dc5['model'];if(!_0x27b090[_0xf2a6('0x31')][_0xf2a6('0x37')](_0xf2a6('0x38'))){_0x144e63[_0xf2a6('0x1f')]=qs[_0xf2a6('0x1f')](_0x27b090[_0xf2a6('0x31')][_0xf2a6('0x1f')]);_0x144e63[_0xf2a6('0x39')]=qs[_0xf2a6('0x39')](_0x27b090[_0xf2a6('0x31')][_0xf2a6('0x39')]);}_0x144e63[_0xf2a6('0x3a')]=qs[_0xf2a6('0x3b')](_0x27b090[_0xf2a6('0x31')][_0xf2a6('0x3b')]);_0x144e63[_0xf2a6('0x3c')]=qs[_0xf2a6('0x32')](_[_0xf2a6('0x3d')](_0x27b090[_0xf2a6('0x31')],_0x5e0dc5['filters']),_0x51dedc);if(_0x27b090[_0xf2a6('0x31')][_0xf2a6('0x3e')]){_0x144e63['where']=_['merge'](_0x144e63[_0xf2a6('0x3c')],{'$or':_[_0xf2a6('0x29')](_0x51dedc,function(_0xc6a247){if(_0xc6a247[_0xf2a6('0x2d')]!==_0xf2a6('0x3f')){var _0x2545c7={};_0x2545c7[_0xc6a247[_0xf2a6('0x26')]]={'$like':'%'+_0x27b090[_0xf2a6('0x31')][_0xf2a6('0x3e')]+'%'};return _0x2545c7;}})});}_0x144e63=_[_0xf2a6('0x40')]({},_0x144e63,_0x27b090[_0xf2a6('0x41')]);var _0x1d2742={'where':_0x144e63[_0xf2a6('0x3c')]};return db[_0xf2a6('0x2a')][_0xf2a6('0x1e')](_0x1d2742)['then'](function(_0x3f9e14){_0x4b5041[_0xf2a6('0x1e')]=_0x3f9e14;if(_0x27b090['query']['includeAll']){_0x144e63[_0xf2a6('0x42')]=[{'all':!![]}];}return db[_0xf2a6('0x2a')]['findAll'](_0x144e63);})[_0xf2a6('0x22')](function(_0x496dbc){_0x4b5041['rows']=_0x496dbc;return _0x4b5041;})[_0xf2a6('0x22')](respondWithFilteredResult(_0x2cf503,_0x144e63))[_0xf2a6('0x43')](handleError(_0x2cf503,null));};exports[_0xf2a6('0x44')]=function(_0x511885,_0x33287e){var _0x2512e3={'raw':!![],'where':{'id':_0x511885['params']['id']}},_0x44d1b7={};_0x44d1b7[_0xf2a6('0x2f')]=_[_0xf2a6('0x30')](db[_0xf2a6('0x2a')][_0xf2a6('0x2b')]);_0x44d1b7['query']=_['keys'](_0x511885['query']);_0x44d1b7[_0xf2a6('0x32')]=_[_0xf2a6('0x33')](_0x44d1b7[_0xf2a6('0x2f')],_0x44d1b7[_0xf2a6('0x31')]);_0x2512e3[_0xf2a6('0x34')]=_[_0xf2a6('0x33')](_0x44d1b7[_0xf2a6('0x2f')],qs['fields'](_0x511885[_0xf2a6('0x31')][_0xf2a6('0x35')]));_0x2512e3[_0xf2a6('0x34')]=_0x2512e3[_0xf2a6('0x34')][_0xf2a6('0x36')]?_0x2512e3[_0xf2a6('0x34')]:_0x44d1b7[_0xf2a6('0x2f')];if(_0x511885[_0xf2a6('0x31')][_0xf2a6('0x45')]){_0x2512e3[_0xf2a6('0x42')]=[{'all':!![]}];}_0x2512e3=_[_0xf2a6('0x40')]({},_0x2512e3,_0x511885[_0xf2a6('0x41')]);return db['DeskField'][_0xf2a6('0x46')](_0x2512e3)[_0xf2a6('0x22')](handleEntityNotFound(_0x33287e,null))[_0xf2a6('0x22')](respondWithResult(_0x33287e,null))[_0xf2a6('0x43')](handleError(_0x33287e,null));};exports[_0xf2a6('0x47')]=function(_0x2c74cf,_0x42ccc4){return db['DeskField']['create'](_0x2c74cf[_0xf2a6('0x48')],{})[_0xf2a6('0x22')](respondWithResult(_0x42ccc4,0xc9))['catch'](handleError(_0x42ccc4,null));};exports['update']=function(_0x58845a,_0x3f7f3a){if(_0x58845a[_0xf2a6('0x48')]['id']){delete _0x58845a['body']['id'];}return db[_0xf2a6('0x2a')][_0xf2a6('0x46')]({'where':{'id':_0x58845a[_0xf2a6('0x49')]['id']}})[_0xf2a6('0x22')](handleEntityNotFound(_0x3f7f3a,null))['then'](saveUpdates(_0x58845a['body'],null))[_0xf2a6('0x22')](respondWithResult(_0x3f7f3a,null))[_0xf2a6('0x43')](handleError(_0x3f7f3a,null));};exports[_0xf2a6('0x23')]=function(_0xa8e3d1,_0x540151){return db[_0xf2a6('0x2a')][_0xf2a6('0x46')]({'where':{'id':_0xa8e3d1['params']['id']}})[_0xf2a6('0x22')](handleEntityNotFound(_0x540151,null))[_0xf2a6('0x22')](removeEntity(_0x540151,null))['catch'](handleError(_0x540151,null));};
\ No newline at end of file