Skip to content

Commit ddc38fd

Browse files
committed
fix(schedule): null pointer
1 parent c3ace12 commit ddc38fd

File tree

6 files changed

+19
-14
lines changed

6 files changed

+19
-14
lines changed

api/projects/tasks.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,3 +407,7 @@ func GetTaskStats(w http.ResponseWriter, r *http.Request) {
407407

408408
helpers.WriteJSON(w, http.StatusOK, stats)
409409
}
410+
411+
func StopAllTasks(w http.ResponseWriter, r *http.Request) {
412+
w.WriteHeader(http.StatusNoContent)
413+
}

api/router.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,7 @@ func Route(
423423
projectTmplManagement.HandleFunc("/{template_id}/tasks/last", projects.GetLastTasks).Methods("GET")
424424
projectTmplManagement.HandleFunc("/{template_id}/schedules", projects.GetTemplateSchedules).Methods("GET")
425425
projectTmplManagement.HandleFunc("/{template_id}/stats", projects.GetTaskStats).Methods("GET")
426+
projectTmplManagement.HandleFunc("/{template_id}/stop_all_tasks", projects.StopAllTasks).Methods("POST")
426427

427428
projectTmplInvManagement := projectTmplManagement.PathPrefix("/{template_id}/inventory").Subrouter()
428429
projectTmplInvManagement.Use(projects.InventoryMiddleware)

db/Schedule.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ type Schedule struct {
1111
LastCommitHash *string `db:"last_commit_hash" json:"-" backup:"-"`
1212
RepositoryID *int `db:"repository_id" json:"repository_id" backup:"-"`
1313

14-
TaskParamsID *int `db:"task_params_id" json:"-" backup:"-"`
15-
TaskParams *TaskParams `db:"-" json:"task_params,omitempty" backup:"task_params"`
14+
TaskParamsID *int `db:"task_params_id" json:"-" backup:"-"`
15+
TaskParams TaskParams `db:"-" json:"task_params,omitempty" backup:"task_params"`
1616
}
1717

1818
type ScheduleWithTpl struct {

db/sql/schedule.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import (
77

88
func (d *SqlDb) CreateSchedule(schedule db.Schedule) (newSchedule db.Schedule, err error) {
99

10-
if schedule.TaskParams != nil {
11-
params := *schedule.TaskParams
10+
if schedule.TaskParamsID != nil {
11+
params := schedule.TaskParams
1212
params.ProjectID = schedule.ProjectID
1313
err = d.Sql().Insert(&params)
1414
if err != nil {
@@ -51,14 +51,14 @@ func (d *SqlDb) SetScheduleLastCommitHash(projectID int, scheduleID int, lastCom
5151

5252
func (d *SqlDb) UpdateSchedule(schedule db.Schedule) (err error) {
5353

54-
if schedule.TaskParams != nil {
54+
if schedule.TaskParamsID != nil {
5555
var curr db.Schedule
5656
err = d.getObject(schedule.ProjectID, db.ScheduleProps, schedule.ID, &curr)
5757
if err != nil {
5858
return
5959
}
6060

61-
params := *schedule.TaskParams
61+
params := schedule.TaskParams
6262
params.ProjectID = schedule.ProjectID
6363

6464
if curr.TaskParamsID == nil {
@@ -114,7 +114,7 @@ func (d *SqlDb) GetSchedule(projectID int, scheduleID int) (schedule db.Schedule
114114
return
115115
}
116116

117-
schedule.TaskParams = &taskParams
117+
schedule.TaskParams = taskParams
118118
}
119119

120120
return
@@ -162,7 +162,7 @@ func (d *SqlDb) GetProjectSchedules(projectID int, includeTaskParams bool) (sche
162162
if err != nil {
163163
return nil, err
164164
}
165-
schedules[i].TaskParams = &taskParams
165+
schedules[i].TaskParams = taskParams
166166
}
167167
}
168168

services/project/backup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ func (b *BackupDB) format() (*BackupFormat, error) {
234234
*tplName,
235235
}
236236

237-
if o.TaskParams != nil && o.TaskParams.InventoryID != nil {
237+
if o.TaskParams.InventoryID != nil {
238238
schedules[i].TaskParams.InventoryName, _ = findNameByID[db.Inventory](*o.TaskParams.InventoryID, b.inventories)
239239
}
240240
}

services/project/restore.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ func (e BackupSchedule) Restore(store db.Store, b *BackupDB) error {
9191
}
9292
v.TemplateID = tpl.ID
9393

94-
if v.TaskParams != nil {
95-
inv := findEntityByName[db.Inventory](e.TaskParams.InventoryName, b.inventories)
96-
if inv != nil {
97-
v.TaskParams.InventoryID = &inv.ID
98-
}
94+
//if v.TaskParams != nil {
95+
inv := findEntityByName[db.Inventory](e.TaskParams.InventoryName, b.inventories)
96+
if inv != nil {
97+
v.TaskParams.InventoryID = &inv.ID
9998
}
99+
//}
100100

101101
newSchedule, err := store.CreateSchedule(v)
102102
if err != nil {

0 commit comments

Comments
 (0)