Built motion from commit bab6f49e.|2.6.17
[motion2.git] / server / api / voiceQueuesLog / voiceQueuesLog.controller.js
index 596837e..16c4484 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb1d3=['destroy','error','stack','name','send','index','map','VoiceQueuesLog','fieldName','type','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','limit','order','sort','where','filter','merge','VIRTUAL','includeAll','catch','show','params','rawAttributes','include','find','create','body','html-pdf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','ioredis','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','set','apply','reject','save','update','then'];(function(_0x39d656,_0x448264){var _0x2d9348=function(_0x524e87){while(--_0x524e87){_0x39d656['push'](_0x39d656['shift']());}};_0x2d9348(++_0x448264);}(_0xb1d3,0xe8));var _0x3b1d=function(_0x4a49d4,_0x219209){_0x4a49d4=_0x4a49d4-0x0;var _0x20c7a6=_0xb1d3[_0x4a49d4];return _0x20c7a6;};'use strict';var pdf=require(_0x3b1d('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3b1d('0x1'));var rp=require(_0x3b1d('0x2'));var moment=require(_0x3b1d('0x3'));var BPromise=require(_0x3b1d('0x4'));var Mustache=require('mustache');var util=require(_0x3b1d('0x5'));var path=require(_0x3b1d('0x6'));var sox=require(_0x3b1d('0x7'));var csv=require(_0x3b1d('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x3b1d('0x9'));var crypto=require(_0x3b1d('0xa'));var jsforce=require(_0x3b1d('0xb'));var deskjs=require(_0x3b1d('0xc'));var toCsv=require(_0x3b1d('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x3b1d('0xd'));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(_0x3b1d('0xe'))(_0x3b1d('0xf'));var utils=require(_0x3b1d('0x10'));var config=require(_0x3b1d('0x11'));var licenseUtil=require(_0x3b1d('0x12'));var db=require(_0x3b1d('0x13'))['db'];function respondWithStatusCode(_0x404f03,_0x44b011){_0x44b011=_0x44b011||0xcc;return function(_0x2886d5){if(_0x2886d5){return _0x404f03[_0x3b1d('0x14')](_0x44b011);}return _0x404f03[_0x3b1d('0x15')](_0x44b011)[_0x3b1d('0x16')]();};}function respondWithResult(_0x3cc04b,_0x4b6108){_0x4b6108=_0x4b6108||0xc8;return function(_0x55225a){if(_0x55225a){return _0x3cc04b['status'](_0x4b6108)[_0x3b1d('0x17')](_0x55225a);}};}function respondWithFilteredResult(_0x7f639d,_0x12b960){return function(_0x2ebcae){if(_0x2ebcae){var _0x108c1f=_0x2ebcae[_0x3b1d('0x18')],_0xe9e6a8=_0x12b960[_0x3b1d('0x19')],_0x49b5aa=_0x12b960[_0x3b1d('0x19')]+_0x12b960['limit'],_0x511806;if(_0x49b5aa>=_0x108c1f){_0x49b5aa=_0x108c1f;_0x511806=0xc8;}else{_0x511806=0xce;}_0x7f639d['status'](_0x511806);return _0x7f639d[_0x3b1d('0x1a')]('Content-Range',_0xe9e6a8+'-'+_0x49b5aa+'/'+_0x108c1f)['json'](_0x2ebcae);}return null;};}function patchUpdates(_0x1ae608){return function(_0x455b74){try{jsonpatch[_0x3b1d('0x1b')](_0x455b74,_0x1ae608,!![]);}catch(_0x6e80b){return BPromise[_0x3b1d('0x1c')](_0x6e80b);}return _0x455b74[_0x3b1d('0x1d')]();};}function saveUpdates(_0x602d8e,_0x4c5da8){return function(_0x5637e5){if(_0x5637e5){return _0x5637e5[_0x3b1d('0x1e')](_0x602d8e)[_0x3b1d('0x1f')](function(_0x323047){return _0x323047;});}return null;};}function removeEntity(_0xd4aa8f,_0x1aeb1d){return function(_0x5940af){if(_0x5940af){return _0x5940af[_0x3b1d('0x20')]()[_0x3b1d('0x1f')](function(){_0xd4aa8f[_0x3b1d('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x555229,_0x4d3e9d){return function(_0x394ae5){if(!_0x394ae5){_0x555229[_0x3b1d('0x14')](0x194);}return _0x394ae5;};}function handleError(_0x44836b,_0x356709){_0x356709=_0x356709||0x1f4;return function(_0x5a72a2){logger[_0x3b1d('0x21')](_0x5a72a2[_0x3b1d('0x22')]);if(_0x5a72a2[_0x3b1d('0x23')]){delete _0x5a72a2[_0x3b1d('0x23')];}_0x44836b[_0x3b1d('0x15')](_0x356709)[_0x3b1d('0x24')](_0x5a72a2);};}exports[_0x3b1d('0x25')]=function(_0x58dde9,_0x403702){var _0x45e596={},_0x1794c5={},_0xea77a5={'count':0x0,'rows':[]};var _0x1dc271=_[_0x3b1d('0x26')](db[_0x3b1d('0x27')]['rawAttributes'],function(_0x36d8ba){return{'name':_0x36d8ba[_0x3b1d('0x28')],'type':_0x36d8ba[_0x3b1d('0x29')]['key']};});_0x1794c5[_0x3b1d('0x2a')]=_[_0x3b1d('0x26')](_0x1dc271,_0x3b1d('0x23'));_0x1794c5[_0x3b1d('0x2b')]=_[_0x3b1d('0x2c')](_0x58dde9['query']);_0x1794c5[_0x3b1d('0x2d')]=_[_0x3b1d('0x2e')](_0x1794c5[_0x3b1d('0x2a')],_0x1794c5[_0x3b1d('0x2b')]);_0x45e596['attributes']=_[_0x3b1d('0x2e')](_0x1794c5['model'],qs[_0x3b1d('0x2f')](_0x58dde9[_0x3b1d('0x2b')][_0x3b1d('0x2f')]));_0x45e596[_0x3b1d('0x30')]=_0x45e596[_0x3b1d('0x30')]['length']?_0x45e596[_0x3b1d('0x30')]:_0x1794c5['model'];if(!_0x58dde9[_0x3b1d('0x2b')][_0x3b1d('0x31')]('nolimit')){_0x45e596['limit']=qs[_0x3b1d('0x32')](_0x58dde9[_0x3b1d('0x2b')][_0x3b1d('0x32')]);_0x45e596[_0x3b1d('0x19')]=qs[_0x3b1d('0x19')](_0x58dde9[_0x3b1d('0x2b')][_0x3b1d('0x19')]);}_0x45e596[_0x3b1d('0x33')]=qs[_0x3b1d('0x34')](_0x58dde9[_0x3b1d('0x2b')][_0x3b1d('0x34')]);_0x45e596[_0x3b1d('0x35')]=qs[_0x3b1d('0x2d')](_['pick'](_0x58dde9[_0x3b1d('0x2b')],_0x1794c5[_0x3b1d('0x2d')]),_0x1dc271);if(_0x58dde9[_0x3b1d('0x2b')][_0x3b1d('0x36')]){_0x45e596[_0x3b1d('0x35')]=_[_0x3b1d('0x37')](_0x45e596['where'],{'$or':_[_0x3b1d('0x26')](_0x1dc271,function(_0xb26683){if(_0xb26683[_0x3b1d('0x29')]!==_0x3b1d('0x38')){var _0x12db42={};_0x12db42[_0xb26683[_0x3b1d('0x23')]]={'$like':'%'+_0x58dde9['query'][_0x3b1d('0x36')]+'%'};return _0x12db42;}})});}_0x45e596=_[_0x3b1d('0x37')]({},_0x45e596,_0x58dde9['options']);var _0x59fb19={'where':_0x45e596['where']};return db[_0x3b1d('0x27')][_0x3b1d('0x18')](_0x59fb19)[_0x3b1d('0x1f')](function(_0xd7b25a){_0xea77a5[_0x3b1d('0x18')]=_0xd7b25a;if(_0x58dde9[_0x3b1d('0x2b')][_0x3b1d('0x39')]){_0x45e596['include']=[{'all':!![]}];}return db[_0x3b1d('0x27')]['findAll'](_0x45e596);})[_0x3b1d('0x1f')](function(_0x39f0cb){_0xea77a5['rows']=_0x39f0cb;return _0xea77a5;})['then'](respondWithFilteredResult(_0x403702,_0x45e596))[_0x3b1d('0x3a')](handleError(_0x403702,null));};exports[_0x3b1d('0x3b')]=function(_0x18fa61,_0x14fbf4){var _0x138fce={'raw':!![],'where':{'id':_0x18fa61[_0x3b1d('0x3c')]['id']}},_0x5bc244={};_0x5bc244['model']=_[_0x3b1d('0x2c')](db[_0x3b1d('0x27')][_0x3b1d('0x3d')]);_0x5bc244[_0x3b1d('0x2b')]=_[_0x3b1d('0x2c')](_0x18fa61[_0x3b1d('0x2b')]);_0x5bc244[_0x3b1d('0x2d')]=_['intersection'](_0x5bc244[_0x3b1d('0x2a')],_0x5bc244[_0x3b1d('0x2b')]);_0x138fce[_0x3b1d('0x30')]=_[_0x3b1d('0x2e')](_0x5bc244['model'],qs['fields'](_0x18fa61['query'][_0x3b1d('0x2f')]));_0x138fce[_0x3b1d('0x30')]=_0x138fce['attributes']['length']?_0x138fce[_0x3b1d('0x30')]:_0x5bc244[_0x3b1d('0x2a')];if(_0x18fa61[_0x3b1d('0x2b')][_0x3b1d('0x39')]){_0x138fce[_0x3b1d('0x3e')]=[{'all':!![]}];}_0x138fce=_[_0x3b1d('0x37')]({},_0x138fce,_0x18fa61['options']);return db['VoiceQueuesLog'][_0x3b1d('0x3f')](_0x138fce)['then'](handleEntityNotFound(_0x14fbf4,null))[_0x3b1d('0x1f')](respondWithResult(_0x14fbf4,null))[_0x3b1d('0x3a')](handleError(_0x14fbf4,null));};exports[_0x3b1d('0x40')]=function(_0x396490,_0x3fece4){return db['VoiceQueuesLog'][_0x3b1d('0x40')](_0x396490[_0x3b1d('0x41')],{})[_0x3b1d('0x1f')](respondWithResult(_0x3fece4,0xc9))[_0x3b1d('0x3a')](handleError(_0x3fece4,null));};exports[_0x3b1d('0x1e')]=function(_0x15a692,_0x42c9d6){if(_0x15a692['body']['id']){delete _0x15a692[_0x3b1d('0x41')]['id'];}return db[_0x3b1d('0x27')][_0x3b1d('0x3f')]({'where':{'id':_0x15a692[_0x3b1d('0x3c')]['id']}})[_0x3b1d('0x1f')](handleEntityNotFound(_0x42c9d6,null))[_0x3b1d('0x1f')](saveUpdates(_0x15a692[_0x3b1d('0x41')],null))[_0x3b1d('0x1f')](respondWithResult(_0x42c9d6,null))['catch'](handleError(_0x42c9d6,null));};exports[_0x3b1d('0x20')]=function(_0x2f318d,_0x45e6c9){return db[_0x3b1d('0x27')][_0x3b1d('0x3f')]({'where':{'id':_0x2f318d[_0x3b1d('0x3c')]['id']}})['then'](handleEntityNotFound(_0x45e6c9,null))[_0x3b1d('0x1f')](removeEntity(_0x45e6c9,null))['catch'](handleError(_0x45e6c9,null));};
\ No newline at end of file
+var _0x0353=['error','name','send','VoiceQueuesLog','rawAttributes','fieldName','type','key','model','map','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','options','catch','create','body','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy'];(function(_0xf498d4,_0xd3a64b){var _0x11a8dd=function(_0x2a6b75){while(--_0x2a6b75){_0xf498d4['push'](_0xf498d4['shift']());}};_0x11a8dd(++_0xd3a64b);}(_0x0353,0x110));var _0x3035=function(_0x4fde08,_0x463a36){_0x4fde08=_0x4fde08-0x0;var _0x12e725=_0x0353[_0x4fde08];return _0x12e725;};'use strict';var emlformat=require(_0x3035('0x0'));var rimraf=require(_0x3035('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3035('0x2'));var rp=require(_0x3035('0x3'));var moment=require('moment');var BPromise=require(_0x3035('0x4'));var Mustache=require(_0x3035('0x5'));var util=require(_0x3035('0x6'));var path=require(_0x3035('0x7'));var sox=require(_0x3035('0x8'));var csv=require(_0x3035('0x9'));var ejs=require(_0x3035('0xa'));var fs=require('fs');var fs_extra=require(_0x3035('0xb'));var _=require(_0x3035('0xc'));var squel=require('squel');var crypto=require(_0x3035('0xd'));var jsforce=require(_0x3035('0xe'));var deskjs=require(_0x3035('0xf'));var toCsv=require(_0x3035('0x9'));var querystring=require(_0x3035('0x10'));var Papa=require(_0x3035('0x11'));var Redis=require(_0x3035('0x12'));var authService=require(_0x3035('0x13'));var qs=require(_0x3035('0x14'));var as=require(_0x3035('0x15'));var hardwareService=require(_0x3035('0x16'));var logger=require(_0x3035('0x17'))(_0x3035('0x18'));var utils=require(_0x3035('0x19'));var config=require(_0x3035('0x1a'));var licenseUtil=require(_0x3035('0x1b'));var db=require(_0x3035('0x1c'))['db'];function respondWithStatusCode(_0x1f1f17,_0x1d6230){_0x1d6230=_0x1d6230||0xcc;return function(_0x4ddb49){if(_0x4ddb49){return _0x1f1f17[_0x3035('0x1d')](_0x1d6230);}return _0x1f1f17['status'](_0x1d6230)['end']();};}function respondWithResult(_0x140205,_0x3f9714){_0x3f9714=_0x3f9714||0xc8;return function(_0x1ad79c){if(_0x1ad79c){return _0x140205[_0x3035('0x1e')](_0x3f9714)[_0x3035('0x1f')](_0x1ad79c);}};}function respondWithFilteredResult(_0x44bbb6,_0x4e91b7){return function(_0x45431a){if(_0x45431a){var _0x5092a5=typeof _0x4e91b7[_0x3035('0x20')]===_0x3035('0x21')&&typeof _0x4e91b7[_0x3035('0x22')]===_0x3035('0x21');var _0x565995=_0x45431a[_0x3035('0x23')];var _0x1f7d98=_0x5092a5?0x0:_0x4e91b7[_0x3035('0x20')];var _0x5f26b8=_0x5092a5?_0x45431a[_0x3035('0x23')]:_0x4e91b7[_0x3035('0x20')]+_0x4e91b7[_0x3035('0x22')];var _0x5c33cb;if(_0x5f26b8>=_0x565995){_0x5f26b8=_0x565995;_0x5c33cb=0xc8;}else{_0x5c33cb=0xce;}_0x44bbb6['status'](_0x5c33cb);return _0x44bbb6[_0x3035('0x24')](_0x3035('0x25'),_0x1f7d98+'-'+_0x5f26b8+'/'+_0x565995)[_0x3035('0x1f')](_0x45431a);}return null;};}function patchUpdates(_0xf74e37){return function(_0x324826){try{jsonpatch[_0x3035('0x26')](_0x324826,_0xf74e37,!![]);}catch(_0x23584c){return BPromise[_0x3035('0x27')](_0x23584c);}return _0x324826[_0x3035('0x28')]();};}function saveUpdates(_0x3fc3ee,_0x1fd745){return function(_0xabf0e6){if(_0xabf0e6){return _0xabf0e6[_0x3035('0x29')](_0x3fc3ee)[_0x3035('0x2a')](function(_0x464415){return _0x464415;});}return null;};}function removeEntity(_0x2beca6,_0x4070ba){return function(_0x1043bd){if(_0x1043bd){return _0x1043bd[_0x3035('0x2b')]()['then'](function(){_0x2beca6['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1b8bee,_0x140b42){return function(_0x31e3b0){if(!_0x31e3b0){_0x1b8bee[_0x3035('0x1d')](0x194);}return _0x31e3b0;};}function handleError(_0xbb1e80,_0x14d405){_0x14d405=_0x14d405||0x1f4;return function(_0x440616){logger[_0x3035('0x2c')](_0x440616['stack']);if(_0x440616[_0x3035('0x2d')]){delete _0x440616[_0x3035('0x2d')];}_0xbb1e80['status'](_0x14d405)[_0x3035('0x2e')](_0x440616);};}exports['index']=function(_0x3933c3,_0x41ef9d){var _0x5323bb={},_0x20b4cd={},_0x6b0096={'count':0x0,'rows':[]};var _0x4b54f8=_['map'](db[_0x3035('0x2f')][_0x3035('0x30')],function(_0x3b43ba){return{'name':_0x3b43ba[_0x3035('0x31')],'type':_0x3b43ba[_0x3035('0x32')][_0x3035('0x33')]};});_0x20b4cd[_0x3035('0x34')]=_[_0x3035('0x35')](_0x4b54f8,'name');_0x20b4cd['query']=_[_0x3035('0x36')](_0x3933c3[_0x3035('0x37')]);_0x20b4cd[_0x3035('0x38')]=_['intersection'](_0x20b4cd[_0x3035('0x34')],_0x20b4cd['query']);_0x5323bb[_0x3035('0x39')]=_[_0x3035('0x3a')](_0x20b4cd[_0x3035('0x34')],qs[_0x3035('0x3b')](_0x3933c3[_0x3035('0x37')][_0x3035('0x3b')]));_0x5323bb[_0x3035('0x39')]=_0x5323bb[_0x3035('0x39')][_0x3035('0x3c')]?_0x5323bb['attributes']:_0x20b4cd[_0x3035('0x34')];if(!_0x3933c3[_0x3035('0x37')][_0x3035('0x3d')](_0x3035('0x3e'))){_0x5323bb['limit']=qs['limit'](_0x3933c3[_0x3035('0x37')][_0x3035('0x22')]);_0x5323bb[_0x3035('0x20')]=qs[_0x3035('0x20')](_0x3933c3[_0x3035('0x37')][_0x3035('0x20')]);}_0x5323bb[_0x3035('0x3f')]=qs[_0x3035('0x40')](_0x3933c3[_0x3035('0x37')]['sort']);_0x5323bb[_0x3035('0x41')]=qs[_0x3035('0x38')](_['pick'](_0x3933c3['query'],_0x20b4cd[_0x3035('0x38')]),_0x4b54f8);if(_0x3933c3[_0x3035('0x37')][_0x3035('0x42')]){_0x5323bb[_0x3035('0x41')]=_[_0x3035('0x43')](_0x5323bb['where'],{'$or':_[_0x3035('0x35')](_0x4b54f8,function(_0x2753d2){if(_0x2753d2[_0x3035('0x32')]!==_0x3035('0x44')){var _0xae5ce8={};_0xae5ce8[_0x2753d2[_0x3035('0x2d')]]={'$like':'%'+_0x3933c3['query'][_0x3035('0x42')]+'%'};return _0xae5ce8;}})});}_0x5323bb=_[_0x3035('0x43')]({},_0x5323bb,_0x3933c3['options']);var _0x3488aa={'where':_0x5323bb[_0x3035('0x41')]};return db[_0x3035('0x2f')][_0x3035('0x23')](_0x3488aa)['then'](function(_0x2db21f){_0x6b0096['count']=_0x2db21f;if(_0x3933c3[_0x3035('0x37')][_0x3035('0x45')]){_0x5323bb[_0x3035('0x46')]=[{'all':!![]}];}return db['VoiceQueuesLog'][_0x3035('0x47')](_0x5323bb);})['then'](function(_0x3af1d0){_0x6b0096[_0x3035('0x48')]=_0x3af1d0;return _0x6b0096;})[_0x3035('0x2a')](respondWithFilteredResult(_0x41ef9d,_0x5323bb))['catch'](handleError(_0x41ef9d,null));};exports[_0x3035('0x49')]=function(_0x18d4be,_0x56f5dc){var _0xbb0e4f={'raw':!![],'where':{'id':_0x18d4be[_0x3035('0x4a')]['id']}},_0xdfbcb6={};_0xdfbcb6['model']=_['keys'](db[_0x3035('0x2f')][_0x3035('0x30')]);_0xdfbcb6[_0x3035('0x37')]=_[_0x3035('0x36')](_0x18d4be[_0x3035('0x37')]);_0xdfbcb6[_0x3035('0x38')]=_[_0x3035('0x3a')](_0xdfbcb6[_0x3035('0x34')],_0xdfbcb6[_0x3035('0x37')]);_0xbb0e4f['attributes']=_[_0x3035('0x3a')](_0xdfbcb6[_0x3035('0x34')],qs['fields'](_0x18d4be[_0x3035('0x37')][_0x3035('0x3b')]));_0xbb0e4f['attributes']=_0xbb0e4f['attributes']['length']?_0xbb0e4f[_0x3035('0x39')]:_0xdfbcb6[_0x3035('0x34')];if(_0x18d4be[_0x3035('0x37')][_0x3035('0x45')]){_0xbb0e4f['include']=[{'all':!![]}];}_0xbb0e4f=_[_0x3035('0x43')]({},_0xbb0e4f,_0x18d4be[_0x3035('0x4b')]);return db[_0x3035('0x2f')]['find'](_0xbb0e4f)[_0x3035('0x2a')](handleEntityNotFound(_0x56f5dc,null))['then'](respondWithResult(_0x56f5dc,null))[_0x3035('0x4c')](handleError(_0x56f5dc,null));};exports['create']=function(_0x3a3cd3,_0x5b4da1){return db[_0x3035('0x2f')][_0x3035('0x4d')](_0x3a3cd3[_0x3035('0x4e')],{})['then'](respondWithResult(_0x5b4da1,0xc9))[_0x3035('0x4c')](handleError(_0x5b4da1,null));};exports[_0x3035('0x29')]=function(_0x38ed23,_0x23ae0f){if(_0x38ed23['body']['id']){delete _0x38ed23[_0x3035('0x4e')]['id'];}return db['VoiceQueuesLog']['find']({'where':{'id':_0x38ed23[_0x3035('0x4a')]['id']}})[_0x3035('0x2a')](handleEntityNotFound(_0x23ae0f,null))[_0x3035('0x2a')](saveUpdates(_0x38ed23[_0x3035('0x4e')],null))[_0x3035('0x2a')](respondWithResult(_0x23ae0f,null))[_0x3035('0x4c')](handleError(_0x23ae0f,null));};exports['destroy']=function(_0xd19423,_0x414d6c){return db['VoiceQueuesLog']['find']({'where':{'id':_0xd19423[_0x3035('0x4a')]['id']}})[_0x3035('0x2a')](handleEntityNotFound(_0x414d6c,null))[_0x3035('0x2a')](removeEntity(_0x414d6c,null))['catch'](handleError(_0x414d6c,null));};
\ No newline at end of file