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.schemas import PillarParams, get_model_from_query
|
||||
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(
|
||||
prefix="/pillar",
|
||||
@ -57,13 +57,29 @@ def pillar_get(req: Request, fqdn: str):
|
||||
|
||||
|
||||
|
||||
@router.post("/{fqdn}")
|
||||
def pillar_create(req: Request, fqdn: str, params: PillarParams):
|
||||
# TODO: implement
|
||||
@router.post("/{name}")
|
||||
def pillar_create(req: Request, name: str, params: PillarParams):
|
||||
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
|
||||
db = req.state.db
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user