Built motion from commit (unavailable).|2.5.21
[motion2.git] / server / api / voiceQueuesLog / voiceQueuesLog.controller.js
index 4025433..27e9e8f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb5fd=['send','index','map','VoiceQueuesLog','rawAttributes','fieldName','type','key','model','keys','query','attributes','intersection','fields','length','order','sort','filters','pick','filter','where','VIRTUAL','merge','options','includeAll','include','rows','catch','show','create','update','body','find','params','html-pdf','eml-format','rimraf','request-promise','bluebird','util','path','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name'];(function(_0x1facfa,_0x1acf7d){var _0x9ec701=function(_0x115e37){while(--_0x115e37){_0x1facfa['push'](_0x1facfa['shift']());}};_0x9ec701(++_0x1acf7d);}(_0xb5fd,0xfa));var _0xdb5f=function(_0x4e4a48,_0x22cf1f){_0x4e4a48=_0x4e4a48-0x0;var _0x5b070e=_0xb5fd[_0x4e4a48];return _0x5b070e;};'use strict';var pdf=require(_0xdb5f('0x0'));var emlformat=require(_0xdb5f('0x1'));var rimraf=require(_0xdb5f('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xdb5f('0x3'));var moment=require('moment');var BPromise=require(_0xdb5f('0x4'));var Mustache=require('mustache');var util=require(_0xdb5f('0x5'));var path=require(_0xdb5f('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xdb5f('0x7'));var squel=require(_0xdb5f('0x8'));var crypto=require('crypto');var jsforce=require(_0xdb5f('0x9'));var deskjs=require(_0xdb5f('0xa'));var toCsv=require(_0xdb5f('0xb'));var querystring=require(_0xdb5f('0xc'));var Papa=require(_0xdb5f('0xd'));var Redis=require(_0xdb5f('0xe'));var authService=require(_0xdb5f('0xf'));var qs=require(_0xdb5f('0x10'));var as=require(_0xdb5f('0x11'));var hardwareService=require(_0xdb5f('0x12'));var logger=require(_0xdb5f('0x13'))('api');var utils=require(_0xdb5f('0x14'));var config=require(_0xdb5f('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1e4f67,_0x309083){_0x309083=_0x309083||0xcc;return function(_0x25791b){if(_0x25791b){return _0x1e4f67['sendStatus'](_0x309083);}return _0x1e4f67[_0xdb5f('0x16')](_0x309083)[_0xdb5f('0x17')]();};}function respondWithResult(_0x9752e4,_0x10b89e){_0x10b89e=_0x10b89e||0xc8;return function(_0xffbf5b){if(_0xffbf5b){return _0x9752e4['status'](_0x10b89e)[_0xdb5f('0x18')](_0xffbf5b);}};}function respondWithFilteredResult(_0x3be207,_0x32c7da){return function(_0x368c41){if(_0x368c41){var _0x1e0285=_0x368c41[_0xdb5f('0x19')],_0x15f943=_0x32c7da[_0xdb5f('0x1a')],_0x258693=_0x32c7da[_0xdb5f('0x1a')]+_0x32c7da[_0xdb5f('0x1b')],_0x2486ea;if(_0x258693>=_0x1e0285){_0x258693=_0x1e0285;_0x2486ea=0xc8;}else{_0x2486ea=0xce;}_0x3be207['status'](_0x2486ea);return _0x3be207[_0xdb5f('0x1c')](_0xdb5f('0x1d'),_0x15f943+'-'+_0x258693+'/'+_0x1e0285)[_0xdb5f('0x18')](_0x368c41);}return null;};}function patchUpdates(_0xc7ebd1){return function(_0x40de84){try{jsonpatch[_0xdb5f('0x1e')](_0x40de84,_0xc7ebd1,!![]);}catch(_0x1fdb5e){return BPromise[_0xdb5f('0x1f')](_0x1fdb5e);}return _0x40de84[_0xdb5f('0x20')]();};}function saveUpdates(_0x481d96,_0x3eb171){return function(_0x5523a8){if(_0x5523a8){return _0x5523a8['update'](_0x481d96)[_0xdb5f('0x21')](function(_0x339c6c){return _0x339c6c;});}return null;};}function removeEntity(_0x317507,_0x4c27cc){return function(_0x2f01ec){if(_0x2f01ec){return _0x2f01ec[_0xdb5f('0x22')]()[_0xdb5f('0x21')](function(){_0x317507[_0xdb5f('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1a442b,_0x121740){return function(_0x292d45){if(!_0x292d45){_0x1a442b['sendStatus'](0x194);}return _0x292d45;};}function handleError(_0x4e3ec6,_0x97cd24){_0x97cd24=_0x97cd24||0x1f4;return function(_0x526c4b){logger[_0xdb5f('0x23')](_0x526c4b[_0xdb5f('0x24')]);if(_0x526c4b[_0xdb5f('0x25')]){delete _0x526c4b[_0xdb5f('0x25')];}_0x4e3ec6['status'](_0x97cd24)[_0xdb5f('0x26')](_0x526c4b);};}exports[_0xdb5f('0x27')]=function(_0x1b8a47,_0x1b92fa){var _0x5acc61={},_0x432002={},_0x5becd8={'count':0x0,'rows':[]};var _0x33d8c1=_[_0xdb5f('0x28')](db[_0xdb5f('0x29')][_0xdb5f('0x2a')],function(_0x574ffd){return{'name':_0x574ffd[_0xdb5f('0x2b')],'type':_0x574ffd[_0xdb5f('0x2c')][_0xdb5f('0x2d')]};});_0x432002[_0xdb5f('0x2e')]=_[_0xdb5f('0x28')](_0x33d8c1,'name');_0x432002['query']=_[_0xdb5f('0x2f')](_0x1b8a47[_0xdb5f('0x30')]);_0x432002['filters']=_['intersection'](_0x432002['model'],_0x432002[_0xdb5f('0x30')]);_0x5acc61[_0xdb5f('0x31')]=_[_0xdb5f('0x32')](_0x432002[_0xdb5f('0x2e')],qs[_0xdb5f('0x33')](_0x1b8a47[_0xdb5f('0x30')][_0xdb5f('0x33')]));_0x5acc61[_0xdb5f('0x31')]=_0x5acc61['attributes'][_0xdb5f('0x34')]?_0x5acc61['attributes']:_0x432002['model'];if(!_0x1b8a47['query']['hasOwnProperty']('nolimit')){_0x5acc61[_0xdb5f('0x1b')]=qs[_0xdb5f('0x1b')](_0x1b8a47['query'][_0xdb5f('0x1b')]);_0x5acc61[_0xdb5f('0x1a')]=qs[_0xdb5f('0x1a')](_0x1b8a47[_0xdb5f('0x30')][_0xdb5f('0x1a')]);}_0x5acc61[_0xdb5f('0x35')]=qs[_0xdb5f('0x36')](_0x1b8a47['query'][_0xdb5f('0x36')]);_0x5acc61['where']=qs[_0xdb5f('0x37')](_[_0xdb5f('0x38')](_0x1b8a47[_0xdb5f('0x30')],_0x432002['filters']));if(_0x1b8a47[_0xdb5f('0x30')][_0xdb5f('0x39')]){_0x5acc61[_0xdb5f('0x3a')]=_['merge'](_0x5acc61[_0xdb5f('0x3a')],{'$or':_[_0xdb5f('0x28')](_0x33d8c1,function(_0x4ae3e5){if(_0x4ae3e5[_0xdb5f('0x2c')]!==_0xdb5f('0x3b')){var _0x4a6bde={};_0x4a6bde[_0x4ae3e5[_0xdb5f('0x25')]]={'$like':'%'+_0x1b8a47[_0xdb5f('0x30')][_0xdb5f('0x39')]+'%'};return _0x4a6bde;}})});}_0x5acc61=_[_0xdb5f('0x3c')]({},_0x5acc61,_0x1b8a47[_0xdb5f('0x3d')]);var _0x126332={'where':_0x5acc61[_0xdb5f('0x3a')]};return db[_0xdb5f('0x29')][_0xdb5f('0x19')](_0x126332)[_0xdb5f('0x21')](function(_0x3f0279){_0x5becd8[_0xdb5f('0x19')]=_0x3f0279;if(_0x1b8a47['query'][_0xdb5f('0x3e')]){_0x5acc61[_0xdb5f('0x3f')]=[{'all':!![]}];}return db[_0xdb5f('0x29')]['findAll'](_0x5acc61);})[_0xdb5f('0x21')](function(_0x331d6a){_0x5becd8[_0xdb5f('0x40')]=_0x331d6a;return _0x5becd8;})[_0xdb5f('0x21')](respondWithFilteredResult(_0x1b92fa,_0x5acc61))[_0xdb5f('0x41')](handleError(_0x1b92fa,null));};exports[_0xdb5f('0x42')]=function(_0x4b6b4b,_0x301a5f){var _0x409001={'raw':!![],'where':{'id':_0x4b6b4b['params']['id']}},_0x4f4a3f={};_0x4f4a3f[_0xdb5f('0x2e')]=_[_0xdb5f('0x2f')](db[_0xdb5f('0x29')][_0xdb5f('0x2a')]);_0x4f4a3f['query']=_[_0xdb5f('0x2f')](_0x4b6b4b[_0xdb5f('0x30')]);_0x4f4a3f['filters']=_[_0xdb5f('0x32')](_0x4f4a3f[_0xdb5f('0x2e')],_0x4f4a3f[_0xdb5f('0x30')]);_0x409001['attributes']=_[_0xdb5f('0x32')](_0x4f4a3f[_0xdb5f('0x2e')],qs[_0xdb5f('0x33')](_0x4b6b4b[_0xdb5f('0x30')]['fields']));_0x409001[_0xdb5f('0x31')]=_0x409001[_0xdb5f('0x31')][_0xdb5f('0x34')]?_0x409001[_0xdb5f('0x31')]:_0x4f4a3f[_0xdb5f('0x2e')];if(_0x4b6b4b[_0xdb5f('0x30')][_0xdb5f('0x3e')]){_0x409001[_0xdb5f('0x3f')]=[{'all':!![]}];}_0x409001=_[_0xdb5f('0x3c')]({},_0x409001,_0x4b6b4b[_0xdb5f('0x3d')]);return db['VoiceQueuesLog']['find'](_0x409001)[_0xdb5f('0x21')](handleEntityNotFound(_0x301a5f,null))[_0xdb5f('0x21')](respondWithResult(_0x301a5f,null))[_0xdb5f('0x41')](handleError(_0x301a5f,null));};exports['create']=function(_0x4b14c8,_0x268290){return db['VoiceQueuesLog'][_0xdb5f('0x43')](_0x4b14c8['body'],{})['then'](respondWithResult(_0x268290,0xc9))['catch'](handleError(_0x268290,null));};exports[_0xdb5f('0x44')]=function(_0x4ccf91,_0x111535){if(_0x4ccf91[_0xdb5f('0x45')]['id']){delete _0x4ccf91[_0xdb5f('0x45')]['id'];}return db[_0xdb5f('0x29')][_0xdb5f('0x46')]({'where':{'id':_0x4ccf91[_0xdb5f('0x47')]['id']}})[_0xdb5f('0x21')](handleEntityNotFound(_0x111535,null))[_0xdb5f('0x21')](saveUpdates(_0x4ccf91[_0xdb5f('0x45')],null))['then'](respondWithResult(_0x111535,null))[_0xdb5f('0x41')](handleError(_0x111535,null));};exports[_0xdb5f('0x22')]=function(_0x4c8126,_0x291910){return db['VoiceQueuesLog'][_0xdb5f('0x46')]({'where':{'id':_0x4c8126[_0xdb5f('0x47')]['id']}})[_0xdb5f('0x21')](handleEntityNotFound(_0x291910,null))['then'](removeEntity(_0x291910,null))[_0xdb5f('0x41')](handleError(_0x291910,null));};
\ No newline at end of file
+var _0xcc0c=['length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','count','includeAll','include','findAll','rows','catch','show','create','body','find','params','destroy','html-pdf','eml-format','rimraf','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/license/util','../../mysqldb','status','json','offset','limit','set','Content-Range','apply','reject','save','update','then','end','sendStatus','stack','name','index','map','VoiceQueuesLog','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields'];(function(_0x1e6ad7,_0x270738){var _0x1f2e43=function(_0x4b08c3){while(--_0x4b08c3){_0x1e6ad7['push'](_0x1e6ad7['shift']());}};_0x1f2e43(++_0x270738);}(_0xcc0c,0xa8));var _0xccc0=function(_0x5489c4,_0x1e7a17){_0x5489c4=_0x5489c4-0x0;var _0x2c4624=_0xcc0c[_0x5489c4];return _0x2c4624;};'use strict';var pdf=require(_0xccc0('0x0'));var emlformat=require(_0xccc0('0x1'));var rimraf=require(_0xccc0('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xccc0('0x3'));var moment=require(_0xccc0('0x4'));var BPromise=require(_0xccc0('0x5'));var Mustache=require(_0xccc0('0x6'));var util=require('util');var path=require(_0xccc0('0x7'));var sox=require('sox');var csv=require(_0xccc0('0x8'));var ejs=require(_0xccc0('0x9'));var fs=require('fs');var _=require(_0xccc0('0xa'));var squel=require(_0xccc0('0xb'));var crypto=require(_0xccc0('0xc'));var jsforce=require(_0xccc0('0xd'));var deskjs=require(_0xccc0('0xe'));var toCsv=require('to-csv');var querystring=require(_0xccc0('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xccc0('0x10'));var qs=require(_0xccc0('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xccc0('0x12'))(_0xccc0('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xccc0('0x14'));var db=require(_0xccc0('0x15'))['db'];function respondWithStatusCode(_0x1efefa,_0x2c867a){_0x2c867a=_0x2c867a||0xcc;return function(_0x2517e5){if(_0x2517e5){return _0x1efefa['sendStatus'](_0x2c867a);}return _0x1efefa[_0xccc0('0x16')](_0x2c867a)['end']();};}function respondWithResult(_0x5324fb,_0x17f478){_0x17f478=_0x17f478||0xc8;return function(_0x1ed0cc){if(_0x1ed0cc){return _0x5324fb[_0xccc0('0x16')](_0x17f478)[_0xccc0('0x17')](_0x1ed0cc);}};}function respondWithFilteredResult(_0x5246b8,_0x460d66){return function(_0x588c01){if(_0x588c01){var _0x580676=_0x588c01['count'],_0x2f5283=_0x460d66[_0xccc0('0x18')],_0x28c99d=_0x460d66[_0xccc0('0x18')]+_0x460d66[_0xccc0('0x19')],_0x2b2e16;if(_0x28c99d>=_0x580676){_0x28c99d=_0x580676;_0x2b2e16=0xc8;}else{_0x2b2e16=0xce;}_0x5246b8[_0xccc0('0x16')](_0x2b2e16);return _0x5246b8[_0xccc0('0x1a')](_0xccc0('0x1b'),_0x2f5283+'-'+_0x28c99d+'/'+_0x580676)[_0xccc0('0x17')](_0x588c01);}return null;};}function patchUpdates(_0x5d76ff){return function(_0x1aca42){try{jsonpatch[_0xccc0('0x1c')](_0x1aca42,_0x5d76ff,!![]);}catch(_0x4a0c18){return BPromise[_0xccc0('0x1d')](_0x4a0c18);}return _0x1aca42[_0xccc0('0x1e')]();};}function saveUpdates(_0x4776e4,_0x43c42d){return function(_0x2c32af){if(_0x2c32af){return _0x2c32af[_0xccc0('0x1f')](_0x4776e4)[_0xccc0('0x20')](function(_0x25dfce){return _0x25dfce;});}return null;};}function removeEntity(_0xd54374,_0x31235e){return function(_0x17c332){if(_0x17c332){return _0x17c332['destroy']()[_0xccc0('0x20')](function(){_0xd54374['status'](0xcc)[_0xccc0('0x21')]();});}};}function handleEntityNotFound(_0x3b92c2,_0x47a6bf){return function(_0x2c0b19){if(!_0x2c0b19){_0x3b92c2[_0xccc0('0x22')](0x194);}return _0x2c0b19;};}function handleError(_0x1a0664,_0x1a53be){_0x1a53be=_0x1a53be||0x1f4;return function(_0x2d0951){logger['error'](_0x2d0951[_0xccc0('0x23')]);if(_0x2d0951[_0xccc0('0x24')]){delete _0x2d0951[_0xccc0('0x24')];}_0x1a0664[_0xccc0('0x16')](_0x1a53be)['send'](_0x2d0951);};}exports[_0xccc0('0x25')]=function(_0x38943e,_0x2d3ae6){var _0x164488={},_0x53cca5={},_0x3aa2c8={'count':0x0,'rows':[]};var _0x331df1=_[_0xccc0('0x26')](db[_0xccc0('0x27')][_0xccc0('0x28')],function(_0x19065e){return{'name':_0x19065e[_0xccc0('0x29')],'type':_0x19065e[_0xccc0('0x2a')][_0xccc0('0x2b')]};});_0x53cca5[_0xccc0('0x2c')]=_[_0xccc0('0x26')](_0x331df1,'name');_0x53cca5[_0xccc0('0x2d')]=_[_0xccc0('0x2e')](_0x38943e[_0xccc0('0x2d')]);_0x53cca5[_0xccc0('0x2f')]=_[_0xccc0('0x30')](_0x53cca5[_0xccc0('0x2c')],_0x53cca5[_0xccc0('0x2d')]);_0x164488[_0xccc0('0x31')]=_[_0xccc0('0x30')](_0x53cca5[_0xccc0('0x2c')],qs[_0xccc0('0x32')](_0x38943e[_0xccc0('0x2d')][_0xccc0('0x32')]));_0x164488[_0xccc0('0x31')]=_0x164488[_0xccc0('0x31')][_0xccc0('0x33')]?_0x164488[_0xccc0('0x31')]:_0x53cca5['model'];if(!_0x38943e[_0xccc0('0x2d')][_0xccc0('0x34')](_0xccc0('0x35'))){_0x164488[_0xccc0('0x19')]=qs['limit'](_0x38943e[_0xccc0('0x2d')]['limit']);_0x164488[_0xccc0('0x18')]=qs[_0xccc0('0x18')](_0x38943e[_0xccc0('0x2d')][_0xccc0('0x18')]);}_0x164488[_0xccc0('0x36')]=qs[_0xccc0('0x37')](_0x38943e['query'][_0xccc0('0x37')]);_0x164488['where']=qs['filters'](_[_0xccc0('0x38')](_0x38943e[_0xccc0('0x2d')],_0x53cca5[_0xccc0('0x2f')]),_0x331df1);if(_0x38943e[_0xccc0('0x2d')][_0xccc0('0x39')]){_0x164488['where']=_['merge'](_0x164488[_0xccc0('0x3a')],{'$or':_['map'](_0x331df1,function(_0x58c4c3){if(_0x58c4c3[_0xccc0('0x2a')]!=='VIRTUAL'){var _0x5330db={};_0x5330db[_0x58c4c3[_0xccc0('0x24')]]={'$like':'%'+_0x38943e[_0xccc0('0x2d')][_0xccc0('0x39')]+'%'};return _0x5330db;}})});}_0x164488=_[_0xccc0('0x3b')]({},_0x164488,_0x38943e[_0xccc0('0x3c')]);var _0xa6b099={'where':_0x164488[_0xccc0('0x3a')]};return db[_0xccc0('0x27')][_0xccc0('0x3d')](_0xa6b099)[_0xccc0('0x20')](function(_0x562186){_0x3aa2c8[_0xccc0('0x3d')]=_0x562186;if(_0x38943e['query'][_0xccc0('0x3e')]){_0x164488[_0xccc0('0x3f')]=[{'all':!![]}];}return db[_0xccc0('0x27')][_0xccc0('0x40')](_0x164488);})[_0xccc0('0x20')](function(_0x22a7ba){_0x3aa2c8[_0xccc0('0x41')]=_0x22a7ba;return _0x3aa2c8;})[_0xccc0('0x20')](respondWithFilteredResult(_0x2d3ae6,_0x164488))[_0xccc0('0x42')](handleError(_0x2d3ae6,null));};exports[_0xccc0('0x43')]=function(_0x2f509f,_0x3daf41){var _0x13d32e={'raw':!![],'where':{'id':_0x2f509f['params']['id']}},_0xd8fd92={};_0xd8fd92[_0xccc0('0x2c')]=_[_0xccc0('0x2e')](db['VoiceQueuesLog'][_0xccc0('0x28')]);_0xd8fd92[_0xccc0('0x2d')]=_['keys'](_0x2f509f[_0xccc0('0x2d')]);_0xd8fd92[_0xccc0('0x2f')]=_[_0xccc0('0x30')](_0xd8fd92[_0xccc0('0x2c')],_0xd8fd92[_0xccc0('0x2d')]);_0x13d32e[_0xccc0('0x31')]=_['intersection'](_0xd8fd92['model'],qs[_0xccc0('0x32')](_0x2f509f[_0xccc0('0x2d')][_0xccc0('0x32')]));_0x13d32e[_0xccc0('0x31')]=_0x13d32e['attributes'][_0xccc0('0x33')]?_0x13d32e[_0xccc0('0x31')]:_0xd8fd92[_0xccc0('0x2c')];if(_0x2f509f[_0xccc0('0x2d')][_0xccc0('0x3e')]){_0x13d32e[_0xccc0('0x3f')]=[{'all':!![]}];}_0x13d32e=_[_0xccc0('0x3b')]({},_0x13d32e,_0x2f509f[_0xccc0('0x3c')]);return db[_0xccc0('0x27')]['find'](_0x13d32e)['then'](handleEntityNotFound(_0x3daf41,null))[_0xccc0('0x20')](respondWithResult(_0x3daf41,null))[_0xccc0('0x42')](handleError(_0x3daf41,null));};exports[_0xccc0('0x44')]=function(_0x8042c0,_0x276fc7){return db[_0xccc0('0x27')][_0xccc0('0x44')](_0x8042c0[_0xccc0('0x45')],{})[_0xccc0('0x20')](respondWithResult(_0x276fc7,0xc9))[_0xccc0('0x42')](handleError(_0x276fc7,null));};exports[_0xccc0('0x1f')]=function(_0x4adbd9,_0x17b141){if(_0x4adbd9[_0xccc0('0x45')]['id']){delete _0x4adbd9['body']['id'];}return db['VoiceQueuesLog'][_0xccc0('0x46')]({'where':{'id':_0x4adbd9[_0xccc0('0x47')]['id']}})[_0xccc0('0x20')](handleEntityNotFound(_0x17b141,null))[_0xccc0('0x20')](saveUpdates(_0x4adbd9['body'],null))[_0xccc0('0x20')](respondWithResult(_0x17b141,null))[_0xccc0('0x42')](handleError(_0x17b141,null));};exports[_0xccc0('0x48')]=function(_0x10d799,_0x500dcd){return db[_0xccc0('0x27')]['find']({'where':{'id':_0x10d799[_0xccc0('0x47')]['id']}})[_0xccc0('0x20')](handleEntityNotFound(_0x500dcd,null))[_0xccc0('0x20')](removeEntity(_0x500dcd,null))[_0xccc0('0x42')](handleError(_0x500dcd,null));};
\ No newline at end of file