Skip to content
Snippets Groups Projects
Commit 20e42216 authored by Yordan Kinkov's avatar Yordan Kinkov
Browse files

#15 goa generated code

parent d6fb24f8
No related branches found
No related tags found
No related merge requests found
......@@ -75,7 +75,7 @@ var _ = Service("taskList", func() {
Method("TaskListResult", func() {
Description("TaskListResult retrieves a taskList result containing all tasks' unique IDs and statuses from the Cache service.")
Payload(TaskListResultRequest)
Result(TaskListState)
Result(TaskListStatus)
HTTP(func() {
GET("/v1/taskListResult/{taskListID}")
Response(StatusOK)
......
......@@ -39,28 +39,28 @@ var TaskListResultRequest = Type("TaskListResultRequest", func() {
Required("taskListID")
})
var TaskListState = Type("TaskListState", func() {
var TaskListStatus = Type("TaskListStatus", func() {
Field(1, "id", String, "Unique taskList identifier.", func() {
Example("9cc9f504-2b7f-4e24-ac59-653e9533840a")
})
Field(2, "status", String, "Current status of the taskList", func() {
Example("done")
})
Field(3, "groups", ArrayOf(GroupState), "Array of GroupState")
Field(3, "groups", ArrayOf(GroupStatus), "Array of GroupStatus")
Required("id", "status")
})
var GroupState = Type("GroupState", func() {
var GroupStatus = Type("GroupStatus", func() {
Field(1, "id", String, "Unique group identifier.", func() {
Example("a7d1349d-34b5-4c65-b671-d1aa362fc446")
})
Field(2, "status", String, "Current status of the group", func() {
Example("done")
})
Field(3, "tasks", ArrayOf(TaskState), "Array of TaskState")
Field(3, "tasks", ArrayOf(TaskStatus), "Array of TaskStatus")
})
var TaskState = Type("TaskState", func() {
var TaskStatus = Type("TaskStatus", func() {
Field(1, "id", String, "Unique task identifier.", func() {
Example("d16996cd-1977-42a9-90b2-b4548a35c1b4")
})
......
{"swagger":"2.0","info":{"title":"Task Service","description":"The task service is executing tasks created from policies.","version":""},"host":"localhost:8082","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/v1/task/{taskName}":{"post":{"tags":["task"],"summary":"Create task","description":"Create a task and put it in a queue for execution.","operationId":"task#Create","parameters":[{"name":"taskName","in":"path","description":"Task name.","required":true,"type":"string"},{"name":"x-cache-namespace","in":"header","description":"Cache key namespace","required":false,"type":"string"},{"name":"x-cache-scope","in":"header","description":"Cache key scope","required":false,"type":"string"},{"name":"any","in":"body","description":"Data contains JSON payload that will be used for task execution.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/TaskCreateResponseBody","required":["taskID"]}}},"schemes":["http"]}},"/v1/taskList/{taskListName}":{"post":{"tags":["taskList"],"summary":"Create taskList","description":"Create a task list and corresponding tasks and put them in respective queues for execution.","operationId":"taskList#Create","parameters":[{"name":"taskListName","in":"path","description":"TaskList name.","required":true,"type":"string"},{"name":"x-cache-namespace","in":"header","description":"Cache key namespace","required":false,"type":"string"},{"name":"x-cache-scope","in":"header","description":"Cache key scope","required":false,"type":"string"},{"name":"any","in":"body","description":"Data contains JSON payload that will be used for taskList execution.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/TaskListCreateResponseBody","required":["taskListID"]}}},"schemes":["http"]}},"/v1/taskListResult/{taskListID}":{"get":{"tags":["taskList"],"summary":"TaskListResult taskList","description":"TaskListResult retrieves a taskList result containing all tasks' unique IDs and statuses from the Cache service.","operationId":"taskList#TaskListResult","parameters":[{"name":"taskListID","in":"path","description":"Unique taskList identifier.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/TaskListTaskListResultOKResponseBody","required":["id","status"]}},"201":{"description":"Created response.","schema":{"$ref":"#/definitions/TaskListTaskListResultCreatedResponseBody","required":["id","status"]}},"202":{"description":"Accepted response.","schema":{"$ref":"#/definitions/TaskListTaskListResultAcceptedResponseBody","required":["id","status"]}},"207":{"description":"Multi-Status response.","schema":{"$ref":"#/definitions/TaskListTaskListResultMultiStatusResponseBody","required":["id","status"]}}},"schemes":["http"]}},"/v1/taskResult/{taskID}":{"get":{"tags":["task"],"summary":"TaskResult task","description":"TaskResult retrieves task result from the Cache service.","operationId":"task#TaskResult","parameters":[{"name":"taskID","in":"path","description":"Unique task identifier.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"}}},"schemes":["http"]}}},"definitions":{"GroupStateResponseBody":{"title":"GroupStateResponseBody","type":"object","properties":{"id":{"type":"string","description":"Unique group identifier.","example":"a7d1349d-34b5-4c65-b671-d1aa362fc446"},"status":{"type":"string","description":"Current status of the group","example":"done"},"tasks":{"type":"array","items":{"$ref":"#/definitions/TaskStateResponseBody"},"description":"Array of TaskState","example":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}},"example":{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}},"TaskCreateResponseBody":{"title":"TaskCreateResponseBody","type":"object","properties":{"taskID":{"type":"string","description":"Unique task identifier.","example":"Sit asperiores."}},"example":{"taskID":"Iste suscipit exercitationem facilis distinctio asperiores ut."},"required":["taskID"]},"TaskListCreateResponseBody":{"title":"TaskListCreateResponseBody","type":"object","properties":{"taskListID":{"type":"string","description":"Unique taskList identifier.","example":"Ducimus velit."}},"example":{"taskListID":"Et occaecati placeat."},"required":["taskListID"]},"TaskListTaskListResultAcceptedResponseBody":{"title":"TaskListTaskListResultAcceptedResponseBody","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/GroupStateResponseBody"},"description":"Array of GroupState","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskListTaskListResultCreatedResponseBody":{"title":"TaskListTaskListResultCreatedResponseBody","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/GroupStateResponseBody"},"description":"Array of GroupState","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskListTaskListResultMultiStatusResponseBody":{"title":"TaskListTaskListResultMultiStatusResponseBody","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/GroupStateResponseBody"},"description":"Array of GroupState","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskListTaskListResultOKResponseBody":{"title":"TaskListTaskListResultOKResponseBody","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/GroupStateResponseBody"},"description":"Array of GroupState","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskStateResponseBody":{"title":"TaskStateResponseBody","type":"object","properties":{"id":{"type":"string","description":"Unique task identifier.","example":"d16996cd-1977-42a9-90b2-b4548a35c1b4"},"status":{"type":"string","description":"Current status of the task","example":"done"}},"example":{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}}}}
\ No newline at end of file
{"swagger":"2.0","info":{"title":"Task Service","description":"The task service is executing tasks created from policies.","version":""},"host":"localhost:8082","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/v1/task/{taskName}":{"post":{"tags":["task"],"summary":"Create task","description":"Create a task and put it in a queue for execution.","operationId":"task#Create","parameters":[{"name":"taskName","in":"path","description":"Task name.","required":true,"type":"string"},{"name":"x-cache-namespace","in":"header","description":"Cache key namespace","required":false,"type":"string"},{"name":"x-cache-scope","in":"header","description":"Cache key scope","required":false,"type":"string"},{"name":"any","in":"body","description":"Data contains JSON payload that will be used for task execution.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/TaskCreateResponseBody","required":["taskID"]}}},"schemes":["http"]}},"/v1/taskList/{taskListName}":{"post":{"tags":["taskList"],"summary":"Create taskList","description":"Create a task list and corresponding tasks and put them in respective queues for execution.","operationId":"taskList#Create","parameters":[{"name":"taskListName","in":"path","description":"TaskList name.","required":true,"type":"string"},{"name":"x-cache-namespace","in":"header","description":"Cache key namespace","required":false,"type":"string"},{"name":"x-cache-scope","in":"header","description":"Cache key scope","required":false,"type":"string"},{"name":"any","in":"body","description":"Data contains JSON payload that will be used for taskList execution.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/TaskListCreateResponseBody","required":["taskListID"]}}},"schemes":["http"]}},"/v1/taskListResult/{taskListID}":{"get":{"tags":["taskList"],"summary":"TaskListResult taskList","description":"TaskListResult retrieves a taskList result containing all tasks' unique IDs and statuses from the Cache service.","operationId":"taskList#TaskListResult","parameters":[{"name":"taskListID","in":"path","description":"Unique taskList identifier.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/TaskListTaskListResultOKResponseBody","required":["id","status"]}},"201":{"description":"Created response.","schema":{"$ref":"#/definitions/TaskListTaskListResultCreatedResponseBody","required":["id","status"]}},"202":{"description":"Accepted response.","schema":{"$ref":"#/definitions/TaskListTaskListResultAcceptedResponseBody","required":["id","status"]}},"207":{"description":"Multi-Status response.","schema":{"$ref":"#/definitions/TaskListTaskListResultMultiStatusResponseBody","required":["id","status"]}}},"schemes":["http"]}},"/v1/taskResult/{taskID}":{"get":{"tags":["task"],"summary":"TaskResult task","description":"TaskResult retrieves task result from the Cache service.","operationId":"task#TaskResult","parameters":[{"name":"taskID","in":"path","description":"Unique task identifier.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"}}},"schemes":["http"]}}},"definitions":{"GroupStatusResponseBody":{"title":"GroupStatusResponseBody","type":"object","properties":{"id":{"type":"string","description":"Unique group identifier.","example":"a7d1349d-34b5-4c65-b671-d1aa362fc446"},"status":{"type":"string","description":"Current status of the group","example":"done"},"tasks":{"type":"array","items":{"$ref":"#/definitions/TaskStatusResponseBody"},"description":"Array of TaskStatus","example":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}},"example":{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}},"TaskCreateResponseBody":{"title":"TaskCreateResponseBody","type":"object","properties":{"taskID":{"type":"string","description":"Unique task identifier.","example":"Sit asperiores."}},"example":{"taskID":"Iste suscipit exercitationem facilis distinctio asperiores ut."},"required":["taskID"]},"TaskListCreateResponseBody":{"title":"TaskListCreateResponseBody","type":"object","properties":{"taskListID":{"type":"string","description":"Unique taskList identifier.","example":"Ducimus velit."}},"example":{"taskListID":"Et occaecati placeat."},"required":["taskListID"]},"TaskListTaskListResultAcceptedResponseBody":{"title":"TaskListTaskListResultAcceptedResponseBody","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/GroupStatusResponseBody"},"description":"Array of GroupStatus","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskListTaskListResultCreatedResponseBody":{"title":"TaskListTaskListResultCreatedResponseBody","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/GroupStatusResponseBody"},"description":"Array of GroupStatus","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskListTaskListResultMultiStatusResponseBody":{"title":"TaskListTaskListResultMultiStatusResponseBody","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/GroupStatusResponseBody"},"description":"Array of GroupStatus","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskListTaskListResultOKResponseBody":{"title":"TaskListTaskListResultOKResponseBody","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/GroupStatusResponseBody"},"description":"Array of GroupStatus","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskStatusResponseBody":{"title":"TaskStatusResponseBody","type":"object","properties":{"id":{"type":"string","description":"Unique task identifier.","example":"d16996cd-1977-42a9-90b2-b4548a35c1b4"},"status":{"type":"string","description":"Current status of the task","example":"done"}},"example":{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}}}}
\ No newline at end of file
......@@ -181,8 +181,8 @@ paths:
schemes:
- http
definitions:
GroupStateResponseBody:
title: GroupStateResponseBody
GroupStatusResponseBody:
title: GroupStatusResponseBody
type: object
properties:
id:
......@@ -196,8 +196,8 @@ definitions:
tasks:
type: array
items:
$ref: '#/definitions/TaskStateResponseBody'
description: Array of TaskState
$ref: '#/definitions/TaskStatusResponseBody'
description: Array of TaskStatus
example:
- id: d16996cd-1977-42a9-90b2-b4548a35c1b4
status: done
......@@ -246,8 +246,8 @@ definitions:
groups:
type: array
items:
$ref: '#/definitions/GroupStateResponseBody'
description: Array of GroupState
$ref: '#/definitions/GroupStatusResponseBody'
description: Array of GroupStatus
example:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
status: done
......@@ -307,8 +307,8 @@ definitions:
groups:
type: array
items:
$ref: '#/definitions/GroupStateResponseBody'
description: Array of GroupState
$ref: '#/definitions/GroupStatusResponseBody'
description: Array of GroupStatus
example:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
status: done
......@@ -377,8 +377,8 @@ definitions:
groups:
type: array
items:
$ref: '#/definitions/GroupStateResponseBody'
description: Array of GroupState
$ref: '#/definitions/GroupStatusResponseBody'
description: Array of GroupStatus
example:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
status: done
......@@ -447,8 +447,8 @@ definitions:
groups:
type: array
items:
$ref: '#/definitions/GroupStateResponseBody'
description: Array of GroupState
$ref: '#/definitions/GroupStatusResponseBody'
description: Array of GroupStatus
example:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
status: done
......@@ -519,8 +519,8 @@ definitions:
required:
- id
- status
TaskStateResponseBody:
title: TaskStateResponseBody
TaskStatusResponseBody:
title: TaskStatusResponseBody
type: object
properties:
id:
......
{"openapi":"3.0.3","info":{"title":"Task Service","description":"The task service is executing tasks created from policies.","version":"1.0"},"servers":[{"url":"http://localhost:8082","description":"Task Server"}],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}}}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}}}},"/v1/task/{taskName}":{"post":{"tags":["task"],"summary":"Create task","description":"Create a task and put it in a queue for execution.","operationId":"task#Create","parameters":[{"name":"taskName","in":"path","description":"Task name.","required":true,"schema":{"type":"string","description":"Task name.","example":"Voluptas laudantium incidunt autem eaque."},"example":"Fugit ut eius sint earum."},{"name":"x-cache-namespace","in":"header","description":"Cache key namespace","allowEmptyValue":true,"schema":{"type":"string","description":"Cache key namespace","example":"login"},"example":"login"},{"name":"x-cache-scope","in":"header","description":"Cache key scope","allowEmptyValue":true,"schema":{"type":"string","description":"Cache key scope","example":"user"},"example":"user"}],"requestBody":{"description":"Data contains JSON payload that will be used for task execution.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Data contains JSON payload that will be used for task execution.","example":"Quos aut tempore enim porro.","format":"binary"},"example":"Consequatur nulla praesentium totam."}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskResult"},"example":{"taskID":"Harum aut autem aliquam dolorem non soluta."}}}}}}},"/v1/taskList/{taskListName}":{"post":{"tags":["taskList"],"summary":"Create taskList","description":"Create a task list and corresponding tasks and put them in respective queues for execution.","operationId":"taskList#Create","parameters":[{"name":"taskListName","in":"path","description":"TaskList name.","required":true,"schema":{"type":"string","description":"TaskList name.","example":"Earum laborum accusamus id nihil."},"example":"Est eveniet dolores."},{"name":"x-cache-namespace","in":"header","description":"Cache key namespace","allowEmptyValue":true,"schema":{"type":"string","description":"Cache key namespace","example":"login"},"example":"login"},{"name":"x-cache-scope","in":"header","description":"Cache key scope","allowEmptyValue":true,"schema":{"type":"string","description":"Cache key scope","example":"user"},"example":"user"}],"requestBody":{"description":"Data contains JSON payload that will be used for taskList execution.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Data contains JSON payload that will be used for taskList execution.","example":"Excepturi non.","format":"binary"},"example":"Laboriosam cumque."}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskListResult"},"example":{"taskListID":"Et officiis aut."}}}}}}},"/v1/taskListResult/{taskListID}":{"get":{"tags":["taskList"],"summary":"TaskListResult taskList","description":"TaskListResult retrieves a taskList result containing all tasks' unique IDs and statuses from the Cache service.","operationId":"taskList#TaskListResult","parameters":[{"name":"taskListID","in":"path","description":"Unique taskList identifier.","required":true,"schema":{"type":"string","description":"Unique taskList identifier.","example":"Omnis optio magni sunt aliquid et."},"example":"Dignissimos doloribus rerum occaecati quia ut."}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListState"},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"}}}},"201":{"description":"Created response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListState"},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"}}}},"202":{"description":"Accepted response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListState"},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"}}}},"207":{"description":"Multi-Status response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListState"},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"}}}}}}},"/v1/taskResult/{taskID}":{"get":{"tags":["task"],"summary":"TaskResult task","description":"TaskResult retrieves task result from the Cache service.","operationId":"task#TaskResult","parameters":[{"name":"taskID","in":"path","description":"Unique task identifier.","required":true,"schema":{"type":"string","description":"Unique task identifier.","example":"Doloremque earum aliquid ipsa."},"example":"Voluptas odit voluptate nobis nam quia quae."}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"type":"string","example":"Voluptatem iure qui facilis aut.","format":"binary"},"example":"Maxime facilis."}}}}}}},"components":{"schemas":{"CreateTaskListResult":{"type":"object","properties":{"taskListID":{"type":"string","description":"Unique taskList identifier.","example":"Ut et est aut quae magnam."}},"example":{"taskListID":"Amet sapiente qui non."},"required":["taskListID"]},"CreateTaskResult":{"type":"object","properties":{"taskID":{"type":"string","description":"Unique task identifier.","example":"Qui vitae."}},"example":{"taskID":"Eligendi officiis repudiandae excepturi in ex ratione."},"required":["taskID"]},"GroupState":{"type":"object","properties":{"id":{"type":"string","description":"Unique group identifier.","example":"a7d1349d-34b5-4c65-b671-d1aa362fc446"},"status":{"type":"string","description":"Current status of the group","example":"done"},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskState"},"description":"Array of TaskState","example":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}},"example":{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}},"TaskListState":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupState"},"description":"Array of GroupState","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskState":{"type":"object","properties":{"id":{"type":"string","description":"Unique task identifier.","example":"d16996cd-1977-42a9-90b2-b4548a35c1b4"},"status":{"type":"string","description":"Current status of the task","example":"done"}},"example":{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}}}},"tags":[{"name":"health","description":"Health service provides health check endpoints."},{"name":"task","description":"Task service provides endpoints to work with tasks."},{"name":"taskList","description":"TaskList service provides endpoints to work with task lists."}]}
\ No newline at end of file
{"openapi":"3.0.3","info":{"title":"Task Service","description":"The task service is executing tasks created from policies.","version":"1.0"},"servers":[{"url":"http://localhost:8082","description":"Task Server"}],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}}}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}}}},"/v1/task/{taskName}":{"post":{"tags":["task"],"summary":"Create task","description":"Create a task and put it in a queue for execution.","operationId":"task#Create","parameters":[{"name":"taskName","in":"path","description":"Task name.","required":true,"schema":{"type":"string","description":"Task name.","example":"Voluptas laudantium incidunt autem eaque."},"example":"Fugit ut eius sint earum."},{"name":"x-cache-namespace","in":"header","description":"Cache key namespace","allowEmptyValue":true,"schema":{"type":"string","description":"Cache key namespace","example":"login"},"example":"login"},{"name":"x-cache-scope","in":"header","description":"Cache key scope","allowEmptyValue":true,"schema":{"type":"string","description":"Cache key scope","example":"user"},"example":"user"}],"requestBody":{"description":"Data contains JSON payload that will be used for task execution.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Data contains JSON payload that will be used for task execution.","example":"Quos aut tempore enim porro.","format":"binary"},"example":"Consequatur nulla praesentium totam."}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskResult"},"example":{"taskID":"Harum aut autem aliquam dolorem non soluta."}}}}}}},"/v1/taskList/{taskListName}":{"post":{"tags":["taskList"],"summary":"Create taskList","description":"Create a task list and corresponding tasks and put them in respective queues for execution.","operationId":"taskList#Create","parameters":[{"name":"taskListName","in":"path","description":"TaskList name.","required":true,"schema":{"type":"string","description":"TaskList name.","example":"Earum laborum accusamus id nihil."},"example":"Est eveniet dolores."},{"name":"x-cache-namespace","in":"header","description":"Cache key namespace","allowEmptyValue":true,"schema":{"type":"string","description":"Cache key namespace","example":"login"},"example":"login"},{"name":"x-cache-scope","in":"header","description":"Cache key scope","allowEmptyValue":true,"schema":{"type":"string","description":"Cache key scope","example":"user"},"example":"user"}],"requestBody":{"description":"Data contains JSON payload that will be used for taskList execution.","required":true,"content":{"application/json":{"schema":{"type":"string","description":"Data contains JSON payload that will be used for taskList execution.","example":"Excepturi non.","format":"binary"},"example":"Laboriosam cumque."}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskListResult"},"example":{"taskListID":"Et officiis aut."}}}}}}},"/v1/taskListResult/{taskListID}":{"get":{"tags":["taskList"],"summary":"TaskListResult taskList","description":"TaskListResult retrieves a taskList result containing all tasks' unique IDs and statuses from the Cache service.","operationId":"taskList#TaskListResult","parameters":[{"name":"taskListID","in":"path","description":"Unique taskList identifier.","required":true,"schema":{"type":"string","description":"Unique taskList identifier.","example":"Omnis optio magni sunt aliquid et."},"example":"Dignissimos doloribus rerum occaecati quia ut."}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListStatus"},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"}}}},"201":{"description":"Created response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListStatus"},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"}}}},"202":{"description":"Accepted response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListStatus"},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"}}}},"207":{"description":"Multi-Status response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListStatus"},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"}}}}}}},"/v1/taskResult/{taskID}":{"get":{"tags":["task"],"summary":"TaskResult task","description":"TaskResult retrieves task result from the Cache service.","operationId":"task#TaskResult","parameters":[{"name":"taskID","in":"path","description":"Unique task identifier.","required":true,"schema":{"type":"string","description":"Unique task identifier.","example":"Doloremque earum aliquid ipsa."},"example":"Voluptas odit voluptate nobis nam quia quae."}],"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"type":"string","example":"Voluptatem iure qui facilis aut.","format":"binary"},"example":"Maxime facilis."}}}}}}},"components":{"schemas":{"CreateTaskListResult":{"type":"object","properties":{"taskListID":{"type":"string","description":"Unique taskList identifier.","example":"Ut et est aut quae magnam."}},"example":{"taskListID":"Amet sapiente qui non."},"required":["taskListID"]},"CreateTaskResult":{"type":"object","properties":{"taskID":{"type":"string","description":"Unique task identifier.","example":"Qui vitae."}},"example":{"taskID":"Eligendi officiis repudiandae excepturi in ex ratione."},"required":["taskID"]},"GroupStatus":{"type":"object","properties":{"id":{"type":"string","description":"Unique group identifier.","example":"a7d1349d-34b5-4c65-b671-d1aa362fc446"},"status":{"type":"string","description":"Current status of the group","example":"done"},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatus"},"description":"Array of TaskStatus","example":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}},"example":{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}},"TaskListStatus":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupStatus"},"description":"Array of GroupStatus","example":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}]},"id":{"type":"string","description":"Unique taskList identifier.","example":"9cc9f504-2b7f-4e24-ac59-653e9533840a"},"status":{"type":"string","description":"Current status of the taskList","example":"done"}},"example":{"groups":[{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]},{"id":"a7d1349d-34b5-4c65-b671-d1aa362fc446","status":"done","tasks":[{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"},{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}]}],"id":"9cc9f504-2b7f-4e24-ac59-653e9533840a","status":"done"},"required":["id","status"]},"TaskStatus":{"type":"object","properties":{"id":{"type":"string","description":"Unique task identifier.","example":"d16996cd-1977-42a9-90b2-b4548a35c1b4"},"status":{"type":"string","description":"Current status of the task","example":"done"}},"example":{"id":"d16996cd-1977-42a9-90b2-b4548a35c1b4","status":"done"}}}},"tags":[{"name":"health","description":"Health service provides health check endpoints."},{"name":"task","description":"Task service provides endpoints to work with tasks."},{"name":"taskList","description":"TaskList service provides endpoints to work with task lists."}]}
\ No newline at end of file
......@@ -161,7 +161,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskListState'
$ref: '#/components/schemas/TaskListStatus'
example:
groups:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
......@@ -189,7 +189,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskListState'
$ref: '#/components/schemas/TaskListStatus'
example:
groups:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
......@@ -217,7 +217,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskListState'
$ref: '#/components/schemas/TaskListStatus'
example:
groups:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
......@@ -263,7 +263,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskListState'
$ref: '#/components/schemas/TaskListStatus'
example:
groups:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
......@@ -355,7 +355,7 @@ components:
taskID: Eligendi officiis repudiandae excepturi in ex ratione.
required:
- taskID
GroupState:
GroupStatus:
type: object
properties:
id:
......@@ -369,8 +369,8 @@ components:
tasks:
type: array
items:
$ref: '#/components/schemas/TaskState'
description: Array of TaskState
$ref: '#/components/schemas/TaskStatus'
description: Array of TaskStatus
example:
- id: d16996cd-1977-42a9-90b2-b4548a35c1b4
status: done
......@@ -390,14 +390,14 @@ components:
status: done
- id: d16996cd-1977-42a9-90b2-b4548a35c1b4
status: done
TaskListState:
TaskListStatus:
type: object
properties:
groups:
type: array
items:
$ref: '#/components/schemas/GroupState'
description: Array of GroupState
$ref: '#/components/schemas/GroupStatus'
description: Array of GroupStatus
example:
- id: a7d1349d-34b5-4c65-b671-d1aa362fc446
status: done
......@@ -477,7 +477,7 @@ components:
required:
- id
- status
TaskState:
TaskStatus:
type: object
properties:
id:
......
......@@ -163,7 +163,7 @@ func DecodeTaskListResultResponse(decoder func(*http.Response) goahttp.Decoder,
if err != nil {
return nil, goahttp.ErrValidationError("taskList", "TaskListResult", err)
}
res := NewTaskListResultTaskListStateMultiStatus(&body)
res := NewTaskListResultTaskListStatusMultiStatus(&body)
res.Status = "failed"
return res, nil
case http.StatusCreated:
......@@ -179,7 +179,7 @@ func DecodeTaskListResultResponse(decoder func(*http.Response) goahttp.Decoder,
if err != nil {
return nil, goahttp.ErrValidationError("taskList", "TaskListResult", err)
}
res := NewTaskListResultTaskListStateCreated(&body)
res := NewTaskListResultTaskListStatusCreated(&body)
res.Status = "created"
return res, nil
case http.StatusAccepted:
......@@ -195,7 +195,7 @@ func DecodeTaskListResultResponse(decoder func(*http.Response) goahttp.Decoder,
if err != nil {
return nil, goahttp.ErrValidationError("taskList", "TaskListResult", err)
}
res := NewTaskListResultTaskListStateAccepted(&body)
res := NewTaskListResultTaskListStatusAccepted(&body)
res.Status = "pending"
return res, nil
case http.StatusOK:
......@@ -211,7 +211,7 @@ func DecodeTaskListResultResponse(decoder func(*http.Response) goahttp.Decoder,
if err != nil {
return nil, goahttp.ErrValidationError("taskList", "TaskListResult", err)
}
res := NewTaskListResultTaskListStateOK(&body)
res := NewTaskListResultTaskListStatusOK(&body)
return res, nil
default:
body, _ := ioutil.ReadAll(resp.Body)
......@@ -220,33 +220,33 @@ func DecodeTaskListResultResponse(decoder func(*http.Response) goahttp.Decoder,
}
}
// unmarshalGroupStateResponseBodyToTasklistGroupState builds a value of type
// *tasklist.GroupState from a value of type *GroupStateResponseBody.
func unmarshalGroupStateResponseBodyToTasklistGroupState(v *GroupStateResponseBody) *tasklist.GroupState {
// unmarshalGroupStatusResponseBodyToTasklistGroupStatus builds a value of type
// *tasklist.GroupStatus from a value of type *GroupStatusResponseBody.
func unmarshalGroupStatusResponseBodyToTasklistGroupStatus(v *GroupStatusResponseBody) *tasklist.GroupStatus {
if v == nil {
return nil
}
res := &tasklist.GroupState{
res := &tasklist.GroupStatus{
ID: v.ID,
Status: v.Status,
}
if v.Tasks != nil {
res.Tasks = make([]*tasklist.TaskState, len(v.Tasks))
res.Tasks = make([]*tasklist.TaskStatus, len(v.Tasks))
for i, val := range v.Tasks {
res.Tasks[i] = unmarshalTaskStateResponseBodyToTasklistTaskState(val)
res.Tasks[i] = unmarshalTaskStatusResponseBodyToTasklistTaskStatus(val)
}
}
return res
}
// unmarshalTaskStateResponseBodyToTasklistTaskState builds a value of type
// *tasklist.TaskState from a value of type *TaskStateResponseBody.
func unmarshalTaskStateResponseBodyToTasklistTaskState(v *TaskStateResponseBody) *tasklist.TaskState {
// unmarshalTaskStatusResponseBodyToTasklistTaskStatus builds a value of type
// *tasklist.TaskStatus from a value of type *TaskStatusResponseBody.
func unmarshalTaskStatusResponseBodyToTasklistTaskStatus(v *TaskStatusResponseBody) *tasklist.TaskStatus {
if v == nil {
return nil
}
res := &tasklist.TaskState{
res := &tasklist.TaskStatus{
ID: v.ID,
Status: v.Status,
}
......
......@@ -26,8 +26,8 @@ type TaskListResultMultiStatusResponseBody struct {
ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
// Current status of the taskList
Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
// Array of GroupState
Groups []*GroupStateResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
// Array of GroupStatus
Groups []*GroupStatusResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
}
// TaskListResultCreatedResponseBody is the type of the "taskList" service
......@@ -37,8 +37,8 @@ type TaskListResultCreatedResponseBody struct {
ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
// Current status of the taskList
Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
// Array of GroupState
Groups []*GroupStateResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
// Array of GroupStatus
Groups []*GroupStatusResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
}
// TaskListResultAcceptedResponseBody is the type of the "taskList" service
......@@ -48,8 +48,8 @@ type TaskListResultAcceptedResponseBody struct {
ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
// Current status of the taskList
Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
// Array of GroupState
Groups []*GroupStateResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
// Array of GroupStatus
Groups []*GroupStatusResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
}
// TaskListResultOKResponseBody is the type of the "taskList" service
......@@ -59,22 +59,22 @@ type TaskListResultOKResponseBody struct {
ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
// Current status of the taskList
Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
// Array of GroupState
Groups []*GroupStateResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
// Array of GroupStatus
Groups []*GroupStatusResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
}
// GroupStateResponseBody is used to define fields on response body types.
type GroupStateResponseBody struct {
// GroupStatusResponseBody is used to define fields on response body types.
type GroupStatusResponseBody struct {
// Unique group identifier.
ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
// Current status of the group
Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
// Array of TaskState
Tasks []*TaskStateResponseBody `form:"tasks,omitempty" json:"tasks,omitempty" xml:"tasks,omitempty"`
// Array of TaskStatus
Tasks []*TaskStatusResponseBody `form:"tasks,omitempty" json:"tasks,omitempty" xml:"tasks,omitempty"`
}
// TaskStateResponseBody is used to define fields on response body types.
type TaskStateResponseBody struct {
// TaskStatusResponseBody is used to define fields on response body types.
type TaskStatusResponseBody struct {
// Unique task identifier.
ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
// Current status of the task
......@@ -91,68 +91,68 @@ func NewCreateTaskListResultOK(body *CreateResponseBody) *tasklist.CreateTaskLis
return v
}
// NewTaskListResultTaskListStateMultiStatus builds a "taskList" service
// NewTaskListResultTaskListStatusMultiStatus builds a "taskList" service
// "TaskListResult" endpoint result from a HTTP "MultiStatus" response.
func NewTaskListResultTaskListStateMultiStatus(body *TaskListResultMultiStatusResponseBody) *tasklist.TaskListState {
v := &tasklist.TaskListState{
func NewTaskListResultTaskListStatusMultiStatus(body *TaskListResultMultiStatusResponseBody) *tasklist.TaskListStatus {
v := &tasklist.TaskListStatus{
ID: *body.ID,
Status: *body.Status,
}
if body.Groups != nil {
v.Groups = make([]*tasklist.GroupState, len(body.Groups))
v.Groups = make([]*tasklist.GroupStatus, len(body.Groups))
for i, val := range body.Groups {
v.Groups[i] = unmarshalGroupStateResponseBodyToTasklistGroupState(val)
v.Groups[i] = unmarshalGroupStatusResponseBodyToTasklistGroupStatus(val)
}
}
return v
}
// NewTaskListResultTaskListStateCreated builds a "taskList" service
// NewTaskListResultTaskListStatusCreated builds a "taskList" service
// "TaskListResult" endpoint result from a HTTP "Created" response.
func NewTaskListResultTaskListStateCreated(body *TaskListResultCreatedResponseBody) *tasklist.TaskListState {
v := &tasklist.TaskListState{
func NewTaskListResultTaskListStatusCreated(body *TaskListResultCreatedResponseBody) *tasklist.TaskListStatus {
v := &tasklist.TaskListStatus{
ID: *body.ID,
Status: *body.Status,
}
if body.Groups != nil {
v.Groups = make([]*tasklist.GroupState, len(body.Groups))
v.Groups = make([]*tasklist.GroupStatus, len(body.Groups))
for i, val := range body.Groups {
v.Groups[i] = unmarshalGroupStateResponseBodyToTasklistGroupState(val)
v.Groups[i] = unmarshalGroupStatusResponseBodyToTasklistGroupStatus(val)
}
}
return v
}
// NewTaskListResultTaskListStateAccepted builds a "taskList" service
// NewTaskListResultTaskListStatusAccepted builds a "taskList" service
// "TaskListResult" endpoint result from a HTTP "Accepted" response.
func NewTaskListResultTaskListStateAccepted(body *TaskListResultAcceptedResponseBody) *tasklist.TaskListState {
v := &tasklist.TaskListState{
func NewTaskListResultTaskListStatusAccepted(body *TaskListResultAcceptedResponseBody) *tasklist.TaskListStatus {
v := &tasklist.TaskListStatus{
ID: *body.ID,
Status: *body.Status,
}
if body.Groups != nil {
v.Groups = make([]*tasklist.GroupState, len(body.Groups))
v.Groups = make([]*tasklist.GroupStatus, len(body.Groups))
for i, val := range body.Groups {
v.Groups[i] = unmarshalGroupStateResponseBodyToTasklistGroupState(val)
v.Groups[i] = unmarshalGroupStatusResponseBodyToTasklistGroupStatus(val)
}
}
return v
}
// NewTaskListResultTaskListStateOK builds a "taskList" service
// NewTaskListResultTaskListStatusOK builds a "taskList" service
// "TaskListResult" endpoint result from a HTTP "OK" response.
func NewTaskListResultTaskListStateOK(body *TaskListResultOKResponseBody) *tasklist.TaskListState {
v := &tasklist.TaskListState{
func NewTaskListResultTaskListStatusOK(body *TaskListResultOKResponseBody) *tasklist.TaskListStatus {
v := &tasklist.TaskListStatus{
ID: *body.ID,
Status: *body.Status,
}
if body.Groups != nil {
v.Groups = make([]*tasklist.GroupState, len(body.Groups))
v.Groups = make([]*tasklist.GroupStatus, len(body.Groups))
for i, val := range body.Groups {
v.Groups[i] = unmarshalGroupStateResponseBodyToTasklistGroupState(val)
v.Groups[i] = unmarshalGroupStatusResponseBodyToTasklistGroupStatus(val)
}
}
......
......@@ -71,7 +71,7 @@ func DecodeCreateRequest(mux goahttp.Muxer, decoder func(*http.Request) goahttp.
// the taskList TaskListResult endpoint.
func EncodeTaskListResultResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, interface{}) error {
return func(ctx context.Context, w http.ResponseWriter, v interface{}) error {
res, _ := v.(*tasklist.TaskListState)
res, _ := v.(*tasklist.TaskListStatus)
if res.Status == "failed" {
enc := encoder(ctx, w)
body := NewTaskListResultMultiStatusResponseBody(res)
......@@ -113,33 +113,33 @@ func DecodeTaskListResultRequest(mux goahttp.Muxer, decoder func(*http.Request)
}
}
// marshalTasklistGroupStateToGroupStateResponseBody builds a value of type
// *GroupStateResponseBody from a value of type *tasklist.GroupState.
func marshalTasklistGroupStateToGroupStateResponseBody(v *tasklist.GroupState) *GroupStateResponseBody {
// marshalTasklistGroupStatusToGroupStatusResponseBody builds a value of type
// *GroupStatusResponseBody from a value of type *tasklist.GroupStatus.
func marshalTasklistGroupStatusToGroupStatusResponseBody(v *tasklist.GroupStatus) *GroupStatusResponseBody {
if v == nil {
return nil
}
res := &GroupStateResponseBody{
res := &GroupStatusResponseBody{
ID: v.ID,
Status: v.Status,
}
if v.Tasks != nil {
res.Tasks = make([]*TaskStateResponseBody, len(v.Tasks))
res.Tasks = make([]*TaskStatusResponseBody, len(v.Tasks))
for i, val := range v.Tasks {
res.Tasks[i] = marshalTasklistTaskStateToTaskStateResponseBody(val)
res.Tasks[i] = marshalTasklistTaskStatusToTaskStatusResponseBody(val)
}
}
return res
}
// marshalTasklistTaskStateToTaskStateResponseBody builds a value of type
// *TaskStateResponseBody from a value of type *tasklist.TaskState.
func marshalTasklistTaskStateToTaskStateResponseBody(v *tasklist.TaskState) *TaskStateResponseBody {
// marshalTasklistTaskStatusToTaskStatusResponseBody builds a value of type
// *TaskStatusResponseBody from a value of type *tasklist.TaskStatus.
func marshalTasklistTaskStatusToTaskStatusResponseBody(v *tasklist.TaskStatus) *TaskStatusResponseBody {
if v == nil {
return nil
}
res := &TaskStateResponseBody{
res := &TaskStatusResponseBody{
ID: v.ID,
Status: v.Status,
}
......
......@@ -25,8 +25,8 @@ type TaskListResultMultiStatusResponseBody struct {
ID string `form:"id" json:"id" xml:"id"`
// Current status of the taskList
Status string `form:"status" json:"status" xml:"status"`
// Array of GroupState
Groups []*GroupStateResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
// Array of GroupStatus
Groups []*GroupStatusResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
}
// TaskListResultCreatedResponseBody is the type of the "taskList" service
......@@ -36,8 +36,8 @@ type TaskListResultCreatedResponseBody struct {
ID string `form:"id" json:"id" xml:"id"`
// Current status of the taskList
Status string `form:"status" json:"status" xml:"status"`
// Array of GroupState
Groups []*GroupStateResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
// Array of GroupStatus
Groups []*GroupStatusResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
}
// TaskListResultAcceptedResponseBody is the type of the "taskList" service
......@@ -47,8 +47,8 @@ type TaskListResultAcceptedResponseBody struct {
ID string `form:"id" json:"id" xml:"id"`
// Current status of the taskList
Status string `form:"status" json:"status" xml:"status"`
// Array of GroupState
Groups []*GroupStateResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
// Array of GroupStatus
Groups []*GroupStatusResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
}
// TaskListResultOKResponseBody is the type of the "taskList" service
......@@ -58,22 +58,22 @@ type TaskListResultOKResponseBody struct {
ID string `form:"id" json:"id" xml:"id"`
// Current status of the taskList
Status string `form:"status" json:"status" xml:"status"`
// Array of GroupState
Groups []*GroupStateResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
// Array of GroupStatus
Groups []*GroupStatusResponseBody `form:"groups,omitempty" json:"groups,omitempty" xml:"groups,omitempty"`
}
// GroupStateResponseBody is used to define fields on response body types.
type GroupStateResponseBody struct {
// GroupStatusResponseBody is used to define fields on response body types.
type GroupStatusResponseBody struct {
// Unique group identifier.
ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
// Current status of the group
Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
// Array of TaskState
Tasks []*TaskStateResponseBody `form:"tasks,omitempty" json:"tasks,omitempty" xml:"tasks,omitempty"`
// Array of TaskStatus
Tasks []*TaskStatusResponseBody `form:"tasks,omitempty" json:"tasks,omitempty" xml:"tasks,omitempty"`
}
// TaskStateResponseBody is used to define fields on response body types.
type TaskStateResponseBody struct {
// TaskStatusResponseBody is used to define fields on response body types.
type TaskStatusResponseBody struct {
// Unique task identifier.
ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
// Current status of the task
......@@ -91,15 +91,15 @@ func NewCreateResponseBody(res *tasklist.CreateTaskListResult) *CreateResponseBo
// NewTaskListResultMultiStatusResponseBody builds the HTTP response body from
// the result of the "TaskListResult" endpoint of the "taskList" service.
func NewTaskListResultMultiStatusResponseBody(res *tasklist.TaskListState) *TaskListResultMultiStatusResponseBody {
func NewTaskListResultMultiStatusResponseBody(res *tasklist.TaskListStatus) *TaskListResultMultiStatusResponseBody {
body := &TaskListResultMultiStatusResponseBody{
ID: res.ID,
Status: res.Status,
}
if res.Groups != nil {
body.Groups = make([]*GroupStateResponseBody, len(res.Groups))
body.Groups = make([]*GroupStatusResponseBody, len(res.Groups))
for i, val := range res.Groups {
body.Groups[i] = marshalTasklistGroupStateToGroupStateResponseBody(val)
body.Groups[i] = marshalTasklistGroupStatusToGroupStatusResponseBody(val)
}
}
return body
......@@ -107,15 +107,15 @@ func NewTaskListResultMultiStatusResponseBody(res *tasklist.TaskListState) *Task
// NewTaskListResultCreatedResponseBody builds the HTTP response body from the
// result of the "TaskListResult" endpoint of the "taskList" service.
func NewTaskListResultCreatedResponseBody(res *tasklist.TaskListState) *TaskListResultCreatedResponseBody {
func NewTaskListResultCreatedResponseBody(res *tasklist.TaskListStatus) *TaskListResultCreatedResponseBody {
body := &TaskListResultCreatedResponseBody{
ID: res.ID,
Status: res.Status,
}
if res.Groups != nil {
body.Groups = make([]*GroupStateResponseBody, len(res.Groups))
body.Groups = make([]*GroupStatusResponseBody, len(res.Groups))
for i, val := range res.Groups {
body.Groups[i] = marshalTasklistGroupStateToGroupStateResponseBody(val)
body.Groups[i] = marshalTasklistGroupStatusToGroupStatusResponseBody(val)
}
}
return body
......@@ -123,15 +123,15 @@ func NewTaskListResultCreatedResponseBody(res *tasklist.TaskListState) *TaskList
// NewTaskListResultAcceptedResponseBody builds the HTTP response body from the
// result of the "TaskListResult" endpoint of the "taskList" service.
func NewTaskListResultAcceptedResponseBody(res *tasklist.TaskListState) *TaskListResultAcceptedResponseBody {
func NewTaskListResultAcceptedResponseBody(res *tasklist.TaskListStatus) *TaskListResultAcceptedResponseBody {
body := &TaskListResultAcceptedResponseBody{
ID: res.ID,
Status: res.Status,
}
if res.Groups != nil {
body.Groups = make([]*GroupStateResponseBody, len(res.Groups))
body.Groups = make([]*GroupStatusResponseBody, len(res.Groups))
for i, val := range res.Groups {
body.Groups[i] = marshalTasklistGroupStateToGroupStateResponseBody(val)
body.Groups[i] = marshalTasklistGroupStatusToGroupStatusResponseBody(val)
}
}
return body
......@@ -139,15 +139,15 @@ func NewTaskListResultAcceptedResponseBody(res *tasklist.TaskListState) *TaskLis
// NewTaskListResultOKResponseBody builds the HTTP response body from the
// result of the "TaskListResult" endpoint of the "taskList" service.
func NewTaskListResultOKResponseBody(res *tasklist.TaskListState) *TaskListResultOKResponseBody {
func NewTaskListResultOKResponseBody(res *tasklist.TaskListStatus) *TaskListResultOKResponseBody {
body := &TaskListResultOKResponseBody{
ID: res.ID,
Status: res.Status,
}
if res.Groups != nil {
body.Groups = make([]*GroupStateResponseBody, len(res.Groups))
body.Groups = make([]*GroupStatusResponseBody, len(res.Groups))
for i, val := range res.Groups {
body.Groups[i] = marshalTasklistGroupStateToGroupStateResponseBody(val)
body.Groups[i] = marshalTasklistGroupStatusToGroupStatusResponseBody(val)
}
}
return body
......
......@@ -38,11 +38,11 @@ func (c *Client) Create(ctx context.Context, p *CreateTaskListRequest) (res *Cre
}
// TaskListResult calls the "TaskListResult" endpoint of the "taskList" service.
func (c *Client) TaskListResult(ctx context.Context, p *TaskListResultRequest) (res *TaskListState, err error) {
func (c *Client) TaskListResult(ctx context.Context, p *TaskListResultRequest) (res *TaskListStatus, err error) {
var ires interface{}
ires, err = c.TaskListResultEndpoint(ctx, p)
if err != nil {
return
}
return ires.(*TaskListState), nil
return ires.(*TaskListStatus), nil
}
......@@ -18,7 +18,7 @@ type Service interface {
Create(context.Context, *CreateTaskListRequest) (res *CreateTaskListResult, err error)
// TaskListResult retrieves a taskList result containing all tasks' unique IDs
// and statuses from the Cache service.
TaskListResult(context.Context, *TaskListResultRequest) (res *TaskListState, err error)
TaskListResult(context.Context, *TaskListResultRequest) (res *TaskListStatus, err error)
}
// ServiceName is the name of the service as defined in the design. This is the
......@@ -51,13 +51,13 @@ type CreateTaskListResult struct {
TaskListID string
}
type GroupState struct {
type GroupStatus struct {
// Unique group identifier.
ID *string
// Current status of the group
Status *string
// Array of TaskState
Tasks []*TaskState
// Array of TaskStatus
Tasks []*TaskStatus
}
// TaskListResultRequest is the payload type of the taskList service
......@@ -67,18 +67,18 @@ type TaskListResultRequest struct {
TaskListID string
}
// TaskListState is the result type of the taskList service TaskListResult
// TaskListStatus is the result type of the taskList service TaskListResult
// method.
type TaskListState struct {
type TaskListStatus struct {
// Unique taskList identifier.
ID string
// Current status of the taskList
Status string
// Array of GroupState
Groups []*GroupState
// Array of GroupStatus
Groups []*GroupStatus
}
type TaskState struct {
type TaskStatus struct {
// Unique task identifier.
ID *string
// Current status of the task
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment