Spaces:
Sleeping
Sleeping
ktsn-ud commited on
Commit ·
21b58f1
1
Parent(s): 461aec2
来場者向けタグを取得するSQL文とその他スキーマを追加
Browse files
app/repositories/connection_test_output.py
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
app/repositories/query.sql
CHANGED
|
@@ -13,7 +13,8 @@ SELECT
|
|
| 13 |
texts.prDetail AS `prDetail`,
|
| 14 |
texts.remark AS `remark`,
|
| 15 |
COALESCE(images.`images`, '[]') AS `images`,
|
| 16 |
-
COALESCE(sns.socialMedia, '[]') AS `socialMedia`
|
|
|
|
| 17 |
|
| 18 |
FROM `CircleProject` AS cp
|
| 19 |
|
|
@@ -77,6 +78,18 @@ LEFT JOIN (
|
|
| 77 |
GROUP BY sd2.circleProjectId
|
| 78 |
) AS sns ON sns.circleProjectId = cp.id
|
| 79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
-- 除外条件:学部祭や実行委員会企画など
|
| 81 |
WHERE cp.`projectType` NOT IN ('FACULTY', 'EXECUTIVE_COMMITTEE', 'OTHER', 'DEFAULT')
|
| 82 |
AND cp.`isArchived` = false;
|
|
|
|
| 13 |
texts.prDetail AS `prDetail`,
|
| 14 |
texts.remark AS `remark`,
|
| 15 |
COALESCE(images.`images`, '[]') AS `images`,
|
| 16 |
+
COALESCE(sns.socialMedia, '[]') AS `socialMedia`,
|
| 17 |
+
COALESCE(tags.tags, '[]') AS `tags`
|
| 18 |
|
| 19 |
FROM `CircleProject` AS cp
|
| 20 |
|
|
|
|
| 78 |
GROUP BY sd2.circleProjectId
|
| 79 |
) AS sns ON sns.circleProjectId = cp.id
|
| 80 |
|
| 81 |
+
-- タグ情報を結合
|
| 82 |
+
LEFT JOIN (
|
| 83 |
+
SELECT
|
| 84 |
+
cpt.circleProjectId,
|
| 85 |
+
JSON_ARRAYAGG(t.`text`) AS tags
|
| 86 |
+
FROM `CPTag` AS cpt
|
| 87 |
+
JOIN `Tag` AS t
|
| 88 |
+
ON t.id = cpt.tagId
|
| 89 |
+
WHERE t.forVisitors = TRUE
|
| 90 |
+
GROUP BY cpt.circleProjectId
|
| 91 |
+
) AS tags ON tags.circleProjectId = cp.id
|
| 92 |
+
|
| 93 |
-- 除外条件:学部祭や実行委員会企画など
|
| 94 |
WHERE cp.`projectType` NOT IN ('FACULTY', 'EXECUTIVE_COMMITTEE', 'OTHER', 'DEFAULT')
|
| 95 |
AND cp.`isArchived` = false;
|
schemas/projects.py
CHANGED
|
@@ -62,6 +62,7 @@ class Project(BaseModel):
|
|
| 62 |
remarks: list[str] | None
|
| 63 |
images: list[Image]
|
| 64 |
socialMedia: list[Sns]
|
|
|
|
| 65 |
|
| 66 |
|
| 67 |
class ProjectSummary(BaseModel):
|
|
@@ -94,6 +95,7 @@ class ProjectSummary(BaseModel):
|
|
| 94 |
prSummary: str | None
|
| 95 |
remarks: list[str] | None
|
| 96 |
image: Image | None
|
|
|
|
| 97 |
|
| 98 |
|
| 99 |
class ProjectDetail(BaseModel):
|
|
@@ -130,6 +132,7 @@ class ProjectDetail(BaseModel):
|
|
| 130 |
remarks: list[str] | None
|
| 131 |
images: list[Image]
|
| 132 |
socialMedia: list[Sns]
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
class ProjectIds(BaseModel):
|
|
|
|
| 62 |
remarks: list[str] | None
|
| 63 |
images: list[Image]
|
| 64 |
socialMedia: list[Sns]
|
| 65 |
+
tags: list[str] | None
|
| 66 |
|
| 67 |
|
| 68 |
class ProjectSummary(BaseModel):
|
|
|
|
| 95 |
prSummary: str | None
|
| 96 |
remarks: list[str] | None
|
| 97 |
image: Image | None
|
| 98 |
+
tags: list[str] | None
|
| 99 |
|
| 100 |
|
| 101 |
class ProjectDetail(BaseModel):
|
|
|
|
| 132 |
remarks: list[str] | None
|
| 133 |
images: list[Image]
|
| 134 |
socialMedia: list[Sns]
|
| 135 |
+
tags: list[str] | None
|
| 136 |
|
| 137 |
|
| 138 |
class ProjectIds(BaseModel):
|