UNPKG

@replyke/core

Version:

Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.

79 lines 3.73 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.selectSignedToken = exports.selectInitialized = exports.selectIsAuthenticating = exports.selectLoadingInitial = exports.selectUser = exports.selectRefreshToken = exports.selectAccessToken = exports.setRefreshToken = exports.resetAuth = exports.setSignedToken = exports.setInitialized = exports.setAuthenticating = exports.setLoadingInitial = exports.setUser = exports.clearTokens = exports.setTokens = void 0; var toolkit_1 = require("@reduxjs/toolkit"); var initialState = { accessToken: null, refreshToken: null, user: null, loadingInitial: true, isAuthenticating: false, initialized: false, signedToken: null, }; var authSlice = (0, toolkit_1.createSlice)({ name: 'auth', initialState: initialState, reducers: { // Token management setTokens: function (state, action) { state.accessToken = action.payload.accessToken; if (action.payload.refreshToken !== undefined) { state.refreshToken = action.payload.refreshToken; } }, clearTokens: function (state) { state.accessToken = null; state.refreshToken = null; }, // User management setUser: function (state, action) { state.user = action.payload; }, // Loading states setLoadingInitial: function (state, action) { state.loadingInitial = action.payload; }, setAuthenticating: function (state, action) { state.isAuthenticating = action.payload; }, // Initialization setInitialized: function (state, action) { state.initialized = action.payload; }, setSignedToken: function (state, action) { state.signedToken = action.payload; }, // Complete auth reset (for signout) resetAuth: function (state) { state.accessToken = null; state.refreshToken = null; state.user = null; state.isAuthenticating = false; // Keep loadingInitial and initialized as they are }, // Individual token setter for compatibility setRefreshToken: function (state, action) { state.refreshToken = action.payload; }, }, }); exports.setTokens = (_a = authSlice.actions, _a.setTokens), exports.clearTokens = _a.clearTokens, exports.setUser = _a.setUser, exports.setLoadingInitial = _a.setLoadingInitial, exports.setAuthenticating = _a.setAuthenticating, exports.setInitialized = _a.setInitialized, exports.setSignedToken = _a.setSignedToken, exports.resetAuth = _a.resetAuth, exports.setRefreshToken = _a.setRefreshToken; // Selectors var selectAccessToken = function (state) { return state.auth.accessToken; }; exports.selectAccessToken = selectAccessToken; var selectRefreshToken = function (state) { return state.auth.refreshToken; }; exports.selectRefreshToken = selectRefreshToken; var selectUser = function (state) { return state.auth.user; }; exports.selectUser = selectUser; var selectLoadingInitial = function (state) { return state.auth.loadingInitial; }; exports.selectLoadingInitial = selectLoadingInitial; var selectIsAuthenticating = function (state) { return state.auth.isAuthenticating; }; exports.selectIsAuthenticating = selectIsAuthenticating; var selectInitialized = function (state) { return state.auth.initialized; }; exports.selectInitialized = selectInitialized; var selectSignedToken = function (state) { return state.auth.signedToken; }; exports.selectSignedToken = selectSignedToken; exports.default = authSlice.reducer; //# sourceMappingURL=authSlice.js.map