@secrecy/lib 1.0.0-dev.66 → 1.0.0-dev.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/{BaseClient-7c38f650.d.ts → BaseClient-e5e97df7.d.ts} +0 -0
  2. package/dist/BaseClient.cjs +1 -1
  3. package/dist/BaseClient.cjs.map +1 -1
  4. package/dist/BaseClient.d.ts +1 -1
  5. package/dist/BaseClient.js +1 -1
  6. package/dist/BaseClient.js.map +1 -1
  7. package/dist/PopupTools.cjs +1 -1
  8. package/dist/PopupTools.js +1 -1
  9. package/dist/ZeusThunder.cjs +1 -1
  10. package/dist/ZeusThunder.cjs.map +1 -1
  11. package/dist/ZeusThunder.js +1 -1
  12. package/dist/ZeusThunder.js.map +1 -1
  13. package/dist/cache.cjs +1 -1
  14. package/dist/cache.d.ts +1 -1
  15. package/dist/cache.js +1 -1
  16. package/dist/chunk-UPFDSEKI.js +2 -0
  17. package/dist/{chunk-KMTF2BZE.js.map → chunk-UPFDSEKI.js.map} +0 -0
  18. package/dist/chunk-XDPEU3HV.cjs +2 -0
  19. package/dist/{chunk-5WPCTUWH.cjs.map → chunk-XDPEU3HV.cjs.map} +0 -0
  20. package/dist/client/SecrecyAppClient.cjs +1 -1
  21. package/dist/client/SecrecyAppClient.cjs.map +1 -1
  22. package/dist/client/SecrecyAppClient.d.ts +1 -1
  23. package/dist/client/SecrecyAppClient.js +1 -1
  24. package/dist/client/SecrecyAppClient.js.map +1 -1
  25. package/dist/client/SecrecyCloudClient.cjs +1 -1
  26. package/dist/client/SecrecyCloudClient.cjs.map +1 -1
  27. package/dist/client/SecrecyCloudClient.d.ts +1 -1
  28. package/dist/client/SecrecyCloudClient.js +1 -1
  29. package/dist/client/SecrecyCloudClient.js.map +1 -1
  30. package/dist/client/SecrecyDbClient.cjs +1 -1
  31. package/dist/client/SecrecyDbClient.cjs.map +1 -1
  32. package/dist/client/SecrecyDbClient.d.ts +1 -1
  33. package/dist/client/SecrecyDbClient.js +1 -1
  34. package/dist/client/SecrecyDbClient.js.map +1 -1
  35. package/dist/client/SecrecyMailClient.cjs +1 -1
  36. package/dist/client/SecrecyMailClient.cjs.map +1 -1
  37. package/dist/client/SecrecyMailClient.d.ts +1 -1
  38. package/dist/client/SecrecyMailClient.js +1 -1
  39. package/dist/client/SecrecyMailClient.js.map +1 -1
  40. package/dist/client/SecrecyPayClient.cjs +1 -1
  41. package/dist/client/SecrecyPayClient.d.ts +1 -1
  42. package/dist/client/SecrecyPayClient.js +1 -1
  43. package/dist/client/SecrecyWalletClient.cjs +1 -1
  44. package/dist/client/SecrecyWalletClient.cjs.map +1 -1
  45. package/dist/client/SecrecyWalletClient.d.ts +1 -1
  46. package/dist/client/SecrecyWalletClient.js +1 -1
  47. package/dist/client/SecrecyWalletClient.js.map +1 -1
  48. package/dist/client/convert/file.cjs +1 -1
  49. package/dist/client/convert/file.js +1 -1
  50. package/dist/client/convert/mail.cjs +1 -1
  51. package/dist/client/convert/mail.js +1 -1
  52. package/dist/client/convert/node.cjs +1 -1
  53. package/dist/client/convert/node.cjs.map +1 -1
  54. package/dist/client/convert/node.js +1 -1
  55. package/dist/client/convert/node.js.map +1 -1
  56. package/dist/client/helpers.cjs +1 -1
  57. package/dist/client/helpers.d.ts +1 -1
  58. package/dist/client/helpers.js +1 -1
  59. package/dist/client/index.cjs +1 -1
  60. package/dist/client/index.cjs.map +1 -1
  61. package/dist/client/index.d.ts +1 -1
  62. package/dist/client/index.js +1 -1
  63. package/dist/client/index.js.map +1 -1
  64. package/dist/client/storage.cjs +1 -1
  65. package/dist/client/storage.js +1 -1
  66. package/dist/client/types/selectors.cjs +1 -1
  67. package/dist/client/types/selectors.js +1 -1
  68. package/dist/crypto/file.cjs +1 -1
  69. package/dist/crypto/file.cjs.map +1 -1
  70. package/dist/crypto/file.js +1 -1
  71. package/dist/crypto/file.js.map +1 -1
  72. package/dist/crypto/index.cjs +1 -1
  73. package/dist/crypto/index.js +1 -1
  74. package/dist/index.cjs +1 -1
  75. package/dist/index.d.ts +1 -1
  76. package/dist/index.js +1 -1
  77. package/dist/minify/index.cjs +1 -1
  78. package/dist/minify/index.js +1 -1
  79. package/dist/minify/lz4.cjs +1 -1
  80. package/dist/minify/lz4.js +1 -1
  81. package/dist/sodium.cjs +1 -1
  82. package/dist/sodium.cjs.map +1 -1
  83. package/dist/sodium.js +1 -1
  84. package/dist/sodium.js.map +1 -1
  85. package/dist/utils/store-buddy.cjs +1 -1
  86. package/dist/utils/store-buddy.js +1 -1
  87. package/dist/utils/time.cjs +1 -1
  88. package/dist/utils/time.js +1 -1
  89. package/dist/utils/utils.cjs +1 -1
  90. package/dist/utils/utils.cjs.map +1 -1
  91. package/dist/utils/utils.js +1 -1
  92. package/dist/utils/utils.js.map +1 -1
  93. package/dist/worker/md5.cjs +1 -1
  94. package/dist/worker/md5.cjs.map +1 -1
  95. package/dist/worker/md5.js +1 -1
  96. package/dist/worker/md5.js.map +1 -1
  97. package/dist/worker/sodium.cjs +1 -1
  98. package/dist/worker/sodium.cjs.map +1 -1
  99. package/dist/worker/sodium.js +1 -1
  100. package/dist/worker/sodium.js.map +1 -1
  101. package/dist/worker/workerCodes.cjs +1 -1
  102. package/dist/worker/workerCodes.js +1 -1
  103. package/dist/zeus/const.cjs +1 -1
  104. package/dist/zeus/const.js +1 -1
  105. package/dist/zeus/index.cjs +2 -2
  106. package/dist/zeus/index.cjs.map +1 -1
  107. package/dist/zeus/index.d.ts +10 -10
  108. package/dist/zeus/index.js +2 -2
  109. package/dist/zeus/index.js.map +1 -1
  110. package/package.json +3 -3
  111. package/dist/chunk-5WPCTUWH.cjs +0 -2
  112. package/dist/chunk-KMTF2BZE.js +0 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5WPCTUWHcjs = require('./chunk-5WPCTUWH.cjs');var _libutils = require('@secrecy/lib-utils');var _cachejs = require('./cache.js');var _storagejs = require('./client/storage.js');var _indexjs = require('./zeus/index.js');var _ZeusThunderjs = require('./ZeusThunder.js');const f=(i,r)=>{const{user:e}=_indexjs.Selector.call(void 0, "Query")({user:[{userId:i},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:r?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};async function d(i){var t;const r=f((t=i.userId)!=null?t:i.userEmail,i.withPublicKey),{user:e}=await i.client("query",{scalars:{Json:{encode:n=>JSON.stringify(n),decode:n=>JSON.parse(n)},DateTime:{decode:n=>new Date(n),encode:n=>n.toISOString()},BigInt:{decode:n=>BigInt(n),encode:n=>n.toString()}}})({user:r});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null}const u=class{constructor(r,e){_chunk5WPCTUWHcjs.c.call(void 0, this,"thunder");_chunk5WPCTUWHcjs.c.call(void 0, this,"sessionId");this.sessionId=r,this.thunder=u.getBaseClient(e,r)}async logout(r){if(!r){const e=_storagejs.getStorage.call(void 0, !1),t=_storagejs.getStorage.call(void 0, !0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),t.jwt.clear(),t.userAppKeys.clear(),t.userAppSession.clear(),_cachejs.usersCache.clear()}try{await this.thunder("mutation")({logout:[{sessionId:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch(e){}}async me(r){return this.user(r||{withPublicKey:!0})}static async user(r,e){var n;const t=await d({client:this.getBaseClient(r.env,e),userId:(n=r.userId)!=null?n:r.userEmail,withPublicKey:r.withPublicKey});return t?(t.__typename==="ErrorNotFound"||t&&_cachejs.usersCache.set(t.data.id,t.data),t):null}async user(r){var t;const e=await d({client:this.thunder,userId:(t=r.userId)!=null?t:r.userEmail,withPublicKey:r.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&_cachejs.usersCache.set(e.data.id,e.data),e):null}async updateProfile({firstname:r,lastname:e,lang:t}){const{updateProfile:n}=await this.thunder("mutation",{scalars:{Json:{encode:s=>JSON.stringify(s),decode:s=>JSON.parse(s)},DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()},BigInt:{decode:s=>BigInt(s),encode:s=>s.toString()}}})({updateProfile:[{firstname:r,lastname:e,lang:t},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UpdateProfileResponse":{__typename:!0,updateProfile:{id:!0,firstname:!0,lastname:!0,lang:!0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return n?n.__typename==="ErrorAccessDenied"||n.__typename==="ErrorNotFound"?n:n.updateProfile?{__typename:"SuccessResponse",data:n.updateProfile}:null:null}static async isCryptoTransactionDone({env:r,idOrHash:e,network:t=_indexjs.InfuraNetwork.mainnet}){const{isCryptoTransactionDone:n}=await u.getBaseClient(r)("query")({isCryptoTransactionDone:[{idOrHash:e,network:t},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return n&&n.__typename==="IsCryptoTransactionDoneResponse"?n.done:!1}async limits(){const{limits:r}=await this.thunder("query",{scalars:{Json:{encode:e=>JSON.stringify(e),decode:e=>JSON.parse(e)},DateTime:{decode:e=>new Date(e),encode:e=>e.toISOString()},BigInt:{decode:e=>BigInt(e),encode:e=>e.toString()}}})({limits:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorLimit":{__typename:!0,message:!0},"...on ErrorNotExist":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on QueryLimits":{__typename:!0,cloud:{size:!0,maxSize:!0,count:!0,maxCount:!0},mail:{received:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0},sent:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0}}}}});return r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotExist"||r.__typename==="ErrorLimit"||r.__typename==="ErrorNotFound"?r:{__typename:"SuccessResponse",data:r}:null}async reportUser(r,e){const{sendReport:t}=await this.thunder("mutation")({sendReport:[{reportedUserId:r,customMessage:e},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on SendReportResponse":{__typename:!0,sendReport:{id:!0,customMessage:!0,user:{id:!0,firstname:!0,lastname:!0,email:!0},reportedUser:{id:!0,firstname:!0,lastname:!0,email:!0}}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorNotFound"?t:t.sendReport?{__typename:"SuccessResponse",data:t.sendReport}:null:null}async getSponsorshipLink({backUrl:r}){const e=await this.me({withPublicKey:!1});return!e||e.__typename==="ErrorNotFound"?null:_libutils.getLink.call(void 0, {app:"auth",path:`/sign-up?gf=${btoa(e.data.email)}&au=${btoa(r)}`})}};let a=u;_chunk5WPCTUWHcjs.c.call(void 0, a,"getBaseUrl",(r="prod",e=!0)=>{const t=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(t)return t;switch(r){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}}),_chunk5WPCTUWHcjs.c.call(void 0, a,"getBaseClient",(r,e)=>_ZeusThunderjs.createThunder.call(void 0, u.getBaseUrl(r),e));exports.BaseClient = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('./chunk-XDPEU3HV.cjs');var _libutils = require('@secrecy/lib-utils');var _cachejs = require('./cache.js');var _storagejs = require('./client/storage.js');var _indexjs = require('./zeus/index.js');var _ZeusThunderjs = require('./ZeusThunder.js');const E=(u,r)=>{const{user:e}=_indexjs.Selector.call(void 0, "Query")({user:[{userId:u},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:r?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};function m(u){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){var t;const r=E((t=u.userId)!=null?t:u.userEmail,u.withPublicKey),{user:e}=yield u.client("query",{scalars:{Json:{encode:n=>JSON.stringify(n),decode:n=>JSON.parse(n)},DateTime:{decode:n=>new Date(n),encode:n=>n.toISOString()},BigInt:{decode:n=>BigInt(n),encode:n=>n.toString()}}})({user:r});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null})}const l=class{constructor(r,e){_chunkXDPEU3HVcjs.c.call(void 0, this,"thunder");_chunkXDPEU3HVcjs.c.call(void 0, this,"sessionId");this.sessionId=r,this.thunder=l.getBaseClient(e,r)}logout(r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){if(!r){const e=_storagejs.getStorage.call(void 0, !1),t=_storagejs.getStorage.call(void 0, !0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),t.jwt.clear(),t.userAppKeys.clear(),t.userAppSession.clear(),_cachejs.usersCache.clear()}try{yield this.thunder("mutation")({logout:[{sessionId:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch(e){}})}me(r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){return this.user(r||{withPublicKey:!0})})}static user(r,e){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){var n;const t=yield m({client:this.getBaseClient(r.env,e),userId:(n=r.userId)!=null?n:r.userEmail,withPublicKey:r.withPublicKey});return t?(t.__typename==="ErrorNotFound"||t&&_cachejs.usersCache.set(t.data.id,t.data),t):null})}user(r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){var t;const e=yield m({client:this.thunder,userId:(t=r.userId)!=null?t:r.userEmail,withPublicKey:r.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&_cachejs.usersCache.set(e.data.id,e.data),e):null})}updateProfile(n){return _chunkXDPEU3HVcjs.h.call(void 0, this,arguments,function*({firstname:r,lastname:e,lang:t}){const{updateProfile:s}=yield this.thunder("mutation",{scalars:{Json:{encode:i=>JSON.stringify(i),decode:i=>JSON.parse(i)},DateTime:{decode:i=>new Date(i),encode:i=>i.toISOString()},BigInt:{decode:i=>BigInt(i),encode:i=>i.toString()}}})({updateProfile:[{firstname:r,lastname:e,lang:t},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UpdateProfileResponse":{__typename:!0,updateProfile:{id:!0,firstname:!0,lastname:!0,lang:!0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return s?s.__typename==="ErrorAccessDenied"||s.__typename==="ErrorNotFound"?s:s.updateProfile?{__typename:"SuccessResponse",data:s.updateProfile}:null:null})}static isCryptoTransactionDone(n){return _chunkXDPEU3HVcjs.h.call(void 0, this,arguments,function*({env:r,idOrHash:e,network:t=_indexjs.InfuraNetwork.mainnet}){const{isCryptoTransactionDone:s}=yield l.getBaseClient(r)("query")({isCryptoTransactionDone:[{idOrHash:e,network:t},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return s&&s.__typename==="IsCryptoTransactionDoneResponse"?s.done:!1})}limits(){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const{limits:r}=yield this.thunder("query",{scalars:{Json:{encode:e=>JSON.stringify(e),decode:e=>JSON.parse(e)},DateTime:{decode:e=>new Date(e),encode:e=>e.toISOString()},BigInt:{decode:e=>BigInt(e),encode:e=>e.toString()}}})({limits:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorLimit":{__typename:!0,message:!0},"...on ErrorNotExist":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on QueryLimits":{__typename:!0,cloud:{size:!0,maxSize:!0,count:!0,maxCount:!0},mail:{received:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0},sent:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0}}}}});return r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotExist"||r.__typename==="ErrorLimit"||r.__typename==="ErrorNotFound"?r:{__typename:"SuccessResponse",data:r}:null})}reportUser(r,e){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const{sendReport:t}=yield this.thunder("mutation")({sendReport:[{reportedUserId:r,customMessage:e},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on SendReportResponse":{__typename:!0,sendReport:{id:!0,customMessage:!0,user:{id:!0,firstname:!0,lastname:!0,email:!0},reportedUser:{id:!0,firstname:!0,lastname:!0,email:!0}}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorNotFound"?t:t.sendReport?{__typename:"SuccessResponse",data:t.sendReport}:null:null})}getSponsorshipLink(e){return _chunkXDPEU3HVcjs.h.call(void 0, this,arguments,function*({backUrl:r}){const t=yield this.me({withPublicKey:!1});return!t||t.__typename==="ErrorNotFound"?null:_libutils.getLink.call(void 0, {app:"auth",path:`/sign-up?gf=${btoa(t.data.email)}&au=${btoa(r)}`})})}};let c=l;_chunkXDPEU3HVcjs.c.call(void 0, c,"getBaseUrl",(r="prod",e=!0)=>{const t=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(t)return t;switch(r){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}}),_chunkXDPEU3HVcjs.c.call(void 0, c,"getBaseClient",(r,e)=>_ZeusThunderjs.createThunder.call(void 0, l.getBaseUrl(r),e));exports.BaseClient = c;
2
2
  //# sourceMappingURL=BaseClient.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/BaseClient.ts"],"names":["getLink","usersCache","getStorage","InfuraNetwork","Selector","createThunder","getUserSelector","userId","withPublicKey","user","getUser","params","_a","selector","userResponse","e","_BaseClient","session","env","__publicField","sessionId","local","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","BaseClient","graphcdn","apiUrl"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { DownloadProgress as DLProgress } from \"ky\";\nimport { getLink } from \"@secrecy/lib-utils\";\nimport { usersCache } from \"./cache.js\";\nimport type { SecrecyEnv } from \"./client/helpers.js\";\nimport { getStorage } from \"./client/storage.js\";\nimport type { Lang, Thunder, UserRole } from \"./zeus/index.js\";\nimport { InfuraNetwork } from \"./zeus/index.js\";\nimport { Selector } from \"./zeus/index.js\";\nimport { createThunder } from \"./ZeusThunder.js\";\nimport type {\n ErrorAccessDenied,\n ErrorLimit,\n ErrorNotFound,\n ErrorNotExist\n} from \"./error.js\";\n\nexport type SuccessResponse<T> = {\n __typename: \"SuccessResponse\";\n data: T;\n};\n\nexport type DownloadProgress = DLProgress;\n\nexport type SendReport = {\n id: string;\n user: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n reportedUser: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n customMessage?: string | undefined;\n};\n\nexport type UserData<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n isSuperuser: boolean;\n isSearchable: boolean;\n} & T;\n\nconst getUserSelector = (\n userId: string | null | undefined,\n withPublicKey: boolean | undefined\n) => {\n const { user } = Selector(\"Query\")({\n user: [\n { userId },\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true,\n field: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n publicKey: withPublicKey ? true : undefined,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n return user;\n};\n\nexport type UserBase = {\n email: string;\n phone: string;\n lastname: string;\n role: UserRole;\n firstname: string;\n id: string;\n deletedAt?: Date;\n lastLogin: Date;\n lang: Lang;\n};\n\ntype WithPublicKey = { withPublicKey?: boolean };\n\nexport type User<T extends WithPublicKey = WithPublicKey> = T extends {\n withPublicKey: true;\n}\n ? UserBase & { publicKey: string }\n : UserBase;\n\ntype ClassGetUserParams = WithPublicKey & {\n userId?: string;\n userEmail?: string;\n};\ntype GetUserParams = ClassGetUserParams & {\n client: ReturnType<typeof Thunder>;\n};\n\ntype StaticGetUserParams = ClassGetUserParams & {\n env: SecrecyEnv;\n};\n\nasync function getUser<U extends WithPublicKey>(\n params: GetUserParams\n): Promise<SuccessResponse<User<U>> | ErrorNotFound | null> {\n const selector = getUserSelector(\n params.userId ?? params.userEmail,\n params.withPublicKey\n );\n const { user: userResponse } = await params.client(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n user: selector\n });\n\n if (!userResponse) {\n return null;\n }\n\n if (userResponse.__typename === \"ErrorNotFound\") {\n return userResponse;\n }\n\n if (!userResponse.user) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: userResponse.user\n };\n}\n\nexport type CloudLimits = {\n count: bigint;\n maxCount?: bigint | undefined;\n size: bigint;\n maxSize?: bigint | undefined;\n};\n\nexport type MailLimitsValues = {\n count: bigint;\n maxCount?: bigint | undefined;\n fileSize: bigint;\n maxFileSize?: bigint | undefined;\n fileCount: bigint;\n maxFileCount?: bigint | undefined;\n};\n\nexport type QueryLimits = {\n cloud: CloudLimits;\n mail: {\n sent: MailLimitsValues;\n received: MailLimitsValues;\n };\n};\n\nexport class BaseClient {\n public static readonly getBaseUrl = (\n env: SecrecyEnv = \"prod\",\n graphcdn = true\n ): string => {\n const apiUrl = process.env.NEXT_PUBLIC_SECRECY_API_URL;\n if (apiUrl) {\n return apiUrl;\n }\n\n switch (env) {\n case \"prod\":\n return graphcdn\n ? \"https://secrecy.graphcdn.app\"\n : \"https://api.secrecy.me/graphql\";\n case \"dev\":\n default:\n return \"https://api.dev.secrecy.me/graphql\";\n }\n };\n\n static readonly getBaseClient = (\n env: SecrecyEnv,\n session?: string | null | undefined\n ): ReturnType<typeof Thunder> =>\n createThunder(BaseClient.getBaseUrl(env), session);\n\n protected thunder: ReturnType<typeof Thunder>;\n\n public sessionId: string;\n\n constructor(session: string, env: SecrecyEnv) {\n this.sessionId = session;\n this.thunder = BaseClient.getBaseClient(env, session);\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n if (!sessionId) {\n const local = getStorage(false);\n const session = getStorage(true);\n local.jwt.clear();\n local.userAppKeys.clear();\n local.userAppSession.clear();\n session.jwt.clear();\n session.userAppKeys.clear();\n session.userAppSession.clear();\n usersCache.clear();\n }\n try {\n await this.thunder(\"mutation\")({\n logout: [\n {\n sessionId: sessionId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on LogoutResponse\": {\n __typename: true,\n logout: true\n }\n }\n ]\n });\n } catch {\n //\n }\n }\n\n async me<T extends WithPublicKey = WithPublicKey>(\n params?: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n return this.user(params || ({ withPublicKey: true } as T));\n }\n\n static async user<T extends StaticGetUserParams>(\n params: T,\n sessionId?: string | null | undefined\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.getBaseClient(params.env, sessionId),\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async user<T extends ClassGetUserParams>(\n params: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.thunder,\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async updateProfile({\n firstname,\n lastname,\n lang\n }: {\n firstname: string | null;\n lastname: string | null;\n lang: Lang | null;\n }): Promise<\n SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null\n > {\n const { updateProfile } = await this.thunder(\"mutation\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n updateProfile: [\n {\n firstname,\n lastname,\n lang\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UpdateProfileResponse\": {\n __typename: true,\n updateProfile: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n\n if (!updateProfile) {\n return null;\n }\n\n if (updateProfile.__typename === \"ErrorAccessDenied\") {\n return updateProfile;\n }\n\n if (updateProfile.__typename === \"ErrorNotFound\") {\n return updateProfile;\n }\n\n if (!updateProfile.updateProfile) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateProfile.updateProfile\n };\n }\n\n static async isCryptoTransactionDone({\n env,\n idOrHash,\n network = InfuraNetwork.mainnet\n }: {\n env: SecrecyEnv;\n idOrHash: string;\n network?: InfuraNetwork;\n }): Promise<boolean> {\n const { isCryptoTransactionDone } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n isCryptoTransactionDone: [\n {\n idOrHash,\n network\n },\n {\n __typename: true,\n \"...on IsCryptoTransactionDoneResponse\": {\n done: true\n },\n \"...on ErrorNotExist\": {\n message: true\n }\n }\n ]\n });\n\n if (!isCryptoTransactionDone) {\n return false;\n }\n\n return isCryptoTransactionDone.__typename ===\n \"IsCryptoTransactionDoneResponse\"\n ? isCryptoTransactionDone.done\n : false;\n }\n\n async limits(): Promise<\n | SuccessResponse<QueryLimits>\n | ErrorAccessDenied\n | ErrorNotExist\n | ErrorLimit\n | ErrorNotFound\n | null\n > {\n const { limits } = await this.thunder(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n limits: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorLimit\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotExist\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on QueryLimits\": {\n __typename: true,\n cloud: {\n size: true,\n maxSize: true,\n count: true,\n maxCount: true\n },\n mail: {\n received: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n },\n sent: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n }\n }\n }\n }\n });\n\n if (!limits) {\n return null;\n }\n\n if (limits.__typename === \"ErrorAccessDenied\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotExist\") {\n return limits;\n }\n if (limits.__typename === \"ErrorLimit\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotFound\") {\n return limits;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: limits\n };\n }\n\n async reportUser(\n reportedUserId: string,\n customMessage?: string\n ): Promise<\n SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null\n > {\n const { sendReport } = await this.thunder(\"mutation\")({\n sendReport: [\n {\n reportedUserId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on SendReportResponse\": {\n __typename: true,\n sendReport: {\n id: true,\n customMessage: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n },\n reportedUser: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n }\n }\n }\n }\n ]\n });\n\n if (!sendReport) {\n return null;\n }\n\n if (sendReport.__typename === \"ErrorAccessDenied\") {\n return sendReport;\n }\n\n if (sendReport.__typename === \"ErrorNotFound\") {\n return sendReport;\n }\n\n if (!sendReport.sendReport) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendReport.sendReport\n };\n }\n\n async getSponsorshipLink({\n backUrl\n }: {\n backUrl: string;\n }): Promise<string | null> {\n const me = await this.me({ withPublicKey: false });\n\n if (!me) {\n return null;\n }\n\n if (me.__typename === \"ErrorNotFound\") {\n return null;\n }\n\n return getLink({\n app: \"auth\",\n path: `/sign-up?gf=${btoa(me.data.email)}&au=${btoa(backUrl)}`\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/BaseClient.ts"],"names":["getLink","usersCache","getStorage","InfuraNetwork","Selector","createThunder","getUserSelector","userId","withPublicKey","user","getUser","params","__async","_a","selector","userResponse","e","_BaseClient","session","env","__publicField","sessionId","local","_0","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","BaseClient","graphcdn","apiUrl"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { DownloadProgress as DLProgress } from \"ky\";\nimport { getLink } from \"@secrecy/lib-utils\";\nimport { usersCache } from \"./cache.js\";\nimport type { SecrecyEnv } from \"./client/helpers.js\";\nimport { getStorage } from \"./client/storage.js\";\nimport type { Lang, Thunder, UserRole } from \"./zeus/index.js\";\nimport { InfuraNetwork } from \"./zeus/index.js\";\nimport { Selector } from \"./zeus/index.js\";\nimport { createThunder } from \"./ZeusThunder.js\";\nimport type {\n ErrorAccessDenied,\n ErrorLimit,\n ErrorNotFound,\n ErrorNotExist\n} from \"./error.js\";\n\nexport type SuccessResponse<T> = {\n __typename: \"SuccessResponse\";\n data: T;\n};\n\nexport type DownloadProgress = DLProgress;\n\nexport type SendReport = {\n id: string;\n user: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n reportedUser: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n customMessage?: string | undefined;\n};\n\nexport type UserData<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n isSuperuser: boolean;\n isSearchable: boolean;\n} & T;\n\nconst getUserSelector = (\n userId: string | null | undefined,\n withPublicKey: boolean | undefined\n) => {\n const { user } = Selector(\"Query\")({\n user: [\n { userId },\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true,\n field: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n publicKey: withPublicKey ? true : undefined,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n return user;\n};\n\nexport type UserBase = {\n email: string;\n phone: string;\n lastname: string;\n role: UserRole;\n firstname: string;\n id: string;\n deletedAt?: Date;\n lastLogin: Date;\n lang: Lang;\n};\n\ntype WithPublicKey = { withPublicKey?: boolean };\n\nexport type User<T extends WithPublicKey = WithPublicKey> = T extends {\n withPublicKey: true;\n}\n ? UserBase & { publicKey: string }\n : UserBase;\n\ntype ClassGetUserParams = WithPublicKey & {\n userId?: string;\n userEmail?: string;\n};\ntype GetUserParams = ClassGetUserParams & {\n client: ReturnType<typeof Thunder>;\n};\n\ntype StaticGetUserParams = ClassGetUserParams & {\n env: SecrecyEnv;\n};\n\nasync function getUser<U extends WithPublicKey>(\n params: GetUserParams\n): Promise<SuccessResponse<User<U>> | ErrorNotFound | null> {\n const selector = getUserSelector(\n params.userId ?? params.userEmail,\n params.withPublicKey\n );\n const { user: userResponse } = await params.client(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n user: selector\n });\n\n if (!userResponse) {\n return null;\n }\n\n if (userResponse.__typename === \"ErrorNotFound\") {\n return userResponse;\n }\n\n if (!userResponse.user) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: userResponse.user\n };\n}\n\nexport type CloudLimits = {\n count: bigint;\n maxCount?: bigint | undefined;\n size: bigint;\n maxSize?: bigint | undefined;\n};\n\nexport type MailLimitsValues = {\n count: bigint;\n maxCount?: bigint | undefined;\n fileSize: bigint;\n maxFileSize?: bigint | undefined;\n fileCount: bigint;\n maxFileCount?: bigint | undefined;\n};\n\nexport type QueryLimits = {\n cloud: CloudLimits;\n mail: {\n sent: MailLimitsValues;\n received: MailLimitsValues;\n };\n};\n\nexport class BaseClient {\n public static readonly getBaseUrl = (\n env: SecrecyEnv = \"prod\",\n graphcdn = true\n ): string => {\n const apiUrl = process.env.NEXT_PUBLIC_SECRECY_API_URL;\n if (apiUrl) {\n return apiUrl;\n }\n\n switch (env) {\n case \"prod\":\n return graphcdn\n ? \"https://secrecy.graphcdn.app\"\n : \"https://api.secrecy.me/graphql\";\n case \"dev\":\n default:\n return \"https://api.dev.secrecy.me/graphql\";\n }\n };\n\n static readonly getBaseClient = (\n env: SecrecyEnv,\n session?: string | null | undefined\n ): ReturnType<typeof Thunder> =>\n createThunder(BaseClient.getBaseUrl(env), session);\n\n protected thunder: ReturnType<typeof Thunder>;\n\n public sessionId: string;\n\n constructor(session: string, env: SecrecyEnv) {\n this.sessionId = session;\n this.thunder = BaseClient.getBaseClient(env, session);\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n if (!sessionId) {\n const local = getStorage(false);\n const session = getStorage(true);\n local.jwt.clear();\n local.userAppKeys.clear();\n local.userAppSession.clear();\n session.jwt.clear();\n session.userAppKeys.clear();\n session.userAppSession.clear();\n usersCache.clear();\n }\n try {\n await this.thunder(\"mutation\")({\n logout: [\n {\n sessionId: sessionId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on LogoutResponse\": {\n __typename: true,\n logout: true\n }\n }\n ]\n });\n } catch {\n //\n }\n }\n\n async me<T extends WithPublicKey = WithPublicKey>(\n params?: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n return this.user(params || ({ withPublicKey: true } as T));\n }\n\n static async user<T extends StaticGetUserParams>(\n params: T,\n sessionId?: string | null | undefined\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.getBaseClient(params.env, sessionId),\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async user<T extends ClassGetUserParams>(\n params: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.thunder,\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async updateProfile({\n firstname,\n lastname,\n lang\n }: {\n firstname: string | null;\n lastname: string | null;\n lang: Lang | null;\n }): Promise<\n SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null\n > {\n const { updateProfile } = await this.thunder(\"mutation\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n updateProfile: [\n {\n firstname,\n lastname,\n lang\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UpdateProfileResponse\": {\n __typename: true,\n updateProfile: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n\n if (!updateProfile) {\n return null;\n }\n\n if (updateProfile.__typename === \"ErrorAccessDenied\") {\n return updateProfile;\n }\n\n if (updateProfile.__typename === \"ErrorNotFound\") {\n return updateProfile;\n }\n\n if (!updateProfile.updateProfile) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateProfile.updateProfile\n };\n }\n\n static async isCryptoTransactionDone({\n env,\n idOrHash,\n network = InfuraNetwork.mainnet\n }: {\n env: SecrecyEnv;\n idOrHash: string;\n network?: InfuraNetwork;\n }): Promise<boolean> {\n const { isCryptoTransactionDone } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n isCryptoTransactionDone: [\n {\n idOrHash,\n network\n },\n {\n __typename: true,\n \"...on IsCryptoTransactionDoneResponse\": {\n done: true\n },\n \"...on ErrorNotExist\": {\n message: true\n }\n }\n ]\n });\n\n if (!isCryptoTransactionDone) {\n return false;\n }\n\n return isCryptoTransactionDone.__typename ===\n \"IsCryptoTransactionDoneResponse\"\n ? isCryptoTransactionDone.done\n : false;\n }\n\n async limits(): Promise<\n | SuccessResponse<QueryLimits>\n | ErrorAccessDenied\n | ErrorNotExist\n | ErrorLimit\n | ErrorNotFound\n | null\n > {\n const { limits } = await this.thunder(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n limits: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorLimit\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotExist\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on QueryLimits\": {\n __typename: true,\n cloud: {\n size: true,\n maxSize: true,\n count: true,\n maxCount: true\n },\n mail: {\n received: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n },\n sent: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n }\n }\n }\n }\n });\n\n if (!limits) {\n return null;\n }\n\n if (limits.__typename === \"ErrorAccessDenied\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotExist\") {\n return limits;\n }\n if (limits.__typename === \"ErrorLimit\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotFound\") {\n return limits;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: limits\n };\n }\n\n async reportUser(\n reportedUserId: string,\n customMessage?: string\n ): Promise<\n SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null\n > {\n const { sendReport } = await this.thunder(\"mutation\")({\n sendReport: [\n {\n reportedUserId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on SendReportResponse\": {\n __typename: true,\n sendReport: {\n id: true,\n customMessage: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n },\n reportedUser: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n }\n }\n }\n }\n ]\n });\n\n if (!sendReport) {\n return null;\n }\n\n if (sendReport.__typename === \"ErrorAccessDenied\") {\n return sendReport;\n }\n\n if (sendReport.__typename === \"ErrorNotFound\") {\n return sendReport;\n }\n\n if (!sendReport.sendReport) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendReport.sendReport\n };\n }\n\n async getSponsorshipLink({\n backUrl\n }: {\n backUrl: string;\n }): Promise<string | null> {\n const me = await this.me({ withPublicKey: false });\n\n if (!me) {\n return null;\n }\n\n if (me.__typename === \"ErrorNotFound\") {\n return null;\n }\n\n return getLink({\n app: \"auth\",\n path: `/sign-up?gf=${btoa(me.data.email)}&au=${btoa(backUrl)}`\n });\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import 'ky';
2
- export { B as BaseClient, C as CloudLimits, D as DownloadProgress, M as MailLimitsValues, Q as QueryLimits, S as SendReport, c as SuccessResponse, a as User, U as UserBase, b as UserData } from './BaseClient-7c38f650.js';
2
+ export { B as BaseClient, C as CloudLimits, D as DownloadProgress, M as MailLimitsValues, Q as QueryLimits, S as SendReport, c as SuccessResponse, a as User, U as UserBase, b as UserData } from './BaseClient-e5e97df7.js';
3
3
  import './zeus/index.js';
4
4
  import './error.js';
5
5
  import './crypto/file.js';
@@ -1,2 +1,2 @@
1
- import{c as o}from"./chunk-KMTF2BZE.js";import{getLink as p}from"@secrecy/lib-utils";import{usersCache as l}from"./cache.js";import{getStorage as c}from"./client/storage.js";import{InfuraNetwork as m}from"./zeus/index.js";import{Selector as g}from"./zeus/index.js";import{createThunder as y}from"./ZeusThunder.js";const f=(i,r)=>{const{user:e}=g("Query")({user:[{userId:i},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:r?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};async function d(i){var t;const r=f((t=i.userId)!=null?t:i.userEmail,i.withPublicKey),{user:e}=await i.client("query",{scalars:{Json:{encode:n=>JSON.stringify(n),decode:n=>JSON.parse(n)},DateTime:{decode:n=>new Date(n),encode:n=>n.toISOString()},BigInt:{decode:n=>BigInt(n),encode:n=>n.toString()}}})({user:r});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null}const u=class{constructor(r,e){o(this,"thunder");o(this,"sessionId");this.sessionId=r,this.thunder=u.getBaseClient(e,r)}async logout(r){if(!r){const e=c(!1),t=c(!0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),t.jwt.clear(),t.userAppKeys.clear(),t.userAppSession.clear(),l.clear()}try{await this.thunder("mutation")({logout:[{sessionId:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch(e){}}async me(r){return this.user(r||{withPublicKey:!0})}static async user(r,e){var n;const t=await d({client:this.getBaseClient(r.env,e),userId:(n=r.userId)!=null?n:r.userEmail,withPublicKey:r.withPublicKey});return t?(t.__typename==="ErrorNotFound"||t&&l.set(t.data.id,t.data),t):null}async user(r){var t;const e=await d({client:this.thunder,userId:(t=r.userId)!=null?t:r.userEmail,withPublicKey:r.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&l.set(e.data.id,e.data),e):null}async updateProfile({firstname:r,lastname:e,lang:t}){const{updateProfile:n}=await this.thunder("mutation",{scalars:{Json:{encode:s=>JSON.stringify(s),decode:s=>JSON.parse(s)},DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()},BigInt:{decode:s=>BigInt(s),encode:s=>s.toString()}}})({updateProfile:[{firstname:r,lastname:e,lang:t},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UpdateProfileResponse":{__typename:!0,updateProfile:{id:!0,firstname:!0,lastname:!0,lang:!0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return n?n.__typename==="ErrorAccessDenied"||n.__typename==="ErrorNotFound"?n:n.updateProfile?{__typename:"SuccessResponse",data:n.updateProfile}:null:null}static async isCryptoTransactionDone({env:r,idOrHash:e,network:t=m.mainnet}){const{isCryptoTransactionDone:n}=await u.getBaseClient(r)("query")({isCryptoTransactionDone:[{idOrHash:e,network:t},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return n&&n.__typename==="IsCryptoTransactionDoneResponse"?n.done:!1}async limits(){const{limits:r}=await this.thunder("query",{scalars:{Json:{encode:e=>JSON.stringify(e),decode:e=>JSON.parse(e)},DateTime:{decode:e=>new Date(e),encode:e=>e.toISOString()},BigInt:{decode:e=>BigInt(e),encode:e=>e.toString()}}})({limits:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorLimit":{__typename:!0,message:!0},"...on ErrorNotExist":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on QueryLimits":{__typename:!0,cloud:{size:!0,maxSize:!0,count:!0,maxCount:!0},mail:{received:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0},sent:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0}}}}});return r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotExist"||r.__typename==="ErrorLimit"||r.__typename==="ErrorNotFound"?r:{__typename:"SuccessResponse",data:r}:null}async reportUser(r,e){const{sendReport:t}=await this.thunder("mutation")({sendReport:[{reportedUserId:r,customMessage:e},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on SendReportResponse":{__typename:!0,sendReport:{id:!0,customMessage:!0,user:{id:!0,firstname:!0,lastname:!0,email:!0},reportedUser:{id:!0,firstname:!0,lastname:!0,email:!0}}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorNotFound"?t:t.sendReport?{__typename:"SuccessResponse",data:t.sendReport}:null:null}async getSponsorshipLink({backUrl:r}){const e=await this.me({withPublicKey:!1});return!e||e.__typename==="ErrorNotFound"?null:p({app:"auth",path:`/sign-up?gf=${btoa(e.data.email)}&au=${btoa(r)}`})}};let a=u;o(a,"getBaseUrl",(r="prod",e=!0)=>{const t=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(t)return t;switch(r){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}}),o(a,"getBaseClient",(r,e)=>y(u.getBaseUrl(r),e));export{a as BaseClient};
1
+ import{c as a,h as o}from"./chunk-UPFDSEKI.js";import{getLink as g}from"@secrecy/lib-utils";import{usersCache as d}from"./cache.js";import{getStorage as p}from"./client/storage.js";import{InfuraNetwork as y}from"./zeus/index.js";import{Selector as f}from"./zeus/index.js";import{createThunder as _}from"./ZeusThunder.js";const E=(u,r)=>{const{user:e}=f("Query")({user:[{userId:u},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:r?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};function m(u){return o(this,null,function*(){var t;const r=E((t=u.userId)!=null?t:u.userEmail,u.withPublicKey),{user:e}=yield u.client("query",{scalars:{Json:{encode:n=>JSON.stringify(n),decode:n=>JSON.parse(n)},DateTime:{decode:n=>new Date(n),encode:n=>n.toISOString()},BigInt:{decode:n=>BigInt(n),encode:n=>n.toString()}}})({user:r});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null})}const l=class{constructor(r,e){a(this,"thunder");a(this,"sessionId");this.sessionId=r,this.thunder=l.getBaseClient(e,r)}logout(r){return o(this,null,function*(){if(!r){const e=p(!1),t=p(!0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),t.jwt.clear(),t.userAppKeys.clear(),t.userAppSession.clear(),d.clear()}try{yield this.thunder("mutation")({logout:[{sessionId:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch(e){}})}me(r){return o(this,null,function*(){return this.user(r||{withPublicKey:!0})})}static user(r,e){return o(this,null,function*(){var n;const t=yield m({client:this.getBaseClient(r.env,e),userId:(n=r.userId)!=null?n:r.userEmail,withPublicKey:r.withPublicKey});return t?(t.__typename==="ErrorNotFound"||t&&d.set(t.data.id,t.data),t):null})}user(r){return o(this,null,function*(){var t;const e=yield m({client:this.thunder,userId:(t=r.userId)!=null?t:r.userEmail,withPublicKey:r.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&d.set(e.data.id,e.data),e):null})}updateProfile(n){return o(this,arguments,function*({firstname:r,lastname:e,lang:t}){const{updateProfile:s}=yield this.thunder("mutation",{scalars:{Json:{encode:i=>JSON.stringify(i),decode:i=>JSON.parse(i)},DateTime:{decode:i=>new Date(i),encode:i=>i.toISOString()},BigInt:{decode:i=>BigInt(i),encode:i=>i.toString()}}})({updateProfile:[{firstname:r,lastname:e,lang:t},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UpdateProfileResponse":{__typename:!0,updateProfile:{id:!0,firstname:!0,lastname:!0,lang:!0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return s?s.__typename==="ErrorAccessDenied"||s.__typename==="ErrorNotFound"?s:s.updateProfile?{__typename:"SuccessResponse",data:s.updateProfile}:null:null})}static isCryptoTransactionDone(n){return o(this,arguments,function*({env:r,idOrHash:e,network:t=y.mainnet}){const{isCryptoTransactionDone:s}=yield l.getBaseClient(r)("query")({isCryptoTransactionDone:[{idOrHash:e,network:t},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return s&&s.__typename==="IsCryptoTransactionDoneResponse"?s.done:!1})}limits(){return o(this,null,function*(){const{limits:r}=yield this.thunder("query",{scalars:{Json:{encode:e=>JSON.stringify(e),decode:e=>JSON.parse(e)},DateTime:{decode:e=>new Date(e),encode:e=>e.toISOString()},BigInt:{decode:e=>BigInt(e),encode:e=>e.toString()}}})({limits:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorLimit":{__typename:!0,message:!0},"...on ErrorNotExist":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on QueryLimits":{__typename:!0,cloud:{size:!0,maxSize:!0,count:!0,maxCount:!0},mail:{received:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0},sent:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0}}}}});return r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotExist"||r.__typename==="ErrorLimit"||r.__typename==="ErrorNotFound"?r:{__typename:"SuccessResponse",data:r}:null})}reportUser(r,e){return o(this,null,function*(){const{sendReport:t}=yield this.thunder("mutation")({sendReport:[{reportedUserId:r,customMessage:e},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on SendReportResponse":{__typename:!0,sendReport:{id:!0,customMessage:!0,user:{id:!0,firstname:!0,lastname:!0,email:!0},reportedUser:{id:!0,firstname:!0,lastname:!0,email:!0}}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorNotFound"?t:t.sendReport?{__typename:"SuccessResponse",data:t.sendReport}:null:null})}getSponsorshipLink(e){return o(this,arguments,function*({backUrl:r}){const t=yield this.me({withPublicKey:!1});return!t||t.__typename==="ErrorNotFound"?null:g({app:"auth",path:`/sign-up?gf=${btoa(t.data.email)}&au=${btoa(r)}`})})}};let c=l;a(c,"getBaseUrl",(r="prod",e=!0)=>{const t=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(t)return t;switch(r){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}}),a(c,"getBaseClient",(r,e)=>_(l.getBaseUrl(r),e));export{c as BaseClient};
2
2
  //# sourceMappingURL=BaseClient.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/BaseClient.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { DownloadProgress as DLProgress } from \"ky\";\nimport { getLink } from \"@secrecy/lib-utils\";\nimport { usersCache } from \"./cache.js\";\nimport type { SecrecyEnv } from \"./client/helpers.js\";\nimport { getStorage } from \"./client/storage.js\";\nimport type { Lang, Thunder, UserRole } from \"./zeus/index.js\";\nimport { InfuraNetwork } from \"./zeus/index.js\";\nimport { Selector } from \"./zeus/index.js\";\nimport { createThunder } from \"./ZeusThunder.js\";\nimport type {\n ErrorAccessDenied,\n ErrorLimit,\n ErrorNotFound,\n ErrorNotExist\n} from \"./error.js\";\n\nexport type SuccessResponse<T> = {\n __typename: \"SuccessResponse\";\n data: T;\n};\n\nexport type DownloadProgress = DLProgress;\n\nexport type SendReport = {\n id: string;\n user: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n reportedUser: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n customMessage?: string | undefined;\n};\n\nexport type UserData<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n isSuperuser: boolean;\n isSearchable: boolean;\n} & T;\n\nconst getUserSelector = (\n userId: string | null | undefined,\n withPublicKey: boolean | undefined\n) => {\n const { user } = Selector(\"Query\")({\n user: [\n { userId },\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true,\n field: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n publicKey: withPublicKey ? true : undefined,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n return user;\n};\n\nexport type UserBase = {\n email: string;\n phone: string;\n lastname: string;\n role: UserRole;\n firstname: string;\n id: string;\n deletedAt?: Date;\n lastLogin: Date;\n lang: Lang;\n};\n\ntype WithPublicKey = { withPublicKey?: boolean };\n\nexport type User<T extends WithPublicKey = WithPublicKey> = T extends {\n withPublicKey: true;\n}\n ? UserBase & { publicKey: string }\n : UserBase;\n\ntype ClassGetUserParams = WithPublicKey & {\n userId?: string;\n userEmail?: string;\n};\ntype GetUserParams = ClassGetUserParams & {\n client: ReturnType<typeof Thunder>;\n};\n\ntype StaticGetUserParams = ClassGetUserParams & {\n env: SecrecyEnv;\n};\n\nasync function getUser<U extends WithPublicKey>(\n params: GetUserParams\n): Promise<SuccessResponse<User<U>> | ErrorNotFound | null> {\n const selector = getUserSelector(\n params.userId ?? params.userEmail,\n params.withPublicKey\n );\n const { user: userResponse } = await params.client(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n user: selector\n });\n\n if (!userResponse) {\n return null;\n }\n\n if (userResponse.__typename === \"ErrorNotFound\") {\n return userResponse;\n }\n\n if (!userResponse.user) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: userResponse.user\n };\n}\n\nexport type CloudLimits = {\n count: bigint;\n maxCount?: bigint | undefined;\n size: bigint;\n maxSize?: bigint | undefined;\n};\n\nexport type MailLimitsValues = {\n count: bigint;\n maxCount?: bigint | undefined;\n fileSize: bigint;\n maxFileSize?: bigint | undefined;\n fileCount: bigint;\n maxFileCount?: bigint | undefined;\n};\n\nexport type QueryLimits = {\n cloud: CloudLimits;\n mail: {\n sent: MailLimitsValues;\n received: MailLimitsValues;\n };\n};\n\nexport class BaseClient {\n public static readonly getBaseUrl = (\n env: SecrecyEnv = \"prod\",\n graphcdn = true\n ): string => {\n const apiUrl = process.env.NEXT_PUBLIC_SECRECY_API_URL;\n if (apiUrl) {\n return apiUrl;\n }\n\n switch (env) {\n case \"prod\":\n return graphcdn\n ? \"https://secrecy.graphcdn.app\"\n : \"https://api.secrecy.me/graphql\";\n case \"dev\":\n default:\n return \"https://api.dev.secrecy.me/graphql\";\n }\n };\n\n static readonly getBaseClient = (\n env: SecrecyEnv,\n session?: string | null | undefined\n ): ReturnType<typeof Thunder> =>\n createThunder(BaseClient.getBaseUrl(env), session);\n\n protected thunder: ReturnType<typeof Thunder>;\n\n public sessionId: string;\n\n constructor(session: string, env: SecrecyEnv) {\n this.sessionId = session;\n this.thunder = BaseClient.getBaseClient(env, session);\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n if (!sessionId) {\n const local = getStorage(false);\n const session = getStorage(true);\n local.jwt.clear();\n local.userAppKeys.clear();\n local.userAppSession.clear();\n session.jwt.clear();\n session.userAppKeys.clear();\n session.userAppSession.clear();\n usersCache.clear();\n }\n try {\n await this.thunder(\"mutation\")({\n logout: [\n {\n sessionId: sessionId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on LogoutResponse\": {\n __typename: true,\n logout: true\n }\n }\n ]\n });\n } catch {\n //\n }\n }\n\n async me<T extends WithPublicKey = WithPublicKey>(\n params?: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n return this.user(params || ({ withPublicKey: true } as T));\n }\n\n static async user<T extends StaticGetUserParams>(\n params: T,\n sessionId?: string | null | undefined\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.getBaseClient(params.env, sessionId),\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async user<T extends ClassGetUserParams>(\n params: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.thunder,\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async updateProfile({\n firstname,\n lastname,\n lang\n }: {\n firstname: string | null;\n lastname: string | null;\n lang: Lang | null;\n }): Promise<\n SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null\n > {\n const { updateProfile } = await this.thunder(\"mutation\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n updateProfile: [\n {\n firstname,\n lastname,\n lang\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UpdateProfileResponse\": {\n __typename: true,\n updateProfile: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n\n if (!updateProfile) {\n return null;\n }\n\n if (updateProfile.__typename === \"ErrorAccessDenied\") {\n return updateProfile;\n }\n\n if (updateProfile.__typename === \"ErrorNotFound\") {\n return updateProfile;\n }\n\n if (!updateProfile.updateProfile) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateProfile.updateProfile\n };\n }\n\n static async isCryptoTransactionDone({\n env,\n idOrHash,\n network = InfuraNetwork.mainnet\n }: {\n env: SecrecyEnv;\n idOrHash: string;\n network?: InfuraNetwork;\n }): Promise<boolean> {\n const { isCryptoTransactionDone } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n isCryptoTransactionDone: [\n {\n idOrHash,\n network\n },\n {\n __typename: true,\n \"...on IsCryptoTransactionDoneResponse\": {\n done: true\n },\n \"...on ErrorNotExist\": {\n message: true\n }\n }\n ]\n });\n\n if (!isCryptoTransactionDone) {\n return false;\n }\n\n return isCryptoTransactionDone.__typename ===\n \"IsCryptoTransactionDoneResponse\"\n ? isCryptoTransactionDone.done\n : false;\n }\n\n async limits(): Promise<\n | SuccessResponse<QueryLimits>\n | ErrorAccessDenied\n | ErrorNotExist\n | ErrorLimit\n | ErrorNotFound\n | null\n > {\n const { limits } = await this.thunder(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n limits: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorLimit\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotExist\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on QueryLimits\": {\n __typename: true,\n cloud: {\n size: true,\n maxSize: true,\n count: true,\n maxCount: true\n },\n mail: {\n received: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n },\n sent: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n }\n }\n }\n }\n });\n\n if (!limits) {\n return null;\n }\n\n if (limits.__typename === \"ErrorAccessDenied\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotExist\") {\n return limits;\n }\n if (limits.__typename === \"ErrorLimit\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotFound\") {\n return limits;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: limits\n };\n }\n\n async reportUser(\n reportedUserId: string,\n customMessage?: string\n ): Promise<\n SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null\n > {\n const { sendReport } = await this.thunder(\"mutation\")({\n sendReport: [\n {\n reportedUserId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on SendReportResponse\": {\n __typename: true,\n sendReport: {\n id: true,\n customMessage: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n },\n reportedUser: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n }\n }\n }\n }\n ]\n });\n\n if (!sendReport) {\n return null;\n }\n\n if (sendReport.__typename === \"ErrorAccessDenied\") {\n return sendReport;\n }\n\n if (sendReport.__typename === \"ErrorNotFound\") {\n return sendReport;\n }\n\n if (!sendReport.sendReport) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendReport.sendReport\n };\n }\n\n async getSponsorshipLink({\n backUrl\n }: {\n backUrl: string;\n }): Promise<string | null> {\n const me = await this.me({ withPublicKey: false });\n\n if (!me) {\n return null;\n }\n\n if (me.__typename === \"ErrorNotFound\") {\n return null;\n }\n\n return getLink({\n app: \"auth\",\n path: `/sign-up?gf=${btoa(me.data.email)}&au=${btoa(backUrl)}`\n });\n }\n}\n"],"mappings":"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","names":["getLink","usersCache","getStorage","InfuraNetwork","Selector","createThunder","getUserSelector","userId","withPublicKey","user","getUser","params","_a","selector","userResponse","e","_BaseClient","session","env","__publicField","sessionId","local","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","BaseClient","graphcdn","apiUrl"]}
1
+ {"version":3,"sources":["../src/BaseClient.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { DownloadProgress as DLProgress } from \"ky\";\nimport { getLink } from \"@secrecy/lib-utils\";\nimport { usersCache } from \"./cache.js\";\nimport type { SecrecyEnv } from \"./client/helpers.js\";\nimport { getStorage } from \"./client/storage.js\";\nimport type { Lang, Thunder, UserRole } from \"./zeus/index.js\";\nimport { InfuraNetwork } from \"./zeus/index.js\";\nimport { Selector } from \"./zeus/index.js\";\nimport { createThunder } from \"./ZeusThunder.js\";\nimport type {\n ErrorAccessDenied,\n ErrorLimit,\n ErrorNotFound,\n ErrorNotExist\n} from \"./error.js\";\n\nexport type SuccessResponse<T> = {\n __typename: \"SuccessResponse\";\n data: T;\n};\n\nexport type DownloadProgress = DLProgress;\n\nexport type SendReport = {\n id: string;\n user: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n reportedUser: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n customMessage?: string | undefined;\n};\n\nexport type UserData<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n isSuperuser: boolean;\n isSearchable: boolean;\n} & T;\n\nconst getUserSelector = (\n userId: string | null | undefined,\n withPublicKey: boolean | undefined\n) => {\n const { user } = Selector(\"Query\")({\n user: [\n { userId },\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true,\n field: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n publicKey: withPublicKey ? true : undefined,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n return user;\n};\n\nexport type UserBase = {\n email: string;\n phone: string;\n lastname: string;\n role: UserRole;\n firstname: string;\n id: string;\n deletedAt?: Date;\n lastLogin: Date;\n lang: Lang;\n};\n\ntype WithPublicKey = { withPublicKey?: boolean };\n\nexport type User<T extends WithPublicKey = WithPublicKey> = T extends {\n withPublicKey: true;\n}\n ? UserBase & { publicKey: string }\n : UserBase;\n\ntype ClassGetUserParams = WithPublicKey & {\n userId?: string;\n userEmail?: string;\n};\ntype GetUserParams = ClassGetUserParams & {\n client: ReturnType<typeof Thunder>;\n};\n\ntype StaticGetUserParams = ClassGetUserParams & {\n env: SecrecyEnv;\n};\n\nasync function getUser<U extends WithPublicKey>(\n params: GetUserParams\n): Promise<SuccessResponse<User<U>> | ErrorNotFound | null> {\n const selector = getUserSelector(\n params.userId ?? params.userEmail,\n params.withPublicKey\n );\n const { user: userResponse } = await params.client(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n user: selector\n });\n\n if (!userResponse) {\n return null;\n }\n\n if (userResponse.__typename === \"ErrorNotFound\") {\n return userResponse;\n }\n\n if (!userResponse.user) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: userResponse.user\n };\n}\n\nexport type CloudLimits = {\n count: bigint;\n maxCount?: bigint | undefined;\n size: bigint;\n maxSize?: bigint | undefined;\n};\n\nexport type MailLimitsValues = {\n count: bigint;\n maxCount?: bigint | undefined;\n fileSize: bigint;\n maxFileSize?: bigint | undefined;\n fileCount: bigint;\n maxFileCount?: bigint | undefined;\n};\n\nexport type QueryLimits = {\n cloud: CloudLimits;\n mail: {\n sent: MailLimitsValues;\n received: MailLimitsValues;\n };\n};\n\nexport class BaseClient {\n public static readonly getBaseUrl = (\n env: SecrecyEnv = \"prod\",\n graphcdn = true\n ): string => {\n const apiUrl = process.env.NEXT_PUBLIC_SECRECY_API_URL;\n if (apiUrl) {\n return apiUrl;\n }\n\n switch (env) {\n case \"prod\":\n return graphcdn\n ? \"https://secrecy.graphcdn.app\"\n : \"https://api.secrecy.me/graphql\";\n case \"dev\":\n default:\n return \"https://api.dev.secrecy.me/graphql\";\n }\n };\n\n static readonly getBaseClient = (\n env: SecrecyEnv,\n session?: string | null | undefined\n ): ReturnType<typeof Thunder> =>\n createThunder(BaseClient.getBaseUrl(env), session);\n\n protected thunder: ReturnType<typeof Thunder>;\n\n public sessionId: string;\n\n constructor(session: string, env: SecrecyEnv) {\n this.sessionId = session;\n this.thunder = BaseClient.getBaseClient(env, session);\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n if (!sessionId) {\n const local = getStorage(false);\n const session = getStorage(true);\n local.jwt.clear();\n local.userAppKeys.clear();\n local.userAppSession.clear();\n session.jwt.clear();\n session.userAppKeys.clear();\n session.userAppSession.clear();\n usersCache.clear();\n }\n try {\n await this.thunder(\"mutation\")({\n logout: [\n {\n sessionId: sessionId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on LogoutResponse\": {\n __typename: true,\n logout: true\n }\n }\n ]\n });\n } catch {\n //\n }\n }\n\n async me<T extends WithPublicKey = WithPublicKey>(\n params?: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n return this.user(params || ({ withPublicKey: true } as T));\n }\n\n static async user<T extends StaticGetUserParams>(\n params: T,\n sessionId?: string | null | undefined\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.getBaseClient(params.env, sessionId),\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async user<T extends ClassGetUserParams>(\n params: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.thunder,\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async updateProfile({\n firstname,\n lastname,\n lang\n }: {\n firstname: string | null;\n lastname: string | null;\n lang: Lang | null;\n }): Promise<\n SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null\n > {\n const { updateProfile } = await this.thunder(\"mutation\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n updateProfile: [\n {\n firstname,\n lastname,\n lang\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UpdateProfileResponse\": {\n __typename: true,\n updateProfile: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n\n if (!updateProfile) {\n return null;\n }\n\n if (updateProfile.__typename === \"ErrorAccessDenied\") {\n return updateProfile;\n }\n\n if (updateProfile.__typename === \"ErrorNotFound\") {\n return updateProfile;\n }\n\n if (!updateProfile.updateProfile) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateProfile.updateProfile\n };\n }\n\n static async isCryptoTransactionDone({\n env,\n idOrHash,\n network = InfuraNetwork.mainnet\n }: {\n env: SecrecyEnv;\n idOrHash: string;\n network?: InfuraNetwork;\n }): Promise<boolean> {\n const { isCryptoTransactionDone } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n isCryptoTransactionDone: [\n {\n idOrHash,\n network\n },\n {\n __typename: true,\n \"...on IsCryptoTransactionDoneResponse\": {\n done: true\n },\n \"...on ErrorNotExist\": {\n message: true\n }\n }\n ]\n });\n\n if (!isCryptoTransactionDone) {\n return false;\n }\n\n return isCryptoTransactionDone.__typename ===\n \"IsCryptoTransactionDoneResponse\"\n ? isCryptoTransactionDone.done\n : false;\n }\n\n async limits(): Promise<\n | SuccessResponse<QueryLimits>\n | ErrorAccessDenied\n | ErrorNotExist\n | ErrorLimit\n | ErrorNotFound\n | null\n > {\n const { limits } = await this.thunder(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n limits: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorLimit\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotExist\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on QueryLimits\": {\n __typename: true,\n cloud: {\n size: true,\n maxSize: true,\n count: true,\n maxCount: true\n },\n mail: {\n received: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n },\n sent: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n }\n }\n }\n }\n });\n\n if (!limits) {\n return null;\n }\n\n if (limits.__typename === \"ErrorAccessDenied\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotExist\") {\n return limits;\n }\n if (limits.__typename === \"ErrorLimit\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotFound\") {\n return limits;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: limits\n };\n }\n\n async reportUser(\n reportedUserId: string,\n customMessage?: string\n ): Promise<\n SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null\n > {\n const { sendReport } = await this.thunder(\"mutation\")({\n sendReport: [\n {\n reportedUserId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on SendReportResponse\": {\n __typename: true,\n sendReport: {\n id: true,\n customMessage: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n },\n reportedUser: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n }\n }\n }\n }\n ]\n });\n\n if (!sendReport) {\n return null;\n }\n\n if (sendReport.__typename === \"ErrorAccessDenied\") {\n return sendReport;\n }\n\n if (sendReport.__typename === \"ErrorNotFound\") {\n return sendReport;\n }\n\n if (!sendReport.sendReport) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendReport.sendReport\n };\n }\n\n async getSponsorshipLink({\n backUrl\n }: {\n backUrl: string;\n }): Promise<string | null> {\n const me = await this.me({ withPublicKey: false });\n\n if (!me) {\n return null;\n }\n\n if (me.__typename === \"ErrorNotFound\") {\n return null;\n }\n\n return getLink({\n app: \"auth\",\n path: `/sign-up?gf=${btoa(me.data.email)}&au=${btoa(backUrl)}`\n });\n }\n}\n"],"mappings":"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","names":["getLink","usersCache","getStorage","InfuraNetwork","Selector","createThunder","getUserSelector","userId","withPublicKey","user","getUser","params","__async","_a","selector","userResponse","e","_BaseClient","session","env","__publicField","sessionId","local","_0","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","BaseClient","graphcdn","apiUrl"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5WPCTUWHcjs = require('./chunk-5WPCTUWH.cjs');const O={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let b=1;function v(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function W(){return b+=1,`Popup ${b}`}function C(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t=_chunk5WPCTUWHcjs.a.call(void 0, {},n),e=window.outerWidth-n.width,r=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+r/2.5),delete t.centered),t}function y(n,t,e,r){const o=document.createElement("form");let i=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),i=window.open("/",e,r),i==null||i.document.write("Loading..."),o.submit(),document.body.removeChild(o),i}function m(n,t,e,r,o){const i=e||W(),l=C(Object.assign({},O,r)),u=o||function(){},s=v(l),a=n(t,i,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===i&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function E(n,t,e,r){return m(window.open,n,t,e,r)}function P(n,t,e,r,o){function i(l,u,s){return y(l,t,u,s)}return m(i,n,e,r,o)}function k(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}exports.popup = E; exports.popupResponse = k; exports.popupWithPost = P;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('./chunk-XDPEU3HV.cjs');const O={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let b=1;function v(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function W(){return b+=1,`Popup ${b}`}function C(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t=_chunkXDPEU3HVcjs.a.call(void 0, {},n),e=window.outerWidth-n.width,r=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+r/2.5),delete t.centered),t}function y(n,t,e,r){const o=document.createElement("form");let i=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),i=window.open("/",e,r),i==null||i.document.write("Loading..."),o.submit(),document.body.removeChild(o),i}function m(n,t,e,r,o){const i=e||W(),l=C(Object.assign({},O,r)),u=o||function(){},s=v(l),a=n(t,i,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===i&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function E(n,t,e,r){return m(window.open,n,t,e,r)}function P(n,t,e,r,o){function i(l,u,s){return y(l,t,u,s)}return m(i,n,e,r,o)}function k(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}exports.popup = E; exports.popupResponse = k; exports.popupWithPost = P;
2
2
  //# sourceMappingURL=PopupTools.cjs.map
@@ -1,2 +1,2 @@
1
- import{a as h}from"./chunk-KMTF2BZE.js";const O={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let b=1;function v(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function W(){return b+=1,`Popup ${b}`}function C(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t=h({},n),e=window.outerWidth-n.width,r=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+r/2.5),delete t.centered),t}function y(n,t,e,r){const o=document.createElement("form");let i=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),i=window.open("/",e,r),i==null||i.document.write("Loading..."),o.submit(),document.body.removeChild(o),i}function m(n,t,e,r,o){const i=e||W(),l=C(Object.assign({},O,r)),u=o||function(){},s=v(l),a=n(t,i,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===i&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function E(n,t,e,r){return m(window.open,n,t,e,r)}function P(n,t,e,r,o){function i(l,u,s){return y(l,t,u,s)}return m(i,n,e,r,o)}function k(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}export{E as popup,k as popupResponse,P as popupWithPost};
1
+ import{a as h}from"./chunk-UPFDSEKI.js";const O={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let b=1;function v(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function W(){return b+=1,`Popup ${b}`}function C(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t=h({},n),e=window.outerWidth-n.width,r=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+r/2.5),delete t.centered),t}function y(n,t,e,r){const o=document.createElement("form");let i=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),i=window.open("/",e,r),i==null||i.document.write("Loading..."),o.submit(),document.body.removeChild(o),i}function m(n,t,e,r,o){const i=e||W(),l=C(Object.assign({},O,r)),u=o||function(){},s=v(l),a=n(t,i,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===i&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function E(n,t,e,r){return m(window.open,n,t,e,r)}function P(n,t,e,r,o){function i(l,u,s){return y(l,t,u,s)}return m(i,n,e,r,o)}function k(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}export{E as popup,k as popupResponse,P as popupWithPost};
2
2
  //# sourceMappingURL=PopupTools.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5WPCTUWHcjs = require('./chunk-5WPCTUWH.cjs');var _indexjs = require('./zeus/index.js');const p=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch(s){n(o)}}).catch(n)}),l=(e,r)=>async(n,o={})=>{const s=fetch;let i=n;const a=e[1]||{};if(a.method&&a.method==="GET")return i=encodeURIComponent(n),s(`${e[0]}?query=${i}`,a).then(p).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,f=setTimeout(()=>h.abort(),2e4),g=await s(`${e[0]}`,_chunk5WPCTUWHcjs.a.call(void 0, {body:JSON.stringify({query:i,variables:o}),method:"POST",headers:c,signal:h.signal},a)).then(p).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});return clearTimeout(f),g},R= exports.createThunder =(e,r)=>_indexjs.Thunder.call(void 0, l([e,{mode:"cors",credentials:"same-origin"}],r));exports.createThunder = R;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('./chunk-XDPEU3HV.cjs');var _indexjs = require('./zeus/index.js');const f=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch(R){n(o)}}).catch(n)}),y=(e,r)=>(R,...P)=>_chunkXDPEU3HVcjs.h.call(void 0, void 0,[R,...P],function*(n,o={}){const i=fetch;let s=n;const a=e[1]||{};if(a.method&&a.method==="GET")return s=encodeURIComponent(n),i(`${e[0]}?query=${s}`,a).then(f).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,g=setTimeout(()=>h.abort(),2e4),m=yield i(`${e[0]}`,_chunkXDPEU3HVcjs.a.call(void 0, {body:JSON.stringify({query:s,variables:o}),method:"POST",headers:c,signal:h.signal},a)).then(f).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});return clearTimeout(g),m}),w= exports.createThunder =(e,r)=>_indexjs.Thunder.call(void 0, y([e,{mode:"cors",credentials:"same-origin"}],r));exports.createThunder = w;
2
2
  //# sourceMappingURL=ZeusThunder.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ZeusThunder.ts"],"names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","err","apiFetch","options","session","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","__spreadValues","createThunder","url"],"mappings":"yCACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,OAASC,EAAP,CACAF,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCG,EACJ,CAACC,EAAuBC,IACxB,MACEC,EACAC,EAAiC,CAAC,IACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeN,EAAQ,IAAM,CAAC,EACpC,GAAIM,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGJ,EAAQ,YAAYK,IAAeC,CAAY,EACpE,KAAKb,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMa,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIN,IACFM,EAAQ,mBAAqBN,GAE/B,MAAMO,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGJ,EAAQ,KAAMW,EAAA,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAON,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,QAChBF,EACJ,EACE,KAAKb,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAae,CAAE,EACRC,CACT,EAEWE,EAAgB,CAC3BC,EACAZ,IAEAT,EACEO,EACE,CACEc,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAZ,CACF,CACF","sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"]}
1
+ {"version":3,"sources":["../src/ZeusThunder.ts"],"names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","err","apiFetch","options","session","_0","_1","__async","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","__spreadValues","createThunder","url"],"mappings":"gDACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,OAASC,EAAP,CACAF,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCG,EACJ,CAACC,EAAuBC,IACxB,CACEC,KAE6CC,IAAAC,EAAA,QAF7CF,EAE6C,GAAAC,GAAA,UAF7CE,EACAC,EAAiC,CAAC,EACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeT,EAAQ,IAAM,CAAC,EACpC,GAAIS,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGP,EAAQ,YAAYQ,IAAeC,CAAY,EACpE,KAAKhB,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMgB,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIT,IACFS,EAAQ,mBAAqBT,GAE/B,MAAMU,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGP,EAAQ,KAAMc,EAAA,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAON,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,QAChBF,EACJ,EACE,KAAKhB,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAakB,CAAE,EACRC,CACT,GAEWE,EAAgB,CAC3BC,EACAf,IAEAT,EACEO,EACE,CACEiB,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAf,CACF,CACF","sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"]}
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-KMTF2BZE.js";import{GraphQLError as u,Thunder as m}from"./zeus/index.js";const p=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch(s){n(o)}}).catch(n)}),l=(e,r)=>async(n,o={})=>{const s=fetch;let i=n;const a=e[1]||{};if(a.method&&a.method==="GET")return i=encodeURIComponent(n),s(`${e[0]}?query=${i}`,a).then(p).then(t=>{if(t.errors)throw new u(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,f=setTimeout(()=>h.abort(),2e4),g=await s(`${e[0]}`,d({body:JSON.stringify({query:i,variables:o}),method:"POST",headers:c,signal:h.signal},a)).then(p).then(t=>{if(t.errors)throw new u(t);return t.data});return clearTimeout(f),g},R=(e,r)=>m(l([e,{mode:"cors",credentials:"same-origin"}],r));export{R as createThunder};
1
+ import{a as d,h as u}from"./chunk-UPFDSEKI.js";import{GraphQLError as p,Thunder as l}from"./zeus/index.js";const f=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch(R){n(o)}}).catch(n)}),y=(e,r)=>(R,...P)=>u(void 0,[R,...P],function*(n,o={}){const i=fetch;let s=n;const a=e[1]||{};if(a.method&&a.method==="GET")return s=encodeURIComponent(n),i(`${e[0]}?query=${s}`,a).then(f).then(t=>{if(t.errors)throw new p(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,g=setTimeout(()=>h.abort(),2e4),m=yield i(`${e[0]}`,d({body:JSON.stringify({query:s,variables:o}),method:"POST",headers:c,signal:h.signal},a)).then(f).then(t=>{if(t.errors)throw new p(t);return t.data});return clearTimeout(g),m}),w=(e,r)=>l(y([e,{mode:"cors",credentials:"same-origin"}],r));export{w as createThunder};
2
2
  //# sourceMappingURL=ZeusThunder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ZeusThunder.ts"],"sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"],"mappings":"wCACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,OAASC,EAAP,CACAF,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCG,EACJ,CAACC,EAAuBC,IACxB,MACEC,EACAC,EAAiC,CAAC,IACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeN,EAAQ,IAAM,CAAC,EACpC,GAAIM,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGJ,EAAQ,YAAYK,IAAeC,CAAY,EACpE,KAAKb,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMa,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIN,IACFM,EAAQ,mBAAqBN,GAE/B,MAAMO,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGJ,EAAQ,KAAMW,EAAA,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAON,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,QAChBF,EACJ,EACE,KAAKb,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAae,CAAE,EACRC,CACT,EAEWE,EAAgB,CAC3BC,EACAZ,IAEAT,EACEO,EACE,CACEc,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAZ,CACF,CACF","names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","err","apiFetch","options","session","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","__spreadValues","createThunder","url"]}
1
+ {"version":3,"sources":["../src/ZeusThunder.ts"],"sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"],"mappings":"+CACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,OAASC,EAAP,CACAF,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCG,EACJ,CAACC,EAAuBC,IACxB,CACEC,KAE6CC,IAAAC,EAAA,QAF7CF,EAE6C,GAAAC,GAAA,UAF7CE,EACAC,EAAiC,CAAC,EACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeT,EAAQ,IAAM,CAAC,EACpC,GAAIS,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGP,EAAQ,YAAYQ,IAAeC,CAAY,EACpE,KAAKhB,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMgB,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIT,IACFS,EAAQ,mBAAqBT,GAE/B,MAAMU,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGP,EAAQ,KAAMc,EAAA,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAON,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,QAChBF,EACJ,EACE,KAAKhB,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAakB,CAAE,EACRC,CACT,GAEWE,EAAgB,CAC3BC,EACAf,IAEAT,EACEO,EACE,CACEiB,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAf,CACF,CACF","names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","err","apiFetch","options","session","_0","_1","__async","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","__spreadValues","createThunder","url"]}
package/dist/cache.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-5WPCTUWH.cjs');const e=new Map,n= exports.nodesCache =new Map,t= exports.usersCache =new Map;exports.filesCache = e; exports.nodesCache = n; exports.usersCache = t;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-XDPEU3HV.cjs');const e=new Map,n= exports.nodesCache =new Map,t= exports.usersCache =new Map;exports.filesCache = e; exports.nodesCache = n; exports.usersCache = t;
2
2
  //# sourceMappingURL=cache.cjs.map
package/dist/cache.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { U as UserBase } from './BaseClient-7c38f650.js';
1
+ import { U as UserBase } from './BaseClient-e5e97df7.js';
2
2
  import { InternalFile } from './client/types/File.js';
3
3
  import { InternalNode, InternalNodeFull } from './client/types/index.js';
4
4
  import 'ky';
package/dist/cache.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-KMTF2BZE.js";const e=new Map,n=new Map,t=new Map;export{e as filesCache,n as nodesCache,t as usersCache};
1
+ import"./chunk-UPFDSEKI.js";const e=new Map,n=new Map,t=new Map;export{e as filesCache,n as nodesCache,t as usersCache};
2
2
  //# sourceMappingURL=cache.js.map
@@ -0,0 +1,2 @@
1
+ var n=Object.defineProperty,o=Object.defineProperties;var p=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols,q=Object.getPrototypeOf,r=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,t=Reflect.get;var h=(c,a,b)=>a in c?n(c,a,{enumerable:!0,configurable:!0,writable:!0,value:b}):c[a]=b,u=(c,a)=>{for(var b in a||(a={}))r.call(a,b)&&h(c,b,a[b]);if(j)for(var b of j(a))s.call(a,b)&&h(c,b,a[b]);return c},v=(c,a)=>o(c,p(a));var w=(c,a,b)=>(h(c,typeof a!="symbol"?a+"":a,b),b),k=(c,a,b)=>{if(!a.has(c))throw TypeError("Cannot "+b)};var x=(c,a,b)=>(k(c,a,"read from private field"),b?b.call(c):a.get(c)),y=(c,a,b)=>{if(a.has(c))throw TypeError("Cannot add the same private member more than once");a instanceof WeakSet?a.add(c):a.set(c,b)},z=(c,a,b,e)=>(k(c,a,"write to private field"),e?e.call(c,b):a.set(c,b),b);var A=(c,a,b)=>t(q(c),b,a);var B=(c,a,b)=>new Promise((e,i)=>{var l=d=>{try{f(b.next(d))}catch(g){i(g)}},m=d=>{try{f(b.throw(d))}catch(g){i(g)}},f=d=>d.done?e(d.value):Promise.resolve(d.value).then(l,m);f((b=b.apply(c,a)).next())});export{u as a,v as b,w as c,x as d,y as e,z as f,A as g,B as h};
2
+ //# sourceMappingURL=chunk-UPFDSEKI.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var n=Object.defineProperty,o=Object.defineProperties;var p=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols,q=Object.getPrototypeOf,r=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,t=Reflect.get;var h=(c,a,b)=>a in c?n(c,a,{enumerable:!0,configurable:!0,writable:!0,value:b}):c[a]=b,u= exports.a =(c,a)=>{for(var b in a||(a={}))r.call(a,b)&&h(c,b,a[b]);if(j)for(var b of j(a))s.call(a,b)&&h(c,b,a[b]);return c},v= exports.b =(c,a)=>o(c,p(a));var w=(c,a,b)=>(h(c,typeof a!="symbol"?a+"":a,b),b),k=(c,a,b)=>{if(!a.has(c))throw TypeError("Cannot "+b)};var x=(c,a,b)=>(k(c,a,"read from private field"),b?b.call(c):a.get(c)),y= exports.e =(c,a,b)=>{if(a.has(c))throw TypeError("Cannot add the same private member more than once");a instanceof WeakSet?a.add(c):a.set(c,b)},z= exports.f =(c,a,b,e)=>(k(c,a,"write to private field"),e?e.call(c,b):a.set(c,b),b);var A=(c,a,b)=>t(q(c),b,a);var B=(c,a,b)=>new Promise((e,i)=>{var l=d=>{try{f(b.next(d))}catch(g){i(g)}},m=d=>{try{f(b.throw(d))}catch(g){i(g)}},f=d=>d.done?e(d.value):Promise.resolve(d.value).then(l,m);f((b=b.apply(c,a)).next())});exports.a = u; exports.b = v; exports.c = w; exports.d = x; exports.e = y; exports.f = z; exports.g = A; exports.h = B;
2
+ //# sourceMappingURL=chunk-XDPEU3HV.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5WPCTUWHcjs = require('../chunk-5WPCTUWH.cjs');var r;var _jsonwebtoken = require('jsonwebtoken');var _storagejs = require('./storage.js');class _{constructor(e,t,s,o){_chunk5WPCTUWHcjs.c.call(void 0, this,"jwt");_chunk5WPCTUWHcjs.c.call(void 0, this,"jwtDecoded");_chunk5WPCTUWHcjs.e.call(void 0, this,r,void 0);this.jwt=e,this.jwtDecoded=_jsonwebtoken.decode.call(void 0, e),_chunk5WPCTUWHcjs.f.call(void 0, this,r,o)}get userId(){var e;return(e=this.jwtDecoded.sub)!=null?e:""}async getJwt(){const{getJwt:e}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"query")({getJwt:[{includeEmail:!!this.jwtDecoded.email},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on JwtResponse":{__typename:!0,jwt:!0}}]});if(!e)return this.jwt;if(e.__typename==="ErrorAccessDenied")throw new Error(e.message);this.jwt=e.jwt,this.jwtDecoded=_jsonwebtoken.decode.call(void 0, e.jwt);const t=_storagejs.getStorage.call(void 0, !0),s=_storagejs.getStorage.call(void 0, !1),o=t.jwt.load(),d=s.jwt.load();return o&&t.jwt.save(e.jwt),d&&s.jwt.save(e.jwt),e.jwt}async updateNotifications(e){const{updateAppNotifications:t}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"mutation",{scalars:{DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()}}})({updateAppNotifications:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on UpdateAppNotificationsResponse":{__typename:!0,updateAppNotifications:{enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}}]});return t?t.__typename==="ErrorAccessDenied"?t:t.updateAppNotifications?{__typename:"SuccessResponse",data:t.updateAppNotifications}:null:null}async notifications(){const{appNotifications:e}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"query",{scalars:{DateTime:{decode:t=>new Date(t),encode:t=>t.toISOString()}}})({appNotifications:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserAppNotifications":{__typename:!0,enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}});return e?e.__typename==="ErrorAccessDenied"||e.__typename==="ErrorNotFound"?e:{__typename:"SuccessResponse",data:e}:null}async settings(){var t;const{user:e}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"query")({user:[{},{"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserResponse":{__typename:!0,user:{appSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}}]});return e?e.__typename==="ErrorNotFound"?e:(t=e.user)!=null&&t.appSettings?{__typename:"SuccessResponse",data:e.user.appSettings}:null:null}async updateSettings(e){const{updateAppSettings:t}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"mutation")({updateAppSettings:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on UpdateAppSettingsResponse":{__typename:!0,updateAppSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorBasic"?t:{__typename:"SuccessResponse",data:t.updateAppSettings}:null}}r=new WeakMap;exports.SecrecyAppClient = _;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('../chunk-XDPEU3HV.cjs');var r;var _jsonwebtoken = require('jsonwebtoken');var _storagejs = require('./storage.js');class w{constructor(e,t,s,i){_chunkXDPEU3HVcjs.c.call(void 0, this,"jwt");_chunkXDPEU3HVcjs.c.call(void 0, this,"jwtDecoded");_chunkXDPEU3HVcjs.e.call(void 0, this,r,void 0);this.jwt=e,this.jwtDecoded=_jsonwebtoken.decode.call(void 0, e),_chunkXDPEU3HVcjs.f.call(void 0, this,r,i)}get userId(){var e;return(e=this.jwtDecoded.sub)!=null?e:""}getJwt(){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const{getJwt:e}=yield _chunkXDPEU3HVcjs.d.call(void 0, this,r).call(this,"query")({getJwt:[{includeEmail:!!this.jwtDecoded.email},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on JwtResponse":{__typename:!0,jwt:!0}}]});if(!e)return this.jwt;if(e.__typename==="ErrorAccessDenied")throw new Error(e.message);this.jwt=e.jwt,this.jwtDecoded=_jsonwebtoken.decode.call(void 0, e.jwt);const t=_storagejs.getStorage.call(void 0, !0),s=_storagejs.getStorage.call(void 0, !1),i=t.jwt.load(),l=s.jwt.load();return i&&t.jwt.save(e.jwt),l&&s.jwt.save(e.jwt),e.jwt})}updateNotifications(e){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const{updateAppNotifications:t}=yield _chunkXDPEU3HVcjs.d.call(void 0, this,r).call(this,"mutation",{scalars:{DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()}}})({updateAppNotifications:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on UpdateAppNotificationsResponse":{__typename:!0,updateAppNotifications:{enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}}]});return t?t.__typename==="ErrorAccessDenied"?t:t.updateAppNotifications?{__typename:"SuccessResponse",data:t.updateAppNotifications}:null:null})}notifications(){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const{appNotifications:e}=yield _chunkXDPEU3HVcjs.d.call(void 0, this,r).call(this,"query",{scalars:{DateTime:{decode:t=>new Date(t),encode:t=>t.toISOString()}}})({appNotifications:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserAppNotifications":{__typename:!0,enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}});return e?e.__typename==="ErrorAccessDenied"||e.__typename==="ErrorNotFound"?e:{__typename:"SuccessResponse",data:e}:null})}settings(){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){var t;const{user:e}=yield _chunkXDPEU3HVcjs.d.call(void 0, this,r).call(this,"query")({user:[{},{"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserResponse":{__typename:!0,user:{appSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}}]});return e?e.__typename==="ErrorNotFound"?e:(t=e.user)!=null&&t.appSettings?{__typename:"SuccessResponse",data:e.user.appSettings}:null:null})}updateSettings(e){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const{updateAppSettings:t}=yield _chunkXDPEU3HVcjs.d.call(void 0, this,r).call(this,"mutation")({updateAppSettings:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on UpdateAppSettingsResponse":{__typename:!0,updateAppSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorBasic"?t:{__typename:"SuccessResponse",data:t.updateAppSettings}:null})}}r=new WeakMap;exports.SecrecyAppClient = w;
2
2
  //# sourceMappingURL=SecrecyAppClient.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/SecrecyAppClient.ts"],"names":["_thunder","decode","getStorage","SecrecyAppClient","uaJwt","_client","_keys","thunder","__publicField","__privateAdd","__privateSet","_a","getJwt","__privateGet","sessionStorage","localStorage","sessionJwt","localJwt","notifications","updateAppNotifications","e","appNotifications","user","settings","updateAppSettings"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type {\n SecrecyClient,\n SuccessResponse,\n UserAppNotifications,\n UserAppSettings\n} from \"../index.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from \"../error.js\";\nimport type { Thunder } from \"../zeus/index.js\";\nimport type { JwtPayload } from \"jsonwebtoken\";\nimport { decode } from \"jsonwebtoken\";\nimport { getStorage } from \"./storage.js\";\n\nexport class SecrecyAppClient {\n jwt: string;\n\n jwtDecoded: JwtPayload;\n\n // #client: SecrecyClient;\n\n // #keys: KeyPair;\n\n #thunder: ReturnType<typeof Thunder>;\n\n constructor(\n uaJwt: string,\n _client: SecrecyClient,\n _keys: KeyPair,\n thunder: ReturnType<typeof Thunder>\n ) {\n this.jwt = uaJwt;\n this.jwtDecoded = decode(uaJwt) as JwtPayload;\n // this.#client = client;\n // this.#keys = keys;\n this.#thunder = thunder;\n }\n\n get userId(): string {\n return this.jwtDecoded.sub ?? \"\";\n }\n\n async getJwt(): Promise<string> {\n // TODO useful?\n // if (this.jwtDecoded.exp && this.jwtDecoded.exp * 1000 < Date.now()) {\n // return this.jwt;\n // }\n\n const { getJwt } = await this.#thunder(\"query\")({\n getJwt: [\n {\n includeEmail: !!this.jwtDecoded.email\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on JwtResponse\": {\n __typename: true,\n jwt: true\n }\n }\n ]\n });\n\n if (!getJwt) {\n return this.jwt;\n }\n\n if (getJwt.__typename === \"ErrorAccessDenied\") {\n throw new Error(getJwt.message);\n }\n\n this.jwt = getJwt.jwt;\n this.jwtDecoded = decode(getJwt.jwt) as JwtPayload;\n\n const sessionStorage = getStorage(true);\n const localStorage = getStorage(false);\n\n const sessionJwt = sessionStorage.jwt.load();\n const localJwt = localStorage.jwt.load();\n\n if (sessionJwt) {\n sessionStorage.jwt.save(getJwt.jwt);\n }\n\n if (localJwt) {\n localStorage.jwt.save(getJwt.jwt);\n }\n\n return getJwt.jwt;\n }\n\n async updateNotifications(\n notifications: Partial<UserAppNotifications>\n ): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null> {\n const { updateAppNotifications } = await this.#thunder(\"mutation\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n updateAppNotifications: [\n notifications,\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on UpdateAppNotificationsResponse\": {\n __typename: true,\n updateAppNotifications: {\n enableAll: true,\n mail: true,\n cloud: true,\n disableAllUntil: true\n }\n }\n }\n ]\n });\n\n if (!updateAppNotifications) {\n return null;\n }\n\n if (updateAppNotifications.__typename === \"ErrorAccessDenied\") {\n return updateAppNotifications;\n }\n\n if (!updateAppNotifications.updateAppNotifications) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateAppNotifications.updateAppNotifications\n };\n }\n\n async notifications(): Promise<\n | SuccessResponse<UserAppNotifications>\n | ErrorAccessDenied\n | ErrorNotFound\n | null\n > {\n const { appNotifications } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n appNotifications: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserAppNotifications\": {\n __typename: true,\n enableAll: true,\n mail: true,\n cloud: true,\n disableAllUntil: true\n }\n }\n });\n\n if (!appNotifications) {\n return null;\n }\n\n if (appNotifications.__typename === \"ErrorAccessDenied\") {\n return appNotifications;\n }\n\n if (appNotifications.__typename === \"ErrorNotFound\") {\n return appNotifications;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: appNotifications\n };\n }\n\n async settings(): Promise<\n SuccessResponse<UserAppSettings> | ErrorNotFound | null\n > {\n const { user } = await this.#thunder(\"query\")({\n user: [\n {},\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n appSettings: {\n cloudNodeDaysForDelete: true,\n historyFileDaysForDelete: true,\n historyMaxFileCount: true\n }\n }\n }\n }\n ]\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (!user.user?.appSettings) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: user.user.appSettings\n };\n }\n\n async updateSettings(\n settings: Partial<UserAppSettings>\n ): Promise<\n SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null\n > {\n const { updateAppSettings } = await this.#thunder(\"mutation\")({\n updateAppSettings: [\n settings,\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on UpdateAppSettingsResponse\": {\n __typename: true,\n updateAppSettings: {\n cloudNodeDaysForDelete: true,\n historyFileDaysForDelete: true,\n historyMaxFileCount: true\n }\n }\n }\n ]\n });\n\n if (!updateAppSettings) {\n return null;\n }\n\n if (updateAppSettings.__typename === \"ErrorAccessDenied\") {\n return updateAppSettings;\n }\n\n if (updateAppSettings.__typename === \"ErrorBasic\") {\n return updateAppSettings;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateAppSettings.updateAppSettings\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/client/SecrecyAppClient.ts"],"names":["_thunder","decode","getStorage","SecrecyAppClient","uaJwt","_client","_keys","thunder","__publicField","__privateAdd","__privateSet","_a","__async","getJwt","__privateGet","sessionStorage","localStorage","sessionJwt","localJwt","notifications","updateAppNotifications","e","appNotifications","user","settings","updateAppSettings"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type {\n SecrecyClient,\n SuccessResponse,\n UserAppNotifications,\n UserAppSettings\n} from \"../index.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from \"../error.js\";\nimport type { Thunder } from \"../zeus/index.js\";\nimport type { JwtPayload } from \"jsonwebtoken\";\nimport { decode } from \"jsonwebtoken\";\nimport { getStorage } from \"./storage.js\";\n\nexport class SecrecyAppClient {\n jwt: string;\n\n jwtDecoded: JwtPayload;\n\n // #client: SecrecyClient;\n\n // #keys: KeyPair;\n\n #thunder: ReturnType<typeof Thunder>;\n\n constructor(\n uaJwt: string,\n _client: SecrecyClient,\n _keys: KeyPair,\n thunder: ReturnType<typeof Thunder>\n ) {\n this.jwt = uaJwt;\n this.jwtDecoded = decode(uaJwt) as JwtPayload;\n // this.#client = client;\n // this.#keys = keys;\n this.#thunder = thunder;\n }\n\n get userId(): string {\n return this.jwtDecoded.sub ?? \"\";\n }\n\n async getJwt(): Promise<string> {\n // TODO useful?\n // if (this.jwtDecoded.exp && this.jwtDecoded.exp * 1000 < Date.now()) {\n // return this.jwt;\n // }\n\n const { getJwt } = await this.#thunder(\"query\")({\n getJwt: [\n {\n includeEmail: !!this.jwtDecoded.email\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on JwtResponse\": {\n __typename: true,\n jwt: true\n }\n }\n ]\n });\n\n if (!getJwt) {\n return this.jwt;\n }\n\n if (getJwt.__typename === \"ErrorAccessDenied\") {\n throw new Error(getJwt.message);\n }\n\n this.jwt = getJwt.jwt;\n this.jwtDecoded = decode(getJwt.jwt) as JwtPayload;\n\n const sessionStorage = getStorage(true);\n const localStorage = getStorage(false);\n\n const sessionJwt = sessionStorage.jwt.load();\n const localJwt = localStorage.jwt.load();\n\n if (sessionJwt) {\n sessionStorage.jwt.save(getJwt.jwt);\n }\n\n if (localJwt) {\n localStorage.jwt.save(getJwt.jwt);\n }\n\n return getJwt.jwt;\n }\n\n async updateNotifications(\n notifications: Partial<UserAppNotifications>\n ): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null> {\n const { updateAppNotifications } = await this.#thunder(\"mutation\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n updateAppNotifications: [\n notifications,\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on UpdateAppNotificationsResponse\": {\n __typename: true,\n updateAppNotifications: {\n enableAll: true,\n mail: true,\n cloud: true,\n disableAllUntil: true\n }\n }\n }\n ]\n });\n\n if (!updateAppNotifications) {\n return null;\n }\n\n if (updateAppNotifications.__typename === \"ErrorAccessDenied\") {\n return updateAppNotifications;\n }\n\n if (!updateAppNotifications.updateAppNotifications) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateAppNotifications.updateAppNotifications\n };\n }\n\n async notifications(): Promise<\n | SuccessResponse<UserAppNotifications>\n | ErrorAccessDenied\n | ErrorNotFound\n | null\n > {\n const { appNotifications } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n appNotifications: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserAppNotifications\": {\n __typename: true,\n enableAll: true,\n mail: true,\n cloud: true,\n disableAllUntil: true\n }\n }\n });\n\n if (!appNotifications) {\n return null;\n }\n\n if (appNotifications.__typename === \"ErrorAccessDenied\") {\n return appNotifications;\n }\n\n if (appNotifications.__typename === \"ErrorNotFound\") {\n return appNotifications;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: appNotifications\n };\n }\n\n async settings(): Promise<\n SuccessResponse<UserAppSettings> | ErrorNotFound | null\n > {\n const { user } = await this.#thunder(\"query\")({\n user: [\n {},\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n appSettings: {\n cloudNodeDaysForDelete: true,\n historyFileDaysForDelete: true,\n historyMaxFileCount: true\n }\n }\n }\n }\n ]\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (!user.user?.appSettings) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: user.user.appSettings\n };\n }\n\n async updateSettings(\n settings: Partial<UserAppSettings>\n ): Promise<\n SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null\n > {\n const { updateAppSettings } = await this.#thunder(\"mutation\")({\n updateAppSettings: [\n settings,\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on UpdateAppSettingsResponse\": {\n __typename: true,\n updateAppSettings: {\n cloudNodeDaysForDelete: true,\n historyFileDaysForDelete: true,\n historyMaxFileCount: true\n }\n }\n }\n ]\n });\n\n if (!updateAppSettings) {\n return null;\n }\n\n if (updateAppSettings.__typename === \"ErrorAccessDenied\") {\n return updateAppSettings;\n }\n\n if (updateAppSettings.__typename === \"ErrorBasic\") {\n return updateAppSettings;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateAppSettings.updateAppSettings\n };\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- export { m as SecrecyAppClient } from '../BaseClient-7c38f650.js';
1
+ export { m as SecrecyAppClient } from '../BaseClient-e5e97df7.js';
2
2
  import '../crypto/index.js';
3
3
  import '../zeus/index.js';
4
4
  import './types/UserAppSettings.js';
@@ -1,2 +1,2 @@
1
- import{c as i,d as n,e as a,f as u}from"../chunk-KMTF2BZE.js";var r;import{decode as p}from"jsonwebtoken";import{getStorage as c}from"./storage.js";class _{constructor(e,t,s,o){i(this,"jwt");i(this,"jwtDecoded");a(this,r,void 0);this.jwt=e,this.jwtDecoded=p(e),u(this,r,o)}get userId(){var e;return(e=this.jwtDecoded.sub)!=null?e:""}async getJwt(){const{getJwt:e}=await n(this,r).call(this,"query")({getJwt:[{includeEmail:!!this.jwtDecoded.email},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on JwtResponse":{__typename:!0,jwt:!0}}]});if(!e)return this.jwt;if(e.__typename==="ErrorAccessDenied")throw new Error(e.message);this.jwt=e.jwt,this.jwtDecoded=p(e.jwt);const t=c(!0),s=c(!1),o=t.jwt.load(),d=s.jwt.load();return o&&t.jwt.save(e.jwt),d&&s.jwt.save(e.jwt),e.jwt}async updateNotifications(e){const{updateAppNotifications:t}=await n(this,r).call(this,"mutation",{scalars:{DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()}}})({updateAppNotifications:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on UpdateAppNotificationsResponse":{__typename:!0,updateAppNotifications:{enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}}]});return t?t.__typename==="ErrorAccessDenied"?t:t.updateAppNotifications?{__typename:"SuccessResponse",data:t.updateAppNotifications}:null:null}async notifications(){const{appNotifications:e}=await n(this,r).call(this,"query",{scalars:{DateTime:{decode:t=>new Date(t),encode:t=>t.toISOString()}}})({appNotifications:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserAppNotifications":{__typename:!0,enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}});return e?e.__typename==="ErrorAccessDenied"||e.__typename==="ErrorNotFound"?e:{__typename:"SuccessResponse",data:e}:null}async settings(){var t;const{user:e}=await n(this,r).call(this,"query")({user:[{},{"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserResponse":{__typename:!0,user:{appSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}}]});return e?e.__typename==="ErrorNotFound"?e:(t=e.user)!=null&&t.appSettings?{__typename:"SuccessResponse",data:e.user.appSettings}:null:null}async updateSettings(e){const{updateAppSettings:t}=await n(this,r).call(this,"mutation")({updateAppSettings:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on UpdateAppSettingsResponse":{__typename:!0,updateAppSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorBasic"?t:{__typename:"SuccessResponse",data:t.updateAppSettings}:null}}r=new WeakMap;export{_ as SecrecyAppClient};
1
+ import{c as a,d as n,e as u,f as p,h as o}from"../chunk-UPFDSEKI.js";var r;import{decode as c}from"jsonwebtoken";import{getStorage as d}from"./storage.js";class w{constructor(e,t,s,i){a(this,"jwt");a(this,"jwtDecoded");u(this,r,void 0);this.jwt=e,this.jwtDecoded=c(e),p(this,r,i)}get userId(){var e;return(e=this.jwtDecoded.sub)!=null?e:""}getJwt(){return o(this,null,function*(){const{getJwt:e}=yield n(this,r).call(this,"query")({getJwt:[{includeEmail:!!this.jwtDecoded.email},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on JwtResponse":{__typename:!0,jwt:!0}}]});if(!e)return this.jwt;if(e.__typename==="ErrorAccessDenied")throw new Error(e.message);this.jwt=e.jwt,this.jwtDecoded=c(e.jwt);const t=d(!0),s=d(!1),i=t.jwt.load(),l=s.jwt.load();return i&&t.jwt.save(e.jwt),l&&s.jwt.save(e.jwt),e.jwt})}updateNotifications(e){return o(this,null,function*(){const{updateAppNotifications:t}=yield n(this,r).call(this,"mutation",{scalars:{DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()}}})({updateAppNotifications:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on UpdateAppNotificationsResponse":{__typename:!0,updateAppNotifications:{enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}}]});return t?t.__typename==="ErrorAccessDenied"?t:t.updateAppNotifications?{__typename:"SuccessResponse",data:t.updateAppNotifications}:null:null})}notifications(){return o(this,null,function*(){const{appNotifications:e}=yield n(this,r).call(this,"query",{scalars:{DateTime:{decode:t=>new Date(t),encode:t=>t.toISOString()}}})({appNotifications:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserAppNotifications":{__typename:!0,enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}});return e?e.__typename==="ErrorAccessDenied"||e.__typename==="ErrorNotFound"?e:{__typename:"SuccessResponse",data:e}:null})}settings(){return o(this,null,function*(){var t;const{user:e}=yield n(this,r).call(this,"query")({user:[{},{"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserResponse":{__typename:!0,user:{appSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}}]});return e?e.__typename==="ErrorNotFound"?e:(t=e.user)!=null&&t.appSettings?{__typename:"SuccessResponse",data:e.user.appSettings}:null:null})}updateSettings(e){return o(this,null,function*(){const{updateAppSettings:t}=yield n(this,r).call(this,"mutation")({updateAppSettings:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on UpdateAppSettingsResponse":{__typename:!0,updateAppSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorBasic"?t:{__typename:"SuccessResponse",data:t.updateAppSettings}:null})}}r=new WeakMap;export{w as SecrecyAppClient};
2
2
  //# sourceMappingURL=SecrecyAppClient.js.map