worked on pillar endpoints
This commit is contained in:
parent
37fa6bcbb3
commit
8ec26d53e4
@ -12,7 +12,7 @@ from pillar_tool.db.models.top_data import State, StateAssignment
|
|||||||
from pillar_tool.db.queries.pillar_queries import get_pillar_for_target
|
from pillar_tool.db.queries.pillar_queries import get_pillar_for_target
|
||||||
from pillar_tool.schemas import PillarParams, get_model_from_query
|
from pillar_tool.schemas import PillarParams, get_model_from_query
|
||||||
from pillar_tool.util.pillar_utilities import merge
|
from pillar_tool.util.pillar_utilities import merge
|
||||||
from pillar_tool.util.validation import validate_state_name
|
from pillar_tool.util.validation import validate_state_name, validate_fqdn
|
||||||
|
|
||||||
router = APIRouter(
|
router = APIRouter(
|
||||||
prefix="/pillar",
|
prefix="/pillar",
|
||||||
@ -57,13 +57,29 @@ def pillar_get(req: Request, fqdn: str):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
@router.post("/{fqdn}")
|
@router.post("/{name}")
|
||||||
def pillar_create(req: Request, fqdn: str, params: PillarParams):
|
def pillar_create(req: Request, name: str, params: PillarParams):
|
||||||
# TODO: implement
|
|
||||||
db = req.state.db
|
db = req.state.db
|
||||||
|
|
||||||
|
# ensure that value and type have been set in the request parameters
|
||||||
|
if params.type is None or params.value is None:
|
||||||
|
|
||||||
@router.delete("/{fqdn}")
|
|
||||||
def pillar_delete(req: Request, fqdn: str):
|
target_stmt = select(Host).where(Host.name == name)
|
||||||
|
result = db.execute(target_stmt).fetchall()
|
||||||
|
|
||||||
|
if len(result) == 0:
|
||||||
|
return JSONResponse(status_code=404, content={})
|
||||||
|
|
||||||
|
# this should be enforced by the database
|
||||||
|
assert len(result) == 1
|
||||||
|
target: Host = result[0][0]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@router.delete("/{name}")
|
||||||
|
def pillar_delete(req: Request, name: str):
|
||||||
# TODO: implement
|
# TODO: implement
|
||||||
db = req.state.db
|
db = req.state.db
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user