qa: New field to save exported state of qa
This commit is contained in:
parent
563cf14adc
commit
334512ef0d
@ -499,6 +499,7 @@ CREATE TABLE IF NOT EXISTS exercices_qa(
|
|||||||
state VARCHAR(255) NOT NULL,
|
state VARCHAR(255) NOT NULL,
|
||||||
solved TIMESTAMP NULL,
|
solved TIMESTAMP NULL,
|
||||||
closed TIMESTAMP NULL,
|
closed TIMESTAMP NULL,
|
||||||
|
exported INTEGER NULL,
|
||||||
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice),
|
FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice),
|
||||||
FOREIGN KEY(id_team) REFERENCES teams(id_team)
|
FOREIGN KEY(id_team) REFERENCES teams(id_team)
|
||||||
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
|
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
|
||||||
|
21
libfic/qa.go
21
libfic/qa.go
@ -16,26 +16,27 @@ type QAQuery struct {
|
|||||||
Subject string `json:"subject"`
|
Subject string `json:"subject"`
|
||||||
Solved *time.Time `json:"solved,omitempty"`
|
Solved *time.Time `json:"solved,omitempty"`
|
||||||
Closed *time.Time `json:"closed,omitempty"`
|
Closed *time.Time `json:"closed,omitempty"`
|
||||||
|
Exported *int64 `json:"exported,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetQAQuery retrieves the query with the given identifier.
|
// GetQAQuery retrieves the query with the given identifier.
|
||||||
func GetQAQuery(id int64) (q *QAQuery, err error) {
|
func GetQAQuery(id int64) (q *QAQuery, err error) {
|
||||||
q = &QAQuery{}
|
q = &QAQuery{}
|
||||||
err = DBQueryRow("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed FROM exercices_qa WHERE id_qa = ?", id).Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed)
|
err = DBQueryRow("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed, exported FROM exercices_qa WHERE id_qa = ?", id).Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed, &q.Exported)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetQAQueries returns a list of all QAQuery registered in the database.
|
// GetQAQueries returns a list of all QAQuery registered in the database.
|
||||||
func GetQAQueries() (res []*QAQuery, err error) {
|
func GetQAQueries() (res []*QAQuery, err error) {
|
||||||
var rows *sql.Rows
|
var rows *sql.Rows
|
||||||
if rows, err = DBQuery("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed FROM exercices_qa"); err != nil {
|
if rows, err = DBQuery("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed, exported FROM exercices_qa"); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
|
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
q := &QAQuery{}
|
q := &QAQuery{}
|
||||||
if err = rows.Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed); err != nil {
|
if err = rows.Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed, &q.Exported); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
res = append(res, q)
|
res = append(res, q)
|
||||||
@ -48,14 +49,14 @@ func GetQAQueries() (res []*QAQuery, err error) {
|
|||||||
// GetQAQueries returns a list of all QAQuery registered for the Exercice.
|
// GetQAQueries returns a list of all QAQuery registered for the Exercice.
|
||||||
func (e *Exercice) GetQAQueries() (res []*QAQuery, err error) {
|
func (e *Exercice) GetQAQueries() (res []*QAQuery, err error) {
|
||||||
var rows *sql.Rows
|
var rows *sql.Rows
|
||||||
if rows, err = DBQuery("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed FROM exercices_qa WHERE id_exercice = ?", e.Id); err != nil {
|
if rows, err = DBQuery("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed, exported FROM exercices_qa WHERE id_exercice = ?", e.Id); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
|
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
q := &QAQuery{}
|
q := &QAQuery{}
|
||||||
if err = rows.Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed); err != nil {
|
if err = rows.Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed, &q.Exported); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
res = append(res, q)
|
res = append(res, q)
|
||||||
@ -68,14 +69,14 @@ func (e *Exercice) GetQAQueries() (res []*QAQuery, err error) {
|
|||||||
// GetQAQueries returns a list of all QAQuery registered for the Exercice.
|
// GetQAQueries returns a list of all QAQuery registered for the Exercice.
|
||||||
func (t *Team) GetQAQueries() (res []*QAQuery, err error) {
|
func (t *Team) GetQAQueries() (res []*QAQuery, err error) {
|
||||||
var rows *sql.Rows
|
var rows *sql.Rows
|
||||||
if rows, err = DBQuery("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed FROM exercices_qa WHERE id_team = ?", t.Id); err != nil {
|
if rows, err = DBQuery("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed, exported FROM exercices_qa WHERE id_team = ?", t.Id); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
|
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
q := &QAQuery{}
|
q := &QAQuery{}
|
||||||
if err = rows.Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed); err != nil {
|
if err = rows.Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed, &q.Exported); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
res = append(res, q)
|
res = append(res, q)
|
||||||
@ -88,7 +89,7 @@ func (t *Team) GetQAQueries() (res []*QAQuery, err error) {
|
|||||||
// GetQAQuery retrieves the query with the given identifier.
|
// GetQAQuery retrieves the query with the given identifier.
|
||||||
func (e *Exercice) GetQAQuery(id int64) (q *QAQuery, err error) {
|
func (e *Exercice) GetQAQuery(id int64) (q *QAQuery, err error) {
|
||||||
q = &QAQuery{}
|
q = &QAQuery{}
|
||||||
err = DBQueryRow("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed FROM exercices_qa WHERE id_qa = ? AND id_exercice = ?", id, e.Id).Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed)
|
err = DBQueryRow("SELECT id_qa, id_exercice, id_team, authuser, creation, state, subject, solved, closed, exported FROM exercices_qa WHERE id_qa = ? AND id_exercice = ?", id, e.Id).Scan(&q.Id, &q.IdExercice, &q.IdTeam, &q.User, &q.Creation, &q.State, &q.Subject, &q.Solved, &q.Closed, &q.Exported)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,13 +100,13 @@ func (e *Exercice) NewQAQuery(subject string, teamId *int64, user string, state
|
|||||||
} else if qid, err := res.LastInsertId(); err != nil {
|
} else if qid, err := res.LastInsertId(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
return &QAQuery{qid, e.Id, teamId, user, time.Now(), state, subject, solved, nil}, nil
|
return &QAQuery{qid, e.Id, teamId, user, time.Now(), state, subject, solved, nil, nil}, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update applies modifications back to the database.
|
// Update applies modifications back to the database.
|
||||||
func (q *QAQuery) Update() (int64, error) {
|
func (q *QAQuery) Update() (int64, error) {
|
||||||
if res, err := DBExec("UPDATE exercices_qa SET subject = ?, id_team = ?, authuser = ?, id_exercice = ?, creation = ?, state = ?, solved = ?, closed = ? WHERE id_qa = ?", q.Subject, q.IdTeam, q.User, q.IdExercice, q.Creation, q.State, q.Solved, q.Closed, q.Id); err != nil {
|
if res, err := DBExec("UPDATE exercices_qa SET subject = ?, id_team = ?, authuser = ?, id_exercice = ?, creation = ?, state = ?, solved = ?, closed = ?, exported = ? WHERE id_qa = ?", q.Subject, q.IdTeam, q.User, q.IdExercice, q.Creation, q.State, q.Solved, q.Closed, q.Exported, q.Id); err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
} else if nb, err := res.RowsAffected(); err != nil {
|
} else if nb, err := res.RowsAffected(); err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
|
@ -20,7 +20,7 @@ export class QAQuery {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
update({ id, id_exercice, id_team, user, creation, state, subject, solved, closed }) {
|
update({ id, id_exercice, id_team, user, creation, state, subject, solved, closed, exported }) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.id_team = id_team;
|
this.id_team = id_team;
|
||||||
this.id_exercice = id_exercice;
|
this.id_exercice = id_exercice;
|
||||||
@ -30,6 +30,7 @@ export class QAQuery {
|
|||||||
this.subject = subject;
|
this.subject = subject;
|
||||||
this.solved = solved;
|
this.solved = solved;
|
||||||
this.closed = closed;
|
this.closed = closed;
|
||||||
|
this.exported = exported;
|
||||||
}
|
}
|
||||||
|
|
||||||
async delete() {
|
async delete() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user