2017-12-28 16:52:40 +00:00
|
|
|
package mapper
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/rancher/norman/types"
|
|
|
|
"github.com/rancher/norman/types/mapper"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Creator struct {
|
|
|
|
m types.Mapper
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Creator) FromInternal(data map[string]interface{}) {
|
|
|
|
if c.m != nil {
|
|
|
|
c.m.FromInternal(data)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Creator) ToInternal(data map[string]interface{}) {
|
|
|
|
if c.m != nil {
|
|
|
|
c.m.ToInternal(data)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Creator) ModifySchema(schema *types.Schema, schemas *types.Schemas) error {
|
2018-01-17 01:06:32 +00:00
|
|
|
if schema.CanList(nil) && schema.CanCreate(nil) {
|
2017-12-28 16:52:40 +00:00
|
|
|
schema.ResourceFields["creatorId"] = types.Field{
|
2017-12-29 22:20:33 +00:00
|
|
|
Type: "reference[user]",
|
|
|
|
CodeName: "CreatorID",
|
2017-12-28 16:52:40 +00:00
|
|
|
}
|
|
|
|
c.m = &mapper.AnnotationField{Field: "creatorId"}
|
|
|
|
return c.m.ModifySchema(schema, schemas)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|