mirror of
https://github.com/Warky-Devs/ResolveSpec.git
synced 2025-05-19 13:17:29 +00:00
RegisterModel on resolvespec main export
This commit is contained in:
parent
2ac0404222
commit
469a80f0d9
@ -16,7 +16,7 @@ var (
|
|||||||
// RegisterModel registers a model type with the registry
|
// RegisterModel registers a model type with the registry
|
||||||
// The model must be a struct or a pointer to a struct
|
// The model must be a struct or a pointer to a struct
|
||||||
// e.g RegisterModel(&ModelPublicUser{},"public.user")
|
// e.g RegisterModel(&ModelPublicUser{},"public.user")
|
||||||
func RegisterModel(model interface{}, name string) {
|
func RegisterModel(model interface{}, name string) error {
|
||||||
modelRegistryMutex.Lock()
|
modelRegistryMutex.Lock()
|
||||||
defer modelRegistryMutex.Unlock()
|
defer modelRegistryMutex.Unlock()
|
||||||
|
|
||||||
@ -28,6 +28,7 @@ func RegisterModel(model interface{}, name string) {
|
|||||||
name = modelType.Name()
|
name = modelType.Name()
|
||||||
}
|
}
|
||||||
modelRegistry[name] = model
|
modelRegistry[name] = model
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// RegisterFunction register a function with the registry
|
// RegisterFunction register a function with the registry
|
||||||
|
@ -65,3 +65,14 @@ func (h *APIHandler) getModelForEntity(schema, name string) (interface{}, error)
|
|||||||
}
|
}
|
||||||
return model, err
|
return model, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *APIHandler) RegisterModel(schema, name string, model interface{}) error {
|
||||||
|
fullname := fmt.Sprintf("%s.%s", schema, name)
|
||||||
|
model, err := models.GetModelByName(fullname)
|
||||||
|
if model != nil && err != nil {
|
||||||
|
return fmt.Errorf("model %s already exists", fullname)
|
||||||
|
}
|
||||||
|
err = models.RegisterModel(model, fullname)
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user