diff --git a/backend/pb_migrations/1776500001_created_polls.js b/backend/pb_migrations/1776500001_created_polls.js deleted file mode 100644 index 5209fea..0000000 --- a/backend/pb_migrations/1776500001_created_polls.js +++ /dev/null @@ -1,151 +0,0 @@ -/// -migrate((db) => { - const collection = new Collection({ - "id": "polls_collection", - "created": "2026-04-18 00:00:01.000Z", - "updated": "2026-04-18 00:00:01.000Z", - "name": "polls", - "type": "base", - "system": false, - "schema": [ - { - "system": false, - "id": "sf_group", - "name": "group", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "es63bkyiblpnxdf", - "cascadeDelete": false, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_creator", - "name": "creator", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "_pb_users_auth_", - "cascadeDelete": true, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_title", - "name": "title", - "type": "text", - "required": true, - "presentable": false, - "unique": false, - "options": { - "min": null, - "max": 200, - "pattern": "" - } - }, - { - "system": false, - "id": "sf_type", - "name": "type", - "type": "select", - "required": true, - "presentable": false, - "unique": false, - "options": { - "minSelect": null, - "maxSelect": 1, - "values": ["option", "rollcall"] - } - }, - { - "system": false, - "id": "sf_anonymous", - "name": "anonymous", - "type": "bool", - "required": false, - "presentable": false, - "unique": false, - "options": {} - }, - { - "system": false, - "id": "sf_deadline", - "name": "deadline", - "type": "date", - "required": false, - "presentable": false, - "unique": false, - "options": { - "min": "", - "max": "" - } - }, - { - "system": false, - "id": "sf_maxp", - "name": "maxParticipants", - "type": "number", - "required": false, - "presentable": false, - "unique": false, - "options": { - "min": 1, - "max": null, - "noDecimal": true - } - }, - { - "system": false, - "id": "sf_status", - "name": "status", - "type": "select", - "required": true, - "presentable": false, - "unique": false, - "options": { - "minSelect": null, - "maxSelect": 1, - "values": ["active", "settled"] - } - }, - { - "system": false, - "id": "sf_settled", - "name": "settledAt", - "type": "date", - "required": false, - "presentable": false, - "unique": false, - "options": { - "min": "", - "max": "" - } - } - ], - "indexes": [], - "listRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", - "viewRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", - "createRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", - "updateRule": "creator = @request.auth.id", - "deleteRule": "creator = @request.auth.id || group.owner = @request.auth.id", - "options": {} - }); - - return Dao(db).saveCollection(collection); -}, (db) => { - const dao = new Dao(db); - const collection = dao.findCollectionByNameOrId("polls_collection"); - - return dao.deleteCollection(collection); -}) diff --git a/backend/pb_migrations/1776500002_created_poll_options.js b/backend/pb_migrations/1776500002_created_poll_options.js deleted file mode 100644 index cc1c0a9..0000000 --- a/backend/pb_migrations/1776500002_created_poll_options.js +++ /dev/null @@ -1,71 +0,0 @@ -/// -migrate((db) => { - const collection = new Collection({ - "id": "poll_options_collection", - "created": "2026-04-18 00:00:02.000Z", - "updated": "2026-04-18 00:00:02.000Z", - "name": "poll_options", - "type": "base", - "system": false, - "schema": [ - { - "system": false, - "id": "sf_poll", - "name": "poll", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "polls_collection", - "cascadeDelete": true, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_content", - "name": "content", - "type": "text", - "required": true, - "presentable": false, - "unique": false, - "options": { - "min": null, - "max": 200, - "pattern": "" - } - }, - { - "system": false, - "id": "sf_order", - "name": "order", - "type": "number", - "required": true, - "presentable": false, - "unique": false, - "options": { - "min": 0, - "max": null, - "noDecimal": true - } - } - ], - "indexes": [], - "listRule": "@request.auth.id != \"\"", - "viewRule": "@request.auth.id != \"\"", - "createRule": "@request.auth.id != \"\"", - "updateRule": "poll.creator = @request.auth.id", - "deleteRule": "poll.creator = @request.auth.id", - "options": {} - }); - - return Dao(db).saveCollection(collection); -}, (db) => { - const dao = new Dao(db); - const collection = dao.findCollectionByNameOrId("poll_options_collection"); - - return dao.deleteCollection(collection); -}) diff --git a/backend/pb_migrations/1776500003_created_poll_votes.js b/backend/pb_migrations/1776500003_created_poll_votes.js deleted file mode 100644 index ef47586..0000000 --- a/backend/pb_migrations/1776500003_created_poll_votes.js +++ /dev/null @@ -1,75 +0,0 @@ -/// -migrate((db) => { - const collection = new Collection({ - "id": "poll_votes_collection", - "created": "2026-04-18 00:00:03.000Z", - "updated": "2026-04-18 00:00:03.000Z", - "name": "poll_votes", - "type": "base", - "system": false, - "schema": [ - { - "system": false, - "id": "sf_poll", - "name": "poll", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "polls_collection", - "cascadeDelete": true, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_option", - "name": "option", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "poll_options_collection", - "cascadeDelete": false, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_user", - "name": "user", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "_pb_users_auth_", - "cascadeDelete": true, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - } - ], - "indexes": ["CREATE UNIQUE INDEX idx_poll_user ON poll_votes (poll, user)"], - "listRule": "@request.auth.id != \"\"", - "viewRule": "@request.auth.id != \"\"", - "createRule": "@request.auth.id != \"\" && user = @request.auth.id && poll.group.members ~ @request.auth.id", - "updateRule": "user = @request.auth.id", - "deleteRule": "user = @request.auth.id", - "options": {} - }); - - return Dao(db).saveCollection(collection); -}, (db) => { - const dao = new Dao(db); - const collection = dao.findCollectionByNameOrId("poll_votes_collection"); - - return dao.deleteCollection(collection); -}) diff --git a/backend/pb_migrations/1776500004_created_memories.js b/backend/pb_migrations/1776500004_created_memories.js deleted file mode 100644 index 3c32029..0000000 --- a/backend/pb_migrations/1776500004_created_memories.js +++ /dev/null @@ -1,128 +0,0 @@ -/// -migrate((db) => { - const collection = new Collection({ - "id": "memories_collection", - "created": "2026-04-18 10:00:04.000Z", - "updated": "2026-04-18 10:00:04.000Z", - "name": "memories", - "type": "base", - "system": false, - "schema": [ - { - "system": false, - "id": "sf_group", - "name": "group", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "es63bkyiblpnxdf", - "cascadeDelete": true, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_uploader", - "name": "uploader", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "_pb_users_auth_", - "cascadeDelete": true, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_title", - "name": "title", - "type": "text", - "required": true, - "presentable": false, - "unique": false, - "options": { - "min": null, - "max": 200, - "pattern": "" - } - }, - { - "system": false, - "id": "sf_desc", - "name": "description", - "type": "text", - "required": false, - "presentable": false, - "unique": false, - "options": { - "min": null, - "max": null, - "pattern": "" - } - }, - { - "system": false, - "id": "sf_file", - "name": "file", - "type": "file", - "required": true, - "presentable": false, - "unique": false, - "options": { - "maxSelect": 1, - "maxSize": 524288000, - "mimeTypes": ["image/*", "video/*", "audio/*", "application/pdf", "application/msword", "application/vnd.*", "text/*", "application/zip", "application/x-rar-compressed"] - } - }, - { - "system": false, - "id": "sf_ft", - "name": "fileType", - "type": "select", - "required": true, - "presentable": false, - "unique": false, - "options": { - "maxSelect": 1, - "values": ["image", "video", "audio", "document", "other"] - } - }, - { - "system": false, - "id": "sf_size", - "name": "size", - "type": "number", - "required": true, - "presentable": false, - "unique": false, - "options": { - "min": 0, - "max": null, - "noDecimal": false - } - } - ], - "indexes": [], - "listRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", - "viewRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", - "createRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", - "updateRule": "uploader = @request.auth.id", - "deleteRule": "uploader = @request.auth.id || group.owner = @request.auth.id", - "options": {} - }); - - return Dao(db).saveCollection(collection); -}, (db) => { - const dao = new Dao(db); - const collection = dao.findCollectionByNameOrId("memories_collection"); - - return dao.deleteCollection(collection); -}) diff --git a/backend/pb_migrations/1776500005_created_notifications.js b/backend/pb_migrations/1776500005_created_notifications.js deleted file mode 100644 index 7d8bf6c..0000000 --- a/backend/pb_migrations/1776500005_created_notifications.js +++ /dev/null @@ -1,121 +0,0 @@ -/// -migrate((db) => { - const collection = new Collection({ - "id": "notifications_collection", - "created": "2026-04-18 10:00:05.000Z", - "updated": "2026-04-18 10:00:05.000Z", - "name": "notifications", - "type": "base", - "system": false, - "schema": [ - { - "system": false, - "id": "sf_user", - "name": "user", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "_pb_users_auth_", - "cascadeDelete": true, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_type", - "name": "type", - "type": "select", - "required": true, - "presentable": false, - "unique": false, - "options": { - "maxSelect": 1, - "values": ["poll_new", "poll_deadline", "poll_result", "team_invite", "team_starting", "join_request", "member_joined"] - } - }, - { - "system": false, - "id": "sf_title", - "name": "title", - "type": "text", - "required": true, - "presentable": false, - "unique": false, - "options": { - "min": null, - "max": 200, - "pattern": "" - } - }, - { - "system": false, - "id": "sf_content", - "name": "content", - "type": "text", - "required": false, - "presentable": false, - "unique": false, - "options": { - "min": null, - "max": null, - "pattern": "" - } - }, - { - "system": false, - "id": "sf_read", - "name": "read", - "type": "bool", - "required": false, - "presentable": false, - "unique": false, - "options": {} - }, - { - "system": false, - "id": "sf_rid", - "name": "relatedId", - "type": "text", - "required": false, - "presentable": false, - "unique": false, - "options": { - "min": null, - "max": null, - "pattern": "" - } - }, - { - "system": false, - "id": "sf_rtype", - "name": "relatedType", - "type": "select", - "required": false, - "presentable": false, - "unique": false, - "options": { - "maxSelect": 1, - "values": ["poll", "team", "group"] - } - } - ], - "indexes": [], - "listRule": "user = @request.auth.id", - "viewRule": "user = @request.auth.id", - "createRule": "@request.auth.id != \"\"", - "updateRule": "user = @request.auth.id", - "deleteRule": "user = @request.auth.id", - "options": {} - }); - - return Dao(db).saveCollection(collection); -}, (db) => { - const dao = new Dao(db); - const collection = dao.findCollectionByNameOrId("notifications_collection"); - - return dao.deleteCollection(collection); -}) diff --git a/backend/pb_migrations/1776500006_created_point_logs.js b/backend/pb_migrations/1776500006_created_point_logs.js deleted file mode 100644 index d1b1348..0000000 --- a/backend/pb_migrations/1776500006_created_point_logs.js +++ /dev/null @@ -1,84 +0,0 @@ -/// -migrate((db) => { - const collection = new Collection({ - "id": "point_logs_collection", - "created": "2026-04-18 10:00:06.000Z", - "updated": "2026-04-18 10:00:06.000Z", - "name": "point_logs", - "type": "base", - "system": false, - "schema": [ - { - "system": false, - "id": "sf_user", - "name": "user", - "type": "relation", - "required": true, - "presentable": false, - "unique": false, - "options": { - "collectionId": "_pb_users_auth_", - "cascadeDelete": true, - "minSelect": null, - "maxSelect": 1, - "displayFields": null - } - }, - { - "system": false, - "id": "sf_action", - "name": "action", - "type": "select", - "required": true, - "presentable": false, - "unique": false, - "options": { - "maxSelect": 1, - "values": ["vote", "team", "memory"] - } - }, - { - "system": false, - "id": "sf_points", - "name": "points", - "type": "number", - "required": true, - "presentable": false, - "unique": false, - "options": { - "min": 1, - "max": null, - "noDecimal": false - } - }, - { - "system": false, - "id": "sf_rid", - "name": "relatedId", - "type": "text", - "required": true, - "presentable": false, - "unique": false, - "options": { - "min": null, - "max": null, - "pattern": "" - } - } - ], - "indexes": [], - "listRule": "user = @request.auth.id", - "viewRule": "user = @request.auth.id", - "createRule": "@request.auth.id != \"\" && user = @request.auth.id", - "updateRule": null, - "deleteRule": null, - "options": {} - }); - - return Dao(db).saveCollection(collection); -}, (db) => { - const dao = new Dao(db); - const collection = dao.findCollectionByNameOrId("point_logs_collection"); - - return dao.deleteCollection(collection); -}) diff --git a/frontend/nginx.conf b/frontend/nginx.conf index 912c294..a5bc3fc 100644 --- a/frontend/nginx.conf +++ b/frontend/nginx.conf @@ -17,7 +17,7 @@ server { # SSE realtime 连接(必须在 /api/ 之前) location /api/realtime { - proxy_pass http://192.168.1.14:8090; + proxy_pass http://gamegroup-pb:8090; proxy_http_version 1.1; proxy_set_header Connection ''; proxy_set_header Host $host; @@ -33,7 +33,7 @@ server { # API 代理到局域网 PocketBase location /api/ { client_max_body_size 500m; - proxy_pass http://192.168.1.14:8090; + proxy_pass http://gamegroup-pb:8090; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade';