Built motion from commit 775e2a94.|2.6.3
[motion2.git] / server / api / faxApplication / faxApplication.controller.js
index 57520f0..9811285 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2de3=['fieldName','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','options','includeAll','findAll','rows','catch','show','params','keys','rawAttributes','create','body','find','eml-format','rimraf','fast-json-patch','request-promise','mustache','path','sox','to-csv','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','set','json','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','FaxApplication'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0x2de3,0xaa));var _0x32de=function(_0x4fa5fc,_0x2977a3){_0x4fa5fc=_0x4fa5fc-0x0;var _0x451675=_0x2de3[_0x4fa5fc];return _0x451675;};'use strict';var emlformat=require(_0x32de('0x0'));var rimraf=require(_0x32de('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x32de('0x2'));var rp=require(_0x32de('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x32de('0x4'));var util=require('util');var path=require(_0x32de('0x5'));var sox=require(_0x32de('0x6'));var csv=require(_0x32de('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x32de('0x8'));var crypto=require(_0x32de('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x32de('0x7'));var querystring=require(_0x32de('0xa'));var Papa=require(_0x32de('0xb'));var Redis=require(_0x32de('0xc'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x32de('0xd'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x32de('0xe'))('api');var utils=require(_0x32de('0xf'));var config=require(_0x32de('0x10'));var licenseUtil=require(_0x32de('0x11'));var db=require(_0x32de('0x12'))['db'];function respondWithStatusCode(_0x4e24f1,_0x3aeb5e){_0x3aeb5e=_0x3aeb5e||0xcc;return function(_0x2eec20){if(_0x2eec20){return _0x4e24f1[_0x32de('0x13')](_0x3aeb5e);}return _0x4e24f1[_0x32de('0x14')](_0x3aeb5e)[_0x32de('0x15')]();};}function respondWithResult(_0x41083a,_0x4a5006){_0x4a5006=_0x4a5006||0xc8;return function(_0x4fff40){if(_0x4fff40){return _0x41083a[_0x32de('0x14')](_0x4a5006)['json'](_0x4fff40);}};}function respondWithFilteredResult(_0x4f6bec,_0x3bed9e){return function(_0x217f38){if(_0x217f38){var _0x4889f3=typeof _0x3bed9e[_0x32de('0x16')]===_0x32de('0x17')&&typeof _0x3bed9e['limit']===_0x32de('0x17');var _0x3ca930=_0x217f38[_0x32de('0x18')];var _0x58f8aa=_0x4889f3?0x0:_0x3bed9e[_0x32de('0x16')];var _0x2b7a7c=_0x4889f3?_0x217f38[_0x32de('0x18')]:_0x3bed9e[_0x32de('0x16')]+_0x3bed9e['limit'];var _0x1d8c0f;if(_0x2b7a7c>=_0x3ca930){_0x2b7a7c=_0x3ca930;_0x1d8c0f=0xc8;}else{_0x1d8c0f=0xce;}_0x4f6bec[_0x32de('0x14')](_0x1d8c0f);return _0x4f6bec[_0x32de('0x19')]('Content-Range',_0x58f8aa+'-'+_0x2b7a7c+'/'+_0x3ca930)[_0x32de('0x1a')](_0x217f38);}return null;};}function patchUpdates(_0x19cae2){return function(_0x4188d6){try{jsonpatch[_0x32de('0x1b')](_0x4188d6,_0x19cae2,!![]);}catch(_0x3fad52){return BPromise[_0x32de('0x1c')](_0x3fad52);}return _0x4188d6[_0x32de('0x1d')]();};}function saveUpdates(_0x4c4bd2,_0xf140e9){return function(_0xf25295){if(_0xf25295){return _0xf25295[_0x32de('0x1e')](_0x4c4bd2)[_0x32de('0x1f')](function(_0x3c2738){return _0x3c2738;});}return null;};}function removeEntity(_0x6bf9d0,_0x3c7c29){return function(_0x2d62f1){if(_0x2d62f1){return _0x2d62f1[_0x32de('0x20')]()[_0x32de('0x1f')](function(){_0x6bf9d0[_0x32de('0x14')](0xcc)[_0x32de('0x15')]();});}};}function handleEntityNotFound(_0x4795d2,_0x39c3a0){return function(_0x277989){if(!_0x277989){_0x4795d2['sendStatus'](0x194);}return _0x277989;};}function handleError(_0x3029d1,_0x5c2a2f){_0x5c2a2f=_0x5c2a2f||0x1f4;return function(_0x41b35a){logger[_0x32de('0x21')](_0x41b35a[_0x32de('0x22')]);if(_0x41b35a[_0x32de('0x23')]){delete _0x41b35a[_0x32de('0x23')];}_0x3029d1['status'](_0x5c2a2f)[_0x32de('0x24')](_0x41b35a);};}exports[_0x32de('0x25')]=function(_0x1a49d3,_0x2b6cd6){var _0x1b5902={},_0x492bb4={},_0x459434={'count':0x0,'rows':[]};var _0x53001f=_[_0x32de('0x26')](db[_0x32de('0x27')]['rawAttributes'],function(_0x21e677){return{'name':_0x21e677[_0x32de('0x28')],'type':_0x21e677['type'][_0x32de('0x29')]};});_0x492bb4[_0x32de('0x2a')]=_[_0x32de('0x26')](_0x53001f,_0x32de('0x23'));_0x492bb4[_0x32de('0x2b')]=_['keys'](_0x1a49d3[_0x32de('0x2b')]);_0x492bb4[_0x32de('0x2c')]=_[_0x32de('0x2d')](_0x492bb4[_0x32de('0x2a')],_0x492bb4[_0x32de('0x2b')]);_0x1b5902['attributes']=_[_0x32de('0x2d')](_0x492bb4[_0x32de('0x2a')],qs[_0x32de('0x2e')](_0x1a49d3[_0x32de('0x2b')][_0x32de('0x2e')]));_0x1b5902['attributes']=_0x1b5902[_0x32de('0x2f')][_0x32de('0x30')]?_0x1b5902[_0x32de('0x2f')]:_0x492bb4['model'];if(!_0x1a49d3[_0x32de('0x2b')][_0x32de('0x31')](_0x32de('0x32'))){_0x1b5902['limit']=qs[_0x32de('0x33')](_0x1a49d3[_0x32de('0x2b')][_0x32de('0x33')]);_0x1b5902['offset']=qs[_0x32de('0x16')](_0x1a49d3[_0x32de('0x2b')][_0x32de('0x16')]);}_0x1b5902[_0x32de('0x34')]=qs[_0x32de('0x35')](_0x1a49d3[_0x32de('0x2b')][_0x32de('0x35')]);_0x1b5902['where']=qs['filters'](_[_0x32de('0x36')](_0x1a49d3['query'],_0x492bb4[_0x32de('0x2c')]),_0x53001f);if(_0x1a49d3[_0x32de('0x2b')][_0x32de('0x37')]){_0x1b5902[_0x32de('0x38')]=_[_0x32de('0x39')](_0x1b5902[_0x32de('0x38')],{'$or':_[_0x32de('0x26')](_0x53001f,function(_0x5c0512){if(_0x5c0512['type']!=='VIRTUAL'){var _0x383639={};_0x383639[_0x5c0512['name']]={'$like':'%'+_0x1a49d3[_0x32de('0x2b')][_0x32de('0x37')]+'%'};return _0x383639;}})});}_0x1b5902=_['merge']({},_0x1b5902,_0x1a49d3[_0x32de('0x3a')]);var _0x485d9a={'where':_0x1b5902[_0x32de('0x38')]};return db['FaxApplication']['count'](_0x485d9a)[_0x32de('0x1f')](function(_0x2238cb){_0x459434[_0x32de('0x18')]=_0x2238cb;if(_0x1a49d3[_0x32de('0x2b')][_0x32de('0x3b')]){_0x1b5902['include']=[{'all':!![]}];}return db[_0x32de('0x27')][_0x32de('0x3c')](_0x1b5902);})[_0x32de('0x1f')](function(_0x22d872){_0x459434[_0x32de('0x3d')]=_0x22d872;return _0x459434;})[_0x32de('0x1f')](respondWithFilteredResult(_0x2b6cd6,_0x1b5902))[_0x32de('0x3e')](handleError(_0x2b6cd6,null));};exports[_0x32de('0x3f')]=function(_0x2230f4,_0xea2a04){var _0xaf5945={'raw':!![],'where':{'id':_0x2230f4[_0x32de('0x40')]['id']}},_0x39e05b={};_0x39e05b[_0x32de('0x2a')]=_[_0x32de('0x41')](db[_0x32de('0x27')][_0x32de('0x42')]);_0x39e05b[_0x32de('0x2b')]=_[_0x32de('0x41')](_0x2230f4[_0x32de('0x2b')]);_0x39e05b[_0x32de('0x2c')]=_[_0x32de('0x2d')](_0x39e05b['model'],_0x39e05b[_0x32de('0x2b')]);_0xaf5945[_0x32de('0x2f')]=_['intersection'](_0x39e05b['model'],qs[_0x32de('0x2e')](_0x2230f4['query'][_0x32de('0x2e')]));_0xaf5945[_0x32de('0x2f')]=_0xaf5945[_0x32de('0x2f')][_0x32de('0x30')]?_0xaf5945[_0x32de('0x2f')]:_0x39e05b['model'];if(_0x2230f4[_0x32de('0x2b')]['includeAll']){_0xaf5945['include']=[{'all':!![]}];}_0xaf5945=_[_0x32de('0x39')]({},_0xaf5945,_0x2230f4[_0x32de('0x3a')]);return db[_0x32de('0x27')]['find'](_0xaf5945)[_0x32de('0x1f')](handleEntityNotFound(_0xea2a04,null))['then'](respondWithResult(_0xea2a04,null))['catch'](handleError(_0xea2a04,null));};exports[_0x32de('0x43')]=function(_0x252c72,_0x3f5737){return db['FaxApplication'][_0x32de('0x43')](_0x252c72[_0x32de('0x44')],{})[_0x32de('0x1f')](respondWithResult(_0x3f5737,0xc9))[_0x32de('0x3e')](handleError(_0x3f5737,null));};exports['update']=function(_0x229628,_0x430422){if(_0x229628[_0x32de('0x44')]['id']){delete _0x229628[_0x32de('0x44')]['id'];}return db['FaxApplication'][_0x32de('0x45')]({'where':{'id':_0x229628[_0x32de('0x40')]['id']}})[_0x32de('0x1f')](handleEntityNotFound(_0x430422,null))[_0x32de('0x1f')](saveUpdates(_0x229628[_0x32de('0x44')],null))[_0x32de('0x1f')](respondWithResult(_0x430422,null))['catch'](handleError(_0x430422,null));};exports[_0x32de('0x20')]=function(_0x56fa75,_0x511ede){return db[_0x32de('0x27')]['find']({'where':{'id':_0x56fa75[_0x32de('0x40')]['id']}})[_0x32de('0x1f')](handleEntityNotFound(_0x511ede,null))[_0x32de('0x1f')](removeEntity(_0x511ede,null))[_0x32de('0x3e')](handleError(_0x511ede,null));};
\ No newline at end of file
+var _0xed9b=['sort','where','pick','filter','merge','VIRTUAL','options','then','findAll','catch','show','params','rawAttributes','includeAll','include','find','create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','destroy','end','stack','name','index','map','FaxApplication','fieldName','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order'];(function(_0x37dbe8,_0x10e968){var _0x2416b6=function(_0xd39957){while(--_0xd39957){_0x37dbe8['push'](_0x37dbe8['shift']());}};_0x2416b6(++_0x10e968);}(_0xed9b,0x193));var _0xbed9=function(_0x2ff762,_0x342c0b){_0x2ff762=_0x2ff762-0x0;var _0x158b02=_0xed9b[_0x2ff762];return _0x158b02;};'use strict';var emlformat=require(_0xbed9('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xbed9('0x1'));var jsonpatch=require(_0xbed9('0x2'));var rp=require(_0xbed9('0x3'));var moment=require(_0xbed9('0x4'));var BPromise=require(_0xbed9('0x5'));var Mustache=require(_0xbed9('0x6'));var util=require(_0xbed9('0x7'));var path=require(_0xbed9('0x8'));var sox=require(_0xbed9('0x9'));var csv=require('to-csv');var ejs=require(_0xbed9('0xa'));var fs=require('fs');var fs_extra=require(_0xbed9('0xb'));var _=require(_0xbed9('0xc'));var squel=require(_0xbed9('0xd'));var crypto=require(_0xbed9('0xe'));var jsforce=require(_0xbed9('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xbed9('0x10'));var querystring=require(_0xbed9('0x11'));var Papa=require(_0xbed9('0x12'));var Redis=require(_0xbed9('0x13'));var authService=require(_0xbed9('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xbed9('0x15'));var hardwareService=require(_0xbed9('0x16'));var logger=require(_0xbed9('0x17'))('api');var utils=require('../../config/utils');var config=require(_0xbed9('0x18'));var licenseUtil=require(_0xbed9('0x19'));var db=require(_0xbed9('0x1a'))['db'];function respondWithStatusCode(_0x364bbb,_0x2f10c0){_0x2f10c0=_0x2f10c0||0xcc;return function(_0x34face){if(_0x34face){return _0x364bbb[_0xbed9('0x1b')](_0x2f10c0);}return _0x364bbb[_0xbed9('0x1c')](_0x2f10c0)['end']();};}function respondWithResult(_0x166195,_0x16a30f){_0x16a30f=_0x16a30f||0xc8;return function(_0x22641b){if(_0x22641b){return _0x166195[_0xbed9('0x1c')](_0x16a30f)[_0xbed9('0x1d')](_0x22641b);}};}function respondWithFilteredResult(_0x52b0b0,_0x29fc03){return function(_0x3ae001){if(_0x3ae001){var _0x19be0f=typeof _0x29fc03['offset']===_0xbed9('0x1e')&&typeof _0x29fc03[_0xbed9('0x1f')]===_0xbed9('0x1e');var _0x32c611=_0x3ae001[_0xbed9('0x20')];var _0x3f6d8d=_0x19be0f?0x0:_0x29fc03['offset'];var _0x399a1a=_0x19be0f?_0x3ae001['count']:_0x29fc03[_0xbed9('0x21')]+_0x29fc03[_0xbed9('0x1f')];var _0x46062a;if(_0x399a1a>=_0x32c611){_0x399a1a=_0x32c611;_0x46062a=0xc8;}else{_0x46062a=0xce;}_0x52b0b0['status'](_0x46062a);return _0x52b0b0[_0xbed9('0x22')](_0xbed9('0x23'),_0x3f6d8d+'-'+_0x399a1a+'/'+_0x32c611)[_0xbed9('0x1d')](_0x3ae001);}return null;};}function patchUpdates(_0x6493d0){return function(_0x34672f){try{jsonpatch[_0xbed9('0x24')](_0x34672f,_0x6493d0,!![]);}catch(_0x5898bf){return BPromise[_0xbed9('0x25')](_0x5898bf);}return _0x34672f[_0xbed9('0x26')]();};}function saveUpdates(_0x3f197a,_0x4db180){return function(_0x5f015f){if(_0x5f015f){return _0x5f015f[_0xbed9('0x27')](_0x3f197a)['then'](function(_0x1510a0){return _0x1510a0;});}return null;};}function removeEntity(_0x240dc4,_0x22bbf2){return function(_0x5d1852){if(_0x5d1852){return _0x5d1852[_0xbed9('0x28')]()['then'](function(){_0x240dc4[_0xbed9('0x1c')](0xcc)[_0xbed9('0x29')]();});}};}function handleEntityNotFound(_0xce85c7,_0x3bee17){return function(_0x153bc1){if(!_0x153bc1){_0xce85c7[_0xbed9('0x1b')](0x194);}return _0x153bc1;};}function handleError(_0x623894,_0x5938c5){_0x5938c5=_0x5938c5||0x1f4;return function(_0x414d8f){logger['error'](_0x414d8f[_0xbed9('0x2a')]);if(_0x414d8f[_0xbed9('0x2b')]){delete _0x414d8f[_0xbed9('0x2b')];}_0x623894['status'](_0x5938c5)['send'](_0x414d8f);};}exports[_0xbed9('0x2c')]=function(_0x4e1705,_0x340ba0){var _0x3b0f0a={},_0x1e6701={},_0x26fd86={'count':0x0,'rows':[]};var _0x346191=_[_0xbed9('0x2d')](db[_0xbed9('0x2e')]['rawAttributes'],function(_0x3de4b7){return{'name':_0x3de4b7[_0xbed9('0x2f')],'type':_0x3de4b7['type']['key']};});_0x1e6701[_0xbed9('0x30')]=_['map'](_0x346191,_0xbed9('0x2b'));_0x1e6701[_0xbed9('0x31')]=_[_0xbed9('0x32')](_0x4e1705[_0xbed9('0x31')]);_0x1e6701[_0xbed9('0x33')]=_[_0xbed9('0x34')](_0x1e6701[_0xbed9('0x30')],_0x1e6701[_0xbed9('0x31')]);_0x3b0f0a[_0xbed9('0x35')]=_[_0xbed9('0x34')](_0x1e6701[_0xbed9('0x30')],qs[_0xbed9('0x36')](_0x4e1705[_0xbed9('0x31')][_0xbed9('0x36')]));_0x3b0f0a[_0xbed9('0x35')]=_0x3b0f0a[_0xbed9('0x35')][_0xbed9('0x37')]?_0x3b0f0a[_0xbed9('0x35')]:_0x1e6701[_0xbed9('0x30')];if(!_0x4e1705[_0xbed9('0x31')][_0xbed9('0x38')](_0xbed9('0x39'))){_0x3b0f0a['limit']=qs[_0xbed9('0x1f')](_0x4e1705['query'][_0xbed9('0x1f')]);_0x3b0f0a[_0xbed9('0x21')]=qs[_0xbed9('0x21')](_0x4e1705[_0xbed9('0x31')][_0xbed9('0x21')]);}_0x3b0f0a[_0xbed9('0x3a')]=qs[_0xbed9('0x3b')](_0x4e1705[_0xbed9('0x31')][_0xbed9('0x3b')]);_0x3b0f0a[_0xbed9('0x3c')]=qs['filters'](_[_0xbed9('0x3d')](_0x4e1705['query'],_0x1e6701[_0xbed9('0x33')]),_0x346191);if(_0x4e1705[_0xbed9('0x31')][_0xbed9('0x3e')]){_0x3b0f0a['where']=_[_0xbed9('0x3f')](_0x3b0f0a[_0xbed9('0x3c')],{'$or':_[_0xbed9('0x2d')](_0x346191,function(_0x3a8787){if(_0x3a8787['type']!==_0xbed9('0x40')){var _0x126ec2={};_0x126ec2[_0x3a8787['name']]={'$like':'%'+_0x4e1705[_0xbed9('0x31')][_0xbed9('0x3e')]+'%'};return _0x126ec2;}})});}_0x3b0f0a=_[_0xbed9('0x3f')]({},_0x3b0f0a,_0x4e1705[_0xbed9('0x41')]);var _0x31e6ba={'where':_0x3b0f0a[_0xbed9('0x3c')]};return db[_0xbed9('0x2e')][_0xbed9('0x20')](_0x31e6ba)[_0xbed9('0x42')](function(_0x553a4a){_0x26fd86[_0xbed9('0x20')]=_0x553a4a;if(_0x4e1705[_0xbed9('0x31')]['includeAll']){_0x3b0f0a['include']=[{'all':!![]}];}return db['FaxApplication'][_0xbed9('0x43')](_0x3b0f0a);})[_0xbed9('0x42')](function(_0x8f3185){_0x26fd86['rows']=_0x8f3185;return _0x26fd86;})[_0xbed9('0x42')](respondWithFilteredResult(_0x340ba0,_0x3b0f0a))[_0xbed9('0x44')](handleError(_0x340ba0,null));};exports[_0xbed9('0x45')]=function(_0x12df9b,_0x1266a0){var _0x4d79c8={'raw':!![],'where':{'id':_0x12df9b[_0xbed9('0x46')]['id']}},_0x3b2191={};_0x3b2191[_0xbed9('0x30')]=_['keys'](db['FaxApplication'][_0xbed9('0x47')]);_0x3b2191['query']=_[_0xbed9('0x32')](_0x12df9b['query']);_0x3b2191[_0xbed9('0x33')]=_['intersection'](_0x3b2191['model'],_0x3b2191['query']);_0x4d79c8[_0xbed9('0x35')]=_[_0xbed9('0x34')](_0x3b2191[_0xbed9('0x30')],qs[_0xbed9('0x36')](_0x12df9b['query']['fields']));_0x4d79c8[_0xbed9('0x35')]=_0x4d79c8[_0xbed9('0x35')]['length']?_0x4d79c8[_0xbed9('0x35')]:_0x3b2191[_0xbed9('0x30')];if(_0x12df9b['query'][_0xbed9('0x48')]){_0x4d79c8[_0xbed9('0x49')]=[{'all':!![]}];}_0x4d79c8=_[_0xbed9('0x3f')]({},_0x4d79c8,_0x12df9b[_0xbed9('0x41')]);return db[_0xbed9('0x2e')][_0xbed9('0x4a')](_0x4d79c8)[_0xbed9('0x42')](handleEntityNotFound(_0x1266a0,null))[_0xbed9('0x42')](respondWithResult(_0x1266a0,null))[_0xbed9('0x44')](handleError(_0x1266a0,null));};exports['create']=function(_0x5c03fe,_0x3f2695){return db['FaxApplication'][_0xbed9('0x4b')](_0x5c03fe[_0xbed9('0x4c')],{})[_0xbed9('0x42')](respondWithResult(_0x3f2695,0xc9))['catch'](handleError(_0x3f2695,null));};exports[_0xbed9('0x27')]=function(_0x4e908c,_0x49afd2){if(_0x4e908c[_0xbed9('0x4c')]['id']){delete _0x4e908c[_0xbed9('0x4c')]['id'];}return db[_0xbed9('0x2e')]['find']({'where':{'id':_0x4e908c['params']['id']}})[_0xbed9('0x42')](handleEntityNotFound(_0x49afd2,null))[_0xbed9('0x42')](saveUpdates(_0x4e908c[_0xbed9('0x4c')],null))[_0xbed9('0x42')](respondWithResult(_0x49afd2,null))[_0xbed9('0x44')](handleError(_0x49afd2,null));};exports['destroy']=function(_0x5c3297,_0x1e126c){return db[_0xbed9('0x2e')][_0xbed9('0x4a')]({'where':{'id':_0x5c3297['params']['id']}})[_0xbed9('0x42')](handleEntityNotFound(_0x1e126c,null))[_0xbed9('0x42')](removeEntity(_0x1e126c,null))[_0xbed9('0x44')](handleError(_0x1e126c,null));};
\ No newline at end of file