mirror of
https://github.com/sunrin-ana/2025-SSF.git
synced 2026-03-09 18:40:02 +00:00
2025 SSF Public
This commit is contained in:
commit
76a02076c9
192 changed files with 5016 additions and 0 deletions
0
Backend/utils/queries/__init__.py
Normal file
0
Backend/utils/queries/__init__.py
Normal file
25
Backend/utils/queries/avatar.py
Normal file
25
Backend/utils/queries/avatar.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
class AvatarQueries:
|
||||
|
||||
CREATE_TABLE = """
|
||||
CREATE TABLE IF NOT EXISTS avatars (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER UNIQUE NOT NULL,
|
||||
avatar_type TEXT NOT NULL,
|
||||
top_clothe_type TEXT,
|
||||
bottom_clothe_type TEXT,
|
||||
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE
|
||||
)
|
||||
"""
|
||||
|
||||
SELECT_USER_AVATAR = """
|
||||
SELECT * FROM avatars WHERE user_id = ?
|
||||
"""
|
||||
|
||||
INSERT_AVATAR = """
|
||||
INSERT INTO avatars (user_id, avatar_type, top_clothe_type, bottom_clothe_type)
|
||||
VALUES (?, ?, ?, ?)
|
||||
"""
|
||||
|
||||
UPDATE_AVATAR = """
|
||||
UPDATE avatars SET {fields} WHERE user_id = ?
|
||||
"""
|
||||
71
Backend/utils/queries/diary.py
Normal file
71
Backend/utils/queries/diary.py
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
class DiaryQueries:
|
||||
|
||||
CREATE_TABLE = """
|
||||
CREATE TABLE IF NOT EXISTS diaries (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL,
|
||||
title TEXT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
images TEXT,
|
||||
category TEXT NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
is_submitted BOOLEAN DEFAULT FALSE,
|
||||
email_sent BOOLEAN DEFAULT FALSE,
|
||||
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE
|
||||
)
|
||||
"""
|
||||
|
||||
INSERT_DIARY = """
|
||||
INSERT INTO diaries (user_id, title, content, images, category, created_at, is_submitted, email_sent)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
||||
"""
|
||||
|
||||
SELECT_USER_DIARIES = """
|
||||
SELECT * FROM diaries
|
||||
WHERE user_id = ?
|
||||
ORDER BY created_at DESC
|
||||
LIMIT ? OFFSET ?
|
||||
"""
|
||||
|
||||
SELECT_USER_DIARIES_BY_CATEGORY = """
|
||||
SELECT * FROM diaries
|
||||
WHERE user_id = ? AND category = ?
|
||||
ORDER BY created_at DESC
|
||||
LIMIT ? OFFSET ?
|
||||
"""
|
||||
|
||||
SELECT_BY_ID = """
|
||||
SELECT * FROM diaries WHERE id = ?
|
||||
"""
|
||||
|
||||
SELECT_BY_ID_WITH_USER_ID = """
|
||||
SELECT * FROM diaries WHERE id = ? AND user_id = ?
|
||||
"""
|
||||
|
||||
SELECT_LATEST_USER_DIARY = """
|
||||
SELECT * FROM diaries WHERE user_id = ? ORDER BY id DESC LIMIT 1
|
||||
"""
|
||||
|
||||
SELECT_IMAGES_BY_ID = """
|
||||
SELECT images FROM diaries WHERE id = ?
|
||||
"""
|
||||
|
||||
UPDATE_DIARY = """
|
||||
UPDATE diaries SET {fields} WHERE id = ? AND user_id = ?
|
||||
"""
|
||||
|
||||
DELETE_DIARY = """
|
||||
DELETE FROM diaries WHERE id = ? AND user_id = ?
|
||||
"""
|
||||
|
||||
UPDATE_SUBMISSION_STATUS = """
|
||||
UPDATE diaries SET is_submitted = ? WHERE id = ? AND user_id = ?
|
||||
"""
|
||||
|
||||
UPDATE_EMAIL_SENT = """
|
||||
UPDATE diaries SET email_sent = ? WHERE id = ?
|
||||
"""
|
||||
|
||||
UPDATE_DIARY_IMAGE_BY_ID = """
|
||||
UPDATE diaries SET images = ? WHERE id = ?
|
||||
"""
|
||||
89
Backend/utils/queries/friendship.py
Normal file
89
Backend/utils/queries/friendship.py
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
class FriendshipQueries:
|
||||
"""친구 관계 관련 쿼리"""
|
||||
|
||||
CREATE_TABLE = """
|
||||
CREATE TABLE IF NOT EXISTS friendships (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL,
|
||||
friend_id INTEGER NOT NULL,
|
||||
status TEXT NOT NULL DEFAULT 'pending',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (friend_id) REFERENCES users (id) ON DELETE CASCADE,
|
||||
UNIQUE(user_id, friend_id)
|
||||
)
|
||||
"""
|
||||
|
||||
SELECT_USER_BY_USERNAME = """
|
||||
SELECT id FROM users WHERE username = ?
|
||||
"""
|
||||
|
||||
SELECT_EXISTING_FRIENDSHIP = """
|
||||
SELECT * FROM friendships
|
||||
WHERE (user_id = ? AND friend_id = ?) OR (user_id = ? AND friend_id = ?)
|
||||
"""
|
||||
|
||||
INSERT_FRIENDSHIP = """
|
||||
INSERT INTO friendships (user_id, friend_id, status, created_at)
|
||||
VALUES (?, ?, ?, ?)
|
||||
"""
|
||||
|
||||
SELECT_FRIENDSHIP_BY_IDS = """
|
||||
SELECT * FROM friendships WHERE user_id = ? AND friend_id = ?
|
||||
"""
|
||||
|
||||
SELECT_FRIENDSHIP_FOR_ACCEPT = """
|
||||
SELECT f.*, u.username
|
||||
FROM friendships f
|
||||
JOIN users u ON f.user_id = u.id
|
||||
WHERE f.id = ? AND f.friend_id = ? AND f.status = ?
|
||||
"""
|
||||
|
||||
UPDATE_FRIENDSHIP_STATUS = """
|
||||
UPDATE friendships SET status = ? WHERE id = ?
|
||||
"""
|
||||
|
||||
SELECT_USER_FRIENDSHIPS = """
|
||||
SELECT f.*, u.username
|
||||
FROM friendships f
|
||||
JOIN users u ON (
|
||||
CASE
|
||||
WHEN f.user_id = ? THEN f.friend_id = u.id
|
||||
ELSE f.user_id = u.id
|
||||
END
|
||||
)
|
||||
WHERE (f.user_id = ? OR f.friend_id = ?) AND f.status = ?
|
||||
ORDER BY f.created_at DESC
|
||||
"""
|
||||
|
||||
SELECT_USER_FRIENDSHIPS_BY_STATUS = """
|
||||
SELECT f.*, u.username
|
||||
FROM friendships f
|
||||
JOIN users u ON (
|
||||
CASE
|
||||
WHEN f.user_id = ? THEN f.friend_id = u.id
|
||||
ELSE f.user_id = u.id
|
||||
END
|
||||
)
|
||||
WHERE (f.user_id = ? OR f.friend_id = ?) AND f.status = ?
|
||||
ORDER BY f.created_at DESC
|
||||
"""
|
||||
|
||||
DELETE_FRIENDSHIP = """
|
||||
DELETE FROM friendships
|
||||
WHERE id = ? AND (user_id = ? OR friend_id = ?)
|
||||
"""
|
||||
|
||||
SELECT_PENDING_REQUESTS = """
|
||||
SELECT f.*, u.username
|
||||
FROM friendships f
|
||||
JOIN users u ON f.user_id = u.id
|
||||
WHERE f.friend_id = ? AND f.status = ?
|
||||
ORDER BY f.created_at DESC
|
||||
"""
|
||||
|
||||
CHECK_FRIENDSHIP_STATUS = """
|
||||
SELECT * FROM friendships
|
||||
WHERE ((user_id = ? AND friend_id = ?) OR (user_id = ? AND friend_id = ?))
|
||||
AND status = 'accepted'
|
||||
"""
|
||||
40
Backend/utils/queries/guestbook.py
Normal file
40
Backend/utils/queries/guestbook.py
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
class GuestBookQueries:
|
||||
CREATE_TABLE = """
|
||||
CREATE TABLE IF NOT EXISTS guest_books (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
target_user_id INTEGER NOT NULL,
|
||||
user_id INTEGER NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE
|
||||
)
|
||||
"""
|
||||
|
||||
INSERT_GUEST_BOOK = """
|
||||
INSERT INTO guest_books (target_user_id, user_id, content, created_at)
|
||||
VALUES (?, ?, ?, ?)
|
||||
"""
|
||||
|
||||
SELECT_TARGET_USER_GUEST_BOOKS = """
|
||||
SELECT * FROM guest_books
|
||||
WHERE target_user_id = ?
|
||||
ORDER BY created_at DESC
|
||||
LIMIT ? OFFSET ?
|
||||
"""
|
||||
|
||||
SELECT_GUEST_BOOK_BY_ID = """
|
||||
SELECT * FROM guest_books WHERE id = ?
|
||||
"""
|
||||
|
||||
SELECT_GUEST_BOOK_BY_USER_ID = """
|
||||
SELECT * FROM guest_books WHERE user_id = ? ORDER BY created_at DESC LIMIT 1
|
||||
"""
|
||||
|
||||
UPDATE_GUEST_BOOK_BY_ID = """
|
||||
UPDATE guest_books SET content = ?, updated_at=CURRENT_TIMESTAMP WHERE id = ?
|
||||
"""
|
||||
|
||||
DELETE_GUEST_BOOK = """
|
||||
DELETE FROM guest_books WHERE id = ? AND user_id = ?
|
||||
"""
|
||||
81
Backend/utils/queries/room.py
Normal file
81
Backend/utils/queries/room.py
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
class RoomQueries:
|
||||
"""마이 룸 관련 쿼리"""
|
||||
|
||||
CREATE_TABLE = """
|
||||
CREATE TABLE IF NOT EXISTS rooms (
|
||||
id INTEGER PRIMARY KEY,
|
||||
user_id INTEGER UNIQUE,
|
||||
room_name TEXT,
|
||||
room_type TEXT
|
||||
)
|
||||
"""
|
||||
CREATE_TABLE_ROOM_FURNITURE = """
|
||||
CREATE TABLE IF NOT EXISTS room_furnitures (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
room_id INTEGER NOT NULL,
|
||||
furniture_name TEXT NOT NULL,
|
||||
x INTEGER NOT NULL,
|
||||
y INTEGER NOT NULL,
|
||||
FOREIGN KEY (room_id) REFERENCES rooms(id) ON DELETE CASCADE
|
||||
)
|
||||
"""
|
||||
|
||||
CREATE_TABLE_USER_FURNITURE = """
|
||||
CREATE TABLE IF NOT EXISTS user_furnitures (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL,
|
||||
furniture_name TEXT NOT NULL
|
||||
)
|
||||
"""
|
||||
|
||||
INSERT_USER_FURNITURE = """
|
||||
INSERT INTO user_furnitures (user_id, furniture_name) VALUES (?, ?)
|
||||
"""
|
||||
|
||||
INSERT_ROOM = """
|
||||
INSERT INTO rooms (user_id, room_name, room_type) VALUES (?, ?, ?)
|
||||
"""
|
||||
|
||||
INSERT_ROOM_FURNITURE = """
|
||||
INSERT INTO room_furnitures (room_id, furniture_name, x, y) VALUES (?, ?, ?, ?)
|
||||
"""
|
||||
|
||||
SELECT_ROOM_ID_BY_USER_ID = """
|
||||
SELECT id FROM rooms WHERE user_id = ?
|
||||
"""
|
||||
|
||||
SELECT_ROOM_BY_ID = """
|
||||
SELECT * FROM rooms WHERE id = ?
|
||||
"""
|
||||
|
||||
SELECT_FURNITURE = """
|
||||
SELECT * FROM furnitures
|
||||
"""
|
||||
|
||||
SELECT_ROOM_FURNITURE = """
|
||||
SELECT id, furniture_name, x, y FROM room_furnitures WHERE room_id = ?
|
||||
"""
|
||||
|
||||
SELECT_FURNITURE_ID_BY_X_Y = """
|
||||
SELECT id FROM room_furnitures WHERE room_id = ? AND x = ? AND y = ?
|
||||
"""
|
||||
|
||||
SELECT_USER_FURNITURE = """
|
||||
SELECT * FROM user_furnitures WHERE user_id = ?
|
||||
"""
|
||||
|
||||
UPDATE_ROOM_NAME = """
|
||||
UPDATE rooms SET room_name = ? WHERE id = ?
|
||||
"""
|
||||
|
||||
UPDATE_ROOM_TYPE = """
|
||||
UPDATE rooms SET room_type = ? WHERE id = ?
|
||||
"""
|
||||
|
||||
DELETE_FURNITURE = """
|
||||
DELETE FROM room_furnitures WHERE room_id = ? AND x = ? AND y = ?
|
||||
"""
|
||||
|
||||
SELECT_ROOM_BY_USER_ID = """
|
||||
SELECT * FROM rooms WHERE user_id = ?
|
||||
"""
|
||||
61
Backend/utils/queries/user.py
Normal file
61
Backend/utils/queries/user.py
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
class UserQueries:
|
||||
"""사용자 관련 쿼리"""
|
||||
|
||||
CREATE_TABLE = """
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
username TEXT UNIQUE NOT NULL,
|
||||
email TEXT UNIQUE NOT NULL,
|
||||
password_hash TEXT NOT NULL,
|
||||
salt TEXT NOT NULL,
|
||||
profile_image_path TEXT DEFAULT 'upload/profile/default.jpg',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
is_active BOOLEAN DEFAULT TRUE
|
||||
)
|
||||
"""
|
||||
|
||||
INSERT_USER_WITHOUT_PROFILE = """
|
||||
INSERT INTO users (username, email, password_hash, salt)
|
||||
VALUES (?, ?, ?, ?)
|
||||
"""
|
||||
|
||||
INSERT_USER_WITH_PROFILE = """
|
||||
INSERT INTO users (username, email, password_hash, salt, profile_image_path)
|
||||
VALUES (?, ?, ?, ?, ?)
|
||||
"""
|
||||
|
||||
SELECT_BY_USERNAME = """
|
||||
SELECT * FROM users WHERE username = ?
|
||||
"""
|
||||
|
||||
SELECT_BY_EMAIL = """
|
||||
SELECT * FROM users WHERE email = ?
|
||||
"""
|
||||
|
||||
SELECT_BY_ID = """
|
||||
SELECT * FROM users WHERE id = ?
|
||||
"""
|
||||
|
||||
SELECT_BY_USERNAME_LIKE = """
|
||||
SELECT * FROM users WHERE username LIKE ?
|
||||
"""
|
||||
|
||||
DELETE_USER_BY_USERNAME = """
|
||||
DELETE FROM users WHERE username = ?
|
||||
"""
|
||||
|
||||
UPDATE_PROFILE_IMAGE_PATH_BY_USERNAME = """
|
||||
UPDATE users SET profile_image_path = ? WHERE username = ?
|
||||
"""
|
||||
|
||||
UPDATE_PROFILE_IMAGE_PATH_BY_ID = """
|
||||
UPDATE users SET profile_image_path = ? WHERE id = ?
|
||||
"""
|
||||
|
||||
UPDATE_USER_BY_ID = """
|
||||
UPDATE users SET {} WHERE id = ?
|
||||
"""
|
||||
|
||||
SELECT_USER_BY_EMAIL_AND_NOT_ID = """
|
||||
SELECT * FROM users WHERE email = ? AND id != ?
|
||||
"""
|
||||
Loading…
Add table
Add a link
Reference in a new issue