mirror of
https://github.com/hpware/news-analyze.git
synced 2025-06-23 15:51:01 +08:00
Update createDatabase scripts & get sendUserInfo endpoint & when
creating an account it will also create a array in user_other_data.
This commit is contained in:
parent
a4a522974a
commit
3a85eda19a
@ -39,16 +39,22 @@ const createUserOtherData = await sql`
|
||||
groq_api_key text,
|
||||
starred_news JSON not null,
|
||||
translate_provider text,
|
||||
translate_enabled boolean,
|
||||
remove_translate_popup boolean
|
||||
translate_enabled boolean not null,
|
||||
remove_translate_popup boolean not null
|
||||
)`;
|
||||
|
||||
/*const createSources = await sql`
|
||||
create table if not exists source (
|
||||
const createSources = await sql`
|
||||
create table if not exists lt_news_org (
|
||||
news_id text primary key,
|
||||
name text not null,
|
||||
description text
|
||||
)
|
||||
`;*/
|
||||
`;
|
||||
|
||||
console.log("Creation Complete");
|
||||
console.log(
|
||||
"If the script still does not quit after 2 seconds after the 'Creation Complete' message, please stop it by using Ctrl + C or on mac Control + C",
|
||||
);
|
||||
|
||||
await sql.end();
|
||||
process.exit(0);
|
||||
|
@ -1,41 +1,61 @@
|
||||
import sql from "~/server/components/postgres";
|
||||
export default defineEventHandler(async (event) => {
|
||||
const createUsers = await sql`
|
||||
create table if not exists users (
|
||||
uuid text primary key,
|
||||
created_at timestamptz default current_timestamp,
|
||||
username text not null unique,
|
||||
avatarurl text,
|
||||
firstname text,
|
||||
passwordhash text not null,
|
||||
email text
|
||||
);
|
||||
`;
|
||||
create table if not exists users (
|
||||
uuid text primary key,
|
||||
created_at timestamptz default current_timestamp,
|
||||
username text not null unique,
|
||||
avatarurl text,
|
||||
firstname text,
|
||||
passwordhash text not null,
|
||||
email text
|
||||
);
|
||||
`;
|
||||
|
||||
const usersList = await sql`
|
||||
create table if not exists usertokens (
|
||||
token text not null primary key,
|
||||
created_at timestamptz default current_timestamp,
|
||||
username text not null,
|
||||
email text,
|
||||
avatarurl text,
|
||||
firstname text
|
||||
)
|
||||
`;
|
||||
create table if not exists usertokens (
|
||||
token text not null primary key,
|
||||
created_at timestamptz default current_timestamp,
|
||||
username text not null,
|
||||
email text,
|
||||
avatarurl text,
|
||||
firstname text
|
||||
)
|
||||
`;
|
||||
|
||||
const createUserAiChatHistory = await sql`
|
||||
CREATE TABLE IF NOT EXISTS chat_history (
|
||||
id SERIAL PRIMARY KEY,
|
||||
uuid VARCHAR(255) NOT NULL,
|
||||
role VARCHAR(50) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)`;
|
||||
const createSources = await sql``;
|
||||
CREATE TABLE IF NOT EXISTS chat_history (
|
||||
id SERIAL PRIMARY KEY,
|
||||
uuid VARCHAR(255) NOT NULL,
|
||||
role VARCHAR(50) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)`;
|
||||
|
||||
const createUserOtherData = await sql`
|
||||
create table if not exists user_other_data (
|
||||
user_id text primary key ,
|
||||
user text not null unique,
|
||||
groq_api_key text,
|
||||
starred_news JSON not null,
|
||||
translate_provider text,
|
||||
translate_enabled boolean not null,
|
||||
remove_translate_popup boolean not null
|
||||
)`;
|
||||
|
||||
const createSources = await sql`
|
||||
create table if not exists lt_news_org (
|
||||
news_id text primary key,
|
||||
name text not null,
|
||||
description text
|
||||
)
|
||||
`;
|
||||
|
||||
return {
|
||||
createUsers: createUsers,
|
||||
usersList: usersList,
|
||||
createUserAiChatHistory: createUserAiChatHistory,
|
||||
createSources: createSources,
|
||||
createUserOtherData: createUserOtherData,
|
||||
};
|
||||
});
|
||||
|
@ -34,9 +34,10 @@ export default defineEventHandler(async (event) => {
|
||||
console.log(fetchUserInfo[0]);
|
||||
if (fetchUserInfo.length === 0) {
|
||||
const hashedPassword = await argon2.hash(salt + password);
|
||||
const userUUID = uuidv4();
|
||||
const createNewUser = await sql`
|
||||
insert into users (uuid, username, passwordhash, avatarurl)
|
||||
values (${uuidv4()}, ${username}, ${hashedPassword}, ${defaultAvatarUrl})
|
||||
values (${userUUID}, ${username}, ${hashedPassword}, ${defaultAvatarUrl})
|
||||
`;
|
||||
console.log(createNewUser);
|
||||
if (fetchUserInfo.length !== 0) {
|
||||
@ -44,6 +45,10 @@ export default defineEventHandler(async (event) => {
|
||||
error: "CANNOT_CREATE_NEW_USER",
|
||||
};
|
||||
}
|
||||
const createOtherFields = await sql`
|
||||
insert into user_other_data(user_id, user, translate_enabled, translate_provider, remove_translate_popup)
|
||||
values (${userUUID}, ${username}, false, 'google', false)
|
||||
`;
|
||||
const newToken = uuidv4();
|
||||
return {
|
||||
user: fetchUserInfo,
|
||||
|
20
server/api/user/sendUserInfo.post.ts
Normal file
20
server/api/user/sendUserInfo.post.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import sql from "~/server/components/postgres";
|
||||
export default defineEventHandler(async (event) => {
|
||||
const body = await readBody(event);
|
||||
const { request_change } = body;
|
||||
const userToken = getCookie(event, "token");
|
||||
if (!userToken) {
|
||||
return {
|
||||
error: "ERR_NOT_ALLOWED",
|
||||
};
|
||||
}
|
||||
const checkUserToken = await sql`
|
||||
select * from usertokens
|
||||
where token=${userToken}
|
||||
`;
|
||||
if (checkUserToken.length === 0) {
|
||||
return {
|
||||
error: "ERR_NOT_ALLOWED",
|
||||
};
|
||||
}
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user