Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / squareReportDetail / squareReportDetail.controller.js
index 7ce3948..139abcf 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x4706=['fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','offset','undefined','count','set','Content-Range','json','apply','save','then','end','name','send','index','SquareDetailsReport','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','length','find','create','body','update','destroy','describe','eml-format','rimraf','zip-dir'];(function(_0x306250,_0x2c44ce){var _0x39e362=function(_0x3cf176){while(--_0x3cf176){_0x306250['push'](_0x306250['shift']());}};_0x39e362(++_0x2c44ce);}(_0x4706,0x17e));var _0x6470=function(_0x362d98,_0xf5ed45){_0x362d98=_0x362d98-0x0;var _0x4e12c2=_0x4706[_0x362d98];return _0x4e12c2;};'use strict';var emlformat=require(_0x6470('0x0'));var rimraf=require(_0x6470('0x1'));var zipdir=require(_0x6470('0x2'));var jsonpatch=require(_0x6470('0x3'));var rp=require(_0x6470('0x4'));var moment=require(_0x6470('0x5'));var BPromise=require(_0x6470('0x6'));var Mustache=require(_0x6470('0x7'));var util=require(_0x6470('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x6470('0x9'));var ejs=require(_0x6470('0xa'));var fs=require('fs');var fs_extra=require(_0x6470('0xb'));var _=require(_0x6470('0xc'));var squel=require('squel');var crypto=require(_0x6470('0xd'));var jsforce=require(_0x6470('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x6470('0x9'));var querystring=require(_0x6470('0xf'));var Papa=require(_0x6470('0x10'));var Redis=require(_0x6470('0x11'));var authService=require(_0x6470('0x12'));var qs=require(_0x6470('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6470('0x14'));var logger=require(_0x6470('0x15'))(_0x6470('0x16'));var utils=require(_0x6470('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6470('0x18'))['db'];function respondWithStatusCode(_0x325f43,_0x1f5f40){_0x1f5f40=_0x1f5f40||0xcc;return function(_0x4e7d76){if(_0x4e7d76){return _0x325f43[_0x6470('0x19')](_0x1f5f40);}return _0x325f43[_0x6470('0x1a')](_0x1f5f40)['end']();};}function respondWithResult(_0x44b6a7,_0x51cf40){_0x51cf40=_0x51cf40||0xc8;return function(_0x2186eb){if(_0x2186eb){return _0x44b6a7[_0x6470('0x1a')](_0x51cf40)['json'](_0x2186eb);}};}function respondWithFilteredResult(_0x3747e2,_0x2adfb1){return function(_0x4ba0de){if(_0x4ba0de){var _0x50fd0b=typeof _0x2adfb1[_0x6470('0x1b')]===_0x6470('0x1c')&&typeof _0x2adfb1['limit']===_0x6470('0x1c');var _0x4c83e1=_0x4ba0de[_0x6470('0x1d')];var _0x21c020=_0x50fd0b?0x0:_0x2adfb1['offset'];var _0x3623da=_0x50fd0b?_0x4ba0de[_0x6470('0x1d')]:_0x2adfb1['offset']+_0x2adfb1['limit'];var _0x51a121;if(_0x3623da>=_0x4c83e1){_0x3623da=_0x4c83e1;_0x51a121=0xc8;}else{_0x51a121=0xce;}_0x3747e2[_0x6470('0x1a')](_0x51a121);return _0x3747e2[_0x6470('0x1e')](_0x6470('0x1f'),_0x21c020+'-'+_0x3623da+'/'+_0x4c83e1)[_0x6470('0x20')](_0x4ba0de);}return null;};}function patchUpdates(_0x5cdc9d){return function(_0x241185){try{jsonpatch[_0x6470('0x21')](_0x241185,_0x5cdc9d,!![]);}catch(_0x4a780b){return BPromise['reject'](_0x4a780b);}return _0x241185[_0x6470('0x22')]();};}function saveUpdates(_0x4cc130,_0xc719bd){return function(_0x358e0c){if(_0x358e0c){return _0x358e0c['update'](_0x4cc130)[_0x6470('0x23')](function(_0xcce43){return _0xcce43;});}return null;};}function removeEntity(_0x44a7fc,_0x681edc){return function(_0x44c4e6){if(_0x44c4e6){return _0x44c4e6['destroy']()['then'](function(){_0x44a7fc[_0x6470('0x1a')](0xcc)[_0x6470('0x24')]();});}};}function handleEntityNotFound(_0x52e786,_0x512057){return function(_0x2dfbde){if(!_0x2dfbde){_0x52e786[_0x6470('0x19')](0x194);}return _0x2dfbde;};}function handleError(_0x179cc2,_0x27d8b7){_0x27d8b7=_0x27d8b7||0x1f4;return function(_0x602400){logger['error'](_0x602400['stack']);if(_0x602400[_0x6470('0x25')]){delete _0x602400[_0x6470('0x25')];}_0x179cc2[_0x6470('0x1a')](_0x27d8b7)[_0x6470('0x26')](_0x602400);};}exports[_0x6470('0x27')]=function(_0x2d90ec,_0x110c43){var _0x2f20a6={},_0x1dfa70={},_0x21d847={'count':0x0,'rows':[]};var _0xe82484=_['map'](db[_0x6470('0x28')][_0x6470('0x29')],function(_0x1019b7){return{'name':_0x1019b7[_0x6470('0x2a')],'type':_0x1019b7['type'][_0x6470('0x2b')]};});_0x1dfa70[_0x6470('0x2c')]=_[_0x6470('0x2d')](_0xe82484,_0x6470('0x25'));_0x1dfa70[_0x6470('0x2e')]=_[_0x6470('0x2f')](_0x2d90ec[_0x6470('0x2e')]);_0x1dfa70[_0x6470('0x30')]=_[_0x6470('0x31')](_0x1dfa70[_0x6470('0x2c')],_0x1dfa70['query']);_0x2f20a6['attributes']=_[_0x6470('0x31')](_0x1dfa70[_0x6470('0x2c')],qs[_0x6470('0x32')](_0x2d90ec['query'][_0x6470('0x32')]));_0x2f20a6[_0x6470('0x33')]=_0x2f20a6[_0x6470('0x33')]['length']?_0x2f20a6[_0x6470('0x33')]:_0x1dfa70[_0x6470('0x2c')];if(!_0x2d90ec[_0x6470('0x2e')][_0x6470('0x34')](_0x6470('0x35'))){_0x2f20a6['limit']=qs[_0x6470('0x36')](_0x2d90ec[_0x6470('0x2e')][_0x6470('0x36')]);_0x2f20a6[_0x6470('0x1b')]=qs[_0x6470('0x1b')](_0x2d90ec[_0x6470('0x2e')][_0x6470('0x1b')]);}_0x2f20a6[_0x6470('0x37')]=qs[_0x6470('0x38')](_0x2d90ec[_0x6470('0x2e')]['sort']);_0x2f20a6[_0x6470('0x39')]=qs[_0x6470('0x30')](_[_0x6470('0x3a')](_0x2d90ec[_0x6470('0x2e')],_0x1dfa70[_0x6470('0x30')]),_0xe82484);if(_0x2d90ec['query'][_0x6470('0x3b')]){_0x2f20a6[_0x6470('0x39')]=_[_0x6470('0x3c')](_0x2f20a6['where'],{'$or':_[_0x6470('0x2d')](_0xe82484,function(_0x451525){if(_0x451525[_0x6470('0x3d')]!==_0x6470('0x3e')){var _0x42dbe0={};_0x42dbe0[_0x451525[_0x6470('0x25')]]={'$like':'%'+_0x2d90ec[_0x6470('0x2e')][_0x6470('0x3b')]+'%'};return _0x42dbe0;}})});}_0x2f20a6=_[_0x6470('0x3c')]({},_0x2f20a6,_0x2d90ec[_0x6470('0x3f')]);var _0x117c24={'where':_0x2f20a6[_0x6470('0x39')]};return db[_0x6470('0x28')][_0x6470('0x1d')](_0x117c24)['then'](function(_0x556678){_0x21d847[_0x6470('0x1d')]=_0x556678;if(_0x2d90ec[_0x6470('0x2e')][_0x6470('0x40')]){_0x2f20a6[_0x6470('0x41')]=[{'all':!![]}];}return db[_0x6470('0x28')][_0x6470('0x42')](_0x2f20a6);})[_0x6470('0x23')](function(_0x38c9fc){_0x21d847[_0x6470('0x43')]=_0x38c9fc;return _0x21d847;})[_0x6470('0x23')](respondWithFilteredResult(_0x110c43,_0x2f20a6))[_0x6470('0x44')](handleError(_0x110c43,null));};exports['show']=function(_0xbbaf5c,_0xdf6c67){var _0x47969d={'raw':!![],'where':{'id':_0xbbaf5c[_0x6470('0x45')]['id']}},_0x22301a={};_0x22301a[_0x6470('0x2c')]=_[_0x6470('0x2f')](db[_0x6470('0x28')]['rawAttributes']);_0x22301a['query']=_[_0x6470('0x2f')](_0xbbaf5c[_0x6470('0x2e')]);_0x22301a[_0x6470('0x30')]=_[_0x6470('0x31')](_0x22301a[_0x6470('0x2c')],_0x22301a['query']);_0x47969d[_0x6470('0x33')]=_['intersection'](_0x22301a[_0x6470('0x2c')],qs[_0x6470('0x32')](_0xbbaf5c[_0x6470('0x2e')][_0x6470('0x32')]));_0x47969d[_0x6470('0x33')]=_0x47969d['attributes'][_0x6470('0x46')]?_0x47969d[_0x6470('0x33')]:_0x22301a[_0x6470('0x2c')];if(_0xbbaf5c[_0x6470('0x2e')][_0x6470('0x40')]){_0x47969d[_0x6470('0x41')]=[{'all':!![]}];}_0x47969d=_[_0x6470('0x3c')]({},_0x47969d,_0xbbaf5c[_0x6470('0x3f')]);return db['SquareDetailsReport'][_0x6470('0x47')](_0x47969d)[_0x6470('0x23')](handleEntityNotFound(_0xdf6c67,null))[_0x6470('0x23')](respondWithResult(_0xdf6c67,null))[_0x6470('0x44')](handleError(_0xdf6c67,null));};exports['create']=function(_0x1a38dd,_0xd5a733){return db['SquareDetailsReport'][_0x6470('0x48')](_0x1a38dd[_0x6470('0x49')],{})[_0x6470('0x23')](respondWithResult(_0xd5a733,0xc9))[_0x6470('0x44')](handleError(_0xd5a733,null));};exports[_0x6470('0x4a')]=function(_0x5ed875,_0x30fb2a){if(_0x5ed875[_0x6470('0x49')]['id']){delete _0x5ed875[_0x6470('0x49')]['id'];}return db[_0x6470('0x28')][_0x6470('0x47')]({'where':{'id':_0x5ed875[_0x6470('0x45')]['id']}})[_0x6470('0x23')](handleEntityNotFound(_0x30fb2a,null))[_0x6470('0x23')](saveUpdates(_0x5ed875[_0x6470('0x49')],null))['then'](respondWithResult(_0x30fb2a,null))['catch'](handleError(_0x30fb2a,null));};exports[_0x6470('0x4b')]=function(_0x3dcec5,_0x1f7c4a){return db['SquareDetailsReport']['find']({'where':{'id':_0x3dcec5[_0x6470('0x45')]['id']}})[_0x6470('0x23')](handleEntityNotFound(_0x1f7c4a,null))['then'](removeEntity(_0x1f7c4a,null))[_0x6470('0x44')](handleError(_0x1f7c4a,null));};exports['describe']=function(_0xd41b38,_0x702922){return db[_0x6470('0x28')][_0x6470('0x4c')]()[_0x6470('0x23')](respondWithResult(_0x702922,null))[_0x6470('0x44')](handleError(_0x702922,null));};
\ No newline at end of file
+var _0x628a=['jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','end','json','offset','undefined','count','limit','status','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','SquareDetailsReport','rawAttributes','fieldName','type','key','model','query','keys','filters','fields','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','attributes','intersection','includeAll','find','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','squel','crypto'];(function(_0x436e1c,_0x351076){var _0x19e912=function(_0x1313b5){while(--_0x1313b5){_0x436e1c['push'](_0x436e1c['shift']());}};_0x19e912(++_0x351076);}(_0x628a,0x1bb));var _0xa628=function(_0x23d780,_0x458f78){_0x23d780=_0x23d780-0x0;var _0x335a06=_0x628a[_0x23d780];return _0x335a06;};'use strict';var emlformat=require(_0xa628('0x0'));var rimraf=require(_0xa628('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa628('0x2'));var rp=require(_0xa628('0x3'));var moment=require(_0xa628('0x4'));var BPromise=require(_0xa628('0x5'));var Mustache=require(_0xa628('0x6'));var util=require(_0xa628('0x7'));var path=require('path');var sox=require(_0xa628('0x8'));var csv=require(_0xa628('0x9'));var ejs=require(_0xa628('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xa628('0xb'));var crypto=require(_0xa628('0xc'));var jsforce=require(_0xa628('0xd'));var deskjs=require(_0xa628('0xe'));var toCsv=require(_0xa628('0x9'));var querystring=require(_0xa628('0xf'));var Papa=require(_0xa628('0x10'));var Redis=require('ioredis');var authService=require(_0xa628('0x11'));var qs=require(_0xa628('0x12'));var as=require(_0xa628('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa628('0x14'))(_0xa628('0x15'));var utils=require(_0xa628('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xa628('0x17'))['db'];function respondWithStatusCode(_0xe78f38,_0x20ecf2){_0x20ecf2=_0x20ecf2||0xcc;return function(_0x4ecc6b){if(_0x4ecc6b){return _0xe78f38[_0xa628('0x18')](_0x20ecf2);}return _0xe78f38['status'](_0x20ecf2)[_0xa628('0x19')]();};}function respondWithResult(_0x4b7a86,_0xa55921){_0xa55921=_0xa55921||0xc8;return function(_0xf0260c){if(_0xf0260c){return _0x4b7a86['status'](_0xa55921)[_0xa628('0x1a')](_0xf0260c);}};}function respondWithFilteredResult(_0x34ef6c,_0x34048c){return function(_0x46e541){if(_0x46e541){var _0x97d0f=typeof _0x34048c[_0xa628('0x1b')]===_0xa628('0x1c')&&typeof _0x34048c['limit']===_0xa628('0x1c');var _0x449552=_0x46e541[_0xa628('0x1d')];var _0x49a654=_0x97d0f?0x0:_0x34048c[_0xa628('0x1b')];var _0x6817bb=_0x97d0f?_0x46e541[_0xa628('0x1d')]:_0x34048c[_0xa628('0x1b')]+_0x34048c[_0xa628('0x1e')];var _0x213065;if(_0x6817bb>=_0x449552){_0x6817bb=_0x449552;_0x213065=0xc8;}else{_0x213065=0xce;}_0x34ef6c[_0xa628('0x1f')](_0x213065);return _0x34ef6c['set'](_0xa628('0x20'),_0x49a654+'-'+_0x6817bb+'/'+_0x449552)[_0xa628('0x1a')](_0x46e541);}return null;};}function patchUpdates(_0x540a22){return function(_0x5c4e94){try{jsonpatch[_0xa628('0x21')](_0x5c4e94,_0x540a22,!![]);}catch(_0x91c87d){return BPromise[_0xa628('0x22')](_0x91c87d);}return _0x5c4e94[_0xa628('0x23')]();};}function saveUpdates(_0x25390e,_0x489aba){return function(_0x138172){if(_0x138172){return _0x138172[_0xa628('0x24')](_0x25390e)[_0xa628('0x25')](function(_0xa70b6){return _0xa70b6;});}return null;};}function removeEntity(_0x25f680,_0x5d09b8){return function(_0xda925){if(_0xda925){return _0xda925[_0xa628('0x26')]()[_0xa628('0x25')](function(){_0x25f680[_0xa628('0x1f')](0xcc)[_0xa628('0x19')]();});}};}function handleEntityNotFound(_0x4bd4f6,_0x6f86bd){return function(_0x989e3a){if(!_0x989e3a){_0x4bd4f6[_0xa628('0x18')](0x194);}return _0x989e3a;};}function handleError(_0x380174,_0x41b4c3){_0x41b4c3=_0x41b4c3||0x1f4;return function(_0x5364f6){logger[_0xa628('0x27')](_0x5364f6[_0xa628('0x28')]);if(_0x5364f6[_0xa628('0x29')]){delete _0x5364f6['name'];}_0x380174['status'](_0x41b4c3)[_0xa628('0x2a')](_0x5364f6);};}exports[_0xa628('0x2b')]=function(_0x379951,_0x4e3272){var _0x352e81={},_0x158fef={},_0x1eb962={'count':0x0,'rows':[]};var _0x309ba0=_[_0xa628('0x2c')](db[_0xa628('0x2d')][_0xa628('0x2e')],function(_0x3857c0){return{'name':_0x3857c0[_0xa628('0x2f')],'type':_0x3857c0[_0xa628('0x30')][_0xa628('0x31')]};});_0x158fef[_0xa628('0x32')]=_[_0xa628('0x2c')](_0x309ba0,'name');_0x158fef[_0xa628('0x33')]=_[_0xa628('0x34')](_0x379951['query']);_0x158fef[_0xa628('0x35')]=_['intersection'](_0x158fef[_0xa628('0x32')],_0x158fef['query']);_0x352e81['attributes']=_['intersection'](_0x158fef[_0xa628('0x32')],qs[_0xa628('0x36')](_0x379951[_0xa628('0x33')][_0xa628('0x36')]));_0x352e81['attributes']=_0x352e81['attributes'][_0xa628('0x37')]?_0x352e81['attributes']:_0x158fef['model'];if(!_0x379951['query']['hasOwnProperty'](_0xa628('0x38'))){_0x352e81['limit']=qs['limit'](_0x379951[_0xa628('0x33')][_0xa628('0x1e')]);_0x352e81[_0xa628('0x1b')]=qs[_0xa628('0x1b')](_0x379951[_0xa628('0x33')][_0xa628('0x1b')]);}_0x352e81[_0xa628('0x39')]=qs[_0xa628('0x3a')](_0x379951[_0xa628('0x33')][_0xa628('0x3a')]);_0x352e81['where']=qs[_0xa628('0x35')](_[_0xa628('0x3b')](_0x379951[_0xa628('0x33')],_0x158fef[_0xa628('0x35')]),_0x309ba0);if(_0x379951[_0xa628('0x33')][_0xa628('0x3c')]){_0x352e81[_0xa628('0x3d')]=_[_0xa628('0x3e')](_0x352e81[_0xa628('0x3d')],{'$or':_[_0xa628('0x2c')](_0x309ba0,function(_0x3d7e72){if(_0x3d7e72[_0xa628('0x30')]!==_0xa628('0x3f')){var _0x105bac={};_0x105bac[_0x3d7e72[_0xa628('0x29')]]={'$like':'%'+_0x379951[_0xa628('0x33')][_0xa628('0x3c')]+'%'};return _0x105bac;}})});}_0x352e81=_['merge']({},_0x352e81,_0x379951[_0xa628('0x40')]);var _0x5b05ec={'where':_0x352e81['where']};return db[_0xa628('0x2d')][_0xa628('0x1d')](_0x5b05ec)['then'](function(_0x4def2b){_0x1eb962['count']=_0x4def2b;if(_0x379951[_0xa628('0x33')]['includeAll']){_0x352e81[_0xa628('0x41')]=[{'all':!![]}];}return db[_0xa628('0x2d')][_0xa628('0x42')](_0x352e81);})['then'](function(_0x402624){_0x1eb962[_0xa628('0x43')]=_0x402624;return _0x1eb962;})[_0xa628('0x25')](respondWithFilteredResult(_0x4e3272,_0x352e81))[_0xa628('0x44')](handleError(_0x4e3272,null));};exports[_0xa628('0x45')]=function(_0x5e6cd9,_0x23d2ae){var _0x48ecc8={'raw':!![],'where':{'id':_0x5e6cd9[_0xa628('0x46')]['id']}},_0x379969={};_0x379969['model']=_[_0xa628('0x34')](db[_0xa628('0x2d')][_0xa628('0x2e')]);_0x379969[_0xa628('0x33')]=_[_0xa628('0x34')](_0x5e6cd9[_0xa628('0x33')]);_0x379969[_0xa628('0x35')]=_['intersection'](_0x379969[_0xa628('0x32')],_0x379969[_0xa628('0x33')]);_0x48ecc8[_0xa628('0x47')]=_[_0xa628('0x48')](_0x379969[_0xa628('0x32')],qs[_0xa628('0x36')](_0x5e6cd9['query'][_0xa628('0x36')]));_0x48ecc8[_0xa628('0x47')]=_0x48ecc8[_0xa628('0x47')][_0xa628('0x37')]?_0x48ecc8[_0xa628('0x47')]:_0x379969['model'];if(_0x5e6cd9['query'][_0xa628('0x49')]){_0x48ecc8[_0xa628('0x41')]=[{'all':!![]}];}_0x48ecc8=_['merge']({},_0x48ecc8,_0x5e6cd9[_0xa628('0x40')]);return db['SquareDetailsReport'][_0xa628('0x4a')](_0x48ecc8)[_0xa628('0x25')](handleEntityNotFound(_0x23d2ae,null))[_0xa628('0x25')](respondWithResult(_0x23d2ae,null))['catch'](handleError(_0x23d2ae,null));};exports['create']=function(_0x3aeb81,_0x4ced29){return db[_0xa628('0x2d')]['create'](_0x3aeb81[_0xa628('0x4b')],{})[_0xa628('0x25')](respondWithResult(_0x4ced29,0xc9))[_0xa628('0x44')](handleError(_0x4ced29,null));};exports[_0xa628('0x24')]=function(_0x4753ea,_0x4fdd7f){if(_0x4753ea[_0xa628('0x4b')]['id']){delete _0x4753ea[_0xa628('0x4b')]['id'];}return db[_0xa628('0x2d')][_0xa628('0x4a')]({'where':{'id':_0x4753ea['params']['id']}})['then'](handleEntityNotFound(_0x4fdd7f,null))['then'](saveUpdates(_0x4753ea['body'],null))['then'](respondWithResult(_0x4fdd7f,null))[_0xa628('0x44')](handleError(_0x4fdd7f,null));};exports['destroy']=function(_0x17e538,_0x444782){return db['SquareDetailsReport'][_0xa628('0x4a')]({'where':{'id':_0x17e538[_0xa628('0x46')]['id']}})['then'](handleEntityNotFound(_0x444782,null))[_0xa628('0x25')](removeEntity(_0x444782,null))[_0xa628('0x44')](handleError(_0x444782,null));};exports['describe']=function(_0x19124e,_0x383fa3){return db[_0xa628('0x2d')]['describe']()[_0xa628('0x25')](respondWithResult(_0x383fa3,null))['catch'](handleError(_0x383fa3,null));};
\ No newline at end of file