test the route
Browse files- App/UserTranscriptions/Model.py +20 -0
- App/UserTranscriptions/Schemas.py +14 -0
- App/UserTranscriptions/UserTranscriptionsRoutes.py +32 -0
- App/app.py +2 -1
- app.py +0 -25
App/UserTranscriptions/Model.py
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import orm
|
2 |
+
import datetime
|
3 |
+
from App.modelInit import database, models
|
4 |
+
from App.Users.Model import User
|
5 |
+
|
6 |
+
|
7 |
+
class UserTranscriptions(orm.Model):
|
8 |
+
tablename = "userTranscriptions"
|
9 |
+
registry = models
|
10 |
+
fields = {
|
11 |
+
"id": orm.Integer(primary_key=True),
|
12 |
+
"fileName": orm.String(max_length=100, index=True),
|
13 |
+
"youtubeLink": orm.String(max_length=100, index=True, allow_null=True),
|
14 |
+
"taskId": orm.String(max_length=100, index=True),
|
15 |
+
"telegramId": orm.String(max_length=100, index=True, allow_null=True),
|
16 |
+
"user": orm.ForeignKey(User),
|
17 |
+
"createdAt": orm.DateTime(index=True, default=datetime.datetime.now),
|
18 |
+
"updatedAt": orm.DateTime(index=True, default=datetime.datetime.now),
|
19 |
+
"lastLogin": orm.DateTime(index=True, default=datetime.datetime.now),
|
20 |
+
}
|
App/UserTranscriptions/Schemas.py
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Optional
|
2 |
+
from pydantic import BaseModel
|
3 |
+
|
4 |
+
|
5 |
+
class BaseRequest(BaseModel):
|
6 |
+
userId: int
|
7 |
+
taskId: str
|
8 |
+
fileName: str
|
9 |
+
youtubeLink: Optional[str]
|
10 |
+
telegramId: Optional[str]
|
11 |
+
|
12 |
+
|
13 |
+
class GetTranscriptions(BaseModel):
|
14 |
+
userId: int
|
App/UserTranscriptions/UserTranscriptionsRoutes.py
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from fastapi import APIRouter
|
2 |
+
from .Schemas import BaseRequest, GetTranscriptions
|
3 |
+
from .Model import UserTranscriptions
|
4 |
+
from App.Users.Model import User
|
5 |
+
|
6 |
+
user_transcriptions_router = APIRouter(tags=["user-transcriptions"])
|
7 |
+
|
8 |
+
|
9 |
+
@user_transcriptions_router.post("/user-transcriptions/add")
|
10 |
+
async def add_transcriptions(transcriptionTask: BaseRequest):
|
11 |
+
user = await User.objects.filter(id=transcriptionTask.userId).first()
|
12 |
+
created_task = await UserTranscriptions.objects.create(
|
13 |
+
user=user, **transcriptionTask.dict()
|
14 |
+
)
|
15 |
+
return {"code": 200, "message": "success", "payload": created_task.__dict__}
|
16 |
+
|
17 |
+
|
18 |
+
@user_transcriptions_router.post("/user-transcriptions/add")
|
19 |
+
async def get_transcriptions(user: GetTranscriptions):
|
20 |
+
transcriptions = await UserTranscriptions.objects.filter(user=user.userId).all()
|
21 |
+
if transcriptions == None:
|
22 |
+
return {
|
23 |
+
"code": 200,
|
24 |
+
"message": "Success",
|
25 |
+
"payload": {},
|
26 |
+
}
|
27 |
+
|
28 |
+
return {
|
29 |
+
"code": 200,
|
30 |
+
"message": "Success",
|
31 |
+
"payload": transcriptions.__dict__,
|
32 |
+
}
|
App/app.py
CHANGED
@@ -5,6 +5,7 @@ from .Users.UserRoutes import user_router
|
|
5 |
from .modelInit import models, database
|
6 |
from .Transcription.TranscriptionRoutes import transcription_router
|
7 |
from .Streaming.StreamingRoutes import streaming_router
|
|
|
8 |
from .Monitor.monitorRoutes import monitor_router
|
9 |
from fastapi.middleware.cors import CORSMiddleware
|
10 |
import logging
|
@@ -33,7 +34,6 @@ app.add_middleware(
|
|
33 |
@app.on_event("startup")
|
34 |
async def startup_event():
|
35 |
await bot.start(bot_token="6183919505:AAEhHFt4mI18bQeAf2Lj7AePXFRPVLrOFM8")
|
36 |
-
# await bot.start()
|
37 |
# await upload_bot.start()
|
38 |
# await models.create_all()
|
39 |
if not database.is_connected:
|
@@ -61,3 +61,4 @@ app.include_router(user_router)
|
|
61 |
app.include_router(transcription_router)
|
62 |
app.include_router(streaming_router)
|
63 |
app.include_router(monitor_router)
|
|
|
|
5 |
from .modelInit import models, database
|
6 |
from .Transcription.TranscriptionRoutes import transcription_router
|
7 |
from .Streaming.StreamingRoutes import streaming_router
|
8 |
+
from .UserTranscriptions.UserTranscriptionsRoutes import user_transcriptions_router
|
9 |
from .Monitor.monitorRoutes import monitor_router
|
10 |
from fastapi.middleware.cors import CORSMiddleware
|
11 |
import logging
|
|
|
34 |
@app.on_event("startup")
|
35 |
async def startup_event():
|
36 |
await bot.start(bot_token="6183919505:AAEhHFt4mI18bQeAf2Lj7AePXFRPVLrOFM8")
|
|
|
37 |
# await upload_bot.start()
|
38 |
# await models.create_all()
|
39 |
if not database.is_connected:
|
|
|
61 |
app.include_router(transcription_router)
|
62 |
app.include_router(streaming_router)
|
63 |
app.include_router(monitor_router)
|
64 |
+
app.include_router(user_transcriptions_router)
|
app.py
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
import subprocess
|
2 |
-
import logging
|
3 |
-
|
4 |
-
# Configure logging
|
5 |
-
logging.basicConfig(
|
6 |
-
level=logging.DEBUG,
|
7 |
-
format="%(asctime)s - %(levelname)s - %(message)s",
|
8 |
-
datefmt="%Y-%m-%d %H:%M:%S",
|
9 |
-
)
|
10 |
-
|
11 |
-
|
12 |
-
def run_command(command):
|
13 |
-
try:
|
14 |
-
output = subprocess.check_output(
|
15 |
-
command, shell=True, stderr=subprocess.STDOUT, universal_newlines=True
|
16 |
-
)
|
17 |
-
print(output)
|
18 |
-
except subprocess.CalledProcessError as e:
|
19 |
-
print(f"Command execution failed with return code {e.returncode}: {e.output}")
|
20 |
-
|
21 |
-
|
22 |
-
# Example usage
|
23 |
-
command = "uvicorn App.app:app --host 0.0.0.0 --port 7860 & celery -A App.Worker.celery worker -c 8 --loglevel=info"
|
24 |
-
run_command(command)
|
25 |
-
# "python3.10 -m celery -A App.Worker.celery worker -c 8 --loglevel=info"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|