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 }