parent
4903f722b5
commit
60379ba1ef
10 changed files with 143 additions and 9 deletions
|
@ -1,16 +1,26 @@
|
|||
package database
|
||||
|
||||
// TODO: clean up old submissions
|
||||
|
||||
type Submission struct {
|
||||
ID int `sql:"type:serial"`
|
||||
SubmissionID string `sql:"type:varchar(16)"`
|
||||
Filename string
|
||||
Status string
|
||||
Comment string
|
||||
UserID int `sql:"type:integer,unique"`
|
||||
User *User
|
||||
BookID string `sql:"type:varchar(16),unique"`
|
||||
Book *Book
|
||||
}
|
||||
|
||||
func (db *pgDB) AddSubmission(submission Submission) (id int, err error) {
|
||||
func (db *pgDB) AddSubmission(submission Submission, userName string) (id int, err error) {
|
||||
if userName != "" {
|
||||
user, err := db.getUser(userName)
|
||||
if err == nil {
|
||||
submission.UserID = user.ID
|
||||
}
|
||||
}
|
||||
err = db.sql.Insert(&submission)
|
||||
return submission.ID, err
|
||||
}
|
||||
|
@ -61,6 +71,15 @@ func (db *pgDB) GetSubmission(submissionID string) (submission []Submission, err
|
|||
return
|
||||
}
|
||||
|
||||
func (db *pgDB) GetUserSubmissions(userName string) (submission []Submission, err error) {
|
||||
err = db.sql.Model(&submission).
|
||||
Column("Book", "User").
|
||||
Where("username = ?", userName).
|
||||
Order("id DESC").
|
||||
Select()
|
||||
return
|
||||
}
|
||||
|
||||
func extractID(book *Book) interface{} {
|
||||
if book == nil {
|
||||
return nil
|
||||
|
|
Reference in a new issue