github.com/weaviate/weaviate@v1.24.6/adapters/handlers/rest/operations/schema/schema_objects_update.go (about)

     1  //                           _       _
     2  // __      _____  __ ___   ___  __ _| |_ ___
     3  // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
     4  //  \ V  V /  __/ (_| |\ V /| | (_| | ||  __/
     5  //   \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
     6  //
     7  //  Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
     8  //
     9  //  CONTACT: hello@weaviate.io
    10  //
    11  
    12  // Code generated by go-swagger; DO NOT EDIT.
    13  
    14  package schema
    15  
    16  // This file was generated by the swagger tool.
    17  // Editing this file might prove futile when you re-run the generate command
    18  
    19  import (
    20  	"net/http"
    21  
    22  	"github.com/go-openapi/runtime/middleware"
    23  
    24  	"github.com/weaviate/weaviate/entities/models"
    25  )
    26  
    27  // SchemaObjectsUpdateHandlerFunc turns a function with the right signature into a schema objects update handler
    28  type SchemaObjectsUpdateHandlerFunc func(SchemaObjectsUpdateParams, *models.Principal) middleware.Responder
    29  
    30  // Handle executing the request and returning a response
    31  func (fn SchemaObjectsUpdateHandlerFunc) Handle(params SchemaObjectsUpdateParams, principal *models.Principal) middleware.Responder {
    32  	return fn(params, principal)
    33  }
    34  
    35  // SchemaObjectsUpdateHandler interface for that can handle valid schema objects update params
    36  type SchemaObjectsUpdateHandler interface {
    37  	Handle(SchemaObjectsUpdateParams, *models.Principal) middleware.Responder
    38  }
    39  
    40  // NewSchemaObjectsUpdate creates a new http.Handler for the schema objects update operation
    41  func NewSchemaObjectsUpdate(ctx *middleware.Context, handler SchemaObjectsUpdateHandler) *SchemaObjectsUpdate {
    42  	return &SchemaObjectsUpdate{Context: ctx, Handler: handler}
    43  }
    44  
    45  /*
    46  	SchemaObjectsUpdate swagger:route PUT /schema/{className} schema schemaObjectsUpdate
    47  
    48  # Update settings of an existing schema class
    49  
    50  Use this endpoint to alter an existing class in the schema. Note that not all settings are mutable. If an error about immutable fields is returned and you still need to update this particular setting, you will have to delete the class (and the underlying data) and recreate. This endpoint cannot be used to modify properties. Instead use POST /v1/schema/{className}/properties. A typical use case for this endpoint is to update configuration, such as the vectorIndexConfig. Note that even in mutable sections, such as vectorIndexConfig, some fields may be immutable.
    51  */
    52  type SchemaObjectsUpdate struct {
    53  	Context *middleware.Context
    54  	Handler SchemaObjectsUpdateHandler
    55  }
    56  
    57  func (o *SchemaObjectsUpdate) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
    58  	route, rCtx, _ := o.Context.RouteInfo(r)
    59  	if rCtx != nil {
    60  		*r = *rCtx
    61  	}
    62  	var Params = NewSchemaObjectsUpdateParams()
    63  	uprinc, aCtx, err := o.Context.Authorize(r, route)
    64  	if err != nil {
    65  		o.Context.Respond(rw, r, route.Produces, route, err)
    66  		return
    67  	}
    68  	if aCtx != nil {
    69  		*r = *aCtx
    70  	}
    71  	var principal *models.Principal
    72  	if uprinc != nil {
    73  		principal = uprinc.(*models.Principal) // this is really a models.Principal, I promise
    74  	}
    75  
    76  	if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params
    77  		o.Context.Respond(rw, r, route.Produces, route, err)
    78  		return
    79  	}
    80  
    81  	res := o.Handler.Handle(Params, principal) // actually handle the request
    82  	o.Context.Respond(rw, r, route.Produces, route, res)
    83  
    84  }