Added libs

This commit is contained in:
Lucas
2026-01-25 13:55:46 +10:00
parent 575c682afc
commit f70af3c4ea
229 changed files with 26983 additions and 0 deletions

103
noSys/noSysApiBlueprint.py Normal file
View File

@@ -0,0 +1,103 @@
from flask import Blueprint, make_response, request, jsonify, abort
from flask_socketio import SocketIO, emit, join_room, leave_room
import os, signal, json, time
import logging
from threading import Thread
from libs.api.apiBlueprint import ApiBlueprint
class Blueprint(ApiBlueprint):
def routes(self):
from .noSys import NoSys
self.nosys:NoSys = self.module
from .noSysCore import NoSysCore
self.nosys_core = self.nosys.nosys_core
@self.blueprint.route('/')
def show():
return self.nosys.name
@self.blueprint.route('/users')
def users():
if request.method == "GET":
users = []
for user in self.nosys_core.users.users.values():
user_data = self.nosys.nosys_core.data.get_user(user.id)
users.append(user_data)
return jsonify(users)
@self.blueprint.route("/users/<path:user_id>", methods=["GET", "POST", "DELETE"])
def user(user_id):
if request.method == "GET":
user_data = self.nosys.nosys_core.data.get_user(user_id)
return jsonify(user_data)
@self.blueprint.route("/users/<path:user_id>/networks", methods=["GET", "POST", "DELETE"])
def user_networks(user_id):
if request.method == "GET":
user_networks = self.nosys.nosys_core.data.get_user(user_id)["networks"]
return jsonify(user_networks)
elif request.method == "POST":
content:dict = request.json
return jsonify()
@self.blueprint.route("/peers", methods=["GET", "POST"])
def peers():
if request.method == "GET":
response = []
for peer in self.nosys_core.peers.peers.values():
response.append({
"id":peer.id, "address":f"{peer.connection.address[0]}:{peer.connection.address[1]}",
"bindAddress":f"{peer.connection.bind_address[0]}:{peer.connection.bind_address[1]}",
"user":peer.connection.security.user, "status":peer.connection.status.name
})
return jsonify(response)
elif request.method == "POST":
content:dict = request.json
address = (content["address"]["ip"], int(content["address"]["port"]))
bind_address = ("0.0.0.0", 0)
if content.get("bindAddress"):
bind_address = (content["bindAddress"]["ip"], int(content["bindAddress"]["port"]))
user_pk = content["user"]
connection_id = self.nosys_core.connections.connect(address=address, user_id=user_pk, bind_address=bind_address)
return jsonify({"connectionId":connection_id})
@self.blueprint.route("/peers/<path:connection_id>", methods=["GET", "POST", "DELETE"])
def peer(connection_id):
peer = self.nosys_core.peers.peers.get(connection_id)
if not peer:
return jsonify({})
if request.method == "GET":
return jsonify({
"id":peer.id, "address":f"{peer.connection.address[0]}:{peer.connection.address[1]}",
"bindAddress":f"{peer.connection.bind_address[0]}:{peer.connection.bind_address[1]}",
"user":peer.connection.security.user, "status":peer.connection.status.name
})
elif request.method == "POST":
content:dict = request.json
message = content.get("message")
to_module = (content.get("toModule")["package"],content.get("toModule")["module"])
encrypted = content.get("encrypted")
self.nosys_core.dispatcher.send_message(message, peer.id, to_module, encrypted)
return jsonify({"connectionId":connection_id})
elif request.method == "DELETE":
peer.connection.close_connection()
return jsonify({"connectionId":connection_id})
@self.blueprint.route('/restart')
def restart():
if request.method == "GET":
self.nosys_core.restart_app()
return jsonify({})
@self.blueprint.route('/test')
def test():
if request.method == "GET":
self.nosys_core.test()
return jsonify({})