Skip to content

Commit a214e30

Browse files
author
Chris Vermeulen
authored
Return evidence after successful create. (#263)
* Return evidence after successful create. * Update swag
1 parent ceb57a8 commit a214e30

File tree

5 files changed

+52
-11
lines changed

5 files changed

+52
-11
lines changed

docs/docs.go

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,10 @@ const docTemplate = `{
259259
],
260260
"responses": {
261261
"201": {
262-
"description": "Created"
262+
"description": "Created",
263+
"schema": {
264+
"$ref": "#/definitions/handler.GenericDataResponse-relational_Evidence"
265+
}
263266
},
264267
"400": {
265268
"description": "Bad Request",
@@ -16691,6 +16694,19 @@ const docTemplate = `{
1669116694
}
1669216695
}
1669316696
},
16697+
"handler.GenericDataResponse-relational_Evidence": {
16698+
"type": "object",
16699+
"properties": {
16700+
"data": {
16701+
"description": "Items from the list response",
16702+
"allOf": [
16703+
{
16704+
"$ref": "#/definitions/relational.Evidence"
16705+
}
16706+
]
16707+
}
16708+
}
16709+
},
1669416710
"handler.GenericDataResponse-relational_Filter": {
1669516711
"type": "object",
1669616712
"properties": {
@@ -16741,7 +16757,7 @@ const docTemplate = `{
1674116757
"$ref": "#/definitions/oscalTypes_1_1_3.Activity"
1674216758
}
1674316759
},
16744-
"backMatter": {
16760+
"back-matter": {
1674516761
"$ref": "#/definitions/relational.BackMatter"
1674616762
},
1674716763
"components": {
@@ -21948,7 +21964,7 @@ const docTemplate = `{
2194821964
"$ref": "#/definitions/relational.Activity"
2194921965
}
2195021966
},
21951-
"backMatter": {
21967+
"back-matter": {
2195221968
"$ref": "#/definitions/relational.BackMatter"
2195321969
},
2195421970
"components": {

docs/swagger.json

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,10 @@
253253
],
254254
"responses": {
255255
"201": {
256-
"description": "Created"
256+
"description": "Created",
257+
"schema": {
258+
"$ref": "#/definitions/handler.GenericDataResponse-relational_Evidence"
259+
}
257260
},
258261
"400": {
259262
"description": "Bad Request",
@@ -16685,6 +16688,19 @@
1668516688
}
1668616689
}
1668716690
},
16691+
"handler.GenericDataResponse-relational_Evidence": {
16692+
"type": "object",
16693+
"properties": {
16694+
"data": {
16695+
"description": "Items from the list response",
16696+
"allOf": [
16697+
{
16698+
"$ref": "#/definitions/relational.Evidence"
16699+
}
16700+
]
16701+
}
16702+
}
16703+
},
1668816704
"handler.GenericDataResponse-relational_Filter": {
1668916705
"type": "object",
1669016706
"properties": {
@@ -16735,7 +16751,7 @@
1673516751
"$ref": "#/definitions/oscalTypes_1_1_3.Activity"
1673616752
}
1673716753
},
16738-
"backMatter": {
16754+
"back-matter": {
1673916755
"$ref": "#/definitions/relational.BackMatter"
1674016756
},
1674116757
"components": {
@@ -21942,7 +21958,7 @@
2194221958
"$ref": "#/definitions/relational.Activity"
2194321959
}
2194421960
},
21945-
"backMatter": {
21961+
"back-matter": {
2194621962
"$ref": "#/definitions/relational.BackMatter"
2194721963
},
2194821964
"components": {

docs/swagger.yaml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1045,6 +1045,13 @@ definitions:
10451045
- $ref: '#/definitions/oscalTypes_1_1_3.Task'
10461046
description: Items from the list response
10471047
type: object
1048+
handler.GenericDataResponse-relational_Evidence:
1049+
properties:
1050+
data:
1051+
allOf:
1052+
- $ref: '#/definitions/relational.Evidence'
1053+
description: Items from the list response
1054+
type: object
10481055
handler.GenericDataResponse-relational_Filter:
10491056
properties:
10501057
data:
@@ -1075,7 +1082,7 @@ definitions:
10751082
items:
10761083
$ref: '#/definitions/oscalTypes_1_1_3.Activity'
10771084
type: array
1078-
backMatter:
1085+
back-matter:
10791086
$ref: '#/definitions/relational.BackMatter'
10801087
components:
10811088
items:
@@ -4506,7 +4513,7 @@ definitions:
45064513
items:
45074514
$ref: '#/definitions/relational.Activity'
45084515
type: array
4509-
backMatter:
4516+
back-matter:
45104517
$ref: '#/definitions/relational.BackMatter'
45114518
components:
45124519
description: Which components of the subject are being observed. A tool, user,
@@ -5622,6 +5629,8 @@ paths:
56225629
responses:
56235630
"201":
56245631
description: Created
5632+
schema:
5633+
$ref: '#/definitions/handler.GenericDataResponse-relational_Evidence'
56255634
"400":
56265635
description: Bad Request
56275636
schema:

internal/api/handler/evidence.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ type EvidenceCreateRequest struct {
165165
// @Accept json
166166
// @Produce json
167167
// @Param evidence body EvidenceCreateRequest true "Evidence create request"
168-
// @Success 201 {object} nil
168+
// @Success 201 {object} GenericDataResponse[relational.Evidence]
169169
// @Failure 400 {object} api.Error
170170
// @Failure 500 {object} api.Error
171171
// @Security OAuth2Password
@@ -358,7 +358,7 @@ func (h *EvidenceHandler) Create(ctx echo.Context) error {
358358
}
359359

360360
// Return a 201 Created response with no content.
361-
return ctx.NoContent(http.StatusCreated)
361+
return ctx.JSON(http.StatusCreated, GenericDataResponse[relational.Evidence]{Data: evidence})
362362
}
363363

364364
// Search godoc

internal/service/relational/evidence.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ type Evidence struct {
1919
// UUID needs to remain consistent when automation runs again, but unique for each subject.
2020
// It represents the "stream" of the same observation being made over time.
2121
UUID uuid.UUID `gorm:"index:evidence_stream_idx;index:evidence_stream_collected_idx,priority:1" json:"uuid,omitempty"`
22-
BackMatter *BackMatter `gorm:"polymorphic:Parent;"`
22+
BackMatter *BackMatter `gorm:"polymorphic:Parent;" json:"back-matter,omitempty"`
2323

2424
Title string `json:"title"`
2525
Description string `json:"description"`

0 commit comments

Comments
 (0)