update proj
This commit is contained in:
53
user.repository.js
Normal file
53
user.repository.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import { pool } from "./db.js";
|
||||
|
||||
export const UserRepository = {
|
||||
|
||||
async createOrUpdateUser({ telegramId, username, chatId }) {
|
||||
const query = `
|
||||
INSERT INTO users (telegram_id, telegram_username, chat_id, last_msg_context)
|
||||
VALUES ($1, $2, $3, '')
|
||||
ON CONFLICT (telegram_id)
|
||||
DO UPDATE SET
|
||||
telegram_username = EXCLUDED.telegram_username,
|
||||
chat_id = EXCLUDED.chat_id,
|
||||
last_msg_context = '',
|
||||
updated_at = now()
|
||||
RETURNING *;
|
||||
`;
|
||||
|
||||
const values = [telegramId, username, chatId];
|
||||
|
||||
const { rows } = await pool.query(query, values);
|
||||
return rows[0];
|
||||
},
|
||||
|
||||
async getByTelegramId(telegramId) {
|
||||
const { rows } = await pool.query(
|
||||
`SELECT * FROM users WHERE telegram_id = $1`,
|
||||
[telegramId]
|
||||
);
|
||||
return rows[0];
|
||||
},
|
||||
|
||||
async updateContext(telegramId, context) {
|
||||
await pool.query(
|
||||
`UPDATE users SET last_msg_context = $1 WHERE telegram_id = $2`,
|
||||
[context, telegramId]
|
||||
);
|
||||
},
|
||||
|
||||
async getContext(telegramId) {
|
||||
const { rows } = await pool.query(
|
||||
`SELECT last_msg_context FROM users WHERE telegram_id = $1`,
|
||||
[telegramId]
|
||||
);
|
||||
return rows[0]?.last_msg_context;
|
||||
},
|
||||
|
||||
async deleteUser(telegramId) {
|
||||
await pool.query(
|
||||
`DELETE FROM users WHERE telegram_id = $1`,
|
||||
[telegramId]
|
||||
);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user