oauth.js (1315B)
1 /* 2 GoToSocial 3 Copyright (C) GoToSocial Authors admin@gotosocial.org 4 SPDX-License-Identifier: AGPL-3.0-or-later 5 6 This program is free software: you can redistribute it and/or modify 7 it under the terms of the GNU Affero General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU Affero General Public License for more details. 15 16 You should have received a copy of the GNU Affero General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 "use strict"; 21 22 const { createSlice } = require("@reduxjs/toolkit"); 23 24 module.exports = createSlice({ 25 name: "oauth", 26 initialState: { 27 loginState: 'none', 28 expectingRedirect: false 29 }, 30 reducers: { 31 authorize: (state, { payload }) => { 32 return payload; // overrides state 33 }, 34 setToken: (state, { payload }) => { 35 state.token = `${payload.token_type} ${payload.access_token}`; 36 state.loginState = "login"; 37 }, 38 remove: (state, { _payload }) => { 39 delete state.token; 40 delete state.registration; 41 state.loginState = "logout"; 42 } 43 } 44 });