add post,add redis in docker compose,add torrentutil test remove dockerfile, modify torrentutil
Change-Id: I8014d4994d0a09c2f28cfcf0f8d2a430372aaab5
diff --git a/src/main/resources/mapper/PostMapper.xml b/src/main/resources/mapper/PostMapper.xml
new file mode 100644
index 0000000..bc4debe
--- /dev/null
+++ b/src/main/resources/mapper/PostMapper.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.example.g8backend.mapper.PostMapper">
+ <select id="getPostsByUserId" resultType="com.example.g8backend.entity.Post">
+ SELECT * FROM posts WHERE user_id = #{userId}
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql
index 365f9e7..e88ff07 100644
--- a/src/main/resources/schema.sql
+++ b/src/main/resources/schema.sql
@@ -1,3 +1,6 @@
+CREATE DATABASE IF NOT EXISTS g8backend;
+USE g8backend;
+
CREATE TABLE IF NOT EXISTS `users` (
user_id INT AUTO_INCREMENT PRIMARY KEY,
user_name VARCHAR(255) NOT NULL,
@@ -27,3 +30,21 @@
FOREIGN KEY (passkey) REFERENCES users(passkey),
PRIMARY KEY (passkey, info_hash, peer_id)
);
+
+CREATE TABLE IF NOT EXISTS `posts` (
+ post_id INT AUTO_INCREMENT PRIMARY KEY,
+ user_id INT NOT NULL,
+ post_title VARCHAR(255) NOT NULL,
+ post_content TEXT NOT NULL,
+ post_type ENUM('resource', 'discussion') NOT NULL,
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ FOREIGN KEY (user_id) REFERENCES users(user_id)
+);
+
+CREATE TABLE IF NOT EXISTS `post_likes` (
+ user_id INT NOT NULL,
+ post_id INT NOT NULL,
+ FOREIGN KEY (user_id) REFERENCES users(user_id),
+ FOREIGN KEY (post_id) REFERENCES posts(post_id),
+ PRIMARY KEY (user_id, post_id)
+);