Skip to content

Instantly share code, notes, and snippets.

@MustafaJafar
Created November 14, 2024 21:48
Show Gist options
  • Save MustafaJafar/d89a350abd3c564237998ec143acc624 to your computer and use it in GitHub Desktop.
Save MustafaJafar/d89a350abd3c564237998ec143acc624 to your computer and use it in GitHub Desktop.
AYON addon endpoint to serve coffee!
from typing import Type
from ayon_server.api.dependencies import CurrentUser
from ayon_server.addons import BaseServerAddon
from ayon_server.settings import BaseSettingsModel
# I've installed `art` module locally to my addon server code to a relative direcory called Lib
# pip install art --target=E:\Ynput\addons-test\my_addon\server\Libs
# Then, I've just created a package regulary and it included the Libs directory.
from .Libs.art import art
# Settings
class MySettings(BaseSettingsModel):
"""My Settings. """
pass
# Default settings values
DEFAULT_VALUES = {}
class MyAddonSettings(BaseServerAddon):
# Set settings
settings_model: Type[MySettings] = MySettings
# Set default settings values
async def get_default_settings(self):
settings_model_cls = self.get_settings_model()
return settings_model_cls(**DEFAULT_VALUES)
def initialize(self):
self.add_endpoint(
"get-coffee",
self.get_coffee,
method="GET",
)
# Example REST endpoint
async def get_coffee(
self,
user: CurrentUser
):
"""Return some coffee."""
coffee = art("coffee", number=2, space=3)
return (
f"Hello {user.name}, "
f"Here you are some {coffee} coffee!"
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment