11package rest
22
33import (
4- "bytes"
54 "encoding/json"
6- "io"
75 "net/http"
86
97 "github.com/danicc097/openapi-go-gin-postgres-sqlc/internal"
108 "github.com/danicc097/openapi-go-gin-postgres-sqlc/internal/repos"
119 "github.com/danicc097/openapi-go-gin-postgres-sqlc/internal/repos/postgresql/gen/models"
1210 "github.com/danicc097/openapi-go-gin-postgres-sqlc/internal/services"
13- "github.com/danicc097/openapi-go-gin-postgres-sqlc/internal/tracing"
1411 "github.com/gin-gonic/gin"
1512)
1613
@@ -29,28 +26,14 @@ func (h *StrictHandlers) DeleteWorkitem(c *gin.Context, request DeleteWorkitemRe
2926func (h * StrictHandlers ) CreateWorkitem (c * gin.Context , request CreateWorkitemRequestObject ) (CreateWorkitemResponseObject , error ) {
3027 ctx := c .Request .Context ()
3128
32- span := GetSpanFromCtx (c )
33-
3429 caller , _ := GetUserCallerFromCtx (c )
3530 tx := GetTxFromCtx (c )
3631
37- jsonBody , err := io .ReadAll (c .Request .Body )
38- if err != nil {
39- renderErrorResponse (c , "Failed to read request body" , err )
40- }
41- span .SetAttributes (tracing .MetadataAttribute (jsonBody ))
42- c .Request .Body = io .NopCloser (bytes .NewBuffer (jsonBody ))
43-
44- project , err := projectByDiscriminator (request .Body )
45- if err != nil {
46- renderErrorResponse (c , "Failed to get project" , err )
47- }
32+ addRequestBodyToSpan (c )
4833
4934 var res any // depends on project
50- b , err := request .Body .ValueByDiscriminator ()
51- if err != nil {
52- renderErrorResponse (c , "Failed to read discriminator" , err )
53- }
35+
36+ project , b := projectAndBodyByDiscriminator (c , request .Body )
5437
5538 //exhaustive:enforce
5639 switch project {
0 commit comments