You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

31 lines
997 B

from fastapi import FastAPI
from fastapi.responses import HTMLResponse
from fastapi.requests import Request
from fastapi import Query
from pymongo.asynchronous.database import AsyncDatabase
from extra.MessageDTO import MessageDTO
from typing import List, Annotated
class WebExtension:
app: FastAPI
dbStore: AsyncDatabase
def __init__(self, core):
self.core = core
self.app = core.app
self.dbService = core.dbService
@self.app.get(f"{self.core.context}/messages")
@self.core.authManager.authRequest()
async def listOfMessages(
request: Request,
limit: int = Query(10),
offset: int = Query(0),
after: float = Query(0),
before: float = Query(0),
devices: List[str] = Query([])
):
l = await self.dbService.listOfMessage(
limit, offset, after, before, devices
)
return [MessageDTO(msg) for msg in l]