{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-jsx/src/client/reactive/components/rewritten/conduit/src/stores/authStore.js"],"names":["agent","userStore","commonStore","AuthStore","constructor","reset","undefined","username","email","password","login","user","pullUser","err","register","logout","forgetUser","resolve","authStore","setAuthStore"],"mappings":"AAAA;;;;;;;;;;;;;;;;;AAEOA,W;;AACAC,e;;AACAC,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEP,YAAMC,SAAN,CAAgB;;AAEdC,sBAAc;AAAA;;AACZ,eAAKC,KAAL;AACD;;AAEDA,gBAAQ;AACN,yCAAkB,KAAlB;AACA,0GAAcC,SAAd;AACA,qCAAc;AACZC,sBAAU,EADE;AAEZC,mBAAO,EAFK;AAGZC,sBAAU;AAHE,WAAd;AAKD;;AAEDC,gBAAQ;AAAA;;AACN,gBAAM,EAAEF,KAAF,EAASC,QAAT,gBAAsB,IAAtB,WAAN;AACA,yCAAkB,IAAlB;AACA,0GAAcH,SAAd;AACA,qMAAON,KAAP,sGAAwBQ,KAAxB,yFAA+BC,QAA/B,cACQ,CAAC,EAAEE,IAAF,EAAD;AAAA;AACA,yOAAoBA,IAApB;AADA,WADR,aAGQ;AAAM,qMAAUC,QAAV;AAAN,WAHR,cAISC,OAAO;AAAA;;AACZ,uCAAc,8MAAgBA,GAAhB,wIAAqCA,GAArC,kCAAd;AACA,6FAAMA,GAAN;AACD,WAPH,gBAQW;AACH,kDAAkB,KAAlB;AADG,WARX;AAUD;;AAEDC,mBAAW;AAAA;;AACT,gBAAM,EAAEP,QAAF,EAAYC,KAAZ,EAAmBC,QAAnB,gBAAgC,IAAhC,WAAN;AACA,yCAAkB,IAAlB;AACA,0GAAcH,SAAd;AACA,qMAAON,KAAP,+GAA2BO,QAA3B,mFAAqCC,KAArC,yFAA4CC,QAA5C,cACQ,CAAC,EAAEE,IAAF,EAAD;AAAA;AACA,yOAAoBA,IAApB;AADA,WADR,aAGQ;AAAM,qMAAUC,QAAV;AAAN,WAHR,cAISC,OAAO;AAAA;;AACZ,uCAAc,gNAAgBA,GAAhB,yIAAqCA,GAArC,kCAAd;AACA,8FAAMA,GAAN;AACD,WAPH,gBAQW;AACP,kDAAkB,KAAlB;AADO,WARX;AAUD;;AAEDE,iBAAS;AACP,4MAAoBT,SAApB;AADO;AAEP,4GAAUU,UAAV;AACA,8FAAO,4EAAQC,OAAR,EAAP;AACD;;AApDa;;;;;;;;;;;;;;;;;AAwDhB,YAAMC,YAAY,2FAAIf,SAAJ,GAAlB;;;;;;;;;;;;;;;;;AACA,4FAAMgB,YAAN,wFAAmBD,SAAnB;;gHACeA,S","file":"authStore.js","sourcesContent":["'enable aexpr';\n\nimport agent from 'src/client/reactive/components/rewritten/conduit/src/agent.js';\nimport userStore from 'src/client/reactive/components/rewritten/conduit/src/stores/userStore.js';\nimport commonStore from 'src/client/reactive/components/rewritten/conduit/src/stores/commonStore.js';\n\nclass AuthStore {\n  \n  constructor() {\n    this.reset();\n  }\n  \n  reset() {\n    this.inProgress = false;\n    this.errors = undefined;\n    this.values = {\n      username: '',\n      email: '',\n      password: ''\n    }\n  }\n  \n  login() {\n    const { email, password } = this.values;\n    this.inProgress = true;\n    this.errors = undefined;\n    return agent.Auth.login(email, password)\n      .then(({ user }) => \n            commonStore.token = user.token)\n      .then(() => userStore.pullUser())\n      .catch(err => {\n        this.errors = err.response && err.response.body && err.response.body.errors;\n        throw err;\n      })\n      .finally(() => \n            this.inProgress = false)\n  }\n  \n  register() {\n    const { username, email, password } = this.values;\n    this.inProgress = true;\n    this.errors = undefined;\n    return agent.Auth.register(username, email, password)\n      .then(({ user }) => \n            commonStore.token = user.token)\n      .then(() => userStore.pullUser())\n      .catch(err => {\n        this.errors = err.response && err.response.body && err.response.body.errors;\n        throw err;\n      })  \n      .finally(() => \n        this.inProgress = false);\n  }\n  \n  logout() {\n    commonStore.token = undefined;\n    userStore.forgetUser();\n    return Promise.resolve();\n  }\n  \n}\n\nconst authStore = new AuthStore();\nagent.setAuthStore(authStore);\nexport default authStore;"]}