added state api
This commit is contained in:
48
backend/api/state_api.py
Normal file
48
backend/api/state_api.py
Normal file
@@ -0,0 +1,48 @@
|
||||
# Copyright (c) 2019. Tobias Kurze
|
||||
"""
|
||||
This module provides functions related to object states through the API.
|
||||
"""
|
||||
from datetime import datetime
|
||||
from pprint import pprint
|
||||
|
||||
from flask_jwt_extended import jwt_required
|
||||
from flask_restx import fields, Resource, inputs
|
||||
|
||||
from backend import db, app
|
||||
from backend.api import api_state
|
||||
from backend.api.models import recorder_model, recorder_model_model, recorder_command_model, state_model
|
||||
from backend.models.recorder_model import Recorder, RecorderModel, RecorderCommand
|
||||
from backend.models.room_model import Room
|
||||
import backend.recorder_adapters as r_a
|
||||
|
||||
|
||||
# ==
|
||||
|
||||
@api_state.route('/<int:id>')
|
||||
@api_state.response(404, 'Recorder not found')
|
||||
@api_state.param('id', 'The recorder identifier')
|
||||
class RecorderStateResource(Resource):
|
||||
@jwt_required
|
||||
@api_state.doc('get_recorder_state')
|
||||
@api_state.marshal_with(state_model, skip_none=False)
|
||||
def get(self, id):
|
||||
"""Fetch a recorder given its identifier"""
|
||||
recorder = Recorder.query.get(id)
|
||||
if recorder is None:
|
||||
api_state.abort(404)
|
||||
return recorder
|
||||
|
||||
|
||||
|
||||
|
||||
@api_state.route('')
|
||||
class RecorderStateList(Resource):
|
||||
@jwt_required
|
||||
@api_state.doc('recorders')
|
||||
@api_state.marshal_list_with(recorder_model, skip_none=False)
|
||||
def get(self):
|
||||
"""
|
||||
List all recorders
|
||||
:return: recorders
|
||||
"""
|
||||
return Recorder.get_all()
|
||||
Reference in New Issue
Block a user