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):