mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 11:34:18 +00:00
Update to 5.11.0
This commit is contained in:
parent
3f419bf6db
commit
76c7020d79
2 changed files with 46 additions and 15 deletions
|
@ -15,25 +15,37 @@ class EchoStar(rca.ApiStar):
|
||||||
NOTE: This method can only be used by Royalnet Admins.
|
NOTE: This method can only be used by Royalnet Admins.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# The HTTP methods that can be used with this ApiStar.
|
|
||||||
methods = ["GET", "POST"]
|
|
||||||
# You can disambiguate between methods using the `data.method` variable.
|
|
||||||
|
|
||||||
# The HTTP path this ApiStar should bind to.
|
# The HTTP path this ApiStar should bind to.
|
||||||
path = "/api/example/echo/v1"
|
path = "/api/example/echo/v1"
|
||||||
|
|
||||||
# Does this method require any auth?
|
# Does this method require any auth?
|
||||||
# Only for documentation purposes, it doesn't do any check on it's own.
|
# Only for documentation purposes, it doesn't do any check on it's own.
|
||||||
requires_auth = True
|
auth = {
|
||||||
|
"get": True,
|
||||||
|
"post": False,
|
||||||
|
"put": False,
|
||||||
|
"delete": False,
|
||||||
|
}
|
||||||
# To authenticate an user through their token, use the `await data.user()` method.
|
# To authenticate an user through their token, use the `await data.user()` method.
|
||||||
# If the user isn't logged in, the method authomatically returns 403 Forbidden, unless `rcae.ForbiddenError`
|
# If the user isn't logged in, the method authomatically returns 403 Forbidden, unless `rcae.ForbiddenError`
|
||||||
# is caught.
|
# is caught.
|
||||||
|
|
||||||
# A dict of paramenters accepted by this method, with a description of their purpose.
|
# A dict of paramenters accepted by this method, with a description of their purpose.
|
||||||
parameters = {
|
parameters = {
|
||||||
|
"get": {
|
||||||
"echo": "What should the method return? "
|
"echo": "What should the method return? "
|
||||||
"(Optional: if nothing is passed, the ApiStar will return the username of the caller.)",
|
"(Optional: if nothing is passed, the ApiStar will return the username of the caller.)",
|
||||||
"error": "Should the method return a sample error?"
|
"error": "Should the method return a sample error?"
|
||||||
|
},
|
||||||
|
"post": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"put": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"delete": {
|
||||||
|
|
||||||
|
},
|
||||||
}
|
}
|
||||||
# You can access parameters by using `data` as a dict with the parameter name as key.
|
# You can access parameters by using `data` as a dict with the parameter name as key.
|
||||||
# If a missing parameter is accessed, a `rcae.MissingParameterError` will be raised, which will lead to a
|
# If a missing parameter is accessed, a `rcae.MissingParameterError` will be raised, which will lead to a
|
||||||
|
@ -42,9 +54,14 @@ class EchoStar(rca.ApiStar):
|
||||||
# The autodoc categories this ApiStar should fall in.
|
# The autodoc categories this ApiStar should fall in.
|
||||||
tags = ["example"]
|
tags = ["example"]
|
||||||
|
|
||||||
# The actual method called when the ApiStar received a HTTP request.
|
# The methods called when the ApiStar received a HTTP request.
|
||||||
# It must return a JSON-compatible object, such as a str, a int, a float, a list, a dict or None.
|
# They must return a JSON-compatible object, such as a str, a int, a float, a list, a dict or None.
|
||||||
async def api(self, data: rca.ApiData) -> ru.JSON:
|
# They also must be wrapped with the @rca.magic decorator.
|
||||||
|
# You are free to not add them if you don't want the methods to be available
|
||||||
|
|
||||||
|
# Called on a GET request
|
||||||
|
@rca.magic
|
||||||
|
async def get(self, data: rca.ApiData) -> ru.JSON:
|
||||||
|
|
||||||
# If "true" is passed as the "error" parameter in the query string...
|
# If "true" is passed as the "error" parameter in the query string...
|
||||||
if data["error"] == "true":
|
if data["error"] == "true":
|
||||||
|
@ -67,4 +84,19 @@ class EchoStar(rca.ApiStar):
|
||||||
echo = user.username
|
echo = user.username
|
||||||
|
|
||||||
# Return a 200 OK successful response containing the value of the echo variable and the HTTP method used
|
# Return a 200 OK successful response containing the value of the echo variable and the HTTP method used
|
||||||
return {"echo": echo, "method_used": data.method}
|
return {"echo": echo, "method_used": "GET"}
|
||||||
|
|
||||||
|
# Called on a POST request
|
||||||
|
@rca.magic
|
||||||
|
async def post(self, data: rca.ApiData) -> ru.JSON:
|
||||||
|
return "This is a response to a POST."
|
||||||
|
|
||||||
|
# Called on a PUT request
|
||||||
|
@rca.magic
|
||||||
|
async def put(self, data: rca.ApiData) -> ru.JSON:
|
||||||
|
return data
|
||||||
|
|
||||||
|
# Called on a DELETE request
|
||||||
|
@rca.magic
|
||||||
|
async def post(self, data: rca.ApiData) -> ru.JSON:
|
||||||
|
return None
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
# TODO: Set this to the GitHub page of your pack (or another website)
|
# TODO: Set this to the GitHub page of your pack (or another website)
|
||||||
homepage = "https://github.com/your-username/"
|
homepage = "https://github.com/your-username/"
|
||||||
# TODO: Set this to a link to the Pack documentation (if there's any)
|
# TODO: Set this to a link to the Pack documentation (if there's any)
|
||||||
documentation = "https://gh.steffo.eu/royalpack/"
|
documentation = "https://gh.steffo.eu/royalnet-pack-template/"
|
||||||
# TODO: Pick some classifiers to include your Pack in: https://pypi.org/classifiers/
|
# TODO: Pick some classifiers to include your Pack in: https://pypi.org/classifiers/
|
||||||
classifiers = [
|
classifiers = [
|
||||||
"Development Status :: 3 - Alpha",
|
"Development Status :: 3 - Alpha",
|
||||||
|
@ -29,13 +29,12 @@
|
||||||
python = "^3.8"
|
python = "^3.8"
|
||||||
|
|
||||||
[tool.poetry.dependencies.royalnet]
|
[tool.poetry.dependencies.royalnet]
|
||||||
version = "~5.10.3"
|
version = "~5.11.0"
|
||||||
# TODO: select the Royalnet modules required by your pack
|
# TODO: select the Royalnet modules required by your pack
|
||||||
extras = [
|
extras = [
|
||||||
"telegram",
|
"telegram",
|
||||||
"discord",
|
"discord",
|
||||||
"alchemy_easy",
|
"alchemy_easy",
|
||||||
"bard",
|
|
||||||
"constellation",
|
"constellation",
|
||||||
"sentry",
|
"sentry",
|
||||||
"herald",
|
"herald",
|
||||||
|
|
Loading…
Reference in a new issue