feat: add kafka admin integration
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package store
|
||||
|
||||
import (
|
||||
adapter "github.com/tinode/chat/server/db"
|
||||
"github.com/tinode/chat/server/store/types"
|
||||
)
|
||||
|
||||
type InternalAdminQueryPersistenceInterface interface {
|
||||
Query(types.TenantID, string, string, []any, int, int) (*types.InternalAdminQueryResult, error)
|
||||
QueryOne(types.TenantID, string, []any) (map[string]any, error)
|
||||
}
|
||||
|
||||
type internalAdminQueryMapper struct{}
|
||||
|
||||
var InternalAdminQueries InternalAdminQueryPersistenceInterface = internalAdminQueryMapper{}
|
||||
|
||||
func internalAdminQueryAdapter(tenantID types.TenantID) (adapter.TenantInternalAdminQueryAdapter, error) {
|
||||
business, err := tenantBusinessAdapter(tenantID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
queryAdp, ok := business.(adapter.TenantInternalAdminQueryAdapter)
|
||||
if !ok {
|
||||
return nil, types.ErrUnsupported
|
||||
}
|
||||
return queryAdp, nil
|
||||
}
|
||||
|
||||
func (internalAdminQueryMapper) Query(tenantID types.TenantID, query string, countQuery string, args []any, page, perPage int) (*types.InternalAdminQueryResult, error) {
|
||||
queryAdp, err := internalAdminQueryAdapter(tenantID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return queryAdp.TenantInternalAdminQuery(tenantID, query, countQuery, args, page, perPage)
|
||||
}
|
||||
|
||||
func (internalAdminQueryMapper) QueryOne(tenantID types.TenantID, query string, args []any) (map[string]any, error) {
|
||||
queryAdp, err := internalAdminQueryAdapter(tenantID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return queryAdp.TenantInternalAdminQueryOne(tenantID, query, args)
|
||||
}
|
||||
Reference in New Issue
Block a user