Built motion from commit da24aabd.|2.6.20
[motion2.git] / server / api / mailSubstatus / mailSubstatus.controller.js
index 53a630e..c61c4cd 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb401=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','apply','then','destroy','sendStatus','error','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','MailSubstatus','includeAll','include','rows','show','find','catch','create','body','params','describe','html-pdf','request-promise','moment','bluebird','mustache','util','path','sox','lodash','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x52b48a,_0x4be672){var _0x234d06=function(_0x4c9e33){while(--_0x4c9e33){_0x52b48a['push'](_0x52b48a['shift']());}};_0x234d06(++_0x4be672);}(_0xb401,0x108));var _0x1b40=function(_0x481299,_0x43b7a1){_0x481299=_0x481299-0x0;var _0x380b8a=_0xb401[_0x481299];return _0x380b8a;};'use strict';var pdf=require(_0x1b40('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x1b40('0x1'));var moment=require(_0x1b40('0x2'));var BPromise=require(_0x1b40('0x3'));var Mustache=require(_0x1b40('0x4'));var util=require(_0x1b40('0x5'));var path=require(_0x1b40('0x6'));var sox=require(_0x1b40('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x1b40('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x1b40('0x9'));var toCsv=require(_0x1b40('0xa'));var querystring=require(_0x1b40('0xb'));var Papa=require(_0x1b40('0xc'));var Redis=require(_0x1b40('0xd'));var authService=require(_0x1b40('0xe'));var qs=require(_0x1b40('0xf'));var as=require(_0x1b40('0x10'));var hardwareService=require(_0x1b40('0x11'));var logger=require(_0x1b40('0x12'))(_0x1b40('0x13'));var utils=require('../../config/utils');var config=require(_0x1b40('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x1b40('0x15'))['db'];function respondWithStatusCode(_0x443875,_0x2fb716){_0x2fb716=_0x2fb716||0xcc;return function(_0x380915){if(_0x380915){return _0x443875['sendStatus'](_0x2fb716);}return _0x443875[_0x1b40('0x16')](_0x2fb716)[_0x1b40('0x17')]();};}function respondWithResult(_0x2a32f6,_0x1733ed){_0x1733ed=_0x1733ed||0xc8;return function(_0x4acb54){if(_0x4acb54){return _0x2a32f6[_0x1b40('0x16')](_0x1733ed)[_0x1b40('0x18')](_0x4acb54);}};}function respondWithFilteredResult(_0x321568,_0xcf121c){return function(_0x377761){if(_0x377761){var _0x41d15f=_0x377761[_0x1b40('0x19')],_0x21cced=_0xcf121c['offset'],_0x30d28e=_0xcf121c[_0x1b40('0x1a')]+_0xcf121c[_0x1b40('0x1b')],_0x322a05;if(_0x30d28e>=_0x41d15f){_0x30d28e=_0x41d15f;_0x322a05=0xc8;}else{_0x322a05=0xce;}_0x321568[_0x1b40('0x16')](_0x322a05);return _0x321568[_0x1b40('0x1c')]('Content-Range',_0x21cced+'-'+_0x30d28e+'/'+_0x41d15f)[_0x1b40('0x18')](_0x377761);}return null;};}function patchUpdates(_0x5a9e44){return function(_0x5281df){try{jsonpatch[_0x1b40('0x1d')](_0x5281df,_0x5a9e44,!![]);}catch(_0xe55a45){return BPromise['reject'](_0xe55a45);}return _0x5281df['save']();};}function saveUpdates(_0x5ad99c,_0x376bdd){return function(_0x1e0600){if(_0x1e0600){return _0x1e0600['update'](_0x5ad99c)[_0x1b40('0x1e')](function(_0x13867){return _0x13867;});}return null;};}function removeEntity(_0x55f045,_0x21a6d4){return function(_0x22c9ec){if(_0x22c9ec){return _0x22c9ec[_0x1b40('0x1f')]()[_0x1b40('0x1e')](function(){_0x55f045['status'](0xcc)[_0x1b40('0x17')]();});}};}function handleEntityNotFound(_0x27f3f9,_0x55db95){return function(_0x262cc5){if(!_0x262cc5){_0x27f3f9[_0x1b40('0x20')](0x194);}return _0x262cc5;};}function handleError(_0x1b7bd4,_0x294da8){_0x294da8=_0x294da8||0x1f4;return function(_0x120a3f){logger[_0x1b40('0x21')](_0x120a3f['stack']);if(_0x120a3f[_0x1b40('0x22')]){delete _0x120a3f[_0x1b40('0x22')];}_0x1b7bd4[_0x1b40('0x16')](_0x294da8)[_0x1b40('0x23')](_0x120a3f);};}exports[_0x1b40('0x24')]=function(_0x18f8a2,_0x745cf6){var _0x217e2d={},_0x2786a5={},_0xa21c8c={'count':0x0,'rows':[]};var _0x2ae008=_[_0x1b40('0x25')](db['MailSubstatus'][_0x1b40('0x26')],function(_0x21cbc7){return{'name':_0x21cbc7[_0x1b40('0x27')],'type':_0x21cbc7[_0x1b40('0x28')][_0x1b40('0x29')]};});_0x2786a5['model']=_[_0x1b40('0x25')](_0x2ae008,_0x1b40('0x22'));_0x2786a5[_0x1b40('0x2a')]=_[_0x1b40('0x2b')](_0x18f8a2[_0x1b40('0x2a')]);_0x2786a5[_0x1b40('0x2c')]=_['intersection'](_0x2786a5[_0x1b40('0x2d')],_0x2786a5[_0x1b40('0x2a')]);_0x217e2d[_0x1b40('0x2e')]=_[_0x1b40('0x2f')](_0x2786a5[_0x1b40('0x2d')],qs[_0x1b40('0x30')](_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x30')]));_0x217e2d['attributes']=_0x217e2d[_0x1b40('0x2e')][_0x1b40('0x31')]?_0x217e2d['attributes']:_0x2786a5[_0x1b40('0x2d')];if(!_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x32')](_0x1b40('0x33'))){_0x217e2d[_0x1b40('0x1b')]=qs[_0x1b40('0x1b')](_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x1b')]);_0x217e2d[_0x1b40('0x1a')]=qs[_0x1b40('0x1a')](_0x18f8a2['query'][_0x1b40('0x1a')]);}_0x217e2d[_0x1b40('0x34')]=qs['sort'](_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x35')]);_0x217e2d[_0x1b40('0x36')]=qs[_0x1b40('0x2c')](_[_0x1b40('0x37')](_0x18f8a2['query'],_0x2786a5[_0x1b40('0x2c')]),_0x2ae008);if(_0x18f8a2['query'][_0x1b40('0x38')]){_0x217e2d[_0x1b40('0x36')]=_[_0x1b40('0x39')](_0x217e2d[_0x1b40('0x36')],{'$or':_[_0x1b40('0x25')](_0x2ae008,function(_0x4de175){if(_0x4de175[_0x1b40('0x28')]!==_0x1b40('0x3a')){var _0x4b2e99={};_0x4b2e99[_0x4de175[_0x1b40('0x22')]]={'$like':'%'+_0x18f8a2['query'][_0x1b40('0x38')]+'%'};return _0x4b2e99;}})});}_0x217e2d=_[_0x1b40('0x39')]({},_0x217e2d,_0x18f8a2['options']);var _0x1f0e74={'where':_0x217e2d[_0x1b40('0x36')]};return db[_0x1b40('0x3b')][_0x1b40('0x19')](_0x1f0e74)[_0x1b40('0x1e')](function(_0x10aa8f){_0xa21c8c[_0x1b40('0x19')]=_0x10aa8f;if(_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x3c')]){_0x217e2d[_0x1b40('0x3d')]=[{'all':!![]}];}return db[_0x1b40('0x3b')]['findAll'](_0x217e2d);})[_0x1b40('0x1e')](function(_0x2ffb1e){_0xa21c8c[_0x1b40('0x3e')]=_0x2ffb1e;return _0xa21c8c;})['then'](respondWithFilteredResult(_0x745cf6,_0x217e2d))['catch'](handleError(_0x745cf6,null));};exports[_0x1b40('0x3f')]=function(_0x4edbaf,_0x1f6dc7){var _0xe3fddd={'raw':!![],'where':{'id':_0x4edbaf['params']['id']}},_0x4a01c4={};_0x4a01c4['model']=_['keys'](db[_0x1b40('0x3b')][_0x1b40('0x26')]);_0x4a01c4[_0x1b40('0x2a')]=_[_0x1b40('0x2b')](_0x4edbaf['query']);_0x4a01c4[_0x1b40('0x2c')]=_['intersection'](_0x4a01c4[_0x1b40('0x2d')],_0x4a01c4[_0x1b40('0x2a')]);_0xe3fddd[_0x1b40('0x2e')]=_[_0x1b40('0x2f')](_0x4a01c4['model'],qs[_0x1b40('0x30')](_0x4edbaf['query'][_0x1b40('0x30')]));_0xe3fddd[_0x1b40('0x2e')]=_0xe3fddd['attributes']['length']?_0xe3fddd['attributes']:_0x4a01c4[_0x1b40('0x2d')];if(_0x4edbaf['query']['includeAll']){_0xe3fddd[_0x1b40('0x3d')]=[{'all':!![]}];}_0xe3fddd=_[_0x1b40('0x39')]({},_0xe3fddd,_0x4edbaf['options']);return db['MailSubstatus'][_0x1b40('0x40')](_0xe3fddd)[_0x1b40('0x1e')](handleEntityNotFound(_0x1f6dc7,null))['then'](respondWithResult(_0x1f6dc7,null))[_0x1b40('0x41')](handleError(_0x1f6dc7,null));};exports[_0x1b40('0x42')]=function(_0x282a50,_0x458ee4){return db['MailSubstatus'][_0x1b40('0x42')](_0x282a50[_0x1b40('0x43')],{})['then'](respondWithResult(_0x458ee4,0xc9))['catch'](handleError(_0x458ee4,null));};exports['update']=function(_0x4d9593,_0xb83e57){if(_0x4d9593['body']['id']){delete _0x4d9593[_0x1b40('0x43')]['id'];}return db[_0x1b40('0x3b')][_0x1b40('0x40')]({'where':{'id':_0x4d9593[_0x1b40('0x44')]['id']}})[_0x1b40('0x1e')](handleEntityNotFound(_0xb83e57,null))[_0x1b40('0x1e')](saveUpdates(_0x4d9593['body'],null))[_0x1b40('0x1e')](respondWithResult(_0xb83e57,null))['catch'](handleError(_0xb83e57,null));};exports[_0x1b40('0x1f')]=function(_0x4cf808,_0x21b4f0){return db[_0x1b40('0x3b')]['find']({'where':{'id':_0x4cf808[_0x1b40('0x44')]['id']}})[_0x1b40('0x1e')](handleEntityNotFound(_0x21b4f0,null))[_0x1b40('0x1e')](removeEntity(_0x21b4f0,null))[_0x1b40('0x41')](handleError(_0x21b4f0,null));};exports['describe']=function(_0x329ed2,_0x349943){return db['MailSubstatus'][_0x1b40('0x45')]()[_0x1b40('0x1e')](respondWithResult(_0x349943,null))[_0x1b40('0x41')](handleError(_0x349943,null));};
\ No newline at end of file
+var _0x458b=['attributes','length','hasOwnProperty','nolimit','offset','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','findAll','catch','show','params','rawAttributes','body','find','describe','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','to-csv','ejs','fs-extra','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','index','map','MailSubstatus','fieldName','type','key','model','keys','query','intersection','fields'];(function(_0x5916bd,_0x42c902){var _0x32fa62=function(_0x498051){while(--_0x498051){_0x5916bd['push'](_0x5916bd['shift']());}};_0x32fa62(++_0x42c902);}(_0x458b,0x142));var _0xb458=function(_0x5e8282,_0x1f2962){_0x5e8282=_0x5e8282-0x0;var _0x5cd37d=_0x458b[_0x5e8282];return _0x5cd37d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb458('0x0'));var zipdir=require(_0xb458('0x1'));var jsonpatch=require(_0xb458('0x2'));var rp=require(_0xb458('0x3'));var moment=require('moment');var BPromise=require(_0xb458('0x4'));var Mustache=require('mustache');var util=require(_0xb458('0x5'));var path=require(_0xb458('0x6'));var sox=require('sox');var csv=require(_0xb458('0x7'));var ejs=require(_0xb458('0x8'));var fs=require('fs');var fs_extra=require(_0xb458('0x9'));var _=require(_0xb458('0xa'));var squel=require('squel');var crypto=require(_0xb458('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb458('0xc'));var Papa=require(_0xb458('0xd'));var Redis=require(_0xb458('0xe'));var authService=require(_0xb458('0xf'));var qs=require(_0xb458('0x10'));var as=require(_0xb458('0x11'));var hardwareService=require(_0xb458('0x12'));var logger=require(_0xb458('0x13'))(_0xb458('0x14'));var utils=require(_0xb458('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb458('0x16'))['db'];function respondWithStatusCode(_0x1cd9d2,_0x15d6cc){_0x15d6cc=_0x15d6cc||0xcc;return function(_0x25fd9b){if(_0x25fd9b){return _0x1cd9d2[_0xb458('0x17')](_0x15d6cc);}return _0x1cd9d2[_0xb458('0x18')](_0x15d6cc)[_0xb458('0x19')]();};}function respondWithResult(_0x586326,_0x55f17b){_0x55f17b=_0x55f17b||0xc8;return function(_0x23de40){if(_0x23de40){return _0x586326[_0xb458('0x18')](_0x55f17b)[_0xb458('0x1a')](_0x23de40);}};}function respondWithFilteredResult(_0x33ef3a,_0x5364b4){return function(_0x581ca7){if(_0x581ca7){var _0x32af5f=typeof _0x5364b4['offset']===_0xb458('0x1b')&&typeof _0x5364b4[_0xb458('0x1c')]===_0xb458('0x1b');var _0x281eba=_0x581ca7['count'];var _0xaf1cae=_0x32af5f?0x0:_0x5364b4['offset'];var _0x22a6e8=_0x32af5f?_0x581ca7[_0xb458('0x1d')]:_0x5364b4['offset']+_0x5364b4[_0xb458('0x1c')];var _0x48becf;if(_0x22a6e8>=_0x281eba){_0x22a6e8=_0x281eba;_0x48becf=0xc8;}else{_0x48becf=0xce;}_0x33ef3a[_0xb458('0x18')](_0x48becf);return _0x33ef3a[_0xb458('0x1e')](_0xb458('0x1f'),_0xaf1cae+'-'+_0x22a6e8+'/'+_0x281eba)['json'](_0x581ca7);}return null;};}function patchUpdates(_0x159835){return function(_0x3ae068){try{jsonpatch[_0xb458('0x20')](_0x3ae068,_0x159835,!![]);}catch(_0x1b8eb7){return BPromise[_0xb458('0x21')](_0x1b8eb7);}return _0x3ae068[_0xb458('0x22')]();};}function saveUpdates(_0x4cce6f,_0x203470){return function(_0x3908ef){if(_0x3908ef){return _0x3908ef[_0xb458('0x23')](_0x4cce6f)['then'](function(_0x357535){return _0x357535;});}return null;};}function removeEntity(_0x36478f,_0x31b1ee){return function(_0x4c3fae){if(_0x4c3fae){return _0x4c3fae[_0xb458('0x24')]()[_0xb458('0x25')](function(){_0x36478f[_0xb458('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1417b7,_0x203836){return function(_0x4496c9){if(!_0x4496c9){_0x1417b7[_0xb458('0x17')](0x194);}return _0x4496c9;};}function handleError(_0x2a0829,_0xc83985){_0xc83985=_0xc83985||0x1f4;return function(_0x5af727){logger[_0xb458('0x26')](_0x5af727[_0xb458('0x27')]);if(_0x5af727[_0xb458('0x28')]){delete _0x5af727[_0xb458('0x28')];}_0x2a0829[_0xb458('0x18')](_0xc83985)[_0xb458('0x29')](_0x5af727);};}exports[_0xb458('0x2a')]=function(_0x5a0a5b,_0x312978){var _0x639558={},_0x141dd6={},_0x22e7a3={'count':0x0,'rows':[]};var _0x485242=_[_0xb458('0x2b')](db[_0xb458('0x2c')]['rawAttributes'],function(_0x15ef41){return{'name':_0x15ef41[_0xb458('0x2d')],'type':_0x15ef41[_0xb458('0x2e')][_0xb458('0x2f')]};});_0x141dd6[_0xb458('0x30')]=_[_0xb458('0x2b')](_0x485242,'name');_0x141dd6['query']=_[_0xb458('0x31')](_0x5a0a5b[_0xb458('0x32')]);_0x141dd6['filters']=_[_0xb458('0x33')](_0x141dd6[_0xb458('0x30')],_0x141dd6[_0xb458('0x32')]);_0x639558['attributes']=_[_0xb458('0x33')](_0x141dd6[_0xb458('0x30')],qs['fields'](_0x5a0a5b[_0xb458('0x32')][_0xb458('0x34')]));_0x639558[_0xb458('0x35')]=_0x639558[_0xb458('0x35')][_0xb458('0x36')]?_0x639558[_0xb458('0x35')]:_0x141dd6['model'];if(!_0x5a0a5b[_0xb458('0x32')][_0xb458('0x37')](_0xb458('0x38'))){_0x639558[_0xb458('0x1c')]=qs[_0xb458('0x1c')](_0x5a0a5b[_0xb458('0x32')]['limit']);_0x639558['offset']=qs['offset'](_0x5a0a5b[_0xb458('0x32')][_0xb458('0x39')]);}_0x639558[_0xb458('0x3a')]=qs[_0xb458('0x3b')](_0x5a0a5b[_0xb458('0x32')][_0xb458('0x3b')]);_0x639558[_0xb458('0x3c')]=qs[_0xb458('0x3d')](_[_0xb458('0x3e')](_0x5a0a5b[_0xb458('0x32')],_0x141dd6[_0xb458('0x3d')]),_0x485242);if(_0x5a0a5b[_0xb458('0x32')][_0xb458('0x3f')]){_0x639558[_0xb458('0x3c')]=_[_0xb458('0x40')](_0x639558[_0xb458('0x3c')],{'$or':_[_0xb458('0x2b')](_0x485242,function(_0x55a490){if(_0x55a490[_0xb458('0x2e')]!==_0xb458('0x41')){var _0xfa8148={};_0xfa8148[_0x55a490[_0xb458('0x28')]]={'$like':'%'+_0x5a0a5b[_0xb458('0x32')][_0xb458('0x3f')]+'%'};return _0xfa8148;}})});}_0x639558=_['merge']({},_0x639558,_0x5a0a5b[_0xb458('0x42')]);var _0x43130a={'where':_0x639558[_0xb458('0x3c')]};return db[_0xb458('0x2c')]['count'](_0x43130a)[_0xb458('0x25')](function(_0x13dbe9){_0x22e7a3[_0xb458('0x1d')]=_0x13dbe9;if(_0x5a0a5b['query']['includeAll']){_0x639558['include']=[{'all':!![]}];}return db[_0xb458('0x2c')][_0xb458('0x43')](_0x639558);})[_0xb458('0x25')](function(_0x25a524){_0x22e7a3['rows']=_0x25a524;return _0x22e7a3;})[_0xb458('0x25')](respondWithFilteredResult(_0x312978,_0x639558))[_0xb458('0x44')](handleError(_0x312978,null));};exports[_0xb458('0x45')]=function(_0x4ee87c,_0x307d5e){var _0x4ac0d1={'raw':!![],'where':{'id':_0x4ee87c[_0xb458('0x46')]['id']}},_0x61ff99={};_0x61ff99[_0xb458('0x30')]=_['keys'](db[_0xb458('0x2c')][_0xb458('0x47')]);_0x61ff99[_0xb458('0x32')]=_[_0xb458('0x31')](_0x4ee87c['query']);_0x61ff99[_0xb458('0x3d')]=_[_0xb458('0x33')](_0x61ff99[_0xb458('0x30')],_0x61ff99[_0xb458('0x32')]);_0x4ac0d1[_0xb458('0x35')]=_[_0xb458('0x33')](_0x61ff99[_0xb458('0x30')],qs[_0xb458('0x34')](_0x4ee87c[_0xb458('0x32')]['fields']));_0x4ac0d1[_0xb458('0x35')]=_0x4ac0d1[_0xb458('0x35')][_0xb458('0x36')]?_0x4ac0d1[_0xb458('0x35')]:_0x61ff99[_0xb458('0x30')];if(_0x4ee87c[_0xb458('0x32')]['includeAll']){_0x4ac0d1['include']=[{'all':!![]}];}_0x4ac0d1=_['merge']({},_0x4ac0d1,_0x4ee87c[_0xb458('0x42')]);return db[_0xb458('0x2c')]['find'](_0x4ac0d1)['then'](handleEntityNotFound(_0x307d5e,null))[_0xb458('0x25')](respondWithResult(_0x307d5e,null))[_0xb458('0x44')](handleError(_0x307d5e,null));};exports['create']=function(_0x446927,_0x410894){return db[_0xb458('0x2c')]['create'](_0x446927[_0xb458('0x48')],{})[_0xb458('0x25')](respondWithResult(_0x410894,0xc9))[_0xb458('0x44')](handleError(_0x410894,null));};exports[_0xb458('0x23')]=function(_0x1417e0,_0x2f3595){if(_0x1417e0[_0xb458('0x48')]['id']){delete _0x1417e0[_0xb458('0x48')]['id'];}return db['MailSubstatus'][_0xb458('0x49')]({'where':{'id':_0x1417e0[_0xb458('0x46')]['id']}})[_0xb458('0x25')](handleEntityNotFound(_0x2f3595,null))['then'](saveUpdates(_0x1417e0[_0xb458('0x48')],null))[_0xb458('0x25')](respondWithResult(_0x2f3595,null))[_0xb458('0x44')](handleError(_0x2f3595,null));};exports['destroy']=function(_0xf678aa,_0x37031e){return db[_0xb458('0x2c')][_0xb458('0x49')]({'where':{'id':_0xf678aa['params']['id']}})[_0xb458('0x25')](handleEntityNotFound(_0x37031e,null))[_0xb458('0x25')](removeEntity(_0x37031e,null))[_0xb458('0x44')](handleError(_0x37031e,null));};exports[_0xb458('0x4a')]=function(_0x5457b2,_0x4829ca){return db[_0xb458('0x2c')][_0xb458('0x4a')]()['then'](respondWithResult(_0x4829ca,null))[_0xb458('0x44')](handleError(_0x4829ca,null));};
\ No newline at end of file