Built motion from commit ffdca78c.|2.6.24
[motion2.git] / server / api / smsTransferReport / smsTransferReport.controller.js
index 00503ac..e105907 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x684c=['../../config/license/util','../../mysqldb','end','status','json','offset','limit','set','apply','reject','update','then','error','stack','name','send','index','map','SmsTransferReport','fieldName','type','key','model','query','intersection','fields','length','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','options','count','includeAll','rows','show','params','keys','include','find','catch','create','body','describe','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment'];(function(_0x2298f0,_0x3bbf4f){var _0x39b136=function(_0xc2cd6e){while(--_0xc2cd6e){_0x2298f0['push'](_0x2298f0['shift']());}};_0x39b136(++_0x3bbf4f);}(_0x684c,0x1b3));var _0xc684=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x684c[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0xc684('0x0'));var emlformat=require(_0xc684('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xc684('0x2'));var jsonpatch=require(_0xc684('0x3'));var rp=require(_0xc684('0x4'));var moment=require(_0xc684('0x5'));var BPromise=require(_0xc684('0x6'));var Mustache=require('mustache');var util=require(_0xc684('0x7'));var path=require(_0xc684('0x8'));var sox=require(_0xc684('0x9'));var csv=require(_0xc684('0xa'));var ejs=require(_0xc684('0xb'));var fs=require('fs');var _=require(_0xc684('0xc'));var squel=require(_0xc684('0xd'));var crypto=require(_0xc684('0xe'));var jsforce=require(_0xc684('0xf'));var deskjs=require(_0xc684('0x10'));var toCsv=require(_0xc684('0xa'));var querystring=require(_0xc684('0x11'));var Papa=require(_0xc684('0x12'));var Redis=require(_0xc684('0x13'));var authService=require(_0xc684('0x14'));var qs=require(_0xc684('0x15'));var as=require(_0xc684('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc684('0x17'))(_0xc684('0x18'));var utils=require(_0xc684('0x19'));var config=require(_0xc684('0x1a'));var licenseUtil=require(_0xc684('0x1b'));var db=require(_0xc684('0x1c'))['db'];function respondWithStatusCode(_0x4f3ff9,_0x3004a6){_0x3004a6=_0x3004a6||0xcc;return function(_0x10cc25){if(_0x10cc25){return _0x4f3ff9['sendStatus'](_0x3004a6);}return _0x4f3ff9['status'](_0x3004a6)[_0xc684('0x1d')]();};}function respondWithResult(_0x34cfd7,_0x32d5da){_0x32d5da=_0x32d5da||0xc8;return function(_0x2ad4f1){if(_0x2ad4f1){return _0x34cfd7[_0xc684('0x1e')](_0x32d5da)[_0xc684('0x1f')](_0x2ad4f1);}};}function respondWithFilteredResult(_0x4f26f7,_0x56d76f){return function(_0x43235d){if(_0x43235d){var _0x599c93=_0x43235d['count'],_0x4f0ef9=_0x56d76f[_0xc684('0x20')],_0x51f0a8=_0x56d76f[_0xc684('0x20')]+_0x56d76f[_0xc684('0x21')],_0x47a8eb;if(_0x51f0a8>=_0x599c93){_0x51f0a8=_0x599c93;_0x47a8eb=0xc8;}else{_0x47a8eb=0xce;}_0x4f26f7[_0xc684('0x1e')](_0x47a8eb);return _0x4f26f7[_0xc684('0x22')]('Content-Range',_0x4f0ef9+'-'+_0x51f0a8+'/'+_0x599c93)[_0xc684('0x1f')](_0x43235d);}return null;};}function patchUpdates(_0x348d57){return function(_0x4afdd0){try{jsonpatch[_0xc684('0x23')](_0x4afdd0,_0x348d57,!![]);}catch(_0x35ea98){return BPromise[_0xc684('0x24')](_0x35ea98);}return _0x4afdd0['save']();};}function saveUpdates(_0x62c4e5,_0x11a159){return function(_0x1eddc7){if(_0x1eddc7){return _0x1eddc7[_0xc684('0x25')](_0x62c4e5)[_0xc684('0x26')](function(_0x4b7769){return _0x4b7769;});}return null;};}function removeEntity(_0x13d43f,_0x39f39a){return function(_0x1fb8b0){if(_0x1fb8b0){return _0x1fb8b0['destroy']()['then'](function(){_0x13d43f['status'](0xcc)[_0xc684('0x1d')]();});}};}function handleEntityNotFound(_0x15ce5d,_0xd2a943){return function(_0x4c6e46){if(!_0x4c6e46){_0x15ce5d['sendStatus'](0x194);}return _0x4c6e46;};}function handleError(_0x4e68e0,_0x501086){_0x501086=_0x501086||0x1f4;return function(_0x27c7cc){logger[_0xc684('0x27')](_0x27c7cc[_0xc684('0x28')]);if(_0x27c7cc['name']){delete _0x27c7cc[_0xc684('0x29')];}_0x4e68e0['status'](_0x501086)[_0xc684('0x2a')](_0x27c7cc);};}exports[_0xc684('0x2b')]=function(_0x13e09d,_0x49dad1){var _0x1f8e85={},_0x4d9094={},_0x279998={'count':0x0,'rows':[]};var _0x640ca1=_[_0xc684('0x2c')](db[_0xc684('0x2d')]['rawAttributes'],function(_0xc0f77b){return{'name':_0xc0f77b[_0xc684('0x2e')],'type':_0xc0f77b[_0xc684('0x2f')][_0xc684('0x30')]};});_0x4d9094[_0xc684('0x31')]=_[_0xc684('0x2c')](_0x640ca1,_0xc684('0x29'));_0x4d9094[_0xc684('0x32')]=_['keys'](_0x13e09d['query']);_0x4d9094['filters']=_[_0xc684('0x33')](_0x4d9094[_0xc684('0x31')],_0x4d9094['query']);_0x1f8e85['attributes']=_[_0xc684('0x33')](_0x4d9094['model'],qs[_0xc684('0x34')](_0x13e09d[_0xc684('0x32')][_0xc684('0x34')]));_0x1f8e85['attributes']=_0x1f8e85['attributes'][_0xc684('0x35')]?_0x1f8e85[_0xc684('0x36')]:_0x4d9094['model'];if(!_0x13e09d['query'][_0xc684('0x37')](_0xc684('0x38'))){_0x1f8e85[_0xc684('0x21')]=qs[_0xc684('0x21')](_0x13e09d[_0xc684('0x32')][_0xc684('0x21')]);_0x1f8e85['offset']=qs[_0xc684('0x20')](_0x13e09d['query']['offset']);}_0x1f8e85[_0xc684('0x39')]=qs[_0xc684('0x3a')](_0x13e09d['query']['sort']);_0x1f8e85[_0xc684('0x3b')]=qs[_0xc684('0x3c')](_[_0xc684('0x3d')](_0x13e09d[_0xc684('0x32')],_0x4d9094[_0xc684('0x3c')]),_0x640ca1);if(_0x13e09d['query'][_0xc684('0x3e')]){_0x1f8e85[_0xc684('0x3b')]=_['merge'](_0x1f8e85['where'],{'$or':_[_0xc684('0x2c')](_0x640ca1,function(_0x139972){if(_0x139972[_0xc684('0x2f')]!==_0xc684('0x3f')){var _0xd2f862={};_0xd2f862[_0x139972[_0xc684('0x29')]]={'$like':'%'+_0x13e09d[_0xc684('0x32')]['filter']+'%'};return _0xd2f862;}})});}_0x1f8e85=_['merge']({},_0x1f8e85,_0x13e09d[_0xc684('0x40')]);var _0x1a863f={'where':_0x1f8e85['where']};return db['SmsTransferReport']['count'](_0x1a863f)[_0xc684('0x26')](function(_0x4a9320){_0x279998[_0xc684('0x41')]=_0x4a9320;if(_0x13e09d[_0xc684('0x32')][_0xc684('0x42')]){_0x1f8e85['include']=[{'all':!![]}];}return db[_0xc684('0x2d')]['findAll'](_0x1f8e85);})[_0xc684('0x26')](function(_0x1cad26){_0x279998[_0xc684('0x43')]=_0x1cad26;return _0x279998;})[_0xc684('0x26')](respondWithFilteredResult(_0x49dad1,_0x1f8e85))['catch'](handleError(_0x49dad1,null));};exports[_0xc684('0x44')]=function(_0x448241,_0xd9eae7){var _0x232a86={'raw':!![],'where':{'id':_0x448241[_0xc684('0x45')]['id']}},_0x1497c2={};_0x1497c2['model']=_[_0xc684('0x46')](db['SmsTransferReport']['rawAttributes']);_0x1497c2[_0xc684('0x32')]=_[_0xc684('0x46')](_0x448241[_0xc684('0x32')]);_0x1497c2['filters']=_['intersection'](_0x1497c2['model'],_0x1497c2['query']);_0x232a86['attributes']=_[_0xc684('0x33')](_0x1497c2[_0xc684('0x31')],qs[_0xc684('0x34')](_0x448241['query'][_0xc684('0x34')]));_0x232a86['attributes']=_0x232a86[_0xc684('0x36')]['length']?_0x232a86[_0xc684('0x36')]:_0x1497c2[_0xc684('0x31')];if(_0x448241[_0xc684('0x32')][_0xc684('0x42')]){_0x232a86[_0xc684('0x47')]=[{'all':!![]}];}_0x232a86=_['merge']({},_0x232a86,_0x448241[_0xc684('0x40')]);return db[_0xc684('0x2d')][_0xc684('0x48')](_0x232a86)[_0xc684('0x26')](handleEntityNotFound(_0xd9eae7,null))[_0xc684('0x26')](respondWithResult(_0xd9eae7,null))[_0xc684('0x49')](handleError(_0xd9eae7,null));};exports[_0xc684('0x4a')]=function(_0x837f3e,_0x1bafa8){return db['SmsTransferReport'][_0xc684('0x4a')](_0x837f3e[_0xc684('0x4b')],{})['then'](respondWithResult(_0x1bafa8,0xc9))[_0xc684('0x49')](handleError(_0x1bafa8,null));};exports['update']=function(_0x357119,_0x5a36ab){if(_0x357119[_0xc684('0x4b')]['id']){delete _0x357119[_0xc684('0x4b')]['id'];}return db[_0xc684('0x2d')][_0xc684('0x48')]({'where':{'id':_0x357119[_0xc684('0x45')]['id']}})[_0xc684('0x26')](handleEntityNotFound(_0x5a36ab,null))[_0xc684('0x26')](saveUpdates(_0x357119[_0xc684('0x4b')],null))[_0xc684('0x26')](respondWithResult(_0x5a36ab,null))[_0xc684('0x49')](handleError(_0x5a36ab,null));};exports['destroy']=function(_0x16951f,_0x3c5a89){return db['SmsTransferReport']['find']({'where':{'id':_0x16951f['params']['id']}})[_0xc684('0x26')](handleEntityNotFound(_0x3c5a89,null))[_0xc684('0x26')](removeEntity(_0x3c5a89,null))[_0xc684('0x49')](handleError(_0x3c5a89,null));};exports[_0xc684('0x4c')]=function(_0x396923,_0x229939){return db['SmsTransferReport'][_0xc684('0x4c')]()[_0xc684('0x26')](respondWithResult(_0x229939,null))[_0xc684('0x49')](handleError(_0x229939,null));};
\ No newline at end of file
+var _0xd765=['mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','reject','then','destroy','error','name','send','index','map','SmsTransferReport','fieldName','type','query','intersection','model','attributes','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','VIRTUAL','merge','options','include','findAll','rows','catch','params','rawAttributes','keys','fields','includeAll','create','body','update','find','describe','eml-format','rimraf','fast-json-patch','moment','bluebird'];(function(_0x5d75d5,_0x512ec3){var _0x3542c8=function(_0x265362){while(--_0x265362){_0x5d75d5['push'](_0x5d75d5['shift']());}};_0x3542c8(++_0x512ec3);}(_0xd765,0xdc));var _0x5d76=function(_0x138adb,_0x193fee){_0x138adb=_0x138adb-0x0;var _0x1b27f2=_0xd765[_0x138adb];return _0x1b27f2;};'use strict';var emlformat=require(_0x5d76('0x0'));var rimraf=require(_0x5d76('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x5d76('0x2'));var rp=require('request-promise');var moment=require(_0x5d76('0x3'));var BPromise=require(_0x5d76('0x4'));var Mustache=require(_0x5d76('0x5'));var util=require(_0x5d76('0x6'));var path=require(_0x5d76('0x7'));var sox=require(_0x5d76('0x8'));var csv=require(_0x5d76('0x9'));var ejs=require(_0x5d76('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x5d76('0xb'));var squel=require(_0x5d76('0xc'));var crypto=require(_0x5d76('0xd'));var jsforce=require(_0x5d76('0xe'));var deskjs=require(_0x5d76('0xf'));var toCsv=require(_0x5d76('0x9'));var querystring=require(_0x5d76('0x10'));var Papa=require('papaparse');var Redis=require(_0x5d76('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x5d76('0x12'));var as=require(_0x5d76('0x13'));var hardwareService=require(_0x5d76('0x14'));var logger=require(_0x5d76('0x15'))('api');var utils=require(_0x5d76('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x5d76('0x17'));var db=require(_0x5d76('0x18'))['db'];function respondWithStatusCode(_0x4533cc,_0x1c2456){_0x1c2456=_0x1c2456||0xcc;return function(_0x6feb46){if(_0x6feb46){return _0x4533cc[_0x5d76('0x19')](_0x1c2456);}return _0x4533cc['status'](_0x1c2456)[_0x5d76('0x1a')]();};}function respondWithResult(_0x8a0c3f,_0x308ced){_0x308ced=_0x308ced||0xc8;return function(_0x4e97c9){if(_0x4e97c9){return _0x8a0c3f[_0x5d76('0x1b')](_0x308ced)[_0x5d76('0x1c')](_0x4e97c9);}};}function respondWithFilteredResult(_0x315422,_0x1e4b1a){return function(_0x3461ac){if(_0x3461ac){var _0x5b83f3=typeof _0x1e4b1a[_0x5d76('0x1d')]===_0x5d76('0x1e')&&typeof _0x1e4b1a[_0x5d76('0x1f')]===_0x5d76('0x1e');var _0x2b0493=_0x3461ac[_0x5d76('0x20')];var _0x154d86=_0x5b83f3?0x0:_0x1e4b1a['offset'];var _0x198789=_0x5b83f3?_0x3461ac[_0x5d76('0x20')]:_0x1e4b1a[_0x5d76('0x1d')]+_0x1e4b1a['limit'];var _0x5baf1f;if(_0x198789>=_0x2b0493){_0x198789=_0x2b0493;_0x5baf1f=0xc8;}else{_0x5baf1f=0xce;}_0x315422[_0x5d76('0x1b')](_0x5baf1f);return _0x315422['set'](_0x5d76('0x21'),_0x154d86+'-'+_0x198789+'/'+_0x2b0493)[_0x5d76('0x1c')](_0x3461ac);}return null;};}function patchUpdates(_0x3a3991){return function(_0x4fdf2f){try{jsonpatch['apply'](_0x4fdf2f,_0x3a3991,!![]);}catch(_0x280965){return BPromise[_0x5d76('0x22')](_0x280965);}return _0x4fdf2f['save']();};}function saveUpdates(_0x477517,_0x4c14b6){return function(_0xaaf176){if(_0xaaf176){return _0xaaf176['update'](_0x477517)[_0x5d76('0x23')](function(_0xbb3f55){return _0xbb3f55;});}return null;};}function removeEntity(_0x3f7885,_0xb50634){return function(_0x9d8328){if(_0x9d8328){return _0x9d8328[_0x5d76('0x24')]()[_0x5d76('0x23')](function(){_0x3f7885[_0x5d76('0x1b')](0xcc)[_0x5d76('0x1a')]();});}};}function handleEntityNotFound(_0x45a3fe,_0x4147c1){return function(_0x243038){if(!_0x243038){_0x45a3fe[_0x5d76('0x19')](0x194);}return _0x243038;};}function handleError(_0xf31d93,_0x383425){_0x383425=_0x383425||0x1f4;return function(_0x401163){logger[_0x5d76('0x25')](_0x401163['stack']);if(_0x401163[_0x5d76('0x26')]){delete _0x401163[_0x5d76('0x26')];}_0xf31d93[_0x5d76('0x1b')](_0x383425)[_0x5d76('0x27')](_0x401163);};}exports[_0x5d76('0x28')]=function(_0x1129b3,_0x4d1973){var _0x2e1555={},_0x1ae682={},_0x2685bc={'count':0x0,'rows':[]};var _0x2ba2f8=_[_0x5d76('0x29')](db[_0x5d76('0x2a')]['rawAttributes'],function(_0x215662){return{'name':_0x215662[_0x5d76('0x2b')],'type':_0x215662[_0x5d76('0x2c')]['key']};});_0x1ae682['model']=_[_0x5d76('0x29')](_0x2ba2f8,_0x5d76('0x26'));_0x1ae682['query']=_['keys'](_0x1129b3[_0x5d76('0x2d')]);_0x1ae682['filters']=_[_0x5d76('0x2e')](_0x1ae682[_0x5d76('0x2f')],_0x1ae682['query']);_0x2e1555['attributes']=_['intersection'](_0x1ae682[_0x5d76('0x2f')],qs['fields'](_0x1129b3['query']['fields']));_0x2e1555[_0x5d76('0x30')]=_0x2e1555[_0x5d76('0x30')][_0x5d76('0x31')]?_0x2e1555[_0x5d76('0x30')]:_0x1ae682[_0x5d76('0x2f')];if(!_0x1129b3[_0x5d76('0x2d')][_0x5d76('0x32')](_0x5d76('0x33'))){_0x2e1555[_0x5d76('0x1f')]=qs[_0x5d76('0x1f')](_0x1129b3[_0x5d76('0x2d')][_0x5d76('0x1f')]);_0x2e1555[_0x5d76('0x1d')]=qs[_0x5d76('0x1d')](_0x1129b3['query'][_0x5d76('0x1d')]);}_0x2e1555[_0x5d76('0x34')]=qs[_0x5d76('0x35')](_0x1129b3[_0x5d76('0x2d')][_0x5d76('0x35')]);_0x2e1555['where']=qs[_0x5d76('0x36')](_[_0x5d76('0x37')](_0x1129b3[_0x5d76('0x2d')],_0x1ae682[_0x5d76('0x36')]),_0x2ba2f8);if(_0x1129b3[_0x5d76('0x2d')][_0x5d76('0x38')]){_0x2e1555['where']=_['merge'](_0x2e1555[_0x5d76('0x39')],{'$or':_['map'](_0x2ba2f8,function(_0x2103ff){if(_0x2103ff['type']!==_0x5d76('0x3a')){var _0x5e5e9b={};_0x5e5e9b[_0x2103ff[_0x5d76('0x26')]]={'$like':'%'+_0x1129b3['query'][_0x5d76('0x38')]+'%'};return _0x5e5e9b;}})});}_0x2e1555=_[_0x5d76('0x3b')]({},_0x2e1555,_0x1129b3[_0x5d76('0x3c')]);var _0xb661b={'where':_0x2e1555[_0x5d76('0x39')]};return db[_0x5d76('0x2a')][_0x5d76('0x20')](_0xb661b)['then'](function(_0x5b4b86){_0x2685bc['count']=_0x5b4b86;if(_0x1129b3[_0x5d76('0x2d')]['includeAll']){_0x2e1555[_0x5d76('0x3d')]=[{'all':!![]}];}return db[_0x5d76('0x2a')][_0x5d76('0x3e')](_0x2e1555);})['then'](function(_0x4f62e9){_0x2685bc[_0x5d76('0x3f')]=_0x4f62e9;return _0x2685bc;})[_0x5d76('0x23')](respondWithFilteredResult(_0x4d1973,_0x2e1555))[_0x5d76('0x40')](handleError(_0x4d1973,null));};exports['show']=function(_0x4dfb36,_0x44c35f){var _0x348c93={'raw':!![],'where':{'id':_0x4dfb36[_0x5d76('0x41')]['id']}},_0x5ec4c2={};_0x5ec4c2[_0x5d76('0x2f')]=_['keys'](db[_0x5d76('0x2a')][_0x5d76('0x42')]);_0x5ec4c2['query']=_[_0x5d76('0x43')](_0x4dfb36[_0x5d76('0x2d')]);_0x5ec4c2[_0x5d76('0x36')]=_[_0x5d76('0x2e')](_0x5ec4c2[_0x5d76('0x2f')],_0x5ec4c2[_0x5d76('0x2d')]);_0x348c93[_0x5d76('0x30')]=_[_0x5d76('0x2e')](_0x5ec4c2['model'],qs[_0x5d76('0x44')](_0x4dfb36[_0x5d76('0x2d')][_0x5d76('0x44')]));_0x348c93[_0x5d76('0x30')]=_0x348c93[_0x5d76('0x30')][_0x5d76('0x31')]?_0x348c93[_0x5d76('0x30')]:_0x5ec4c2['model'];if(_0x4dfb36['query'][_0x5d76('0x45')]){_0x348c93[_0x5d76('0x3d')]=[{'all':!![]}];}_0x348c93=_[_0x5d76('0x3b')]({},_0x348c93,_0x4dfb36[_0x5d76('0x3c')]);return db[_0x5d76('0x2a')]['find'](_0x348c93)[_0x5d76('0x23')](handleEntityNotFound(_0x44c35f,null))['then'](respondWithResult(_0x44c35f,null))[_0x5d76('0x40')](handleError(_0x44c35f,null));};exports['create']=function(_0x1c9e28,_0x4f5ab7){return db[_0x5d76('0x2a')][_0x5d76('0x46')](_0x1c9e28[_0x5d76('0x47')],{})['then'](respondWithResult(_0x4f5ab7,0xc9))['catch'](handleError(_0x4f5ab7,null));};exports[_0x5d76('0x48')]=function(_0x59ab31,_0x416527){if(_0x59ab31['body']['id']){delete _0x59ab31[_0x5d76('0x47')]['id'];}return db[_0x5d76('0x2a')][_0x5d76('0x49')]({'where':{'id':_0x59ab31[_0x5d76('0x41')]['id']}})[_0x5d76('0x23')](handleEntityNotFound(_0x416527,null))['then'](saveUpdates(_0x59ab31[_0x5d76('0x47')],null))[_0x5d76('0x23')](respondWithResult(_0x416527,null))[_0x5d76('0x40')](handleError(_0x416527,null));};exports[_0x5d76('0x24')]=function(_0xbd3b59,_0x5e44c9){return db[_0x5d76('0x2a')][_0x5d76('0x49')]({'where':{'id':_0xbd3b59['params']['id']}})[_0x5d76('0x23')](handleEntityNotFound(_0x5e44c9,null))['then'](removeEntity(_0x5e44c9,null))['catch'](handleError(_0x5e44c9,null));};exports[_0x5d76('0x4a')]=function(_0x284a84,_0x5ebc9c){return db[_0x5d76('0x2a')][_0x5d76('0x4a')]()[_0x5d76('0x23')](respondWithResult(_0x5ebc9c,null))[_0x5d76('0x40')](handleError(_0x5ebc9c,null));};
\ No newline at end of file