Check for valid UUIDs; probably a good idea to write some validator for this

This commit is contained in:
Sybren A. Stüvel 2022-01-11 18:45:09 +01:00
parent 5af238eb21
commit 6aed4e71ff
3 changed files with 13 additions and 7 deletions

View File

@ -24,6 +24,7 @@ import (
"fmt"
"net/http"
"github.com/google/uuid"
"github.com/labstack/echo/v4"
"github.com/rs/zerolog/log"
"gitlab.com/blender/flamenco-goja-test/pkg/api"
@ -83,6 +84,11 @@ func (f *Flamenco) FetchJob(e echo.Context, jobId string) error {
Str("job_id", jobId).
Logger()
if _, err := uuid.Parse(jobId); err != nil {
logger.Debug().Msg("invalid job ID received")
return sendAPIError(e, http.StatusBadRequest, "job ID not valid")
}
logger.Debug().Msg("fetching job")
ctx := e.Request().Context()

View File

@ -108,7 +108,7 @@ paths:
- name: job_id
in: path
required: true
schema: {type: string}
schema: {type: string, format: uuid}
responses:
"200":
description: Job info

View File

@ -54,12 +54,12 @@ var swaggerSpec = []string{
"pUZLIafHJyefVbItwwEyy8CuKil3JNwuAidCOU2E4mIjeMVkuJCcHtzGfhQxQ2syIp9fIHXn4XOzKgpm",
"do1XCSMKtn4WXmnTtBP1ANyZGP31JcNK4UdUSy975F7UN2oWg4+A4qUWynl9mxibNRi1hpFAew6uGds/",
"oVeHdwQjpms2tfcEBwZ8Do7IwV2CH7NzEObgquUO07WsGvNft58YevZ7f63TpeD7oyZ8Bi7LQ6q2/P0s",
"K1CreNMWISgQG2RU0rHjYR2//IR+uSPJPFz3ze819QuEpeFq2/vqAXEaDikeQbNAyWszh4oyM3F8m2zb",
"6W0UHOs5L055nwYhR1qMEUOFXZiytfSfFSwHE++IiAq7cUlqGT4rGFYK3pWQ4eAEcU83MGrxIyJua3/W",
"sRRfXI4cCi5BHGhP2sOIcvGr9ZEam+XAKwkXYXD9dNjX/YY+YiT/9bwL+vuEPj75eti0/ajjF7b+VwN/",
"e1pfKu4T+vXJ6cerxr1JfET4czB1/XkKSgDvtaMeBXuN6OtLxLPWmz+ljgkVA8D1LXFfJHjD2ehF061/",
"XgSzqXE49HsziqwjxUPbfoP2xP/epP67EUqyBucLQz0UkpTJVLIenlt/FXlQys7P+sU9+MfTzHRRVAr9",
"ET8xH3YA05Z81Ht/uf9vAAAA//9nlOZMpSEAAA==",
"K1CreNMWISgQG2RU0rHjPSPI/vIT+umOpPPw3XeH19wvEJaGq27vuwfEbTikeATRAiWvzR4qzMzEcW6y",
"bae5UbCs57449X0axBxpOUYMFXZhCtfSf1bwHEzAIyIqDC9Jahk+KzhWCt6VkOEgBXFPNzBq8SNCbmt/",
"1rEUX1yOHAouQVxoT9rDiHLxK/aRmpvlwCsJF2GQ/XRY2P2mPmIk/zW9WwT2CX188vWwiftRxy9u/a8I",
"/ja1vmTcJ/Trk9OPV517k/mI8Odg6nr0FJQA3mtPPSr2GtPXl4hnrTd/Sh0TKgaA61vivkjwhrPRi6Zb",
"D70IZlPjcuj/ZhRZR4qHtv0G7Yn/vUn9dySUZA3OF4p6SCQpk6lkPXy3/mryoLSdn/WLffCPp5npoqgU",
"+iN+cj7sCKYt+aj3/nL/3wAAAP//aU95WLUhAAA=",
}
// GetSwagger returns the content of the embedded swagger specification file