Merged in feature/jobstatusendpoint (pull request #85)
Job Status Endpoint * edpoint
This commit is contained in:
+74
-48
@@ -141,9 +141,6 @@ type Job struct {
|
||||
|
||||
// Id The job id
|
||||
Id openapi_types.UUID `json:"id"`
|
||||
|
||||
// Status Specifies the status of a job.
|
||||
Status JobStatus `json:"status"`
|
||||
}
|
||||
|
||||
// JobClient defines model for JobClient.
|
||||
@@ -212,6 +209,15 @@ type JobCreate struct {
|
||||
// JobStatus Specifies the status of a job.
|
||||
type JobStatus string
|
||||
|
||||
// JobStatusBody defines model for JobStatusBody.
|
||||
type JobStatusBody struct {
|
||||
// JobId The job id
|
||||
JobId openapi_types.UUID `json:"job_id"`
|
||||
|
||||
// Status Specifies the status of a job.
|
||||
Status JobStatus `json:"status"`
|
||||
}
|
||||
|
||||
// JobUpdate defines model for JobUpdate.
|
||||
type JobUpdate struct {
|
||||
// CanSync Specifies whether the job is actively syncing
|
||||
@@ -352,6 +358,9 @@ type ServerInterface interface {
|
||||
// Check export state.
|
||||
// (GET /job/{id}/export)
|
||||
ExportState(ctx echo.Context, id openapi_types.UUID) error
|
||||
// Get job status by job ID
|
||||
// (GET /job/{id}/status)
|
||||
GetJobStatusByJobId(ctx echo.Context, id openapi_types.UUID) error
|
||||
// List queries
|
||||
// (GET /query)
|
||||
ListQueries(ctx echo.Context) error
|
||||
@@ -529,6 +538,22 @@ func (w *ServerInterfaceWrapper) ExportState(ctx echo.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// GetJobStatusByJobId converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) GetJobStatusByJobId(ctx echo.Context) error {
|
||||
var err error
|
||||
// ------------- Path parameter "id" -------------
|
||||
var id openapi_types.UUID
|
||||
|
||||
err = runtime.BindStyledParameterWithOptions("simple", "id", ctx.Param("id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter id: %s", err))
|
||||
}
|
||||
|
||||
// Invoke the callback with all the unmarshaled arguments
|
||||
err = w.Handler.GetJobStatusByJobId(ctx, id)
|
||||
return err
|
||||
}
|
||||
|
||||
// ListQueries converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) ListQueries(ctx echo.Context) error {
|
||||
var err error
|
||||
@@ -634,6 +659,7 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
||||
router.PATCH(baseURL+"/job/:id/collector", wrapper.UpdateJobCollectorByJobId)
|
||||
router.GET(baseURL+"/job/:id/documents", wrapper.ListDocumentsByJobId)
|
||||
router.GET(baseURL+"/job/:id/export", wrapper.ExportState)
|
||||
router.GET(baseURL+"/job/:id/status", wrapper.GetJobStatusByJobId)
|
||||
router.GET(baseURL+"/query", wrapper.ListQueries)
|
||||
router.POST(baseURL+"/query", wrapper.CreateQuery)
|
||||
router.GET(baseURL+"/query/:id", wrapper.GetQuery)
|
||||
@@ -645,51 +671,51 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
||||
// Base64 encoded, gzipped, json marshaled Swagger object
|
||||
var swaggerSpec = []string{
|
||||
|
||||
"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",
|
||||
"PgtHPwAA",
|
||||
"H4sIAAAAAAAC/+RbXW/buNL+K4Te99Kws9u98l03yS4c9DQ9TXqwB4vCoKSxzVQmFZJK6g383w/4Kcki",
|
||||
"LTmJ2i72qnVMzgxnnvngDP2UZGxbMgpUimT+lIhsA1us/3teEKDynAOWoD6XnJXAJQH9LcVb/dccRMZJ",
|
||||
"KQmjyTy53QDK9D6kF0wSuSshmSdCckLXyX4/STjcV4RDnsz/NFQ++1UsvYNMJvuJZf6pzIPMM0yXYkez",
|
||||
"rgCLFZK1DEQgXBTskdA1wpkkD4DUNlHLlTJWAKaK5fNP1JH+gmXVFqjsSp5W2ReQYTbmO5QxKjGhSmZ1",
|
||||
"lNzR6nCeJCQPU3J7EMmTSbJifItlMk+qSn/ukPkCuzCdEssNkqxHjgObah72nIZ2yMCXX0vG5QVITArR",
|
||||
"5f4B7wqGc7RiHIFeiiQn6zVwxEGUjAqYJpMD5d6xdBlTyR1LEckRhwJrHNhTGdrTIVpilSwruSxYhg3d",
|
||||
"EBv3LSIUPW5ItmlwQX+REq1IAeiRFAVKAa1YRXPFHL7ibVlofm/ms9mTUd9+9mSgR/L97OmOpfpfSbYg",
|
||||
"JN6W++WTIUzy/fQvUoaEFhLLSivn/zmsknnyf7Pa4WfW22fGGDdm7aE9rVY9rbg1bzyzAJSYECQtvC6U",
|
||||
"PRRBEPr8tNoqXkq2AiQodoQuS87WHITy1xUmBeQN5vUZDfNbA4/jULIY0vGANozfxtGKQJEvV6SQwAPH",
|
||||
"+U1/oQ0rMlYCSrGAHDGK9EZkgIIecFGZ0xEJ214b/Kb2GtJJHVMw53inXZ2uQSgBniOX34xKzPEW1P7u",
|
||||
"sYHmSxdvA8jGQiL1NWKrmuA0Ajouo6SIQCvCBxILRdcBbs5MGrivgO9UwKgKKZTLpw5/kA/w+bAjhPDf",
|
||||
"NF7ELhpzKGNFtaUd1WeM5sRFlYEoOfd79hML2XgKU984rRiUEqrUEzeigW+YmvkOVQJWVeFCqcFlC+8d",
|
||||
"om1UH+i3cYZJQyNelB7Fnzd1eCQAmeOvvFE8p1YkKkCIpdxgxX+tayDuPmYFE5AvCZXAH3CRTBJWAm1+",
|
||||
"LmAll91lnKw3ob8TmhVVDjoPmP+Fwtwi/xcIgdeBeijkDZ8oua8AkVzljxUBbnIplUTuTsd+BPdXLD2l",
|
||||
"OrspIVOyCPS4AbmxwUr7rLAFWrHTJZqSIVSkmXwYdX9X9+WecAoFo2vl/ENy/PGw8hytNUWe1KqJKNOU",
|
||||
"vd+o4O1V4hCNvc49QNN2nt+nI1YUkEkWiLTNb9GW5VB0s5xRy/IBuIjGCqs6u8bFzcyRbrkPofLNz/UB",
|
||||
"lVuvTQrXgSYSQc13Kgg7oLaoD6oYmqfVcTBUNxxLlosLdzQsBMsIlpArWQaVw4Wq3eRxPZo1L9XjllCy",
|
||||
"rbbLTAEX+HGWdrHnqau+5pXIUjmRt4Sv8nmM1U5VdomBPGPVt0VTXB0RYTuWmhy6QJ+fGWzFYYxqB/On",
|
||||
"7iB6aPfAFs+GsFoWLE50YRfFtSn7dBLA0ly2SlZWSg9aOFMQnp4EbYDyzPsUV7cv4jeSSq0xtWFz6z8+",
|
||||
"bv3jnD6IpEjzbdQq6AD0Na8I3GO3/rrY0zdSvUpBErsU40rtxfvlzX/fnyeT5P31rf7v5UWwAvbMfmX5",
|
||||
"rquV/nvhkLw2rGNSn/s57ZIrlp7e2nxp8RzC2DsipGtWiuO9xKbTD3Z13wgNeLji/e8KuD14Ww339Rdt",
|
||||
"kdQuhSK7YLAkitOu9wrq2IaMZih0JH1+XNZ5ZGBIyhhdkXWX+rn+e8VN09GFH0950AUnfFMMS/j61eAp",
|
||||
"WnCmWvbCw620tcDioo2U3vMcgtV8HgCxW7UweL3RJDrFV0d1UehFk8FJ0KDweAQef1cF691Rzd2CkB9B",
|
||||
"d7u66nPxLZg66huSLyUkQxrGeI0JFcNGB6ZijDrHfwIeofhUAozdQKgS8TnXh+bpDuXo0ZeZsnQVprtx",
|
||||
"3UN81EX1wRnAKOh4hWEIxqWxyDhWXaidnYDi6ourm+v3y8s/bj++Pb+9/phMkvPr97eXf9wuf/v07l2w",
|
||||
"0NB8Yxm6L+CbfflB0H9hnHdEsxPjfb9DO8rFKI7dLTr2epixYl1J3n5YeDdrn0/bA13zbANC2rML4A8k",
|
||||
"MxWAJFIPz0Lr3n5YJJPEWyv5aXo2PdPzvBIoLkkyT95Mz6Zv1IULy40+5Cyr+3BMBMa1JhYLhHU8tfX2",
|
||||
"I5Fm3Fdy9kByyFFuxptT0yI2Ai1yv992+4yVQEhX1maMSssel2VBzEhxdicM3Ew47AuWrfH9vu1zkleg",
|
||||
"/2B8XJ/557OfXo133arWjA90Z7SVaclyJKosAyFWVVHspsouv5ydBQIxfcCFnt9qTaGU5Wq1qter7Rar",
|
||||
"wswqtWUThQ28FioKGLY3BjXJZ7XVmnn2RPK9YrkOTeY/guQEHrSxhQk6mbN4ukNECrS46Fr4d5AN87b0",
|
||||
"fPZqeq47xnE9ewwOVW1zRKj3/BLAv+3tMulm2G1T/A4S4YaWFhdHLKEcz7FM5n8e71RampIhbg2jw5Na",
|
||||
"qNzXtZHnpuZqQ37SUGvfJfizDgfZJhYwhRkgE52ZWxFAoS/q+GbzN3B8m70GOf5Z1MCVTQ4vctKBGDqA",
|
||||
"kDmAR1GPJ9/ZQdSAaK1uzCeH6iuWjmSuus3zIwXpK5aOHaHvtEqdUa9Y2rHozMzq44ZdUCKJNm3jlU3J",
|
||||
"mRK3a0n7QsQ8FxnJmu23KD+SRS9br6hG8mkFm2hSsFqpX940zG8fEHUQcHpq1u3Oo3nZ+fJ4STnmUaPk",
|
||||
"4qM6N4nY6qSVhVsONyAFKxpGod872foAPiDTjhq3T8mxEcONmWCPAsOn1wFhWDnhLGuO3U9zR7+13zH9",
|
||||
"YOjX3RVLF/nY1bM/VCwHetHbvhtRd718gEe21HLom16yZzipvze3Z3M/gNvWRz7BgYOYGKcQO5jcvsSz",
|
||||
"66OO7eMDQNf09np9L+JaASBvzol6AoACn2so1QOkdOdHVqEI0BpGfQP/bw+/YinbS6/O88xgq5vmsjVM",
|
||||
"Uy4aCL5enpe4vecyktu3YFHX6EFMnG8g+2IAkVWcqxuffvatJ8HNJ9htLNQPymFMCLR/hRCvmjdYoBSA",
|
||||
"Iv9APY6Ey/qBexQQWivuwqL1MT1SDJ/UIKk1Orbl60n5gGjg3vtXwhUBsTBgCgE76P8mVUDjUUEkCljJ",
|
||||
"v0/93ladUdvfsFhQ2Ll3M/TeArJoz/mbv7HQv3LIOJHACQ6nEfeuYOTs4dgEUPP28ASvCxoz6TiecO69",
|
||||
"EhxU9K4WRgb0y8wc6OSOmXkuMU6p1pyH/0g9FmOVkftm91axEaN6N3tG78SY+vglrbbrSI5lX+rEtDtK",
|
||||
"DO5xJ3Nn89pphd+uTw3P1X5u+73vZg0fH3AnG921Xzi8MNYc89rVgxd/3TrJV2fSPVD5YRAUTA+XXyGr",
|
||||
"TH7QL2F4Rc27zlimaP/o8KApD0KOjqfmA6DhoHpt/vZBTSCy3Wo12lfpL0kUmlA/7NQe4A9hgH3gLK8y",
|
||||
"/8YCeDJJKl4k82QjZSnmsxkuydT+Ynmase3s4adEocVyO6R37ewtzK+vIUeS2ameqNHanurtJ8PI3LG0",
|
||||
"QaPRvTyBQF35tkl1qupTaNbdkibJzvV+KMm6lrPEWiYdSsXcDRtU2jfN/ef9/wIAAP//ydyWwBBCAAA=",
|
||||
}
|
||||
|
||||
// GetSwagger returns the content of the embedded swagger specification file
|
||||
|
||||
+16
-5
@@ -26,16 +26,27 @@ func (s *Controllers) CreateJob(ctx echo.Context) error {
|
||||
}
|
||||
|
||||
func (s *Controllers) GetJob(ctx echo.Context, id types.UUID) error {
|
||||
job, err := s.svc.Job.GetWithStatus(ctx.Request().Context(), id)
|
||||
job, err := s.svc.Job.Get(ctx.Request().Context(), id)
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusNotFound, fmt.Sprintf("Unable to find job: %s", err))
|
||||
}
|
||||
|
||||
return ctx.JSON(http.StatusOK, Job{
|
||||
Id: job.Job.ID,
|
||||
ClientId: job.Job.ClientID,
|
||||
CanSync: job.Job.CanSync,
|
||||
Status: parseJobStatus(job.Status),
|
||||
Id: job.ID,
|
||||
ClientId: job.ClientID,
|
||||
CanSync: job.CanSync,
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Controllers) GetJobStatusByJobId(ctx echo.Context, id types.UUID) error {
|
||||
status, err := s.svc.Job.GetStatus(ctx.Request().Context(), id)
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusNotFound, fmt.Sprintf("Unable to find job: %s", err))
|
||||
}
|
||||
|
||||
return ctx.JSON(http.StatusOK, JobStatusBody{
|
||||
JobId: id,
|
||||
Status: parseJobStatus(*status),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -125,7 +125,44 @@ func TestGetJob(t *testing.T) {
|
||||
Id: j.ID,
|
||||
ClientId: j.ClientID,
|
||||
CanSync: j.CanSync,
|
||||
Status: queryservice.INSYNC,
|
||||
}, res)
|
||||
}
|
||||
|
||||
func TestGetJobStatus(t *testing.T) {
|
||||
pool, err := pgxmock.NewPool()
|
||||
require.NoError(t, err)
|
||||
cfg := &serviceconfig.BaseConfig{}
|
||||
cfg.DBPool = pool
|
||||
cfg.DBQueries = repository.New(pool)
|
||||
|
||||
cons := queryservice.NewControllers(validator.New(), &queryservice.Services{
|
||||
Job: job.New(cfg, &job.Services{
|
||||
Client: client.New(cfg),
|
||||
}),
|
||||
})
|
||||
|
||||
e := echo.New()
|
||||
req := httptest.NewRequest(http.MethodPost, "/", strings.NewReader(""))
|
||||
rec := httptest.NewRecorder()
|
||||
ctx := e.NewContext(req, rec)
|
||||
|
||||
jobId := uuid.New()
|
||||
|
||||
pool.ExpectQuery("name: IsJobSynced :one").WithArgs(database.MustToDBUUID(jobId)).WillReturnRows(
|
||||
pgxmock.NewRows([]string{"issynced"}).
|
||||
AddRow(true),
|
||||
)
|
||||
|
||||
err = cons.GetJobStatusByJobId(ctx, jobId)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, http.StatusOK, rec.Code)
|
||||
|
||||
var res queryservice.JobStatusBody
|
||||
err = json.Unmarshal(rec.Body.Bytes(), &res)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualExportedValues(t, queryservice.JobStatusBody{
|
||||
JobId: jobId,
|
||||
Status: queryservice.INSYNC,
|
||||
}, res)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user