Built motion from commit 3594e56.|0.0.120
[motion.git] / server / api / mail_queue / mail_queue.controller.js
index 868154b..0edb64d 100644 (file)
@@ -1 +1 @@
-var _0xa19c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x73\x74\x72\x61\x74\x65\x67\x79","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x6C\x6F\x67","\x61\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72"];_0xa19c[0];var _=require(_0xa19c[1]);var util=require(_0xa19c[2]);var MailQueue=require(_0xa19c[4])[_0xa19c[3]];exports[_0xa19c[5]]=function(_0xb48fx4,_0xb48fx5){var _0xb48fx6=[_0xa19c[6],_0xa19c[7],_0xa19c[8],_0xa19c[9]];var _0xb48fx7=_0xb48fx4[_0xa19c[11]][_0xa19c[10]]?parseInt(_0xb48fx4[_0xa19c[11]][_0xa19c[10]],10):100;var _0xb48fx8=_0xb48fx4[_0xa19c[11]][_0xa19c[12]]?parseInt(_0xb48fx4[_0xa19c[11]][_0xa19c[12]],10):0;var _0xb48fx9={where:{},limit:_0xb48fx7,offset:_0xb48fx8*_0xb48fx7,include:[{all:true}]};_[_0xa19c[26]](_0xb48fx4[_0xa19c[11]],function(_0xb48fxa,_0xb48fxb){switch(_0xb48fxb){case _0xa19c[10]:;case _0xa19c[12]:break ;;case _0xa19c[15]:_0xb48fx9[_0xa19c[13]]=util[_0xa19c[18]](_0xa19c[14],_0xb48fx4[_0xa19c[11]][_0xa19c[15]],_0xb48fx4[_0xa19c[11]][_0xa19c[16]]||_0xa19c[17])||null;break ;;case _0xa19c[16]:break ;;case _0xa19c[24]:_0xb48fx9[_0xa19c[20]][_0xa19c[19]]=[];_0xb48fx6[_0xa19c[23]](function(_0xb48fxc){var _0xb48fxd={};_0xb48fxd[_0xb48fxc]={$like:_0xa19c[21]+_0xb48fxa+_0xa19c[21]};_0xb48fx9[_0xa19c[20]][_0xa19c[19]][_0xa19c[22]](_0xb48fxd);});break ;;default:_0xb48fx9[_0xa19c[20]][_0xb48fxb]={$like:{}};_0xb48fx9[_0xa19c[20]][_0xb48fxb][_0xa19c[25]]=_0xa19c[21]+_0xb48fxa+_0xa19c[21];;}});MailQueue[_0xa19c[40]](_0xb48fx9)[_0xa19c[39]](function(_0xb48fxf){var _0xb48fx10=Math[_0xa19c[29]](_0xb48fxf[_0xa19c[28]]/_0xb48fx7);var _0xb48fx11=_0xb48fx10>(_0xb48fx9[_0xa19c[30]]+1)?util[_0xa19c[18]](_0xa19c[31],_0xb48fx4[_0xa19c[32]],_0xb48fx4[_0xa19c[34]][_0xa19c[33]],_0xb48fx4[_0xa19c[35]],_0xb48fx8+1):null;var _0xb48fx12=_0xb48fx8>0?util[_0xa19c[18]](_0xa19c[31],_0xb48fx4[_0xa19c[32]],_0xb48fx4[_0xa19c[34]][_0xa19c[33]],_0xb48fx4[_0xa19c[35]],_0xb48fx8-1):null;_0xb48fx5[_0xa19c[38]](200)[_0xa19c[37]]({count:_0xb48fxf[_0xa19c[28]],rows:_0xb48fxf[_0xa19c[36]],next_page:_0xb48fx11,previous_page:_0xb48fx12,total_pages:_0xb48fx10});})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)});};exports[_0xa19c[41]]=function(_0xb48fx4,_0xb48fx5){MailQueue[_0xa19c[45]](_0xb48fx4[_0xa19c[44]][_0xa19c[43]])[_0xa19c[39]](function(_0xb48fx13){if(!_0xb48fx13){return _0xb48fx5[_0xa19c[42]](404)};return _0xb48fx5[_0xa19c[37]](_0xb48fx13);})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)})};exports[_0xa19c[46]]=function(_0xb48fx4,_0xb48fx5){MailQueue[_0xa19c[46]](_0xb48fx4[_0xa19c[47]])[_0xa19c[39]](function(_0xb48fx13){return _0xb48fx5[_0xa19c[38]](201)[_0xa19c[37]](_0xb48fx13)})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)})};exports[_0xa19c[48]]=function(_0xb48fx4,_0xb48fx5){if(_0xb48fx4[_0xa19c[47]][_0xa19c[43]]){delete _0xb48fx4[_0xa19c[47]][_0xa19c[43]]};MailQueue[_0xa19c[45]](_0xb48fx4[_0xa19c[44]][_0xa19c[43]])[_0xa19c[39]](function(_0xb48fx13){if(!_0xb48fx13){return _0xb48fx5[_0xa19c[42]](404)};var _0xb48fx14=_[_0xa19c[49]](_0xb48fx13,_0xb48fx4[_0xa19c[47]]);_0xb48fx14[_0xa19c[50]]()[_0xa19c[39]](function(){return _0xb48fx5[_0xa19c[38]](200)[_0xa19c[37]](_0xb48fx13)})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)});})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)});};exports[_0xa19c[51]]=function(_0xb48fx4,_0xb48fx5,_0xb48fx15){return MailQueue[_0xa19c[45]](_0xb48fx4[_0xa19c[44]][_0xa19c[43]])[_0xa19c[39]](function(_0xb48fx13){if(_0xb48fx13){return _0xb48fx13[_0xa19c[54]](_0xb48fx4[_0xa19c[47]][_0xa19c[53]],{individualHooks:true})}else {throw  new Error(_0xa19c[55])}})[_0xa19c[39]](function(){return _0xb48fx5[_0xa19c[42]](200)})[_0xa19c[27]](function(_0xb48fxe){console[_0xa19c[52]](_0xb48fxe);return handleError(_0xb48fx5,_0xb48fxe);})};exports[_0xa19c[56]]=function(_0xb48fx4,_0xb48fx5){return MailQueue[_0xa19c[45]](_0xb48fx4[_0xa19c[44]][_0xa19c[43]])[_0xa19c[39]](function(_0xb48fx13){if(_0xb48fx13){return _0xb48fx13[_0xa19c[57]](_0xb48fx4[_0xa19c[47]][_0xa19c[53]],{individualHooks:true})}else {throw  new Error(_0xa19c[55])}})[_0xa19c[39]](function(){return _0xb48fx5[_0xa19c[42]](200)})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)})};exports[_0xa19c[58]]=function(_0xb48fx4,_0xb48fx5){MailQueue[_0xa19c[45]](_0xb48fx4[_0xa19c[44]][_0xa19c[43]])[_0xa19c[39]](function(_0xb48fx13){if(!_0xb48fx13){return _0xb48fx5[_0xa19c[42]](404)};_0xb48fx13[_0xa19c[58]]()[_0xa19c[39]](function(){return _0xb48fx5[_0xa19c[42]](204)})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)});})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)})};exports[_0xa19c[59]]=function(_0xb48fx4,_0xb48fx5){MailQueue[_0xa19c[58]]({where:{id:_0xb48fx4[_0xa19c[11]][_0xa19c[43]]},individualHooks:true})[_0xa19c[39]](function(){return _0xb48fx5[_0xa19c[42]](204)})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)})};exports[_0xa19c[60]]=function(_0xb48fx4,_0xb48fx5){return MailQueue[_0xa19c[45]](_0xb48fx4[_0xa19c[44]][_0xa19c[43]])[_0xa19c[39]](function(_0xb48fx17){if(!_0xb48fx17){return _0xb48fx5[_0xa19c[42]](404)};return _0xb48fx17[_0xa19c[64]]({where:{role:_0xa19c[61]},attributes:[_0xa19c[43],_0xa19c[7],_0xa19c[62],_0xa19c[63]]});})[_0xa19c[39]](function(_0xb48fx16){return _0xb48fx5[_0xa19c[38]](200)[_0xa19c[37]](_0xb48fx16)})[_0xa19c[27]](function(_0xb48fxe){return handleError(_0xb48fx5,_0xb48fxe)})};exports[_0xa19c[56]]=function(_0xb48fx4,_0xb48fx5,_0xb48fx15){return MailQueue[_0xa19c[45]](_0xb48fx4[_0xa19c[44]][_0xa19c[43]])[_0xa19c[39]](function(_0xb48fx17){if(!_0xb48fx17){return _0xb48fx5[_0xa19c[42]](404)};return _0xb48fx17[_0xa19c[65]](_0xb48fx4[_0xa19c[11]][_0xa19c[53]]);})[_0xa19c[39]](function(){return _0xb48fx5[_0xa19c[42]](202)})[_0xa19c[27]](function(_0xb48fxe){return _0xb48fx15(_0xb48fxe)})};function handleError(_0xb48fx5,_0xb48fxe){return _0xb48fx5[_0xa19c[38]](500)[_0xa19c[37]](_0xb48fxe)}
\ No newline at end of file
+var _0x66cd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x55\x73\x65\x72","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x72\x6F\x6C\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x70\x65\x6E\x61\x6C\x74\x79","\x6E\x61\x6D\x65","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x65\x72\x72","\x65\x72\x72\x6F\x72","\x71\x75\x65\x75\x65","\x68\x61\x6E\x64\x6C\x65\x46\x6F\x72\x65\x69\x67\x6E\x4B\x65\x79\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x55\x73\x65\x72\x73"];_0x66cd[0];var _=require(_0x66cd[1]);var util=require(_0x66cd[2]);var Util=require(_0x66cd[3]);var sequelize=require(_0x66cd[5])[_0x66cd[4]];var MailQueue=require(_0x66cd[5])[_0x66cd[6]];var User=require(_0x66cd[5])[_0x66cd[7]];var UserHasMailQueue=require(_0x66cd[5])[_0x66cd[8]];exports[_0x66cd[9]]= function(_0xc594x8,_0xc594x9){switch(_0xc594x8[_0x66cd[17]][_0x66cd[23]]){case _0x66cd[17]:return User[_0x66cd[18]](_0xc594x8[_0x66cd[17]][_0x66cd[16]],{attributes:[_0x66cd[16]]})[_0x66cd[13]](Util[_0x66cd[15]](_0xc594x8[_0x66cd[14]]))[_0x66cd[13]](function(_0xc594xb){_0xc594x9[_0x66cd[12]](200)[_0x66cd[11]](_0xc594xb)})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)});default:return MailQueue[_0x66cd[22]](_0x66cd[21])[_0x66cd[20]](Util[_0x66cd[19]](_0xc594x8[_0x66cd[14]]))[_0x66cd[13]](function(_0xc594xb){_0xc594x9[_0x66cd[12]](200)[_0x66cd[11]](_0xc594xb)})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)})}};exports[_0x66cd[24]]= function(_0xc594x8,_0xc594x9){return MailQueue[_0x66cd[22]](_0x66cd[21])[_0x66cd[18]](_0xc594x8[_0x66cd[26]][_0x66cd[16]])[_0x66cd[13]](function(_0xc594xc){if(!_0xc594xc){return _0xc594x9[_0x66cd[25]](404)};return _0xc594x9[_0x66cd[11]](_0xc594xc)})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)})};exports[_0x66cd[27]]= function(_0xc594x8,_0xc594x9){return MailQueue[_0x66cd[27]](_0xc594x8[_0x66cd[30]])[_0x66cd[13]](function(_0xc594xc){return _0xc594x9[_0x66cd[12]](201)[_0x66cd[11]](_0xc594xc)})[_0x66cd[10]](sequelize.UniqueConstraintError,function(_0xc594xa){return Util[_0x66cd[29]][_0x66cd[28]](_0xc594x9,_0xc594xa)})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)})};exports[_0x66cd[31]]= function(_0xc594x8,_0xc594x9){if(_0xc594x8[_0x66cd[30]][_0x66cd[16]]){delete _0xc594x8[_0x66cd[30]][_0x66cd[16]]};return MailQueue[_0x66cd[18]](_0xc594x8[_0x66cd[26]][_0x66cd[16]])[_0x66cd[13]](function(_0xc594xc){if(!_0xc594xc){return _0xc594x9[_0x66cd[25]](404)};var _0xc594xd=_[_0x66cd[32]](_0xc594xc,_0xc594x8[_0x66cd[30]]);return _0xc594xd[_0x66cd[33]]()})[_0x66cd[13]](function(_0xc594xc){return _0xc594x9[_0x66cd[12]](200)[_0x66cd[11]](_0xc594xc)})[_0x66cd[10]](sequelize.UniqueConstraintError,function(_0xc594xa){return Util[_0x66cd[29]][_0x66cd[28]](_0xc594x9,_0xc594xa)})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)})};exports[_0x66cd[34]]= function(_0xc594x8,_0xc594x9,_0xc594xe){return MailQueue[_0x66cd[18]](_0xc594x8[_0x66cd[26]][_0x66cd[16]])[_0x66cd[13]](function(_0xc594xc){if(!_0xc594xc){return _0xc594x9[_0x66cd[25]](404)};var _0xc594xf=_[_0x66cd[38]](_0xc594x8[_0x66cd[30]][_0x66cd[35]],function(_0xc594x10){return {UserId:_0xc594x10,penalty:_0xc594x8[_0x66cd[30]][_0x66cd[36]],MailQueueId:_0xc594xc[_0x66cd[16]],queue:_0xc594xc[_0x66cd[37]]}});return UserHasMailQueue[_0x66cd[39]](_0xc594xf,{individualHooks:true})})[_0x66cd[13]](function(){return _0xc594x9[_0x66cd[25]](200)})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)})};exports[_0x66cd[40]]= function(_0xc594x8,_0xc594x9){return MailQueue[_0x66cd[18]](_0xc594x8[_0x66cd[26]][_0x66cd[16]])[_0x66cd[13]](function(_0xc594x11){if(!_0xc594x11){return _0xc594x9[_0x66cd[25]](404)};return _0xc594x11[_0x66cd[41]](_0xc594x8[_0x66cd[14]][_0x66cd[35]],{individualHooks:true})})[_0x66cd[13]](function(){return _0xc594x9[_0x66cd[25]](200)})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)})};exports[_0x66cd[42]]= function(_0xc594x8,_0xc594x9){var _0xc594x12;return MailQueue[_0x66cd[18]](_0xc594x8[_0x66cd[26]][_0x66cd[16]])[_0x66cd[13]](function(_0xc594xc){_0xc594x12= _0xc594xc;if(!_0xc594xc){return _0xc594x9[_0x66cd[25]](404)};return _0xc594xc[_0x66cd[42]]()})[_0x66cd[13]](function(){return _0xc594x9[_0x66cd[25]](204)})[_0x66cd[10]](sequelize.ForeignKeyConstraintError,function(_0xc594xa){return Util[_0x66cd[29]][_0x66cd[46]](_0xc594x9,_0x66cd[45],_0xc594x12[_0x66cd[37]],_0xc594xa)})[_0x66cd[10]](function(_0xc594xa){console[_0x66cd[44]](_0x66cd[43],_0xc594xa);return handleError(_0xc594x9,_0xc594xa)})};exports[_0x66cd[47]]= function(_0xc594x8,_0xc594x9){return MailQueue[_0x66cd[42]]({where:{id:_0xc594x8[_0x66cd[14]][_0x66cd[48]]},individualHooks:true})[_0x66cd[13]](function(){return _0xc594x9[_0x66cd[25]](204)})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)})};exports[_0x66cd[49]]= function(_0xc594x8,_0xc594x9){return MailQueue[_0x66cd[18]](_0xc594x8[_0x66cd[26]][_0x66cd[16]])[_0x66cd[13]](function(_0xc594x11){if(!_0xc594x11){return _0xc594x9[_0x66cd[25]](404)};return _0xc594x11[_0x66cd[54]]({where:{role:_0x66cd[51]},attributes:[_0x66cd[16],_0x66cd[37],_0x66cd[52],_0x66cd[53]]})})[_0x66cd[13]](function(_0xc594x13){return _0xc594x9[_0x66cd[12]](200)[_0x66cd[11]]({rows:_0xc594x13,count:_0xc594x13[_0x66cd[50]]})})[_0x66cd[10]](function(_0xc594xa){return handleError(_0xc594x9,_0xc594xa)})};function handleError(_0xc594x9,_0xc594xa){return _0xc594x9[_0x66cd[12]](500)[_0x66cd[11]](_0xc594xa)}
\ No newline at end of file