Skip to content

Commit c0051be

Browse files
authored
Merge pull request #312 from shari-sushi/FIX/IMPL/iroiro-ikkatstu
色々…。動画player周りga
2 parents fc44a78 + bb0e42d commit c0051be

File tree

119 files changed

+4576
-5413
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+4576
-5413
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,7 @@ t0016Go/interfaces/controllers/common/crypto_test.go
2727
# 専用branchを作るほどのことでもない。
2828

2929
# README.md
30-
gitコマンド等.txt
30+
gitコマンド等.txt
31+
32+
# ec2にscpする際の圧縮拡張子
33+
.gz

Makefile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
.PHONY: env
2+
env:
3+
set -a && . ./.env && set +a && echo $${AWS_REGION}
4+
5+
.PHONY : aws-login
6+
aws-login :
7+
aws ecr get-login-password --region $${AWS_REGION} | docker login --username $${AWS_USERNAME} --password-stdin $${AWS_PASSWORD}
8+
9+
.PHONY : aws-be-build-and-push
10+
aws-be-build&push :
11+
cd t0016Go && docker build -t $${AWS_API_SERVICE_NAME} . --no-cache \
12+
&& docker tag $${AWS_API_SERVICE_NAME}:latest $${AWS_API_SERVICE_URI}:latest \
13+
&& docker push $${AWS_API_SERVICE_URI}:latest
14+
15+
.PHONY : aws-fe-build-and-push
16+
aws-fe-build&push :
17+
cd t0016Next && docker build -t $${AWS_FE_SERVICE_NAME} . --no-cache \
18+
&& docker tag $${AWS_APP_SERVICE_NAME}:latest $${AWS_FE_SERVICE_URI}:latest \
19+
&& docker push $${AWS_APP_SERVICE_URI}:latest
20+
121
####### 普段の開発向け
222
.PHONY: run
323
run:

ec2-docker-compose.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
services:
2+
# db:
3+
# image: mysql:8.0.32
4+
# platform: linux/amd64 # mac環境で必須なことがあるらしい
5+
# env_file: ./db/.env
6+
# container_name: v_kara_db
7+
# build:
8+
# context: ./db
9+
# healthcheck:
10+
# test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
11+
# timeout: 5s
12+
# retries: 10
13+
# ports:
14+
# - "3306:3306"
15+
# command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
16+
17+
api:
18+
image: v-kara-api:latest
19+
container_name: v-kara-api
20+
environment:
21+
- DEPLOY_ENV=EC2_DOCKER_COMPOSE
22+
- DEPLOY_DB_ENV=RDS
23+
- IS_DOCKER_COMPOSE=true
24+
env_file: api.env # これが無いと、上述のenvironment変数が無視される。なぜかは不明。
25+
ports:
26+
- "8080:8080"
27+
28+
app:
29+
image: v-kara-app:latest
30+
container_name: v-kara-app
31+
env_file: .env
32+
environment:
33+
- DEPLOY_ENV=EC2_DOCKER_COMPOSE
34+
- IS_DOCKER_COMPOSE=true
35+
ports:
36+
- "80:80"

package-lock.json

Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"devDependencies": {
3+
"prettier": "3.6.2"
4+
}
5+
}

t0016Go/cmd/main.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,16 @@ func init() {
1818

1919
func main() {
2020
r := gin.Default()
21+
22+
AllowOrigins := []string{}
23+
if common.IsOnLocal {
24+
AllowOrigins = append(AllowOrigins, "http://localhost:3005", "https://localhost:3005")
25+
} else if common.IsOnCloud {
26+
AllowOrigins = append(AllowOrigins, "http://v-karaoke.com", "https://v-karaoke.com")
27+
}
28+
2129
r.Use(cors.New(cors.Config{
22-
AllowOrigins: []string{
23-
"http://localhost:3005", "https://localhost:3005",
24-
"http://v-karaoke.com", "https://v-karaoke.com",
25-
"http://backend.v-karaoke.com", "https://backend.v-karaoke.com",
26-
},
30+
AllowOrigins: AllowOrigins,
2731
AllowMethods: []string{"POST", "GET", "PUT", "DELETE", "OPTIONS"},
2832
AllowHeaders: []string{
2933
"Origin", "Content-Length", "Content-Type", "Cookie",

t0016Go/domain/vtuber_content.go

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,56 @@ type Vtuber struct {
1010
VtuberKana string `gorm:"type:varchar(50);not null;unique"` //`json:"vtuber_kana"`
1111
IntroMovieUrl string `gorm:"type:varchar(100)"` //`json:"vtuber_intro_movie_url"`
1212
VtuberInputterId ListenerId `gorm:"type:int(11);not null"` //`json:"vtuber_inputter_id"`
13+
// NOTE: 多分24で良い
14+
// YoutubeChannelId string `gorm:"type:varchar(50)"` //`json:"youtube_channel_id"`
1315
}
1416

17+
// "karoake"とoriginal_song"意外はkareaokeIdのMovieUrlを作るのは弾く
18+
type MovieUrl string
1519
type Movie struct {
16-
MovieUrl string `gorm:"primaryKey;type:varchar(100)"` //`json:"movie_url"`
17-
MovieTitle string `gorm:"type:varchar(200);not null"` //`json:"movie_title"`
18-
VtuberId VtuberId `gorm:"type:int(11);not null"` //`json:"vtuber_id"`
19-
MovieInputterId ListenerId `gorm:"type:int(11);not null"` //`json:"movie_inputter_id"` /new
20+
MovieUrl MovieUrl `gorm:"primaryKey;type:varchar(100)"`
21+
// ContentType MovieContentType `gorm:"type:varchar(64);not null;"`
22+
MovieTitle string `gorm:"type:varchar(200);not null"`
23+
VtuberId VtuberId `gorm:"type:int(11);not null"`
24+
MovieInputterId ListenerId `gorm:"type:int(11);not null"`
2025
}
2126

27+
type MovieContentType int
28+
29+
const (
30+
_ MovieContentType = iota
31+
// 一般的に、1動画複数曲とされるもの
32+
KARAOKE = 10
33+
LIVE = 11
34+
35+
// 一般的に、1動画1曲とされるもの
36+
ORIGINAL_SONG = 51
37+
COVERED_SONG = 52
38+
39+
// 上述に分類できないものが出来た時の仮分類として使用する
40+
OTHER = 99
41+
)
42+
2243
type KaraokeId int
2344
type Karaoke struct {
2445
KaraokeId KaraokeId `gorm:"primaryKey;type:int(11)"` //`json:"id"`
25-
MovieUrl string `gorm:"type:varchar(100);uniqueIndex:karaoke_uq;not null"` //`json:"movie_url"`
46+
MovieUrl MovieUrl `gorm:"type:varchar(100);uniqueIndex:karaoke_uq;not null"` //`json:"movie_url"`
2647
SingStart string `gorm:"type:time(0);uniqueIndex:karaoke_uq"` //`json:"sing_start"`
2748
SongName string `gorm:"type:varchar(100)"` //`json:"song_name"`
2849
KaraokeInputterId ListenerId `gorm:"type:int(11)"` //`json:"inputter_id"`
2950
}
3051

3152
type SongId int
3253
type OriginalSong struct {
33-
SongID SongId `gorm:"type:int(11);primaryKey"`
34-
ArtistId int `gorm:"type:int(11)"`
35-
SongName string `gorm:"type:varchar(100)"`
36-
MovieUrl string `gorm:"type:varchar(100);unique"`
37-
ReleseData time.Time `gorm:"type:datetime;default null"`
38-
SongInputterId ListenerId `gorm:"type:int(11);not null"`
54+
ID SongId `gorm:"type:int(11);primaryKey"`
55+
Url MovieUrl `gorm:"type:varchar(100);unique"`
56+
Name string `gorm:"type:varchar(100)"`
57+
ArtistId int `gorm:"type:int(11)"`
58+
RelesedAt time.Time `gorm:"type:datetime;default null"`
59+
InputterId ListenerId `gorm:"type:int(11);not null"`
60+
CreatedAt time.Time `gorm:"type:datetime;not null"`
61+
UpdatedAt time.Time `gorm:"type:datetime;not null"`
62+
DeleteAt time.Time `gorm:"type:datetime;default null"`
3963
}
4064

4165
type VtuberMovie struct {

t0016Go/infra/db.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,13 @@ type SqlHandler struct {
2020

2121
// 似たような処理がSetListenerIdintoCookie()にもあるので、envを変更するときは注意
2222
func GetEnvVar() {
23+
fmt.Println("----環境変数取得:開始----")
2324
if common.IsOnCloud {
2425
//クラウド環境
2526
fmt.Println("クラウド環境で起動")
27+
if common.DEPLOY_ENV == "EC2_DOCKER_COMPOSE" && common.DEPLOY_DB_ENV == "RDS" {
28+
fmt.Println("EC2のdocker composeで起動")
29+
}
2630
} else if common.IsOnLocalWithDockerCompose {
2731
// ローカルのdocker上(compose使用)
2832
fmt.Println("ローカルのdockerコンテナ内で起動")
@@ -37,8 +41,8 @@ func GetEnvVar() {
3741
}
3842
}
3943

40-
guest := os.Getenv("GUEST_USER_NAME")
41-
fmt.Printf("「%v」の中身が空でなければ環境変数を読み込めてるはず。 \n", guest)
44+
fmt.Printf("guest:「%v」の中身が空でなければ環境変数の読み込みは成功してる\n", os.Getenv("GUEST_USER_NAME"))
45+
fmt.Println("----環境変数取得:終了----")
4246
}
4347

4448
func dbInit() database.SqlHandler {

t0016Go/interfaces/database/favorite_db.go

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ type FavoriteRepository struct {
1111
}
1212

1313
func (db *FavoriteRepository) CountMovieFavorites() ([]domain.TransmitMovie, error) {
14-
fmt.Print("interfaces/database/favorite.go\n")
1514
var fav domain.Favorite
1615
var favCnt []domain.TransmitMovie
1716
err := db.Model(&fav).Select("movie_url").Where("karaoke_id = 0").Group("movie_url").Find(&favCnt).Error
@@ -22,7 +21,6 @@ func (db *FavoriteRepository) CountMovieFavorites() ([]domain.TransmitMovie, err
2221
}
2322

2423
func (db *FavoriteRepository) CountKaraokeFavorites() ([]domain.TransmitKaraoke, error) {
25-
fmt.Print("interfaces/database/favorite.go \n")
2624
var fav domain.Favorite
2725
var favCnt []domain.TransmitKaraoke
2826
err := db.Model(&fav).Select("karaoke_id").Where("where karaoke_id != 0").Group("karoke_list_id").Find(&favCnt).Error
@@ -33,20 +31,16 @@ func (db *FavoriteRepository) CountKaraokeFavorites() ([]domain.TransmitKaraoke,
3331
}
3432

3533
func (db *FavoriteRepository) DeleteMovieFavorite(fav domain.Favorite) error {
36-
fmt.Print("interfaces/database/favorite.go\n")
3734
whereQu := fmt.Sprintf("listener_id = %v AND movie_url = '%v' AND karaoke_id = 0", fav.ListenerId, fav.MovieUrl)
3835
err := db.Where(whereQu).Delete(&fav).Error
39-
fmt.Print("check\n")
4036
if err != nil {
4137
return err
4238
}
43-
fmt.Print("check2 \n")
4439

4540
return err
4641
}
4742

4843
func (db *FavoriteRepository) DeleteKaraokeFavorite(fav domain.Favorite) error {
49-
fmt.Print("interfaces/database/favorite.go\n")
5044
whereQu := fmt.Sprintf("listener_id = %v AND movie_url = '%v' AND karaoke_id = %v", fav.ListenerId, fav.MovieUrl, fav.KaraokeId)
5145
err := db.Where(whereQu).Delete(&fav).Error
5246
if err != nil {
@@ -56,7 +50,6 @@ func (db *FavoriteRepository) DeleteKaraokeFavorite(fav domain.Favorite) error {
5650
}
5751

5852
func (db *FavoriteRepository) GetVtubersMoviesWithFavCnts() ([]domain.TransmitMovie, error) {
59-
fmt.Print("interfaces/database/favorite.go \n")
6053
var TmMos []domain.TransmitMovie
6154
var err error
6255

@@ -79,7 +72,6 @@ func (db *FavoriteRepository) GetVtubersMoviesWithFavCnts() ([]domain.TransmitMo
7972
}
8073

8174
func (db *FavoriteRepository) GetVtubersMoviesKaraokesWithFavCnts() ([]domain.TransmitKaraoke, error) {
82-
fmt.Print("interfaces/database/favorite.go \n")
8375
var TmKas []domain.TransmitKaraoke
8476
var err error
8577

@@ -104,7 +96,6 @@ func (db *FavoriteRepository) GetVtubersMoviesKaraokesWithFavCnts() ([]domain.Tr
10496
}
10597

10698
func (db *FavoriteRepository) GetVtubersMoviesKaraokesByVtuerKanaWithFavCnts(kana string) ([]domain.TransmitKaraoke, error) {
107-
fmt.Print("interfaces/database/favorite.go \n")
10899
var TmKas []domain.TransmitKaraoke
109100
var err error
110101

@@ -129,7 +120,6 @@ func (db *FavoriteRepository) GetVtubersMoviesKaraokesByVtuerKanaWithFavCnts(kan
129120
}
130121

131122
func (db *FavoriteRepository) GetLatest50VtubersMoviesKaraokesWithFavCnts(guestId domain.ListenerId) ([]domain.TransmitKaraoke, error) {
132-
fmt.Print("interfaces/database/favorite.go \n")
133123
var TmKas []domain.TransmitKaraoke
134124
var err error
135125

@@ -158,26 +148,22 @@ func (db *FavoriteRepository) GetLatest50VtubersMoviesKaraokesWithFavCnts(guestI
158148
}
159149

160150
func (db *FavoriteRepository) FindFavoritesCreatedByListenerId(lId domain.ListenerId) ([]domain.ReceivedFavorite, error) {
161-
fmt.Print("interfaces/database/favorite_db.go \n")
162151
var favs []domain.Favorite
163152
var receivedfavs []domain.ReceivedFavorite
164153

165154
result := db.Select("id, listener_id, movie_url, karaoke_id").Where("listener_id=?", lId).Model(&favs).Scan(&receivedfavs)
166155
fmt.Printf("recfavs:\n %+v\n", receivedfavs)
167-
fmt.Printf("&recfavs:\n%+v\n", &receivedfavs)
168156
return receivedfavs, result.Error
169157
}
170158

171159
func (db *FavoriteRepository) FindFavoriteUnscopedByFavOrUnfavRegistry(fav domain.Favorite) domain.Favorite {
172-
fmt.Print("interfaces/database/favorite.go\n")
173160
whereQu := fmt.Sprintf("listener_id = '%v' AND movie_url = '%v' AND karaoke_id = '%v'", fav.ListenerId, fav.MovieUrl, fav.KaraokeId)
174161
err := db.Unscoped().Where(whereQu).First(&fav).Error
175162
fmt.Printf("FindFavoriteUnscopedByFavOrUnfavRegistry got err=%v\n", err)
176163
return fav
177164
}
178165

179166
func (db *FavoriteRepository) CreateMovieFavorite(fav domain.Favorite) error {
180-
fmt.Print("interfaces/database/favorite.go\n")
181167
err := db.Create(&fav).Error
182168
if err != nil {
183169
return err
@@ -186,7 +172,6 @@ func (db *FavoriteRepository) CreateMovieFavorite(fav domain.Favorite) error {
186172
}
187173

188174
func (db *FavoriteRepository) CreateKaraokeFavorite(fav domain.Favorite) error {
189-
fmt.Print("interfaces/database/favorite.go\n")
190175
err := db.Create(&fav).Error
191176
if err != nil {
192177
return err
@@ -195,7 +180,6 @@ func (db *FavoriteRepository) CreateKaraokeFavorite(fav domain.Favorite) error {
195180
}
196181

197182
func (db *FavoriteRepository) UpdateMovieFavorite(fav domain.Favorite) error {
198-
fmt.Print("interfaces/database/favorite.go\n")
199183
err := db.Unscoped().Model(fav).Update("deleted_at", nil).Error
200184
if err != nil {
201185
return err
@@ -204,7 +188,6 @@ func (db *FavoriteRepository) UpdateMovieFavorite(fav domain.Favorite) error {
204188
}
205189

206190
func (db *FavoriteRepository) UpdateKaraokeFavorite(fav domain.Favorite) error {
207-
fmt.Print("interfaces/database/favorite.go\n")
208191
whereQu := fmt.Sprintf("listener_id = '%v' AND movie_url = '%v' AND karaoke_id = %v", fav.ListenerId, fav.MovieUrl, fav.KaraokeId)
209192
err := db.Unscoped().Model(fav).Where(whereQu).Update("deleted_at", nil).Error
210193
if err != nil {
@@ -215,7 +198,6 @@ func (db *FavoriteRepository) UpdateKaraokeFavorite(fav domain.Favorite) error {
215198

216199
// 使ってない?
217200
func (db *FavoriteRepository) FindVtubersCreatedByListenerId(lId domain.ListenerId) ([]domain.Vtuber, error) {
218-
fmt.Print("interfaces/database/favorite.go \n")
219201
var vts []domain.Vtuber
220202
err := db.Where("vtuber_inputter_id = ?", lId).Find(&vts).Error
221203
if err != nil {
@@ -225,7 +207,6 @@ func (db *FavoriteRepository) FindVtubersCreatedByListenerId(lId domain.Listener
225207
}
226208

227209
func (db *FavoriteRepository) FindMoviesCreatedByListenerId(lId domain.ListenerId) ([]domain.TransmitMovie, error) {
228-
fmt.Print("interfaces/database/favorite.go \n")
229210
var TmMos []domain.TransmitMovie
230211
var err error
231212

@@ -248,7 +229,6 @@ func (db *FavoriteRepository) FindMoviesCreatedByListenerId(lId domain.ListenerI
248229
}
249230

250231
func (db *FavoriteRepository) FindKaraokesCreatedByListenerId(lId domain.ListenerId) ([]domain.TransmitKaraoke, error) {
251-
fmt.Print("interfaces/database/favorite.go \n")
252232
var TmKas []domain.TransmitKaraoke
253233
var err error
254234

@@ -272,7 +252,6 @@ func (db *FavoriteRepository) FindKaraokesCreatedByListenerId(lId domain.Listene
272252
return TmKas, nil
273253
}
274254
func (db *FavoriteRepository) FindMoviesFavoritedByListenerId(lId domain.ListenerId) ([]domain.TransmitMovie, error) {
275-
fmt.Print("interfaces/database/favorite.go\n")
276255
var Mos []domain.Movie
277256
var tmMos []domain.TransmitMovie
278257
var err error
@@ -285,7 +264,6 @@ func (db *FavoriteRepository) FindMoviesFavoritedByListenerId(lId domain.Listene
285264
return tmMos, err
286265
}
287266
func (db *FavoriteRepository) FindKaraokesFavoritedByListenerId(lId domain.ListenerId) ([]domain.TransmitKaraoke, error) {
288-
fmt.Print("interfaces/database/favorite.go\n")
289267
var err error
290268
var tmKas []domain.TransmitKaraoke
291269
var Kas []domain.Karaoke

t0016Go/interfaces/database/user_db.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ type UserRepository struct {
1111
}
1212

1313
func (db *UserRepository) CreateUser(user domain.Listener) (domain.Listener, error) {
14-
fmt.Print("interfaces/database/vtuber_content_db.go \n")
1514
err := db.Create(&user).Error
1615
if err != nil {
1716
return user, err
@@ -20,7 +19,6 @@ func (db *UserRepository) CreateUser(user domain.Listener) (domain.Listener, err
2019
}
2120

2221
func (db *UserRepository) FindUserByEmail(email string) (domain.Listener, error) {
23-
fmt.Print("interfaces/database/vtuber_content_db.go \n")
2422
var user domain.Listener
2523
err := db.Where("email = ?", email).First(&user).Error
2624
if err != nil {

0 commit comments

Comments
 (0)