This commit is contained in:
Benjamin Toby 2025-12-31 10:37:42 +01:00
parent 05733b4ade
commit 515db80a79
7 changed files with 52 additions and 33 deletions

View File

@ -1,4 +1,4 @@
import { APIResponseObject } from "../../../types"; import { APIResponseObject, DsqlAdditionalLoginField } from "../../../types";
type Param = { type Param = {
user: { user: {
email: string; email: string;
@ -6,7 +6,7 @@ type Param = {
social_platform: string; social_platform: string;
invitation?: any; invitation?: any;
database?: string; database?: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
debug?: boolean; debug?: boolean;
}; };
/** /**

View File

@ -157,12 +157,20 @@ function apiLoginUser(_a) {
userId: foundUser[0].id, userId: foundUser[0].id,
csrf: csrfKey, csrf: csrfKey,
}; };
if (additionalFields && if (Array.isArray(additionalFields)) {
Array.isArray(additionalFields) && for (let i = 0; i < additionalFields.length; i++) {
additionalFields.length > 0) { const additionalField = additionalFields[i];
additionalFields.forEach((key) => { if (typeof additionalField == "string") {
userPayload[key] = foundUser[0][key]; userPayload[additionalField] = foundUser[0][additionalField];
}); }
else {
const keys = Object.keys(additionalField);
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
userPayload[key] = additionalField[key];
}
}
}
} }
return resposeObject; return resposeObject;
}); });

View File

@ -197,7 +197,7 @@ export interface DSQL_MYSQL_user_databases_Type {
export interface PackageUserLoginRequestBody { export interface PackageUserLoginRequestBody {
encryptionKey: string; encryptionKey: string;
payload: any; payload: any;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
email_login?: boolean; email_login?: boolean;
email_login_code?: string; email_login_code?: string;
email_login_field?: string; email_login_field?: string;
@ -209,7 +209,7 @@ export interface PackageUserLoginRequestBody {
} }
export interface PackageUserLoginLocalBody { export interface PackageUserLoginLocalBody {
payload: any; payload: any;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
email_login?: boolean; email_login?: boolean;
email_login_code?: string; email_login_code?: string;
email_login_field?: string; email_login_field?: string;
@ -969,7 +969,7 @@ export type APILoginFunctionParams = {
username?: string; username?: string;
password?: string; password?: string;
database: string; database: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
email_login?: boolean; email_login?: boolean;
email_login_code?: string; email_login_code?: string;
email_login_field?: string; email_login_field?: string;
@ -1013,7 +1013,7 @@ export type APIGetUserFunctionParams = {
export type APIGoogleLoginFunctionParams = { export type APIGoogleLoginFunctionParams = {
token: string; token: string;
database?: string; database?: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
additionalData?: { additionalData?: {
[key: string]: string | number; [key: string]: string | number;
}; };
@ -1031,7 +1031,7 @@ export type HandleSocialDbFunctionParams = {
payload: any; payload: any;
invitation?: any; invitation?: any;
supEmail?: string; supEmail?: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
debug?: boolean; debug?: boolean;
loginOnly?: boolean; loginOnly?: boolean;
social_id?: string | number; social_id?: string | number;
@ -1638,6 +1638,9 @@ export type DefaultEntryType = {
[k: string]: string | number | null; [k: string]: string | number | null;
}; };
export declare const IndexTypes: readonly ["regular", "full_text", "vector"]; export declare const IndexTypes: readonly ["regular", "full_text", "vector"];
export type DsqlAdditionalLoginField = string | {
[s: string]: any;
};
export type LoginUserParam = { export type LoginUserParam = {
apiKey?: string; apiKey?: string;
database: string; database: string;
@ -1646,7 +1649,7 @@ export type LoginUserParam = {
username?: string; username?: string;
password?: string; password?: string;
}; };
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
request?: IncomingMessage & { request?: IncomingMessage & {
[s: string]: any; [s: string]: any;
}; };
@ -2006,7 +2009,7 @@ export type GoogleAuthParams = {
response?: ServerResponse; response?: ServerResponse;
encryptionKey?: string; encryptionKey?: string;
encryptionSalt?: string; encryptionSalt?: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
additionalData?: { additionalData?: {
[s: string]: string | number; [s: string]: string | number;
}; };

View File

@ -1,4 +1,4 @@
import { APIResponseObject } from "../../../types"; import { APIResponseObject, DsqlAdditionalLoginField } from "../../../types";
import loginUser from "../../../actions/users/login-user"; import loginUser from "../../../actions/users/login-user";
type Param = { type Param = {
@ -8,7 +8,7 @@ type Param = {
social_platform: string; social_platform: string;
invitation?: any; invitation?: any;
database?: string; database?: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
debug?: boolean; debug?: boolean;
}; };

View File

@ -189,14 +189,20 @@ export default async function apiLoginUser({
csrf: csrfKey, csrf: csrfKey,
}; };
if ( if (Array.isArray(additionalFields)) {
additionalFields && for (let i = 0; i < additionalFields.length; i++) {
Array.isArray(additionalFields) && const additionalField = additionalFields[i];
additionalFields.length > 0 if (typeof additionalField == "string") {
) { userPayload[additionalField] = foundUser[0][additionalField];
additionalFields.forEach((key) => { } else {
userPayload[key] = foundUser[0][key]; const keys = Object.keys(additionalField);
});
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
userPayload[key] = additionalField[key];
}
}
}
} }
return resposeObject; return resposeObject;

View File

@ -236,7 +236,7 @@ export interface DSQL_MYSQL_user_databases_Type {
export interface PackageUserLoginRequestBody { export interface PackageUserLoginRequestBody {
encryptionKey: string; encryptionKey: string;
payload: any; payload: any;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
email_login?: boolean; email_login?: boolean;
email_login_code?: string; email_login_code?: string;
email_login_field?: string; email_login_field?: string;
@ -249,7 +249,7 @@ export interface PackageUserLoginRequestBody {
export interface PackageUserLoginLocalBody { export interface PackageUserLoginLocalBody {
payload: any; payload: any;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
email_login?: boolean; email_login?: boolean;
email_login_code?: string; email_login_code?: string;
email_login_field?: string; email_login_field?: string;
@ -1181,7 +1181,7 @@ export type APILoginFunctionParams = {
username?: string; username?: string;
password?: string; password?: string;
database: string; database: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
email_login?: boolean; email_login?: boolean;
email_login_code?: string; email_login_code?: string;
email_login_field?: string; email_login_field?: string;
@ -1231,7 +1231,7 @@ export type APIGetUserFunctionParams = {
export type APIGoogleLoginFunctionParams = { export type APIGoogleLoginFunctionParams = {
token: string; token: string;
database?: string; database?: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
additionalData?: { [key: string]: string | number }; additionalData?: { [key: string]: string | number };
debug?: boolean; debug?: boolean;
loginOnly?: boolean; loginOnly?: boolean;
@ -1251,7 +1251,7 @@ export type HandleSocialDbFunctionParams = {
payload: any; payload: any;
invitation?: any; invitation?: any;
supEmail?: string; supEmail?: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
debug?: boolean; debug?: boolean;
loginOnly?: boolean; loginOnly?: boolean;
social_id?: string | number; social_id?: string | number;
@ -2011,6 +2011,8 @@ export type DefaultEntryType = {
export const IndexTypes = ["regular", "full_text", "vector"] as const; export const IndexTypes = ["regular", "full_text", "vector"] as const;
export type DsqlAdditionalLoginField = string | { [s: string]: any };
export type LoginUserParam = { export type LoginUserParam = {
apiKey?: string; apiKey?: string;
database: string; database: string;
@ -2019,7 +2021,7 @@ export type LoginUserParam = {
username?: string; username?: string;
password?: string; password?: string;
}; };
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
request?: IncomingMessage & { [s: string]: any }; request?: IncomingMessage & { [s: string]: any };
response?: ServerResponse & { [s: string]: any }; response?: ServerResponse & { [s: string]: any };
encryptionKey?: string; encryptionKey?: string;
@ -2583,7 +2585,7 @@ export type GoogleAuthParams = {
response?: ServerResponse; response?: ServerResponse;
encryptionKey?: string; encryptionKey?: string;
encryptionSalt?: string; encryptionSalt?: string;
additionalFields?: string[]; additionalFields?: DsqlAdditionalLoginField[];
additionalData?: { [s: string]: string | number }; additionalData?: { [s: string]: string | number };
debug?: boolean; debug?: boolean;
secureCookie?: boolean; secureCookie?: boolean;

View File

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