diff --git a/src/app.py b/src/app.py index b1e7299..37004db 100644 --- a/src/app.py +++ b/src/app.py @@ -14,7 +14,9 @@ from jwtman import jwtman from fbcrypt import bcrypt from marshm import ma from healthchecks import health_database_status -from resources import SignupApi, LoginApi, UsersApi, UserParameterApi +from resources import SignupApi, LoginApi, UsersApi, UserParameterApi, CreateIngestResource, CreateEncodeResource, \ + CreateRestreamResource, ManipulateStreamResource, GetAllStreamResources, ModifyEncodeResource, \ + ModifyIngressResource, ModifyRestreamResource """ Main Flask RESTful API @@ -37,7 +39,7 @@ if SENTRY_DSN: ) app = Flask(__name__) -app.config['SQLALCHEMY_DATABASE_URI'] =\ +app.config['SQLALCHEMY_DATABASE_URI'] = \ f"postgresql://{POSTGRES_USERNAME}:{POSTGRES_PASSWORD}@{POSTGRES_HOSTNAME}:5432/{POSTGRES_DB}" app.config['JWT_SECRET_KEY'] = JWT_SECRET_KEY app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False @@ -65,6 +67,14 @@ api.add_resource(SignupApi, '/api/auth/signup') api.add_resource(LoginApi, '/api/auth/login') api.add_resource(UsersApi, '/api/users') api.add_resource(UserParameterApi, '/api/users/') +api.add_resource(CreateIngestResource, '/api/objects/streamerobjects/ingest') +api.add_resource(CreateEncodeResource, '/api/objects/streamerobjects/encode') +api.add_resource(CreateRestreamResource, '/api/objects/streamerobjects/restream') +api.add_resource(ManipulateStreamResource, '/api/objects/streamerobjects/') +api.add_resource(GetAllStreamResources, '/api/objects/streamerobjects') +api.add_resource(ModifyEncodeResource, '/api/objects/streamerobjects/encode/') +api.add_resource(ModifyIngressResource, '/api/objects/streamerobjects/ingest/') +api.add_resource(ModifyRestreamResource, '/api/objects/streamerobjects/restream/') health.add_check(health_database_status) app.add_url_rule("/healthz", "healthcheck", view_func=lambda: health.run()) diff --git a/src/resources.py b/src/resources.py index 48c3362..e246ba6 100644 --- a/src/resources.py +++ b/src/resources.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 +from uuid import uuid4 import datetime from flask_jwt_extended import create_access_token, jwt_required @@ -155,3 +156,77 @@ class UserParameterApi(Resource): abort(503, "db session error") return self.usermetadataschema.dump(user), 200 + + +class CreateIngestResource(Resource): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/createIngest + """ + def post(self): + pass + + +class CreateRestreamResource(Resource): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/createRestream + """ + def post(self): + pass + + +class CreateEncodeResource(Resource): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/createEncode + """ + def post(self): + pass + + +class GetAllStreamResources(Resource): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/getResource + """ + def get(self): + pass + + +class ManipulateStreamResource(Resource): + def get(self, resourceid: uuid4): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/getAResource + :param resourceid: + :return: + """ + pass + + def delete(self, resourceid: uuid4): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/deleteResource + :param resourceid: + :return: + """ + pass + + +class ModifyIngressResource(Resource): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/editIngress + """ + def put(self, resourceid: uuid4): + pass + + +class ModifyRestreamResource(Resource): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/editRestream + """ + def put(self, resourceid: uuid4): + pass + + +class ModifyEncodeResource(Resource): + """ + See: https://swagger.kmlabz.com/?urls.primaryName=videON%20Backend#/backend/editEncode + """ + def put(self, resourceid: uuid4): + pass