parent
26894f1438
commit
cc12981a50
12 changed files with 216 additions and 13 deletions
48
lib/database/submissions.go
Normal file
48
lib/database/submissions.go
Normal file
|
@ -0,0 +1,48 @@
|
|||
package database
|
||||
|
||||
type Submission struct {
|
||||
ID int
|
||||
SubmissionID string
|
||||
Filename string
|
||||
Status string
|
||||
BookID string
|
||||
Book *Book
|
||||
}
|
||||
|
||||
func (db *pgDB) AddSubmission(submission Submission) (id int, err error) {
|
||||
err = db.sql.Insert(&submission)
|
||||
return submission.ID, err
|
||||
}
|
||||
|
||||
func (db *pgDB) UpdateSubmission(id int, status string, book *Book) error {
|
||||
_, err := db.sql.Model(&Submission{}).
|
||||
Set("status = ?", status).
|
||||
Set("book_id = ?", extractID(book)).
|
||||
Where("id = ?", id).
|
||||
Update()
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *pgDB) UpdateSubmissionByBook(bookID string, status string, book *Book) error {
|
||||
_, err := db.sql.Model(&Submission{}).
|
||||
Set("status = ?", status).
|
||||
Set("book_id = ?", extractID(book)).
|
||||
Where("book_id = ?", bookID).
|
||||
Update()
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *pgDB) GetSubmission(submissionID string) (submission []Submission, err error) {
|
||||
err = db.sql.Model(&submission).
|
||||
Column("Book").
|
||||
Where("submission_id = ?", submissionID).
|
||||
Select()
|
||||
return
|
||||
}
|
||||
|
||||
func extractID(book *Book) interface{} {
|
||||
if book == nil {
|
||||
return nil
|
||||
}
|
||||
return book.ID
|
||||
}
|
Reference in a new issue