diff --git a/internal/model/movie.go b/internal/model/movie.go index 6bec472..ee2af29 100644 --- a/internal/model/movie.go +++ b/internal/model/movie.go @@ -7,14 +7,15 @@ import ( type Movie struct { gorm.Model Position uint `gorm:"not null" json:"-"` - RoomID uint `gorm:"not null" json:"roomId"` + RoomID uint `gorm:"not null;index" json:"roomId"` MovieInfo `gorm:"embedded"` } type MovieInfo struct { BaseMovieInfo `gorm:"embedded"` - PullKey string `gorm:"varchar(16)" json:"pullKey"` - CreatorID uint `gorm:"not null" json:"creatorId"` + PullKey string `gorm:"varchar(128)" json:"pullKey"` + CreatorID uint `gorm:"not null;index" json:"creatorId"` + Creator User `gorm:"foreignKey:CreatorID" json:"creator"` } type BaseMovieInfo struct { diff --git a/internal/model/room.go b/internal/model/room.go index f36df61..5da6b32 100644 --- a/internal/model/room.go +++ b/internal/model/room.go @@ -10,10 +10,11 @@ type Room struct { gorm.Model Name string `gorm:"not null;uniqueIndex;varchar(32)"` Setting - CreatorID uint `gorm:"not null"` + CreatorID uint `gorm:"not null;index"` + Creator User `gorm:"foreignKey:CreatorID"` HashedPassword []byte - GroupUserRelations []RoomUserRelation - Movies []Movie + GroupUserRelations []RoomUserRelation `gorm:"foreignKey:RoomID"` + Movies []Movie `gorm:"foreignKey:RoomID"` } func (r *Room) CheckPassword(password string) bool { diff --git a/internal/model/user.go b/internal/model/user.go index 8bce585..6fdb5e8 100644 --- a/internal/model/user.go +++ b/internal/model/user.go @@ -10,7 +10,7 @@ type User struct { gorm.Model Username string `gorm:"not null;uniqueIndex;varchar(32)"` HashedPassword []byte - GroupUserRelations []RoomUserRelation + GroupUserRelations []RoomUserRelation `gorm:"foreignKey:UserID"` } func (u *User) CheckPassword(password string) bool { diff --git a/~/.synctv/config.yaml b/~/.synctv/config.yaml deleted file mode 100644 index fc25b92..0000000 --- a/~/.synctv/config.yaml +++ /dev/null @@ -1,38 +0,0 @@ -log: - enable: true # enable log to file (default: true) - log_format: text # log format, can be set: text | json (default: text) - file_path: log/log.log # log file path (default: log/log.log) - max_size: 10 # max size per log file (default: 10 megabytes) - max_backups: 10 # max backups (default: 10) - max_age: 28 # max age (default: 28 days) - compress: false # compress (default: false) -server: - listen: 0.0.0.0 # server listen addr (default: 0.0.0.0) - port: 8080 # server listen port (default: 8080) - quic: true # enable http3/quic, need enable ssl, set cert and key file (default: true) - cert_path: "" # cert path - key_path: "" # key path -jwt: - secret: sXpUIwmOZqwqnyJHfaQtzkSjINgcsXGJ # jwt secret (default rand string) - expire: 12 # expire time (default: 12 hour) -# you can use rtmp to publish live -rtmp: - enable: true # enable rtmp server (default: true) - port: 0 # rtmp server port (default use server port) - custom_publish_host: "" # publish host (default use http header host) - rtmp_player: false # enable rtmp player (default: false) - hls_player: true # enable hls player (default: true) -# you can use proxy to proxy movie and live when custom headers or network is slow to connect to origin server -proxy: - movie_proxy: true # enable movie proxy (default: true) - live_proxy: true # enable live proxy (default: true) -room: - must_password: false # must input password to create room (default: false) -database: - type: sqlite3 # database type, support sqlite3, mysql, postgres - host: "" # database host, when type is not sqlite3, and port is 0, it will use unix socket file - port: 0 # database port - user: "" # database user - password: "" # database password - db_name: synctv # database name, when type is sqlite3, it will use sqlite db file or memory - ssl_mode: disable # database ssl mode, default disable diff --git a/~/.synctv/log/log-2023-10-17T12-57-19.013.log b/~/.synctv/log/log-2023-10-17T12-57-19.013.log deleted file mode 100644 index 734854e..0000000 --- a/~/.synctv/log/log-2023-10-17T12-57-19.013.log +++ /dev/null @@ -1,9 +0,0 @@ -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/bootstrap/log.go:46 github.com/synctv-org/synctv/internal/bootstrap.InitLog() log: enable log to stdout and file: ~/.synctv/log/log.log -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/bootstrap/db.go:66 github.com/synctv-org/synctv/internal/bootstrap.InitDatabase() sqlite3 database file: ~/.synctv/memery.db -INFO[0000]/Users/zijiren/workspace/go/synctv/cmd/server.go:118 github.com/synctv-org/synctv/cmd.Server() rtmp run on tcp://127.0.0.1:8088 -INFO[0000]/Users/zijiren/workspace/go/synctv/cmd/server.go:126 github.com/synctv-org/synctv/cmd.Server() website run on http://127.0.0.1:8088 -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:99 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() wait sys notify -INFO[0002]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:101 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() receive sys notify: interrupt -INFO[0002]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:106 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() task: NotifyTypeEXIT running... -INFO[0002]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:73 github.com/synctv-org/synctv/internal/sysNotify.runTask.func1() task: check-update running -INFO[0002]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:77 github.com/synctv-org/synctv/internal/sysNotify.runTask.func1() task: check-update done diff --git a/~/.synctv/log/log-2023-10-17T13-06-50.095.log b/~/.synctv/log/log-2023-10-17T13-06-50.095.log deleted file mode 100644 index 52ea583..0000000 --- a/~/.synctv/log/log-2023-10-17T13-06-50.095.log +++ /dev/null @@ -1,9 +0,0 @@ -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/bootstrap/log.go:46 github.com/synctv-org/synctv/internal/bootstrap.InitLog() log: enable log to stdout and file: ~/.synctv/log/log.log -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/bootstrap/db.go:66 github.com/synctv-org/synctv/internal/bootstrap.InitDatabase() sqlite3 database file: ~/.synctv/memery.db -INFO[0000]/Users/zijiren/workspace/go/synctv/cmd/server.go:118 github.com/synctv-org/synctv/cmd.Server() rtmp run on tcp://127.0.0.1:8088 -INFO[0000]/Users/zijiren/workspace/go/synctv/cmd/server.go:126 github.com/synctv-org/synctv/cmd.Server() website run on http://127.0.0.1:8088 -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:99 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() wait sys notify -INFO[0001]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:101 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() receive sys notify: interrupt -INFO[0001]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:106 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() task: NotifyTypeEXIT running... -INFO[0001]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:73 github.com/synctv-org/synctv/internal/sysNotify.runTask.func1() task: check-update running -INFO[0001]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:77 github.com/synctv-org/synctv/internal/sysNotify.runTask.func1() task: check-update done diff --git a/~/.synctv/log/log-2023-10-17T13-07-14.103.log b/~/.synctv/log/log-2023-10-17T13-07-14.103.log deleted file mode 100644 index 664b214..0000000 --- a/~/.synctv/log/log-2023-10-17T13-07-14.103.log +++ /dev/null @@ -1,9 +0,0 @@ -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/bootstrap/log.go:46 github.com/synctv-org/synctv/internal/bootstrap.InitLog() log: enable log to stdout and file: ~/.synctv/log/log.log -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/bootstrap/db.go:66 github.com/synctv-org/synctv/internal/bootstrap.InitDatabase() sqlite3 database file: ~/.synctv/memery.db -INFO[0000]/Users/zijiren/workspace/go/synctv/cmd/server.go:118 github.com/synctv-org/synctv/cmd.Server() rtmp run on tcp://127.0.0.1:8088 -INFO[0000]/Users/zijiren/workspace/go/synctv/cmd/server.go:126 github.com/synctv-org/synctv/cmd.Server() website run on http://127.0.0.1:8088 -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:99 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() wait sys notify -INFO[0021]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:101 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() receive sys notify: interrupt -INFO[0021]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:106 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() task: NotifyTypeEXIT running... -INFO[0021]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:73 github.com/synctv-org/synctv/internal/sysNotify.runTask.func1() task: check-update running -INFO[0021]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:77 github.com/synctv-org/synctv/internal/sysNotify.runTask.func1() task: check-update done diff --git a/~/.synctv/log/log.log b/~/.synctv/log/log.log deleted file mode 100644 index 99bab94..0000000 --- a/~/.synctv/log/log.log +++ /dev/null @@ -1,9 +0,0 @@ -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/bootstrap/log.go:46 github.com/synctv-org/synctv/internal/bootstrap.InitLog() log: enable log to stdout and file: ~/.synctv/log/log.log -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/bootstrap/db.go:66 github.com/synctv-org/synctv/internal/bootstrap.InitDatabase() sqlite3 database file: ~/.synctv/memery.db -INFO[0000]/Users/zijiren/workspace/go/synctv/cmd/server.go:118 github.com/synctv-org/synctv/cmd.Server() rtmp run on tcp://127.0.0.1:8088 -INFO[0000]/Users/zijiren/workspace/go/synctv/cmd/server.go:126 github.com/synctv-org/synctv/cmd.Server() website run on http://127.0.0.1:8088 -INFO[0000]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:99 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() wait sys notify -INFO[0013]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:101 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() receive sys notify: interrupt -INFO[0013]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:106 github.com/synctv-org/synctv/internal/sysNotify.(*SysNotify).waitCbk() task: NotifyTypeEXIT running... -INFO[0013]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:73 github.com/synctv-org/synctv/internal/sysNotify.runTask.func1() task: check-update running -INFO[0013]/Users/zijiren/workspace/go/synctv/internal/sysNotify/sysNotify.go:77 github.com/synctv-org/synctv/internal/sysNotify.runTask.func1() task: check-update done