diff --git a/lib/index.js b/lib/index.js index 080fe97..7743921 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1 +1 @@ -(()=>{"use strict";var e={800:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FreeeAPIClient=void 0;const r=a(941);t.FreeeAPIClient=class{constructor(e,t){this.tokenManager=e,this.axios=t}get(e,t,a){return this.tokenManager.get(a).then((a=>{const r={Authorization:`Bearer ${a}`,"X-Api-Version":"2020-06-15","Content-Type":"application/json"};return this.axios.get(e,{params:t,headers:r})}))}post(e,t,a){return this.tokenManager.get(a).then((a=>{let s=t,i={},o="application/json";if("api/1/receipts"===e){const e=new r;Object.keys(t).forEach((a=>{e.append(a,t[a])})),s=e,i=e.getHeaders(),o="multipart/form-data"}return i.Authorization=`Bearer ${a}`,i["X-Api-Version"]="2020-06-15",i["Content-Type"]=o,this.axios.post(e,s,{maxContentLength:104857600,headers:i})}))}put(e,t,a){return this.tokenManager.get(a).then((a=>{const r={Authorization:`Bearer ${a}`,"X-Api-Version":"2020-06-15","Content-Type":"application/json"};return this.axios.put(e,t,{headers:r})}))}delete(e,t,a){return this.tokenManager.get(a).then((a=>{const r={Authorization:`Bearer ${a}`,"X-Api-Version":"2020-06-15","Content-Type":"application/json"};return this.axios.delete(e,{data:t,headers:r})}))}}},729:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FreeeFirebaseAuthClient=void 0;const r=a(123);t.FreeeFirebaseAuthClient=class{constructor(e,t,a,s,i){this.admin=e,this.oauth2=t,this.axios=a,this.tokenManager=s;const o=i.freee,n=r.ConfigManager.getFunctionsConfigs();this.clientId=n.freee.client_id,this.clientSecret=n.freee.client_secret,this.redirectPath=r.ConfigManager.get(o,r.ConfigKeys.redirectPath),this.callbackPath=r.ConfigManager.get(o,r.ConfigKeys.callbackPath),this.companiesPath=r.ConfigManager.get(o,r.ConfigKeys.companiesPath),this.homePath=r.ConfigManager.get(o,r.ConfigKeys.homePath),this.appHost=r.ConfigManager.get(o,r.ConfigKeys.appHost),this.authHost=r.ConfigManager.get(o,r.ConfigKeys.authHost),this.apiKey=i.firebase&&i.firebase.apiKey}redirect(e){const t=this.oauth2.authorizationCode.authorizeURL({redirect_uri:`${this.authHost}${this.getCallbackPath()}`});e.redirect(t)}async callback(e,t){try{const a=await this.oauth2.authorizationCode.getToken({client_id:this.clientId,client_secret:this.clientSecret,code:e,redirect_uri:`${this.authHost}${this.getCallbackPath()}`}),r={accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,createdAt:a.created_at},s=await this.getFreeeUser(r.accessToken),i=s.data.user.id,o=s.data.user.email,n=s.data.user.display_name?s.data.user.display_name:"",c=await this.createFirebaseAccount(i,o,n,r);t.redirect(`${this.appHost}${this.homePath}?token=${c}`)}catch(e){console.error("Some error occured on login process:",e),t.send(this.signInRefusedTemplate())}}getRedirectPath(){return this.redirectPath}getCallbackPath(){return this.callbackPath}getCompaniesPath(){return this.companiesPath}async createCryptoKey(e){await this.tokenManager.createCryptoKey(e)}getFreeeUser(e){return this.axios.get("/api/1/users/me?companies=true",{headers:{Authorization:`Bearer ${e}`}})}async createFirebaseAccount(e,t,a,r){const s=e.toString();return await this.tokenManager.save(s,t,r),await this.admin.auth().updateUser(s,{email:t,displayName:a}).catch((async e=>{if("auth/user-not-found"===e.code)return await this.admin.auth().createUser({uid:s,email:t,displayName:a});throw e})),await this.admin.auth().createCustomToken(s)}signInRefusedTemplate(){return`\n