Built motion from commit 85328c08.|2.5.50
[motion2.git] / server / api / intZendeskField / intZendeskField.controller.js
index 2f32724..22213dd 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xfc73=['fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','map','type','VIRTUAL','merge','options','count','include','findAll','rows','show','params','rawAttributes','length','includeAll','find','catch','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','fs-extra','crypto','jsforce','desk.js','to-csv','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','end','offset','set','Content-Range','json','apply','reject','save','update','then','destroy','name','send','index','ZendeskField','fieldName','model','query','keys','filters','intersection','attributes'];(function(_0x1fbd7f,_0xb760d3){var _0x3ed290=function(_0x431303){while(--_0x431303){_0x1fbd7f['push'](_0x1fbd7f['shift']());}};_0x3ed290(++_0xb760d3);}(_0xfc73,0x153));var _0x3fc7=function(_0x411017,_0x4a8117){_0x411017=_0x411017-0x0;var _0x2adeea=_0xfc73[_0x411017];return _0x2adeea;};'use strict';var emlformat=require(_0x3fc7('0x0'));var rimraf=require(_0x3fc7('0x1'));var zipdir=require(_0x3fc7('0x2'));var jsonpatch=require(_0x3fc7('0x3'));var rp=require(_0x3fc7('0x4'));var moment=require(_0x3fc7('0x5'));var BPromise=require(_0x3fc7('0x6'));var Mustache=require(_0x3fc7('0x7'));var util=require(_0x3fc7('0x8'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3fc7('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x3fc7('0xa'));var jsforce=require(_0x3fc7('0xb'));var deskjs=require(_0x3fc7('0xc'));var toCsv=require(_0x3fc7('0xd'));var querystring=require(_0x3fc7('0xe'));var Papa=require(_0x3fc7('0xf'));var Redis=require(_0x3fc7('0x10'));var authService=require(_0x3fc7('0x11'));var qs=require(_0x3fc7('0x12'));var as=require(_0x3fc7('0x13'));var hardwareService=require(_0x3fc7('0x14'));var logger=require(_0x3fc7('0x15'))(_0x3fc7('0x16'));var utils=require(_0x3fc7('0x17'));var config=require(_0x3fc7('0x18'));var licenseUtil=require(_0x3fc7('0x19'));var db=require(_0x3fc7('0x1a'))['db'];function respondWithStatusCode(_0xaa1e5e,_0x50e6cb){_0x50e6cb=_0x50e6cb||0xcc;return function(_0x11b300){if(_0x11b300){return _0xaa1e5e[_0x3fc7('0x1b')](_0x50e6cb);}return _0xaa1e5e[_0x3fc7('0x1c')](_0x50e6cb)[_0x3fc7('0x1d')]();};}function respondWithResult(_0x2bdc84,_0x548649){_0x548649=_0x548649||0xc8;return function(_0x592433){if(_0x592433){return _0x2bdc84['status'](_0x548649)['json'](_0x592433);}};}function respondWithFilteredResult(_0x285302,_0x16d139){return function(_0x5c5d23){if(_0x5c5d23){var _0x35c273=_0x5c5d23['count'],_0xef2df2=_0x16d139[_0x3fc7('0x1e')],_0x2798d1=_0x16d139[_0x3fc7('0x1e')]+_0x16d139['limit'],_0x4c3c6d;if(_0x2798d1>=_0x35c273){_0x2798d1=_0x35c273;_0x4c3c6d=0xc8;}else{_0x4c3c6d=0xce;}_0x285302[_0x3fc7('0x1c')](_0x4c3c6d);return _0x285302[_0x3fc7('0x1f')](_0x3fc7('0x20'),_0xef2df2+'-'+_0x2798d1+'/'+_0x35c273)[_0x3fc7('0x21')](_0x5c5d23);}return null;};}function patchUpdates(_0x33f10f){return function(_0xeaff){try{jsonpatch[_0x3fc7('0x22')](_0xeaff,_0x33f10f,!![]);}catch(_0x1ab33d){return BPromise[_0x3fc7('0x23')](_0x1ab33d);}return _0xeaff[_0x3fc7('0x24')]();};}function saveUpdates(_0x328ee1,_0x55da0b){return function(_0x190907){if(_0x190907){return _0x190907[_0x3fc7('0x25')](_0x328ee1)[_0x3fc7('0x26')](function(_0x4a7b47){return _0x4a7b47;});}return null;};}function removeEntity(_0x18f7f0,_0x3769bc){return function(_0x51e097){if(_0x51e097){return _0x51e097[_0x3fc7('0x27')]()[_0x3fc7('0x26')](function(){_0x18f7f0[_0x3fc7('0x1c')](0xcc)[_0x3fc7('0x1d')]();});}};}function handleEntityNotFound(_0x1d31ec,_0x208b78){return function(_0x118dc1){if(!_0x118dc1){_0x1d31ec[_0x3fc7('0x1b')](0x194);}return _0x118dc1;};}function handleError(_0x31cc0b,_0x1e9930){_0x1e9930=_0x1e9930||0x1f4;return function(_0x2de965){logger['error'](_0x2de965['stack']);if(_0x2de965['name']){delete _0x2de965[_0x3fc7('0x28')];}_0x31cc0b[_0x3fc7('0x1c')](_0x1e9930)[_0x3fc7('0x29')](_0x2de965);};}exports[_0x3fc7('0x2a')]=function(_0x231450,_0x292f4d){var _0x18abd4={},_0x3e2497={},_0x4f34fe={'count':0x0,'rows':[]};var _0x388be5=_['map'](db[_0x3fc7('0x2b')]['rawAttributes'],function(_0x1f7302){return{'name':_0x1f7302[_0x3fc7('0x2c')],'type':_0x1f7302['type']['key']};});_0x3e2497[_0x3fc7('0x2d')]=_['map'](_0x388be5,_0x3fc7('0x28'));_0x3e2497[_0x3fc7('0x2e')]=_[_0x3fc7('0x2f')](_0x231450['query']);_0x3e2497[_0x3fc7('0x30')]=_[_0x3fc7('0x31')](_0x3e2497['model'],_0x3e2497[_0x3fc7('0x2e')]);_0x18abd4[_0x3fc7('0x32')]=_[_0x3fc7('0x31')](_0x3e2497[_0x3fc7('0x2d')],qs[_0x3fc7('0x33')](_0x231450['query'][_0x3fc7('0x33')]));_0x18abd4[_0x3fc7('0x32')]=_0x18abd4['attributes']['length']?_0x18abd4[_0x3fc7('0x32')]:_0x3e2497[_0x3fc7('0x2d')];if(!_0x231450[_0x3fc7('0x2e')][_0x3fc7('0x34')](_0x3fc7('0x35'))){_0x18abd4['limit']=qs[_0x3fc7('0x36')](_0x231450['query'][_0x3fc7('0x36')]);_0x18abd4[_0x3fc7('0x1e')]=qs[_0x3fc7('0x1e')](_0x231450['query'][_0x3fc7('0x1e')]);}_0x18abd4[_0x3fc7('0x37')]=qs['sort'](_0x231450[_0x3fc7('0x2e')][_0x3fc7('0x38')]);_0x18abd4[_0x3fc7('0x39')]=qs[_0x3fc7('0x30')](_[_0x3fc7('0x3a')](_0x231450[_0x3fc7('0x2e')],_0x3e2497['filters']),_0x388be5);if(_0x231450[_0x3fc7('0x2e')][_0x3fc7('0x3b')]){_0x18abd4[_0x3fc7('0x39')]=_['merge'](_0x18abd4['where'],{'$or':_[_0x3fc7('0x3c')](_0x388be5,function(_0x49157c){if(_0x49157c[_0x3fc7('0x3d')]!==_0x3fc7('0x3e')){var _0x2f62f6={};_0x2f62f6[_0x49157c[_0x3fc7('0x28')]]={'$like':'%'+_0x231450[_0x3fc7('0x2e')][_0x3fc7('0x3b')]+'%'};return _0x2f62f6;}})});}_0x18abd4=_[_0x3fc7('0x3f')]({},_0x18abd4,_0x231450[_0x3fc7('0x40')]);var _0x4688a6={'where':_0x18abd4[_0x3fc7('0x39')]};return db['ZendeskField'][_0x3fc7('0x41')](_0x4688a6)['then'](function(_0x43b165){_0x4f34fe[_0x3fc7('0x41')]=_0x43b165;if(_0x231450[_0x3fc7('0x2e')]['includeAll']){_0x18abd4[_0x3fc7('0x42')]=[{'all':!![]}];}return db[_0x3fc7('0x2b')][_0x3fc7('0x43')](_0x18abd4);})[_0x3fc7('0x26')](function(_0x3fee5d){_0x4f34fe[_0x3fc7('0x44')]=_0x3fee5d;return _0x4f34fe;})[_0x3fc7('0x26')](respondWithFilteredResult(_0x292f4d,_0x18abd4))['catch'](handleError(_0x292f4d,null));};exports[_0x3fc7('0x45')]=function(_0x14d4e7,_0x3ff3d5){var _0x250174={'raw':!![],'where':{'id':_0x14d4e7[_0x3fc7('0x46')]['id']}},_0x333300={};_0x333300['model']=_[_0x3fc7('0x2f')](db[_0x3fc7('0x2b')][_0x3fc7('0x47')]);_0x333300['query']=_[_0x3fc7('0x2f')](_0x14d4e7[_0x3fc7('0x2e')]);_0x333300[_0x3fc7('0x30')]=_[_0x3fc7('0x31')](_0x333300[_0x3fc7('0x2d')],_0x333300[_0x3fc7('0x2e')]);_0x250174[_0x3fc7('0x32')]=_[_0x3fc7('0x31')](_0x333300[_0x3fc7('0x2d')],qs[_0x3fc7('0x33')](_0x14d4e7[_0x3fc7('0x2e')][_0x3fc7('0x33')]));_0x250174[_0x3fc7('0x32')]=_0x250174[_0x3fc7('0x32')][_0x3fc7('0x48')]?_0x250174['attributes']:_0x333300[_0x3fc7('0x2d')];if(_0x14d4e7[_0x3fc7('0x2e')][_0x3fc7('0x49')]){_0x250174[_0x3fc7('0x42')]=[{'all':!![]}];}_0x250174=_[_0x3fc7('0x3f')]({},_0x250174,_0x14d4e7[_0x3fc7('0x40')]);return db[_0x3fc7('0x2b')][_0x3fc7('0x4a')](_0x250174)[_0x3fc7('0x26')](handleEntityNotFound(_0x3ff3d5,null))[_0x3fc7('0x26')](respondWithResult(_0x3ff3d5,null))[_0x3fc7('0x4b')](handleError(_0x3ff3d5,null));};exports['create']=function(_0x496fbb,_0x178401){return db[_0x3fc7('0x2b')][_0x3fc7('0x4c')](_0x496fbb[_0x3fc7('0x4d')],{})[_0x3fc7('0x26')](respondWithResult(_0x178401,0xc9))[_0x3fc7('0x4b')](handleError(_0x178401,null));};exports['update']=function(_0x2b3c5c,_0x574f58){if(_0x2b3c5c[_0x3fc7('0x4d')]['id']){delete _0x2b3c5c[_0x3fc7('0x4d')]['id'];}return db[_0x3fc7('0x2b')][_0x3fc7('0x4a')]({'where':{'id':_0x2b3c5c[_0x3fc7('0x46')]['id']}})['then'](handleEntityNotFound(_0x574f58,null))[_0x3fc7('0x26')](saveUpdates(_0x2b3c5c['body'],null))[_0x3fc7('0x26')](respondWithResult(_0x574f58,null))['catch'](handleError(_0x574f58,null));};exports['destroy']=function(_0x4d4017,_0x2efa91){return db[_0x3fc7('0x2b')][_0x3fc7('0x4a')]({'where':{'id':_0x4d4017[_0x3fc7('0x46')]['id']}})[_0x3fc7('0x26')](handleEntityNotFound(_0x2efa91,null))[_0x3fc7('0x26')](removeEntity(_0x2efa91,null))[_0x3fc7('0x4b')](handleError(_0x2efa91,null));};
\ No newline at end of file
+var _0x101a=['request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','update','destroy','then','end','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter','merge','options','ZendeskField','includeAll','include','findAll','rows','catch','show','params','create','body','find','zip-dir','fast-json-patch'];(function(_0x29c80b,_0x473d30){var _0x4640b4=function(_0x281a22){while(--_0x281a22){_0x29c80b['push'](_0x29c80b['shift']());}};_0x4640b4(++_0x473d30);}(_0x101a,0x11a));var _0xa101=function(_0x14c240,_0x33f160){_0x14c240=_0x14c240-0x0;var _0xe1e4b5=_0x101a[_0x14c240];return _0xe1e4b5;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xa101('0x0'));var jsonpatch=require(_0xa101('0x1'));var rp=require(_0xa101('0x2'));var moment=require(_0xa101('0x3'));var BPromise=require(_0xa101('0x4'));var Mustache=require(_0xa101('0x5'));var util=require(_0xa101('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xa101('0x7'));var ejs=require(_0xa101('0x8'));var fs=require('fs');var fs_extra=require(_0xa101('0x9'));var _=require('lodash');var squel=require(_0xa101('0xa'));var crypto=require('crypto');var jsforce=require(_0xa101('0xb'));var deskjs=require(_0xa101('0xc'));var toCsv=require(_0xa101('0x7'));var querystring=require(_0xa101('0xd'));var Papa=require(_0xa101('0xe'));var Redis=require(_0xa101('0xf'));var authService=require(_0xa101('0x10'));var qs=require(_0xa101('0x11'));var as=require(_0xa101('0x12'));var hardwareService=require(_0xa101('0x13'));var logger=require(_0xa101('0x14'))(_0xa101('0x15'));var utils=require(_0xa101('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xa101('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5aac38,_0x261070){_0x261070=_0x261070||0xcc;return function(_0x35fddf){if(_0x35fddf){return _0x5aac38[_0xa101('0x18')](_0x261070);}return _0x5aac38[_0xa101('0x19')](_0x261070)['end']();};}function respondWithResult(_0x1bd9db,_0x5a16a0){_0x5a16a0=_0x5a16a0||0xc8;return function(_0x25f5de){if(_0x25f5de){return _0x1bd9db[_0xa101('0x19')](_0x5a16a0)[_0xa101('0x1a')](_0x25f5de);}};}function respondWithFilteredResult(_0x4c49b5,_0x4c9074){return function(_0x38575e){if(_0x38575e){var _0x4af614=typeof _0x4c9074[_0xa101('0x1b')]===_0xa101('0x1c')&&typeof _0x4c9074[_0xa101('0x1d')]==='undefined';var _0x5521a1=_0x38575e[_0xa101('0x1e')];var _0x339161=_0x4af614?0x0:_0x4c9074[_0xa101('0x1b')];var _0x40d98a=_0x4af614?_0x38575e[_0xa101('0x1e')]:_0x4c9074[_0xa101('0x1b')]+_0x4c9074[_0xa101('0x1d')];var _0x281838;if(_0x40d98a>=_0x5521a1){_0x40d98a=_0x5521a1;_0x281838=0xc8;}else{_0x281838=0xce;}_0x4c49b5[_0xa101('0x19')](_0x281838);return _0x4c49b5['set']('Content-Range',_0x339161+'-'+_0x40d98a+'/'+_0x5521a1)['json'](_0x38575e);}return null;};}function patchUpdates(_0x39b2d9){return function(_0x13858e){try{jsonpatch['apply'](_0x13858e,_0x39b2d9,!![]);}catch(_0x3168b6){return BPromise['reject'](_0x3168b6);}return _0x13858e['save']();};}function saveUpdates(_0x2da999,_0x47b684){return function(_0xa3ec1d){if(_0xa3ec1d){return _0xa3ec1d[_0xa101('0x1f')](_0x2da999)['then'](function(_0x41e6d8){return _0x41e6d8;});}return null;};}function removeEntity(_0x541562,_0xa065d4){return function(_0x198a50){if(_0x198a50){return _0x198a50[_0xa101('0x20')]()[_0xa101('0x21')](function(){_0x541562[_0xa101('0x19')](0xcc)[_0xa101('0x22')]();});}};}function handleEntityNotFound(_0x37432d,_0x4032fd){return function(_0x16680e){if(!_0x16680e){_0x37432d[_0xa101('0x18')](0x194);}return _0x16680e;};}function handleError(_0x5c24ea,_0x34a54b){_0x34a54b=_0x34a54b||0x1f4;return function(_0x1f6e9d){logger['error'](_0x1f6e9d['stack']);if(_0x1f6e9d['name']){delete _0x1f6e9d[_0xa101('0x23')];}_0x5c24ea[_0xa101('0x19')](_0x34a54b)[_0xa101('0x24')](_0x1f6e9d);};}exports[_0xa101('0x25')]=function(_0x1ecec4,_0x21941a){var _0x5537c4={},_0x156662={},_0x3cc385={'count':0x0,'rows':[]};var _0x1d2a1d=_[_0xa101('0x26')](db['ZendeskField'][_0xa101('0x27')],function(_0xb6bc07){return{'name':_0xb6bc07[_0xa101('0x28')],'type':_0xb6bc07[_0xa101('0x29')][_0xa101('0x2a')]};});_0x156662['model']=_[_0xa101('0x26')](_0x1d2a1d,_0xa101('0x23'));_0x156662[_0xa101('0x2b')]=_[_0xa101('0x2c')](_0x1ecec4[_0xa101('0x2b')]);_0x156662[_0xa101('0x2d')]=_[_0xa101('0x2e')](_0x156662[_0xa101('0x2f')],_0x156662[_0xa101('0x2b')]);_0x5537c4['attributes']=_[_0xa101('0x2e')](_0x156662[_0xa101('0x2f')],qs[_0xa101('0x30')](_0x1ecec4[_0xa101('0x2b')][_0xa101('0x30')]));_0x5537c4[_0xa101('0x31')]=_0x5537c4[_0xa101('0x31')][_0xa101('0x32')]?_0x5537c4[_0xa101('0x31')]:_0x156662['model'];if(!_0x1ecec4[_0xa101('0x2b')][_0xa101('0x33')](_0xa101('0x34'))){_0x5537c4[_0xa101('0x1d')]=qs['limit'](_0x1ecec4[_0xa101('0x2b')][_0xa101('0x1d')]);_0x5537c4['offset']=qs[_0xa101('0x1b')](_0x1ecec4[_0xa101('0x2b')][_0xa101('0x1b')]);}_0x5537c4[_0xa101('0x35')]=qs[_0xa101('0x36')](_0x1ecec4[_0xa101('0x2b')][_0xa101('0x36')]);_0x5537c4[_0xa101('0x37')]=qs[_0xa101('0x2d')](_['pick'](_0x1ecec4[_0xa101('0x2b')],_0x156662['filters']),_0x1d2a1d);if(_0x1ecec4[_0xa101('0x2b')]['filter']){_0x5537c4[_0xa101('0x37')]=_['merge'](_0x5537c4[_0xa101('0x37')],{'$or':_[_0xa101('0x26')](_0x1d2a1d,function(_0x526294){if(_0x526294['type']!==_0xa101('0x38')){var _0xaa04a2={};_0xaa04a2[_0x526294[_0xa101('0x23')]]={'$like':'%'+_0x1ecec4['query'][_0xa101('0x39')]+'%'};return _0xaa04a2;}})});}_0x5537c4=_[_0xa101('0x3a')]({},_0x5537c4,_0x1ecec4[_0xa101('0x3b')]);var _0x91c81b={'where':_0x5537c4[_0xa101('0x37')]};return db[_0xa101('0x3c')][_0xa101('0x1e')](_0x91c81b)['then'](function(_0x470971){_0x3cc385[_0xa101('0x1e')]=_0x470971;if(_0x1ecec4['query'][_0xa101('0x3d')]){_0x5537c4[_0xa101('0x3e')]=[{'all':!![]}];}return db[_0xa101('0x3c')][_0xa101('0x3f')](_0x5537c4);})[_0xa101('0x21')](function(_0x1d7ef1){_0x3cc385[_0xa101('0x40')]=_0x1d7ef1;return _0x3cc385;})[_0xa101('0x21')](respondWithFilteredResult(_0x21941a,_0x5537c4))[_0xa101('0x41')](handleError(_0x21941a,null));};exports[_0xa101('0x42')]=function(_0x28bdee,_0x42b4f5){var _0x35c68e={'raw':!![],'where':{'id':_0x28bdee[_0xa101('0x43')]['id']}},_0x569a79={};_0x569a79[_0xa101('0x2f')]=_[_0xa101('0x2c')](db[_0xa101('0x3c')]['rawAttributes']);_0x569a79['query']=_['keys'](_0x28bdee['query']);_0x569a79[_0xa101('0x2d')]=_[_0xa101('0x2e')](_0x569a79[_0xa101('0x2f')],_0x569a79[_0xa101('0x2b')]);_0x35c68e[_0xa101('0x31')]=_['intersection'](_0x569a79[_0xa101('0x2f')],qs[_0xa101('0x30')](_0x28bdee[_0xa101('0x2b')][_0xa101('0x30')]));_0x35c68e[_0xa101('0x31')]=_0x35c68e[_0xa101('0x31')][_0xa101('0x32')]?_0x35c68e[_0xa101('0x31')]:_0x569a79['model'];if(_0x28bdee[_0xa101('0x2b')]['includeAll']){_0x35c68e[_0xa101('0x3e')]=[{'all':!![]}];}_0x35c68e=_[_0xa101('0x3a')]({},_0x35c68e,_0x28bdee[_0xa101('0x3b')]);return db[_0xa101('0x3c')]['find'](_0x35c68e)[_0xa101('0x21')](handleEntityNotFound(_0x42b4f5,null))[_0xa101('0x21')](respondWithResult(_0x42b4f5,null))[_0xa101('0x41')](handleError(_0x42b4f5,null));};exports[_0xa101('0x44')]=function(_0x42e4a2,_0x5b9ef0){return db[_0xa101('0x3c')][_0xa101('0x44')](_0x42e4a2[_0xa101('0x45')],{})[_0xa101('0x21')](respondWithResult(_0x5b9ef0,0xc9))[_0xa101('0x41')](handleError(_0x5b9ef0,null));};exports[_0xa101('0x1f')]=function(_0x15385f,_0x50fcbb){if(_0x15385f[_0xa101('0x45')]['id']){delete _0x15385f['body']['id'];}return db['ZendeskField'][_0xa101('0x46')]({'where':{'id':_0x15385f[_0xa101('0x43')]['id']}})[_0xa101('0x21')](handleEntityNotFound(_0x50fcbb,null))[_0xa101('0x21')](saveUpdates(_0x15385f[_0xa101('0x45')],null))['then'](respondWithResult(_0x50fcbb,null))[_0xa101('0x41')](handleError(_0x50fcbb,null));};exports[_0xa101('0x20')]=function(_0x319d2d,_0x531efd){return db[_0xa101('0x3c')][_0xa101('0x46')]({'where':{'id':_0x319d2d[_0xa101('0x43')]['id']}})[_0xa101('0x21')](handleEntityNotFound(_0x531efd,null))[_0xa101('0x21')](removeEntity(_0x531efd,null))['catch'](handleError(_0x531efd,null));};
\ No newline at end of file