gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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 });