package
1.0.0-prototype.16
Repository: https://github.com/liquid-labs/catalyst-core-api.git
Documentation: pkg.go.dev

# Functions

func BasicAuthCheck(w http.ResponseWriter, r *http.Request) (*auth.Token, terror.Terror) { authToken := r.Context().Value(restserv.AuthTokenKey).(*auth.Token) if authToken != nil { err := terror.AuthorizationError(`Request requiers authenticated user.`, nil) rest.HandleError(w, err) return nil, err } return authToken, nil } func CheckAndExtract(w http.ResponseWriter, r *http.Request, o interface {}, itemName string) (*auth.Token, terror.Terror) { if authToken, restErr := BasicAuthCheck(w, r); restErr != nil { return nil, restErr // response handled by BasicAuthCheck } else { if restErr := rest.ExtractJson(w, r, o, itemName); restErr != nil { return nil, restErr // response handled ExtractJson } return authToken, nil } } */ deprecated func doGeneric(w http.ResponseWriter, r *http.Request, dbFunc interface{}, input interface{}, itemName string, actionDesc string) { results := reflect.ValueOf(dbFunc).Call([]reflect.Value{reflect.ValueOf(input), reflect.ValueOf(r.Context())}) data := results[0].Interface() restErr := results[1].Interface() if restErr != nil { rest.HandleError(w, restErr.(terror.Terror)) return } else { rest.StandardResponse(w, data, itemName + ` ` + actionDesc + `.`, nil) } } // deprecated func DoCreate(w http.ResponseWriter, r *http.Request, createFunc interface{}, data interface{}, itemName string) { doGeneric(w, r, createFunc, data, itemName, `created`) } // deprecated func DoGetDetail(w http.ResponseWriter, r *http.Request, getFunc interface{}, id interface{}, itemName string) { doGeneric(w, r, getFunc, id, itemName, `retrieved`) } // deprecated func DoUpdate(w http.ResponseWriter, r *http.Request, updateFunc interface{}, data interface{}, pubID string, itemName string) { if pubID != `` && pubID != reflect.Indirect(reflect.ValueOf(data)).FieldByName(`PubID`).Interface().(nulls.String).String { rest.HandleError(w, terror.BadRequestError("The ID of the target resource and the data provided do not match.", nil)) return } doGeneric(w, r, updateFunc, data, itemName, `updated`) } func ProcessGenericResults(w http.ResponseWriter, r *http.Request, data interface{}, err terror.Terror, actionDesc string) { if err != nil { rest.HandleError(w, err) return } else { rest.StandardResponse(w, data, actionDesc, nil) } } */.