45 lines
1.7 KiB
Go
45 lines
1.7 KiB
Go
package rest
|
|
|
|
import (
|
|
"context"
|
|
"github.com/cortezaproject/corteza/server/discovery/rest/internal/documents"
|
|
"github.com/cortezaproject/corteza/server/discovery/rest/request"
|
|
)
|
|
|
|
type (
|
|
resources struct {
|
|
sys interface {
|
|
Users(ctx context.Context, limit uint, cur string, userID uint64, deleted uint) (*documents.Response, error)
|
|
}
|
|
|
|
cmp interface {
|
|
Namespaces(ctx context.Context, limit uint, cur string, namespaceID uint64, deleted uint) (*documents.Response, error)
|
|
Modules(ctx context.Context, namespaceID uint64, limit uint, cur string, moduleID uint64, deleted uint) (*documents.Response, error)
|
|
Records(ctx context.Context, namespaceID, moduleID uint64, limit uint, cur string, recordID uint64, deleted uint) (*documents.Response, error)
|
|
}
|
|
}
|
|
)
|
|
|
|
func Resources() *resources {
|
|
return &resources{
|
|
sys: documents.SystemResources(),
|
|
cmp: documents.ComposeResources(),
|
|
}
|
|
}
|
|
|
|
func (ctrl resources) SystemUsers(ctx context.Context, r *request.ResourcesSystemUsers) (interface{}, error) {
|
|
return ctrl.sys.Users(ctx, r.Limit, r.PageCursor, r.UserID, r.Deleted)
|
|
}
|
|
|
|
func (ctrl resources) ComposeNamespaces(ctx context.Context, r *request.ResourcesComposeNamespaces) (interface{}, error) {
|
|
return ctrl.cmp.Namespaces(ctx, r.Limit, r.PageCursor, r.NamespaceID, r.Deleted)
|
|
}
|
|
|
|
func (ctrl resources) ComposeModules(ctx context.Context, r *request.ResourcesComposeModules) (interface{}, error) {
|
|
return ctrl.cmp.Modules(ctx, r.NamespaceID, r.Limit, r.PageCursor, r.ModuleID, r.Deleted)
|
|
}
|
|
|
|
func (ctrl resources) ComposeRecords(ctx context.Context, r *request.ResourcesComposeRecords) (interface{}, error) {
|
|
return ctrl.cmp.Records(ctx, r.NamespaceID, r.ModuleID, r.Limit, r.PageCursor, r.RecordID, r.Deleted)
|
|
}
|