Updates
This commit is contained in:
@@ -94,7 +94,21 @@ export default async function queryDSQLAPI<
|
||||
|
||||
response.on("end", function () {
|
||||
try {
|
||||
resolve(JSON.parse(str));
|
||||
const responseObj = JSON.parse(
|
||||
str
|
||||
) as APIResponseObject;
|
||||
if (!responseObj.success) {
|
||||
// console.log("responseObj", responseObj);
|
||||
// console.log(
|
||||
// "response.headers",
|
||||
// response.headers
|
||||
// );
|
||||
// console.log(
|
||||
// "httpsRequest.headers",
|
||||
// httpsRequest.getHeaders()
|
||||
// );
|
||||
}
|
||||
resolve(responseObj);
|
||||
} catch (error: any) {
|
||||
resolve({
|
||||
success: false,
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
import _ from "lodash";
|
||||
import serverError from "../../backend/serverError";
|
||||
import runQuery, { DbContextsArray } from "../../backend/db/runQuery";
|
||||
import { DbContextsArray } from "../../backend/db/runQuery";
|
||||
import {
|
||||
ApiGetQueryObject,
|
||||
DSQL_TableSchemaType,
|
||||
DSQL_DatabaseSchemaType,
|
||||
DsqlCrudQueryObject,
|
||||
GetReturn,
|
||||
} from "../../../types";
|
||||
import apiGetGrabQueryAndValues from "../../../utils/grab-query-and-values";
|
||||
import sqlGenerator from "../../dsql/sql/sql-generator";
|
||||
import dsqlCrud from "../../../utils/data-fetching/crud";
|
||||
|
||||
type Param<T extends { [key: string]: any } = { [key: string]: any }> = {
|
||||
query: string | ApiGetQueryObject<T>;
|
||||
queryValues?: (string | number)[];
|
||||
query: DsqlCrudQueryObject<T>;
|
||||
dbFullName: string;
|
||||
tableName?: string;
|
||||
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType;
|
||||
tableName: string;
|
||||
dbSchema?: DSQL_DatabaseSchemaType;
|
||||
debug?: boolean;
|
||||
dbContext?: (typeof DbContextsArray)[number];
|
||||
forceLocal?: boolean;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -27,88 +25,22 @@ export default async function apiGet<
|
||||
>({
|
||||
query,
|
||||
dbFullName,
|
||||
queryValues,
|
||||
tableName,
|
||||
dbSchema,
|
||||
debug,
|
||||
dbContext,
|
||||
forceLocal,
|
||||
}: Param<T>): Promise<import("../../../types").GetReturn> {
|
||||
const queryAndValues = apiGetGrabQueryAndValues({
|
||||
query,
|
||||
values: queryValues,
|
||||
}: Param<T>): Promise<GetReturn> {
|
||||
const queryAndValues = sqlGenerator({
|
||||
tableName,
|
||||
genObject: query,
|
||||
dbFullName,
|
||||
});
|
||||
|
||||
if (typeof query == "string" && query.match(/^alter|^delete|^create/i)) {
|
||||
return { success: false, msg: "Wrong Input." };
|
||||
}
|
||||
const result = await dsqlCrud({
|
||||
action: "get",
|
||||
table: tableName,
|
||||
dbFullName,
|
||||
query,
|
||||
});
|
||||
|
||||
let results;
|
||||
|
||||
try {
|
||||
let { result, error } = await runQuery({
|
||||
dbFullName: dbFullName,
|
||||
query: queryAndValues.query,
|
||||
queryValuesArray: queryAndValues.values,
|
||||
readOnly: true,
|
||||
dbSchema,
|
||||
tableName,
|
||||
dbContext,
|
||||
debug,
|
||||
forceLocal,
|
||||
});
|
||||
|
||||
if (debug && global.DSQL_USE_LOCAL) {
|
||||
console.log("apiGet:result", result);
|
||||
console.log("apiGet:error", error);
|
||||
}
|
||||
|
||||
let tableSchema: DSQL_TableSchemaType | undefined;
|
||||
|
||||
if (dbSchema) {
|
||||
const targetTable = dbSchema.tables?.find(
|
||||
(table) => table.tableName === tableName
|
||||
);
|
||||
|
||||
if (targetTable) {
|
||||
const clonedTargetTable = _.cloneDeep(targetTable);
|
||||
delete clonedTargetTable.childTable;
|
||||
delete clonedTargetTable.childrenTables;
|
||||
delete clonedTargetTable.updateData;
|
||||
delete clonedTargetTable.indexes;
|
||||
tableSchema = clonedTargetTable;
|
||||
}
|
||||
}
|
||||
|
||||
if (error) throw error;
|
||||
if (result.error) throw new Error(result.error);
|
||||
|
||||
results = result;
|
||||
|
||||
const resObject: GetReturn = {
|
||||
success: true,
|
||||
payload: results,
|
||||
schema: tableName && tableSchema ? tableSchema : undefined,
|
||||
};
|
||||
|
||||
return resObject;
|
||||
} catch (error: any) {
|
||||
serverError({
|
||||
component: "/api/query/get/lines-85-94",
|
||||
message: error.message,
|
||||
});
|
||||
|
||||
global.ERROR_CALLBACK?.(`API Get Error`, error as Error);
|
||||
|
||||
if (debug && global.DSQL_USE_LOCAL) {
|
||||
console.log("apiGet:error", error.message);
|
||||
console.log("queryAndValues", queryAndValues);
|
||||
}
|
||||
|
||||
return {
|
||||
success: false,
|
||||
payload: null,
|
||||
error: error.message,
|
||||
};
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ type Param = {
|
||||
tableName?: string;
|
||||
dbSchema?: DSQL_DatabaseSchemaType;
|
||||
dbContext?: (typeof DbContextsArray)[number];
|
||||
forceLocal?: boolean;
|
||||
debug?: boolean;
|
||||
};
|
||||
|
||||
@@ -25,7 +24,6 @@ export default async function apiPost({
|
||||
tableName,
|
||||
dbSchema,
|
||||
dbContext,
|
||||
forceLocal,
|
||||
debug,
|
||||
}: Param): Promise<PostReturn> {
|
||||
if (typeof query === "string" && query?.match(/^create |^alter |^drop /i)) {
|
||||
@@ -54,7 +52,6 @@ export default async function apiPost({
|
||||
queryValuesArray: queryValues,
|
||||
tableName,
|
||||
dbContext,
|
||||
forceLocal,
|
||||
debug,
|
||||
});
|
||||
|
||||
@@ -109,8 +106,6 @@ export default async function apiPost({
|
||||
message: error.message,
|
||||
});
|
||||
|
||||
global.ERROR_CALLBACK?.(`API Post Error`, error as Error);
|
||||
|
||||
return {
|
||||
success: false,
|
||||
payload: results,
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { UserType } from "../../../types";
|
||||
import DB_HANDLER from "../../../utils/backend/global-db/DB_HANDLER";
|
||||
import handleNodemailer from "../../backend/handleNodemailer";
|
||||
import { PostInsertReturn, UserType } from "../../../types";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
import serverError from "../../backend/serverError";
|
||||
import hashPassword from "../../dsql/hashPassword";
|
||||
|
||||
@@ -15,9 +14,10 @@ export default async function facebookLogin({
|
||||
usertype: UserType;
|
||||
}) {
|
||||
try {
|
||||
const foundUser = await DB_HANDLER(
|
||||
`SELECT * FROM users WHERE email='${body.facebookUserEmail}' AND social_login='1'`
|
||||
);
|
||||
const foundUser = (await dbHandler({
|
||||
query: `SELECT * FROM users WHERE email='${body.facebookUserEmail}' AND social_login='1'`,
|
||||
values: [body.facebookUserEmail],
|
||||
})) as any[];
|
||||
|
||||
if (foundUser && foundUser[0]) {
|
||||
return foundUser[0];
|
||||
@@ -27,7 +27,8 @@ export default async function facebookLogin({
|
||||
password: body.facebookUserId,
|
||||
});
|
||||
|
||||
let newUser = await DB_HANDLER(`INSERT INTO ${usertype} (
|
||||
let newUser = (await dbHandler({
|
||||
query: `INSERT INTO ${usertype} (
|
||||
first_name,
|
||||
last_name,
|
||||
social_platform,
|
||||
@@ -61,11 +62,21 @@ export default async function facebookLogin({
|
||||
'1',
|
||||
'${Date()}',
|
||||
'${Date.now()}'
|
||||
)`);
|
||||
)`,
|
||||
values: [
|
||||
body.facebookUserFirstName,
|
||||
body.facebookUserLastName,
|
||||
body.facebookUserEmail,
|
||||
body.facebookUserImage,
|
||||
socialHashedPassword,
|
||||
body.facebookUserId,
|
||||
],
|
||||
})) as PostInsertReturn;
|
||||
|
||||
const newFoundUser = await DB_HANDLER(
|
||||
`SELECT * FROM ${usertype} WHERE id='${newUser.insertId}'`
|
||||
);
|
||||
const newFoundUser = (await dbHandler({
|
||||
query: `SELECT * FROM ${usertype} WHERE id=?`,
|
||||
values: newUser?.insertId ? [newUser?.insertId] : [],
|
||||
})) as any[];
|
||||
} catch (/** @type {any} */ error: any) {
|
||||
serverError({
|
||||
component: "functions/backend/facebookLogin",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import DB_HANDLER from "../../../utils/backend/global-db/DB_HANDLER";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
import httpsRequest from "../../backend/httpsRequest";
|
||||
|
||||
export interface GithubUserPayload {
|
||||
@@ -83,9 +83,10 @@ export default async function githubLogin({
|
||||
gitHubUser = JSON.parse(userDataResponse as string);
|
||||
|
||||
if (!gitHubUser?.email && gitHubUser) {
|
||||
const existingGithubUser = await DB_HANDLER(
|
||||
`SELECT email FROM users WHERE social_login='1' AND social_platform='github' AND social_id='${gitHubUser.id}'`
|
||||
);
|
||||
const existingGithubUser = (await dbHandler({
|
||||
query: `SELECT email FROM users WHERE social_login='1' AND social_platform='github' AND social_id='${gitHubUser.id}'`,
|
||||
values: [gitHubUser.id],
|
||||
})) as any[];
|
||||
|
||||
if (existingGithubUser && existingGithubUser[0]) {
|
||||
gitHubUser.email = existingGithubUser[0].email;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import fs from "fs";
|
||||
import { OAuth2Client } from "google-auth-library";
|
||||
import serverError from "../../backend/serverError";
|
||||
import DB_HANDLER from "../../../utils/backend/global-db/DB_HANDLER";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
import hashPassword from "../../dsql/hashPassword";
|
||||
import { PostInsertReturn } from "../../../types";
|
||||
|
||||
type Param = {
|
||||
usertype: string;
|
||||
@@ -66,11 +67,12 @@ export default async function googleLogin({
|
||||
////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////
|
||||
|
||||
let existinEmail = await DB_HANDLER(
|
||||
`SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login!='1' AND social_platform!='google'`
|
||||
);
|
||||
let existinEmail = (await dbHandler({
|
||||
query: `SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login!='1' AND social_platform!='google'`,
|
||||
values: [payload.email],
|
||||
})) as any[];
|
||||
|
||||
if (existinEmail && existinEmail[0]) {
|
||||
if (existinEmail?.[0]) {
|
||||
loginFailureReason = "Email Exists Already";
|
||||
isGoogleAuthValid = false;
|
||||
return {
|
||||
@@ -82,11 +84,12 @@ export default async function googleLogin({
|
||||
|
||||
////////////////////////////////////////
|
||||
|
||||
foundUser = await DB_HANDLER(
|
||||
`SELECT * FROM ${usertype} WHERE email='${payload.email}' AND social_login='1' AND social_platform='google'`
|
||||
);
|
||||
foundUser = (await dbHandler({
|
||||
query: `SELECT * FROM ${usertype} WHERE email=? AND social_login='1' AND social_platform='google'`,
|
||||
values: [payload.email],
|
||||
})) as any[];
|
||||
|
||||
if (foundUser && foundUser[0]) {
|
||||
if (foundUser?.[0]) {
|
||||
newFoundUser = foundUser;
|
||||
return {
|
||||
isGoogleAuthValid: isGoogleAuthValid,
|
||||
@@ -98,9 +101,10 @@ export default async function googleLogin({
|
||||
////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////
|
||||
|
||||
let newUser = await DB_HANDLER(`INSERT INTO ${usertype} (
|
||||
let newUser = (await dbHandler({
|
||||
query: `INSERT INTO ${usertype} (
|
||||
first_name,
|
||||
last_name,
|
||||
last_name,
|
||||
social_platform,
|
||||
social_name,
|
||||
social_id,
|
||||
@@ -128,19 +132,19 @@ export default async function googleLogin({
|
||||
'1',
|
||||
'${Date()}',
|
||||
'${Date.now()}'
|
||||
)`);
|
||||
)`,
|
||||
})) as PostInsertReturn;
|
||||
|
||||
newFoundUser = await DB_HANDLER(
|
||||
`SELECT * FROM ${usertype} WHERE id='${newUser.insertId}'`
|
||||
);
|
||||
newFoundUser = (await dbHandler({
|
||||
query: `SELECT * FROM ${usertype} WHERE id=?`,
|
||||
values: [newUser.insertId],
|
||||
})) as any[];
|
||||
} catch (error: any) {
|
||||
serverError({
|
||||
component: "googleLogin",
|
||||
message: error.message,
|
||||
});
|
||||
|
||||
global.ERROR_CALLBACK?.(`Google Login Error`, error as Error);
|
||||
|
||||
loginFailureReason = error;
|
||||
|
||||
isUserValid = false;
|
||||
|
||||
@@ -2,7 +2,7 @@ import fs from "fs";
|
||||
import handleNodemailer from "../../backend/handleNodemailer";
|
||||
import path from "path";
|
||||
import addMariadbUser from "../../backend/addMariadbUser";
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
import encrypt from "../../dsql/encrypt";
|
||||
import addDbEntry from "../../backend/db/addDbEntry";
|
||||
import loginSocialUser from "./loginSocialUser";
|
||||
@@ -27,14 +27,9 @@ export default async function handleSocialDb({
|
||||
loginOnly,
|
||||
}: HandleSocialDbFunctionParams): Promise<APILoginFunctionReturn> {
|
||||
try {
|
||||
const finalDbName = global.DSQL_USE_LOCAL
|
||||
? undefined
|
||||
: database
|
||||
? database
|
||||
: "datasquirel";
|
||||
const dbAppend = global.DSQL_USE_LOCAL ? "" : `${finalDbName}.`;
|
||||
const finalDbName = database ? database : "datasquirel";
|
||||
|
||||
const existingSocialUserQUery = `SELECT * FROM ${dbAppend}users WHERE email = ? AND social_login='1' AND social_platform = ? `;
|
||||
const existingSocialUserQUery = `SELECT * FROM users WHERE email = ? AND social_login='1' AND social_platform = ? `;
|
||||
const existingSocialUserValues = [email, social_platform];
|
||||
|
||||
if (debug) {
|
||||
@@ -48,12 +43,11 @@ export default async function handleSocialDb({
|
||||
);
|
||||
}
|
||||
|
||||
let existingSocialUser = await varDatabaseDbHandler({
|
||||
let existingSocialUser = (await dbHandler({
|
||||
database: finalDbName,
|
||||
queryString: existingSocialUserQUery,
|
||||
queryValuesArray: existingSocialUserValues,
|
||||
debug,
|
||||
});
|
||||
query: existingSocialUserQUery,
|
||||
values: existingSocialUserValues,
|
||||
})) as any[];
|
||||
|
||||
if (debug) {
|
||||
console.log(
|
||||
@@ -89,7 +83,7 @@ export default async function handleSocialDb({
|
||||
};
|
||||
}
|
||||
|
||||
const existingEmailOnlyQuery = `SELECT * FROM ${dbAppend}users WHERE email='${finalEmail}'`;
|
||||
const existingEmailOnlyQuery = `SELECT * FROM users WHERE email='${finalEmail}'`;
|
||||
|
||||
if (debug) {
|
||||
console.log(
|
||||
@@ -98,11 +92,10 @@ export default async function handleSocialDb({
|
||||
);
|
||||
}
|
||||
|
||||
let existingEmailOnly = await varDatabaseDbHandler({
|
||||
let existingEmailOnly = (await dbHandler({
|
||||
database: finalDbName,
|
||||
queryString: existingEmailOnlyQuery,
|
||||
debug,
|
||||
});
|
||||
query: existingEmailOnlyQuery,
|
||||
})) as any[];
|
||||
|
||||
if (debug) {
|
||||
console.log("handleSocialDb:existingEmailOnly", existingEmailOnly);
|
||||
@@ -160,13 +153,12 @@ export default async function handleSocialDb({
|
||||
await addMariadbUser({ userId: newUser.payload.insertId });
|
||||
}
|
||||
|
||||
const newUserQueriedQuery = `SELECT * FROM ${dbAppend}users WHERE id='${newUser.payload.insertId}'`;
|
||||
const newUserQueriedQuery = `SELECT * FROM users WHERE id='${newUser.payload.insertId}'`;
|
||||
|
||||
const newUserQueried = await varDatabaseDbHandler({
|
||||
const newUserQueried = (await dbHandler({
|
||||
database: finalDbName,
|
||||
queryString: newUserQueriedQuery,
|
||||
debug,
|
||||
});
|
||||
query: newUserQueriedQuery,
|
||||
})) as any[];
|
||||
|
||||
if (!newUserQueried || !newUserQueried[0])
|
||||
return {
|
||||
@@ -263,8 +255,6 @@ export default async function handleSocialDb({
|
||||
error.message
|
||||
);
|
||||
|
||||
global.ERROR_CALLBACK?.(`Handle Social DB Error`, error as Error);
|
||||
|
||||
return {
|
||||
success: false,
|
||||
payload: null,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import addAdminUserOnLogin from "../../backend/addAdminUserOnLogin";
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
import {
|
||||
APILoginFunctionReturn,
|
||||
DATASQUIREL_LoggedInUser,
|
||||
@@ -39,12 +39,11 @@ export default async function loginSocialUser({
|
||||
const foundUserQuery = `SELECT * FROM ${dbAppend}\`users\` WHERE email=?`;
|
||||
const foundUserValues = [user.email];
|
||||
|
||||
const foundUser = await varDatabaseDbHandler({
|
||||
const foundUser = (await dbHandler({
|
||||
query: foundUserQuery,
|
||||
values: foundUserValues,
|
||||
database: finalDbName,
|
||||
queryString: foundUserQuery,
|
||||
queryValuesArray: foundUserValues,
|
||||
debug,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
if (!foundUser?.[0])
|
||||
return {
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import { findDbNameInSchemaDir } from "../../../shell/createDbFromSchema/grab-required-database-schemas";
|
||||
import { grabPrimaryRequiredDbSchema } from "../../../shell/createDbFromSchema/grab-required-database-schemas";
|
||||
import { APICreateUserFunctionParams } from "../../../types";
|
||||
import addUsersTableToDb from "../../backend/addUsersTableToDb";
|
||||
import addDbEntry from "../../backend/db/addDbEntry";
|
||||
import updateUsersTableSchema from "../../backend/updateUsersTableSchema";
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
import hashPassword from "../../dsql/hashPassword";
|
||||
import validateEmail from "../../email/fns/validate-email";
|
||||
import { DSQL_DATASQUIREL_USERS } from "@/package-shared/types/dsql";
|
||||
|
||||
/**
|
||||
* # API Create User
|
||||
@@ -15,10 +16,8 @@ export default async function apiCreateUser({
|
||||
payload,
|
||||
database,
|
||||
userId,
|
||||
verify,
|
||||
}: APICreateUserFunctionParams) {
|
||||
const dbFullName = database;
|
||||
const API_USER_ID = userId || process.env.DSQL_API_USER_ID;
|
||||
|
||||
const finalEncryptionKey =
|
||||
encryptionKey || process.env.DSQL_ENCRYPTION_PASSWORD;
|
||||
|
||||
@@ -38,9 +37,10 @@ export default async function apiCreateUser({
|
||||
};
|
||||
}
|
||||
|
||||
const targetDbSchema = findDbNameInSchemaDir({
|
||||
dbName: dbFullName,
|
||||
const targetDbSchema = grabPrimaryRequiredDbSchema({
|
||||
dbSlug: database,
|
||||
userId,
|
||||
dbId: userId ? undefined : 1,
|
||||
});
|
||||
|
||||
if (!targetDbSchema?.id) {
|
||||
@@ -51,6 +51,16 @@ export default async function apiCreateUser({
|
||||
};
|
||||
}
|
||||
|
||||
const dbFullName = targetDbSchema.dbFullName;
|
||||
|
||||
if (!dbFullName) {
|
||||
return {
|
||||
success: false,
|
||||
msg: "dbFullName not found",
|
||||
payload: null,
|
||||
};
|
||||
}
|
||||
|
||||
const hashedPassword = hashPassword({
|
||||
encryptionKey: finalEncryptionKey,
|
||||
password: String(payload.password),
|
||||
@@ -60,23 +70,23 @@ export default async function apiCreateUser({
|
||||
|
||||
const fieldsQuery = `SHOW COLUMNS FROM ${dbFullName}.users`;
|
||||
|
||||
let fields = await varDatabaseDbHandler({
|
||||
queryString: fieldsQuery,
|
||||
let fields = (await dbHandler({
|
||||
query: fieldsQuery,
|
||||
database: dbFullName,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
if (!fields?.[0]) {
|
||||
const newTable = await addUsersTableToDb({
|
||||
userId: Number(API_USER_ID),
|
||||
userId,
|
||||
database: dbFullName,
|
||||
payload: payload,
|
||||
dbId: targetDbSchema.id,
|
||||
});
|
||||
|
||||
fields = await varDatabaseDbHandler({
|
||||
queryString: fieldsQuery,
|
||||
fields = (await dbHandler({
|
||||
query: fieldsQuery,
|
||||
database: dbFullName,
|
||||
});
|
||||
})) as any[];
|
||||
}
|
||||
|
||||
if (!fields?.[0]) {
|
||||
@@ -94,7 +104,7 @@ export default async function apiCreateUser({
|
||||
const key = Object.keys(payload)[i];
|
||||
if (!fieldsTitles.includes(key)) {
|
||||
await updateUsersTableSchema({
|
||||
userId: Number(API_USER_ID),
|
||||
userId,
|
||||
database: dbFullName,
|
||||
newPayload: {
|
||||
[key]: payload[key],
|
||||
@@ -118,11 +128,11 @@ export default async function apiCreateUser({
|
||||
? [payload.email, payload.username]
|
||||
: [payload.email];
|
||||
|
||||
const existingUser = await varDatabaseDbHandler({
|
||||
queryString: existingUserQuery,
|
||||
queryValuesArray: existingUserValues,
|
||||
const existingUser = (await dbHandler({
|
||||
query: existingUserQuery,
|
||||
values: existingUserValues,
|
||||
database: dbFullName,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
if (existingUser?.[0]) {
|
||||
return {
|
||||
@@ -142,7 +152,7 @@ export default async function apiCreateUser({
|
||||
};
|
||||
}
|
||||
|
||||
const addUser = await addDbEntry({
|
||||
const addUser = await addDbEntry<DSQL_DATASQUIREL_USERS>({
|
||||
dbFullName: dbFullName,
|
||||
tableName: "users",
|
||||
data: {
|
||||
@@ -153,16 +163,18 @@ export default async function apiCreateUser({
|
||||
image_thumbnail:
|
||||
process.env.DSQL_DEFAULT_USER_IMAGE ||
|
||||
"/images/user-preset-thumbnail.png",
|
||||
verification_status: verify ? 1 : 0,
|
||||
},
|
||||
});
|
||||
|
||||
if (addUser?.payload?.insertId) {
|
||||
const newlyAddedUserQuery = `SELECT id,uuid,first_name,last_name,email,username,image,image_thumbnail,verification_status FROM ${dbFullName}.users WHERE id='${addUser.payload.insertId}'`;
|
||||
|
||||
const newlyAddedUser = await varDatabaseDbHandler({
|
||||
queryString: newlyAddedUserQuery,
|
||||
const newlyAddedUser = (await dbHandler({
|
||||
query: newlyAddedUserQuery,
|
||||
values: [],
|
||||
database: dbFullName,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
return {
|
||||
success: true,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import deleteDbEntry from "../../backend/db/deleteDbEntry";
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
|
||||
type Param = {
|
||||
dbFullName: string;
|
||||
@@ -17,11 +17,11 @@ export default async function apiDeleteUser({
|
||||
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
|
||||
const existingUserValues = [deletedUserId];
|
||||
|
||||
const existingUser = await varDatabaseDbHandler({
|
||||
queryString: existingUserQuery,
|
||||
queryValuesArray: existingUserValues,
|
||||
const existingUser = (await dbHandler({
|
||||
query: existingUserQuery,
|
||||
values: existingUserValues,
|
||||
database: dbFullName,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
if (!existingUser?.[0]) {
|
||||
return {
|
||||
|
||||
@@ -2,7 +2,7 @@ import {
|
||||
APIGetUserFunctionParams,
|
||||
GetUserFunctionReturn,
|
||||
} from "../../../types";
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
|
||||
/**
|
||||
* # API Get User
|
||||
@@ -19,11 +19,11 @@ export default async function apiGetUser({
|
||||
)} FROM ${finalDbName}.users WHERE id=?`;
|
||||
const API_USER_ID = userId || process.env.DSQL_API_USER_ID;
|
||||
|
||||
let foundUser = await varDatabaseDbHandler({
|
||||
queryString: query,
|
||||
queryValuesArray: [API_USER_ID],
|
||||
let foundUser = (await dbHandler({
|
||||
query,
|
||||
values: [API_USER_ID],
|
||||
database: finalDbName,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
if (!foundUser || !foundUser[0]) {
|
||||
return {
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
DATASQUIREL_LoggedInUser,
|
||||
} from "../../../types";
|
||||
import grabDbFullName from "../../../utils/grab-db-full-name";
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
import hashPassword from "../../dsql/hashPassword";
|
||||
|
||||
/**
|
||||
@@ -34,7 +34,6 @@ export default async function apiLoginUser({
|
||||
msg: `Database Full Name couldn't be grabbed`,
|
||||
};
|
||||
}
|
||||
const dbAppend = global.DSQL_USE_LOCAL ? "" : `${dbFullName}.`;
|
||||
|
||||
/**
|
||||
* Check input validity
|
||||
@@ -69,13 +68,11 @@ export default async function apiLoginUser({
|
||||
console.log("apiLoginUser:Finding User ...");
|
||||
}
|
||||
|
||||
let foundUser = await varDatabaseDbHandler({
|
||||
queryString: `SELECT * FROM ${dbAppend}users WHERE email = ? OR username = ?`,
|
||||
queryValuesArray: [email, username],
|
||||
let foundUser = (await dbHandler({
|
||||
query: `SELECT * FROM users WHERE email = ? OR username = ?`,
|
||||
values: [email, username],
|
||||
database: dbFullName,
|
||||
|
||||
debug,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
if (debug) {
|
||||
console.log("apiLoginUser:foundUser:", foundUser);
|
||||
@@ -146,9 +143,9 @@ export default async function apiLoginUser({
|
||||
}
|
||||
|
||||
if (isPasswordCorrect && email_login) {
|
||||
const resetTempCode = await varDatabaseDbHandler({
|
||||
queryString: `UPDATE ${dbAppend}users SET ${email_login_field} = '' WHERE email = ? OR username = ?`,
|
||||
queryValuesArray: [email, username],
|
||||
await dbHandler({
|
||||
query: `UPDATE users SET ${email_login_field} = '' WHERE email = ? OR username = ?`,
|
||||
values: [email, username],
|
||||
database: dbFullName,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { APILoginFunctionReturn } from "../../../types";
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
|
||||
type Param = {
|
||||
existingUser: { [s: string]: any };
|
||||
@@ -15,19 +15,13 @@ export default async function apiReauthUser({
|
||||
database,
|
||||
additionalFields,
|
||||
}: Param): Promise<APILoginFunctionReturn> {
|
||||
const dbAppend = global.DSQL_USE_LOCAL
|
||||
? ""
|
||||
: database
|
||||
? `${database}.`
|
||||
: "";
|
||||
|
||||
let foundUser =
|
||||
existingUser?.id && existingUser.id.toString().match(/./)
|
||||
? await varDatabaseDbHandler({
|
||||
queryString: `SELECT * FROM ${dbAppend}users WHERE id=?`,
|
||||
queryValuesArray: [existingUser.id.toString()],
|
||||
? ((await dbHandler({
|
||||
query: `SELECT * FROM users WHERE id=?`,
|
||||
values: [existingUser.id.toString()],
|
||||
database,
|
||||
})
|
||||
})) as any[])
|
||||
: null;
|
||||
|
||||
if (!foundUser || !foundUser[0])
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
import nodemailer, { SendMailOptions } from "nodemailer";
|
||||
import http from "http";
|
||||
import getAuthCookieNames from "../../backend/cookies/get-auth-cookie-names";
|
||||
import encrypt from "../../dsql/encrypt";
|
||||
import serializeCookies from "../../../utils/serialize-cookies";
|
||||
import { SendOneTimeCodeEmailResponse } from "../../../types";
|
||||
import { CookieObject, SendOneTimeCodeEmailResponse } from "../../../types";
|
||||
|
||||
type Param = {
|
||||
email: string;
|
||||
@@ -17,7 +17,7 @@ type Param = {
|
||||
mail_password?: string;
|
||||
html: string;
|
||||
response?: http.ServerResponse & { [s: string]: any };
|
||||
extraCookies?: import("../../../../package-shared/types").CookieObject[];
|
||||
extraCookies?: CookieObject[];
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -47,15 +47,11 @@ export default async function apiSendEmailCode({
|
||||
const foundUserQuery = `SELECT * FROM ${database}.users WHERE email = ?`;
|
||||
const foundUserValues = [email];
|
||||
|
||||
let foundUser = await varDatabaseDbHandler({
|
||||
queryString: foundUserQuery,
|
||||
queryValuesArray: foundUserValues,
|
||||
let foundUser = (await dbHandler({
|
||||
query: foundUserQuery,
|
||||
values: foundUserValues,
|
||||
database,
|
||||
});
|
||||
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
})) as any[];
|
||||
|
||||
if (!foundUser || !foundUser[0]) {
|
||||
return {
|
||||
@@ -107,13 +103,12 @@ export default async function apiSendEmailCode({
|
||||
const setTempCodeQuery = `UPDATE ${database}.users SET ${email_login_field} = ? WHERE email = ?`;
|
||||
const setTempCodeValues = [tempCode + `-${createdAt}`, email];
|
||||
|
||||
let setTempCode = await varDatabaseDbHandler({
|
||||
queryString: setTempCodeQuery,
|
||||
queryValuesArray: setTempCodeValues,
|
||||
await dbHandler({
|
||||
query: setTempCodeQuery,
|
||||
values: setTempCodeValues,
|
||||
database,
|
||||
});
|
||||
|
||||
/** @type {import("../../../types").SendOneTimeCodeEmailResponse} */
|
||||
const resObject: import("../../../types").SendOneTimeCodeEmailResponse =
|
||||
{
|
||||
success: true,
|
||||
@@ -137,22 +132,18 @@ export default async function apiSendEmailCode({
|
||||
);
|
||||
}
|
||||
|
||||
/** @type {import("../../../../package-shared/types").CookieObject} */
|
||||
const oneTimeCookieObject: import("../../../../package-shared/types").CookieObject =
|
||||
{
|
||||
name: oneTimeCodeCookieName,
|
||||
value: encryptedPayload,
|
||||
sameSite: "Strict",
|
||||
path: "/",
|
||||
httpOnly: true,
|
||||
secure: true,
|
||||
};
|
||||
const oneTimeCookieObject: CookieObject = {
|
||||
name: oneTimeCodeCookieName,
|
||||
value: encryptedPayload,
|
||||
sameSite: "Strict",
|
||||
path: "/",
|
||||
httpOnly: true,
|
||||
secure: true,
|
||||
};
|
||||
|
||||
/** @type {import("../../../../package-shared/types").CookieObject[]} */
|
||||
const cookiesObjectArray: import("../../../../package-shared/types").CookieObject[] =
|
||||
extraCookies
|
||||
? [...extraCookies, oneTimeCookieObject]
|
||||
: [oneTimeCookieObject];
|
||||
const cookiesObjectArray: CookieObject[] = extraCookies
|
||||
? [...extraCookies, oneTimeCookieObject]
|
||||
: [oneTimeCookieObject];
|
||||
|
||||
const serializedCookies = serializeCookies({
|
||||
cookies: cookiesObjectArray,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import updateDbEntry from "../../backend/db/updateDbEntry";
|
||||
import encrypt from "../../dsql/encrypt";
|
||||
import hashPassword from "../../dsql/hashPassword";
|
||||
import varDatabaseDbHandler from "../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../backend/dbHandler";
|
||||
|
||||
type Param = {
|
||||
payload: { [s: string]: any };
|
||||
@@ -26,11 +26,11 @@ export default async function apiUpdateUser({
|
||||
const existingUserQuery = `SELECT * FROM ${dbFullName}.users WHERE id = ?`;
|
||||
const existingUserValues = [updatedUserId];
|
||||
|
||||
const existingUser = await varDatabaseDbHandler({
|
||||
queryString: existingUserQuery,
|
||||
queryValuesArray: existingUserValues,
|
||||
const existingUser = (await dbHandler({
|
||||
query: existingUserQuery,
|
||||
values: existingUserValues,
|
||||
database: dbFullName,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
if (!existingUser?.[0]) {
|
||||
return {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { DSQL_MYSQL_user_databases_Type } from "../../../../types";
|
||||
import grabDbFullName from "../../../../utils/grab-db-full-name";
|
||||
import varDatabaseDbHandler from "../../../backend/varDatabaseDbHandler";
|
||||
import dbHandler from "../../../backend/dbHandler";
|
||||
|
||||
type Return = {
|
||||
success: boolean;
|
||||
@@ -44,12 +44,11 @@ export default async function apiSendResetPasswordLink({
|
||||
};
|
||||
}
|
||||
|
||||
let foundUser = await varDatabaseDbHandler({
|
||||
queryString: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`,
|
||||
queryValuesArray: [email, email],
|
||||
let foundUser = (await dbHandler({
|
||||
query: `SELECT * FROM ${dbFullName}.users WHERE email = ? OR username = ?`,
|
||||
values: [email, email],
|
||||
database: dbFullName,
|
||||
debug,
|
||||
});
|
||||
})) as any[];
|
||||
|
||||
if (debug) {
|
||||
console.log("apiSendResetPassword:foundUser:", foundUser);
|
||||
|
||||
Reference in New Issue
Block a user