Compare commits

..

6 Commits

Author SHA1 Message Date
f68a9492a8 web_api: rename
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2026-03-05 09:07:39 -08:00
1dbf4fc745 openapi: generate 2026-03-05 09:07:26 -08:00
a425524fdd openapi: rename 2026-03-05 09:07:20 -08:00
57654ad9a6 web_api: combobulate 2026-03-05 09:07:20 -08:00
3927c525dd openapi: generate 2026-03-05 09:07:20 -08:00
46a4e5a8ca openapi: add combobulate endpoint 2026-03-05 09:07:20 -08:00
13 changed files with 48 additions and 48 deletions

View File

@@ -187,7 +187,7 @@ paths:
/maps/{MapID}/combobulate: /maps/{MapID}/combobulate:
post: post:
summary: Queue a map for combobulator processing summary: Queue a map for combobulator processing
operationId: combobulate operationId: combobulateMap
tags: tags:
- Maps - Maps
parameters: parameters:

View File

@@ -193,12 +193,12 @@ type Invoker interface {
// //
// POST /usernames // POST /usernames
BatchUsernames(ctx context.Context, request *BatchUsernamesReq) (*BatchUsernamesOK, error) BatchUsernames(ctx context.Context, request *BatchUsernamesReq) (*BatchUsernamesOK, error)
// Combobulate invokes combobulate operation. // CombobulateMap invokes combobulateMap operation.
// //
// Queue a map for combobulator processing. // Queue a map for combobulator processing.
// //
// POST /maps/{MapID}/combobulate // POST /maps/{MapID}/combobulate
Combobulate(ctx context.Context, params CombobulateParams) error CombobulateMap(ctx context.Context, params CombobulateMapParams) error
// CreateMapfix invokes createMapfix operation. // CreateMapfix invokes createMapfix operation.
// //
// Trigger the validator to create a mapfix. // Trigger the validator to create a mapfix.
@@ -3728,19 +3728,19 @@ func (c *Client) sendBatchUsernames(ctx context.Context, request *BatchUsernames
return result, nil return result, nil
} }
// Combobulate invokes combobulate operation. // CombobulateMap invokes combobulateMap operation.
// //
// Queue a map for combobulator processing. // Queue a map for combobulator processing.
// //
// POST /maps/{MapID}/combobulate // POST /maps/{MapID}/combobulate
func (c *Client) Combobulate(ctx context.Context, params CombobulateParams) error { func (c *Client) CombobulateMap(ctx context.Context, params CombobulateMapParams) error {
_, err := c.sendCombobulate(ctx, params) _, err := c.sendCombobulateMap(ctx, params)
return err return err
} }
func (c *Client) sendCombobulate(ctx context.Context, params CombobulateParams) (res *CombobulateNoContent, err error) { func (c *Client) sendCombobulateMap(ctx context.Context, params CombobulateMapParams) (res *CombobulateMapNoContent, err error) {
otelAttrs := []attribute.KeyValue{ otelAttrs := []attribute.KeyValue{
otelogen.OperationID("combobulate"), otelogen.OperationID("combobulateMap"),
semconv.HTTPRequestMethodKey.String("POST"), semconv.HTTPRequestMethodKey.String("POST"),
semconv.URLTemplateKey.String("/maps/{MapID}/combobulate"), semconv.URLTemplateKey.String("/maps/{MapID}/combobulate"),
} }
@@ -3758,7 +3758,7 @@ func (c *Client) sendCombobulate(ctx context.Context, params CombobulateParams)
c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...)) c.requests.Add(ctx, 1, metric.WithAttributes(otelAttrs...))
// Start a span for this request. // Start a span for this request.
ctx, span := c.cfg.Tracer.Start(ctx, CombobulateOperation, ctx, span := c.cfg.Tracer.Start(ctx, CombobulateMapOperation,
trace.WithAttributes(otelAttrs...), trace.WithAttributes(otelAttrs...),
clientSpanKind, clientSpanKind,
) )
@@ -3809,7 +3809,7 @@ func (c *Client) sendCombobulate(ctx context.Context, params CombobulateParams)
var satisfied bitset var satisfied bitset
{ {
stage = "Security:CookieAuth" stage = "Security:CookieAuth"
switch err := c.securityCookieAuth(ctx, CombobulateOperation, r); { switch err := c.securityCookieAuth(ctx, CombobulateMapOperation, r); {
case err == nil: // if NO error case err == nil: // if NO error
satisfied[0] |= 1 << 0 satisfied[0] |= 1 << 0
case errors.Is(err, ogenerrors.ErrSkipClientSecurity): case errors.Is(err, ogenerrors.ErrSkipClientSecurity):
@@ -3846,7 +3846,7 @@ func (c *Client) sendCombobulate(ctx context.Context, params CombobulateParams)
defer body.Close() defer body.Close()
stage = "DecodeResponse" stage = "DecodeResponse"
result, err := decodeCombobulateResponse(resp) result, err := decodeCombobulateMapResponse(resp)
if err != nil { if err != nil {
return res, errors.Wrap(err, "decode response") return res, errors.Wrap(err, "decode response")
} }

View File

@@ -5298,16 +5298,16 @@ func (s *Server) handleBatchUsernamesRequest(args [0]string, argsEscaped bool, w
} }
} }
// handleCombobulateRequest handles combobulate operation. // handleCombobulateMapRequest handles combobulateMap operation.
// //
// Queue a map for combobulator processing. // Queue a map for combobulator processing.
// //
// POST /maps/{MapID}/combobulate // POST /maps/{MapID}/combobulate
func (s *Server) handleCombobulateRequest(args [1]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) { func (s *Server) handleCombobulateMapRequest(args [1]string, argsEscaped bool, w http.ResponseWriter, r *http.Request) {
statusWriter := &codeRecorder{ResponseWriter: w} statusWriter := &codeRecorder{ResponseWriter: w}
w = statusWriter w = statusWriter
otelAttrs := []attribute.KeyValue{ otelAttrs := []attribute.KeyValue{
otelogen.OperationID("combobulate"), otelogen.OperationID("combobulateMap"),
semconv.HTTPRequestMethodKey.String("POST"), semconv.HTTPRequestMethodKey.String("POST"),
semconv.HTTPRouteKey.String("/maps/{MapID}/combobulate"), semconv.HTTPRouteKey.String("/maps/{MapID}/combobulate"),
} }
@@ -5315,7 +5315,7 @@ func (s *Server) handleCombobulateRequest(args [1]string, argsEscaped bool, w ht
otelAttrs = append(otelAttrs, s.cfg.Attributes...) otelAttrs = append(otelAttrs, s.cfg.Attributes...)
// Start a span for this request. // Start a span for this request.
ctx, span := s.cfg.Tracer.Start(r.Context(), CombobulateOperation, ctx, span := s.cfg.Tracer.Start(r.Context(), CombobulateMapOperation,
trace.WithAttributes(otelAttrs...), trace.WithAttributes(otelAttrs...),
serverSpanKind, serverSpanKind,
) )
@@ -5370,15 +5370,15 @@ func (s *Server) handleCombobulateRequest(args [1]string, argsEscaped bool, w ht
} }
err error err error
opErrContext = ogenerrors.OperationContext{ opErrContext = ogenerrors.OperationContext{
Name: CombobulateOperation, Name: CombobulateMapOperation,
ID: "combobulate", ID: "combobulateMap",
} }
) )
{ {
type bitset = [1]uint8 type bitset = [1]uint8
var satisfied bitset var satisfied bitset
{ {
sctx, ok, err := s.securityCookieAuth(ctx, CombobulateOperation, r) sctx, ok, err := s.securityCookieAuth(ctx, CombobulateMapOperation, r)
if err != nil { if err != nil {
err = &ogenerrors.SecurityError{ err = &ogenerrors.SecurityError{
OperationContext: opErrContext, OperationContext: opErrContext,
@@ -5420,7 +5420,7 @@ func (s *Server) handleCombobulateRequest(args [1]string, argsEscaped bool, w ht
return return
} }
} }
params, err := decodeCombobulateParams(args, argsEscaped, r) params, err := decodeCombobulateMapParams(args, argsEscaped, r)
if err != nil { if err != nil {
err = &ogenerrors.DecodeParamsError{ err = &ogenerrors.DecodeParamsError{
OperationContext: opErrContext, OperationContext: opErrContext,
@@ -5433,13 +5433,13 @@ func (s *Server) handleCombobulateRequest(args [1]string, argsEscaped bool, w ht
var rawBody []byte var rawBody []byte
var response *CombobulateNoContent var response *CombobulateMapNoContent
if m := s.cfg.Middleware; m != nil { if m := s.cfg.Middleware; m != nil {
mreq := middleware.Request{ mreq := middleware.Request{
Context: ctx, Context: ctx,
OperationName: CombobulateOperation, OperationName: CombobulateMapOperation,
OperationSummary: "Queue a map for combobulator processing", OperationSummary: "Queue a map for combobulator processing",
OperationID: "combobulate", OperationID: "combobulateMap",
Body: nil, Body: nil,
RawBody: rawBody, RawBody: rawBody,
Params: middleware.Parameters{ Params: middleware.Parameters{
@@ -5453,8 +5453,8 @@ func (s *Server) handleCombobulateRequest(args [1]string, argsEscaped bool, w ht
type ( type (
Request = struct{} Request = struct{}
Params = CombobulateParams Params = CombobulateMapParams
Response = *CombobulateNoContent Response = *CombobulateMapNoContent
) )
response, err = middleware.HookMiddleware[ response, err = middleware.HookMiddleware[
Request, Request,
@@ -5463,14 +5463,14 @@ func (s *Server) handleCombobulateRequest(args [1]string, argsEscaped bool, w ht
]( ](
m, m,
mreq, mreq,
unpackCombobulateParams, unpackCombobulateMapParams,
func(ctx context.Context, request Request, params Params) (response Response, err error) { func(ctx context.Context, request Request, params Params) (response Response, err error) {
err = s.h.Combobulate(ctx, params) err = s.h.CombobulateMap(ctx, params)
return response, err return response, err
}, },
) )
} else { } else {
err = s.h.Combobulate(ctx, params) err = s.h.CombobulateMap(ctx, params)
} }
if err != nil { if err != nil {
if errRes, ok := errors.Into[*ErrorStatusCode](err); ok { if errRes, ok := errors.Into[*ErrorStatusCode](err); ok {
@@ -5489,7 +5489,7 @@ func (s *Server) handleCombobulateRequest(args [1]string, argsEscaped bool, w ht
return return
} }
if err := encodeCombobulateResponse(response, w, span); err != nil { if err := encodeCombobulateMapResponse(response, w, span); err != nil {
defer recordError("EncodeResponse", err) defer recordError("EncodeResponse", err)
if !errors.Is(err, ht.ErrInternalServerErrorResponse) { if !errors.Is(err, ht.ErrInternalServerErrorResponse) {
s.cfg.ErrorHandler(ctx, w, r, err) s.cfg.ErrorHandler(ctx, w, r, err)

View File

@@ -33,7 +33,7 @@ const (
BatchAssetThumbnailsOperation OperationName = "BatchAssetThumbnails" BatchAssetThumbnailsOperation OperationName = "BatchAssetThumbnails"
BatchUserThumbnailsOperation OperationName = "BatchUserThumbnails" BatchUserThumbnailsOperation OperationName = "BatchUserThumbnails"
BatchUsernamesOperation OperationName = "BatchUsernames" BatchUsernamesOperation OperationName = "BatchUsernames"
CombobulateOperation OperationName = "Combobulate" CombobulateMapOperation OperationName = "CombobulateMap"
CreateMapfixOperation OperationName = "CreateMapfix" CreateMapfixOperation OperationName = "CreateMapfix"
CreateMapfixAuditCommentOperation OperationName = "CreateMapfixAuditComment" CreateMapfixAuditCommentOperation OperationName = "CreateMapfixAuditComment"
CreateScriptOperation OperationName = "CreateScript" CreateScriptOperation OperationName = "CreateScript"

View File

@@ -2030,12 +2030,12 @@ func decodeActionSubmissionValidatedParams(args [1]string, argsEscaped bool, r *
return params, nil return params, nil
} }
// CombobulateParams is parameters of combobulate operation. // CombobulateMapParams is parameters of combobulateMap operation.
type CombobulateParams struct { type CombobulateMapParams struct {
MapID int64 MapID int64
} }
func unpackCombobulateParams(packed middleware.Parameters) (params CombobulateParams) { func unpackCombobulateMapParams(packed middleware.Parameters) (params CombobulateMapParams) {
{ {
key := middleware.ParameterKey{ key := middleware.ParameterKey{
Name: "MapID", Name: "MapID",
@@ -2046,7 +2046,7 @@ func unpackCombobulateParams(packed middleware.Parameters) (params CombobulatePa
return params return params
} }
func decodeCombobulateParams(args [1]string, argsEscaped bool, r *http.Request) (params CombobulateParams, _ error) { func decodeCombobulateMapParams(args [1]string, argsEscaped bool, r *http.Request) (params CombobulateMapParams, _ error) {
// Decode path: MapID. // Decode path: MapID.
if err := func() error { if err := func() error {
param := args[0] param := args[0]

View File

@@ -1733,11 +1733,11 @@ func decodeBatchUsernamesResponse(resp *http.Response) (res *BatchUsernamesOK, _
return res, errors.Wrap(defRes, "error") return res, errors.Wrap(defRes, "error")
} }
func decodeCombobulateResponse(resp *http.Response) (res *CombobulateNoContent, _ error) { func decodeCombobulateMapResponse(resp *http.Response) (res *CombobulateMapNoContent, _ error) {
switch resp.StatusCode { switch resp.StatusCode {
case 204: case 204:
// Code 204. // Code 204.
return &CombobulateNoContent{}, nil return &CombobulateMapNoContent{}, nil
} }
// Convenient error response. // Convenient error response.
defRes, err := func() (res *ErrorStatusCode, err error) { defRes, err := func() (res *ErrorStatusCode, err error) {

View File

@@ -225,7 +225,7 @@ func encodeBatchUsernamesResponse(response *BatchUsernamesOK, w http.ResponseWri
return nil return nil
} }
func encodeCombobulateResponse(response *CombobulateNoContent, w http.ResponseWriter, span trace.Span) error { func encodeCombobulateMapResponse(response *CombobulateMapNoContent, w http.ResponseWriter, span trace.Span) error {
w.WriteHeader(204) w.WriteHeader(204)
span.SetStatus(codes.Ok, http.StatusText(204)) span.SetStatus(codes.Ok, http.StatusText(204))

View File

@@ -862,7 +862,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// Leaf node. // Leaf node.
switch r.Method { switch r.Method {
case "POST": case "POST":
s.handleCombobulateRequest([1]string{ s.handleCombobulateMapRequest([1]string{
args[0], args[0],
}, elemIsEscaped, w, r) }, elemIsEscaped, w, r)
default: default:
@@ -2851,9 +2851,9 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
// Leaf node. // Leaf node.
switch method { switch method {
case "POST": case "POST":
r.name = CombobulateOperation r.name = CombobulateMapOperation
r.summary = "Queue a map for combobulator processing" r.summary = "Queue a map for combobulator processing"
r.operationID = "combobulate" r.operationID = "combobulateMap"
r.operationGroup = "" r.operationGroup = ""
r.pathPattern = "/maps/{MapID}/combobulate" r.pathPattern = "/maps/{MapID}/combobulate"
r.args = args r.args = args

View File

@@ -441,8 +441,8 @@ func (s *BatchUsernamesReq) SetUserIds(val []uint64) {
s.UserIds = val s.UserIds = val
} }
// CombobulateNoContent is response for Combobulate operation. // CombobulateMapNoContent is response for CombobulateMap operation.
type CombobulateNoContent struct{} type CombobulateMapNoContent struct{}
type CookieAuth struct { type CookieAuth struct {
APIKey string APIKey string

View File

@@ -58,7 +58,7 @@ var operationRolesCookieAuth = map[string][]string{
ActionSubmissionTriggerUploadOperation: []string{}, ActionSubmissionTriggerUploadOperation: []string{},
ActionSubmissionTriggerValidateOperation: []string{}, ActionSubmissionTriggerValidateOperation: []string{},
ActionSubmissionValidatedOperation: []string{}, ActionSubmissionValidatedOperation: []string{},
CombobulateOperation: []string{}, CombobulateMapOperation: []string{},
CreateMapfixOperation: []string{}, CreateMapfixOperation: []string{},
CreateMapfixAuditCommentOperation: []string{}, CreateMapfixAuditCommentOperation: []string{},
CreateScriptOperation: []string{}, CreateScriptOperation: []string{},

View File

@@ -173,12 +173,12 @@ type Handler interface {
// //
// POST /usernames // POST /usernames
BatchUsernames(ctx context.Context, req *BatchUsernamesReq) (*BatchUsernamesOK, error) BatchUsernames(ctx context.Context, req *BatchUsernamesReq) (*BatchUsernamesOK, error)
// Combobulate implements combobulate operation. // CombobulateMap implements combobulateMap operation.
// //
// Queue a map for combobulator processing. // Queue a map for combobulator processing.
// //
// POST /maps/{MapID}/combobulate // POST /maps/{MapID}/combobulate
Combobulate(ctx context.Context, params CombobulateParams) error CombobulateMap(ctx context.Context, params CombobulateMapParams) error
// CreateMapfix implements createMapfix operation. // CreateMapfix implements createMapfix operation.
// //
// Trigger the validator to create a mapfix. // Trigger the validator to create a mapfix.

View File

@@ -259,12 +259,12 @@ func (UnimplementedHandler) BatchUsernames(ctx context.Context, req *BatchUserna
return r, ht.ErrNotImplemented return r, ht.ErrNotImplemented
} }
// Combobulate implements combobulate operation. // CombobulateMap implements combobulateMap operation.
// //
// Queue a map for combobulator processing. // Queue a map for combobulator processing.
// //
// POST /maps/{MapID}/combobulate // POST /maps/{MapID}/combobulate
func (UnimplementedHandler) Combobulate(ctx context.Context, params CombobulateParams) error { func (UnimplementedHandler) CombobulateMap(ctx context.Context, params CombobulateMapParams) error {
return ht.ErrNotImplemented return ht.ErrNotImplemented
} }

View File

@@ -119,12 +119,12 @@ func (svc *Service) SeedCombobulator(ctx context.Context) error {
return nil return nil
} }
// Combobulate implements combobulate operation. // CombobulateMap implements combobulateMap operation.
// //
// Queue a map for combobulator processing. // Queue a map for combobulator processing.
// //
// POST /maps-admin/combobulate // POST /maps-admin/combobulate
func (svc *Service) Combobulate(ctx context.Context, params api.CombobulateParams) error { func (svc *Service) CombobulateMap(ctx context.Context, params api.CombobulateMapParams) error {
userInfo, ok := ctx.Value("UserInfo").(UserInfoHandle) userInfo, ok := ctx.Value("UserInfo").(UserInfoHandle)
if !ok { if !ok {
return ErrUserInfo return ErrUserInfo