Skip to content

Commit fb29896

Browse files
committed
Update to surrealdb.py v0.4.1 and moved token to db
1 parent ed24c87 commit fb29896

File tree

5 files changed

+212
-117
lines changed

5 files changed

+212
-117
lines changed

src/.tokens.json

Whitespace-only changes.

src/api.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ def parameters():
186186
def responses():
187187
return json.load(open(f"{pathlib.Path(__file__).parent.resolve()}/responses.json", "r"))
188188

189-
190189
@api.get("/getserverstructure", description="Get a server structure.")
191190
def get_server_structure(id: int, token: Annotated[str, fastapi.Query(max_length=85, min_length=71)] = None):
192191
global data_token
@@ -254,7 +253,7 @@ async def get_endpoint(endpoint: int,
254253

255254
global data_token
256255
try:
257-
data_token = json.load(open(f"{pathlib.Path(__file__).parent.resolve()}/tokens.json", "r"))[f"{endpoint}"]
256+
data_token = await astroidapi.surrealdb_handler.TokenHandler.get_token(endpoint)
258257
except:
259258
data_token = None
260259
pass
@@ -283,7 +282,7 @@ async def get_bridges(endpoint: int,
283282
return fastapi.responses.JSONResponse(status_code=403, content={"message": "This endpoint is suspended."})
284283
global data_token
285284
try:
286-
data_token = json.load(open(f"{pathlib.Path(__file__).parent.resolve()}/tokens.json", "r"))[f"{endpoint}"]
285+
data_token = await astroidapi.surrealdb_handler.TokenHandler.get_token(endpoint)
287286
except:
288287
data_token = None
289288
pass
@@ -423,7 +422,7 @@ async def post_endpoint(
423422
if not token:
424423
return fastapi.responses.JSONResponse(status_code=401, content={"message": "You must provide a token."})
425424
try:
426-
data_token = json.load(open(f"{pathlib.Path(__file__).parent.resolve()}/tokens.json", "r"))[f"{endpoint}"]
425+
data_token = await astroidapi.surrealdb_handler.TokenHandler.get_token(endpoint)
427426
if token != data_token and token != Bot.config.MASTER_TOKEN:
428427
return fastapi.responses.JSONResponse(status_code=401, content={"message": "The provided token is invalid."})
429428
except KeyError:
@@ -631,7 +630,7 @@ async def create_endpoint(endpoint: int):
631630
async def delete_endpoint(endpoint: int,
632631
token: Annotated[str, fastapi.Query(max_length=85, min_length=71)] = None):
633632
try:
634-
data_token = json.load(open(f"{pathlib.Path(__file__).parent.resolve()}/tokens.json", "r"))[f"{endpoint}"]
633+
data_token = await astroidapi.surrealdb_handler.TokenHandler.get_token(endpoint)
635634
if token is not None:
636635
if token == data_token or token == Bot.config.MASTER_TOKEN:
637636
try:
@@ -685,7 +684,7 @@ async def delete_enpoint_data(endpoint: int,
685684
if suspend_status:
686685
return fastapi.responses.JSONResponse(status_code=403, content={"message": "This endpoint is suspended."})
687686

688-
data_token = json.load(open(f"{pathlib.Path(__file__).parent.resolve()}/tokens.json", "r"))[f"{endpoint}"]
687+
data_token = await astroidapi.surrealdb_handler.TokenHandler.get_token(endpoint)
689688
if token is not None:
690689
if token == data_token or token == Bot.config.MASTER_TOKEN:
691690
try:
@@ -866,4 +865,4 @@ async def add_contributor(id: int, username: str = None, avatar: str = None, tok
866865

867866
logging.info("[CORE] API started.")
868867

869-
uvicorn.run(api, host="localhost", port=9921)
868+
uvicorn.run(api, host="localhost", port=9921, reload=False)

src/astroidapi/endpoint_update_handler.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,10 +246,13 @@ async def update_endpoint(
246246
updated_json = updated_json[0]["result"][0]
247247
updated_json.pop("id")
248248
except:
249+
print("No result found.")
249250
pass
250251
finally:
251-
if not updated_json["config"]["self-user"] is True:
252+
# print("Updated endpoint data: ", updated_json)
253+
if not updated_json["config"]["self-user"]:
252254
if updated_json["meta"]["trigger"]:
255+
print("Triggered.")
253256
asyncio.create_task(queue_processor.QueueProcessor.handleUpdatedEndpointData(endpoint, updated_json))
254257
else:
255258
return fastapi.responses.JSONResponse(

src/astroidapi/errors.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,26 @@ class GetMessageCacheError(Exception):
247247
def __init__(self, message):
248248
self.message = message
249249
super().__init__(self.message)
250+
251+
class GetTokenError(Exception):
252+
def __init__(self, message):
253+
self.message = message
254+
super().__init__(self.message)
255+
256+
class CreateTokenError(Exception):
257+
def __init__(self, message):
258+
self.message = message
259+
super().__init__(self.message)
260+
261+
class DeleteTokenError(Exception):
262+
def __init__(self, message):
263+
self.message = message
264+
super().__init__(self.message)
265+
266+
class UpdateTokenError(Exception):
267+
def __init__(self, message):
268+
self.message = message
269+
super().__init__(self.message)
250270

251271

252272
class ReadHandlerError:

0 commit comments

Comments
 (0)