From 0e1438b3727f964db5565fcd65dc0cc87e99261c Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Thu, 19 Apr 2018 21:55:54 -0700 Subject: [PATCH] Add Create to access --- api/access/list.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/api/access/list.go b/api/access/list.go index fcca24b2..3595c4b7 100644 --- a/api/access/list.go +++ b/api/access/list.go @@ -8,6 +8,32 @@ import ( "github.com/rancher/norman/types/convert" ) +func Create(context *types.APIContext, version *types.APIVersion, typeName string, data map[string]interface{}, into interface{}) error { + schema := context.Schemas.Schema(version, typeName) + if schema == nil { + return fmt.Errorf("failed to find schema " + typeName) + } + + item, err := schema.Store.Create(context, schema, data) + if err != nil { + return err + } + + b := builder.NewBuilder(context) + b.Version = version + + item, err = b.Construct(schema, item, builder.List) + if err != nil { + return err + } + + if into == nil { + return nil + } + + return convert.ToObj(item, into) +} + func ByID(context *types.APIContext, version *types.APIVersion, typeName string, id string, into interface{}) error { schema := context.Schemas.Schema(version, typeName) if schema == nil {