This commit is contained in:
Benjamin Toby 2025-01-14 09:07:00 +01:00
parent 7551749784
commit 2118a55ab6
8 changed files with 62 additions and 15 deletions

20
client/auth/post-login.ts Normal file
View File

@ -0,0 +1,20 @@
import { APILoginFunctionReturn } from "../../package-shared/types";
/**
* Client Setup After Login
* ===============================================================================
* @description This function sets local storage variables like `csrf` after a user
* is logged in. Use this in conjunction with the `datasquirel.user.loginUser`
* function
*/
export default function postLogin(res: APILoginFunctionReturn): boolean {
try {
if (!res.payload) return false;
if (!res.payload.csrf_k) return false;
localStorage.setItem("csrf", res.payload.csrf_k);
localStorage.setItem("user", JSON.stringify(res.payload));
return true;
} catch (error) {
return false;
}
}

View File

@ -11,14 +11,8 @@ import serializeCookies from "../package-shared/utils/serialize-cookies";
import EJSON from "../package-shared/utils/ejson"; import EJSON from "../package-shared/utils/ejson";
import numberfy from "../package-shared/utils/numberfy"; import numberfy from "../package-shared/utils/numberfy";
import slugify from "../package-shared/utils/slugify"; import slugify from "../package-shared/utils/slugify";
import postLogin from "./auth/post-login";
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
/**
* Media Functions Object
*/
const media = { const media = {
imageInputToBase64: imageInputToBase64, imageInputToBase64: imageInputToBase64,
imageInputFileToBase64: imageInputFileToBase64, imageInputFileToBase64: imageInputFileToBase64,
@ -35,7 +29,8 @@ const auth = {
github: { github: {
getAccessToken: getGithubAccessToken, getAccessToken: getGithubAccessToken,
}, },
logout: logout, logout,
postLogin,
}; };
const utils = { const utils = {

9
dist/client/auth/post-login.d.ts vendored Normal file
View File

@ -0,0 +1,9 @@
import { APILoginFunctionReturn } from "../../package-shared/types";
/**
* Client Setup After Login
* ===============================================================================
* @description This function sets local storage variables like `csrf` after a user
* is logged in. Use this in conjunction with the `datasquirel.user.loginUser`
* function
*/
export default function postLogin(res: APILoginFunctionReturn): boolean;

24
dist/client/auth/post-login.js vendored Normal file
View File

@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = postLogin;
/**
* Client Setup After Login
* ===============================================================================
* @description This function sets local storage variables like `csrf` after a user
* is logged in. Use this in conjunction with the `datasquirel.user.loginUser`
* function
*/
function postLogin(res) {
try {
if (!res.payload)
return false;
if (!res.payload.csrf_k)
return false;
localStorage.setItem("csrf", res.payload.csrf_k);
localStorage.setItem("user", JSON.stringify(res.payload));
return true;
}
catch (error) {
return false;
}
}

View File

@ -9,6 +9,7 @@ import serializeQuery from "../package-shared/utils/serialize-query";
import serializeCookies from "../package-shared/utils/serialize-cookies"; import serializeCookies from "../package-shared/utils/serialize-cookies";
import numberfy from "../package-shared/utils/numberfy"; import numberfy from "../package-shared/utils/numberfy";
import slugify from "../package-shared/utils/slugify"; import slugify from "../package-shared/utils/slugify";
import postLogin from "./auth/post-login";
/** /**
* Main Export * Main Export
*/ */
@ -26,6 +27,7 @@ declare const datasquirelClient: {
getAccessToken: typeof getGithubAccessToken; getAccessToken: typeof getGithubAccessToken;
}; };
logout: typeof logout; logout: typeof logout;
postLogin: typeof postLogin;
}; };
fetch: { fetch: {
fetchApi: typeof fetchApi; fetchApi: typeof fetchApi;

View File

@ -16,12 +16,7 @@ const serialize_cookies_1 = __importDefault(require("../package-shared/utils/ser
const ejson_1 = __importDefault(require("../package-shared/utils/ejson")); const ejson_1 = __importDefault(require("../package-shared/utils/ejson"));
const numberfy_1 = __importDefault(require("../package-shared/utils/numberfy")); const numberfy_1 = __importDefault(require("../package-shared/utils/numberfy"));
const slugify_1 = __importDefault(require("../package-shared/utils/slugify")); const slugify_1 = __importDefault(require("../package-shared/utils/slugify"));
//////////////////////////////////////// const post_login_1 = __importDefault(require("./auth/post-login"));
////////////////////////////////////////
////////////////////////////////////////
/**
* Media Functions Object
*/
const media = { const media = {
imageInputToBase64: imageInputToBase64_1.default, imageInputToBase64: imageInputToBase64_1.default,
imageInputFileToBase64: imageInputFileToBase64_1.default, imageInputFileToBase64: imageInputFileToBase64_1.default,
@ -38,6 +33,7 @@ const auth = {
getAccessToken: getAccessToken_2.default, getAccessToken: getAccessToken_2.default,
}, },
logout: logout_1.default, logout: logout_1.default,
postLogin: post_login_1.default,
}; };
const utils = { const utils = {
serializeQuery: serialize_query_1.default, serializeQuery: serialize_query_1.default,

1
dist/index.d.ts vendored
View File

@ -76,6 +76,7 @@ declare const datasquirel: {
getAccessToken: typeof import("./client/auth/github/getAccessToken").default; getAccessToken: typeof import("./client/auth/github/getAccessToken").default;
}; };
logout: typeof import("./client/auth/logout").default; logout: typeof import("./client/auth/logout").default;
postLogin: typeof import("./client/auth/post-login").default;
}; };
fetch: { fetch: {
fetchApi: typeof import("./client/fetch").default; fetchApi: typeof import("./client/fetch").default;

View File

@ -1,6 +1,6 @@
{ {
"name": "@moduletrace/datasquirel", "name": "@moduletrace/datasquirel",
"version": "3.4.6", "version": "3.4.7",
"description": "Cloud-based SQL data management tool", "description": "Cloud-based SQL data management tool",
"main": "dist/index.js", "main": "dist/index.js",
"bin": { "bin": {