123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package rest
- import (
- "context"
- "errors"
- "git.nspix.com/golang/micro/gateway/http"
- "gorm.io/gorm"
- )
- var (
- std *CRUD
- )
- var (
- ErrUninitializedComponent = errors.New("uninitialized component")
- )
- func Init(dialer gorm.Dialector) (err error) {
- std, err = New(dialer)
- return
- }
- func Instance() *CRUD {
- return std
- }
- func DB() (db *gorm.DB, err error) {
- if std == nil {
- return nil, ErrUninitializedComponent
- }
- return std.db, nil
- }
- func Attach(ctx context.Context, model Model, cbs ...Option) (err error) {
- if std == nil {
- return ErrUninitializedComponent
- }
- return std.Attach(ctx, model, cbs...)
- }
- func GetSchemas(ctx context.Context, model Model) ([]*Schema, error) {
- if std == nil {
- return nil, ErrUninitializedComponent
- }
- return std.GetSchemas(ctx, DefaultNamespace, model.ModuleName(), model.TableName())
- }
- func Router(hs *http.Server, ms ...http.Middleware) (err error) {
- if std == nil {
- return ErrUninitializedComponent
- }
- std.api.Router(hs, ms...)
- return
- }
|