UNPKG

7.85 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/stores/AuthStore.js"],"names":["AuthApi","baseURL","data","fetch","method","Api","AuthStore","_id","props","app","constructor","log","warn","session","sessions","filter","s","push","value","key","getSession","getUserId","api","login","applySession","signup","getInfo","providers","Store","observable","action"],"mappings":"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","sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { Api } from '@lskjs/mobx/mobxStores/Api';\nimport { Store } from '@lskjs/mobx/mobxStores/Store';\nimport forEach from 'lodash/forEach';\nimport { action, observable } from 'mobx';\n\nexport class AuthApi extends Api {\n baseURL = '/api/auth';\n login(data) {\n return this.fetch('/login', {\n method: 'POST',\n data,\n });\n }\n signup(data) {\n return this.fetch('/signup', {\n method: 'POST',\n data,\n });\n }\n silent(data) {\n return this.fetch('/silent', {\n method: 'POST',\n data,\n });\n }\n setData(data) {\n return this.fetch('/setData', {\n method: 'POST',\n data,\n });\n }\n check(data) {\n return this.fetch('/check', {\n method: 'POST',\n data,\n });\n }\n restore(data) {\n return this.fetch('/restore', {\n method: 'POST',\n data,\n });\n }\n status(data) {\n return this.fetch('/status', {\n method: 'POST',\n data,\n });\n }\n session(data) {\n return this.fetch('/session', {\n method: 'POST',\n data,\n });\n }\n info(data) {\n return this.fetch('/info', {\n method: 'POST',\n data,\n });\n }\n\n // async getUser(body) {\n // const res = await this.fetch('/api/module/user/get', {\n // method: 'POST',\n // body,\n // });\n // return res.data;\n // }\n\n // async getMyUser(body) {\n // // }\n // const res = await this.fetch('/api/user/me', {\n // method: 'POST',\n // body,\n // });\n // return res.data;\n // }\n\n // async userEdit(body) {\n // const res = await this.fetch('/api/module/user/edit', {\n // method: 'POST',\n // body,\n // qs: { _id: body._id },\n // });\n // return res;\n // }\n\n // async loginPassport(data) {\n // const res = await this.fetch('/social'login`, {\n // method: 'POST',\n // data,\n // });\n // return res.data;\n // }\n}\n\nexport class AuthStore extends Store {\n static Api = AuthApi;\n @observable session = null;\n @observable sessions = [];\n @action\n async applySession({ _id, ...props }) {\n const { app } = this.constructor;\n if (!_id) {\n // eslint-disable-next-line no-console\n app.log.warn('AuthStore.applySession | \"session._id\" not provided!');\n return;\n }\n let session = this.sessions.filter((s) => s._id === _id)[0];\n if (!session) {\n session = { _id };\n this.sessions.push(session);\n }\n forEach(props, (value, key) => {\n session[key] = value;\n });\n this.session = session;\n }\n getSession() {\n return this.session;\n }\n getUserId() {\n const session = this.getSession();\n return session ? session._id : null;\n }\n isAuth() {\n return !!this.getUserId();\n }\n\n async login(props) {\n const { data: session } = await this.constructor.api.login(props);\n this.applySession(session);\n return session;\n }\n async signup(props) {\n const { data: session } = await this.constructor.api.signup(props);\n this.applySession(session);\n return session;\n }\n async updateSession(props) {\n const { data: session } = await this.constructor.api.session(props);\n this.applySession(session);\n return session;\n }\n async logout() {\n this.sessions = this.sessions.filter((s) => s._id !== this.session._id);\n // eslint-disable-next-line prefer-destructuring\n this.session = this.sessions[0];\n }\n\n async getProviders() {\n const { data } = await this.constructor.api.getInfo();\n return data.providers || [];\n }\n}\n\nexport default AuthStore;\n"],"file":"AuthStore.js"}
\No newline at end of file