25 lines
759 B
Python
25 lines
759 B
Python
from __future__ import annotations
|
|
from typing import Type
|
|
from flask import Flask
|
|
|
|
from crudkit.engines import CRUDKitRuntime
|
|
|
|
from .registry import CRUDRegistry
|
|
|
|
class CRUDKit:
|
|
def __init__(self, app: Flask, runtime: CRUDKitRuntime):
|
|
self.app = app
|
|
self.runtime = runtime
|
|
self.registry = CRUDRegistry(runtime)
|
|
|
|
def register(self, model: Type, **kwargs):
|
|
return self.registry.register_class(self.app, model, **kwargs)
|
|
|
|
def register_many(self, models: list[Type], **kwargs):
|
|
return self.registry.register_many(self.app, models, **kwargs)
|
|
|
|
def get_model(self, key: str):
|
|
return self.registry.get_model(key)
|
|
|
|
def get_service(self, model: Type):
|
|
return self.registry.get_service(model)
|