fooder-api/fooder/controller/preset.py

17 lines
621 B
Python

from fooder.context import Context
from fooder.controller.base import ModelController
from fooder.domain import Preset
from fooder.model.preset import PresetUpdateModel
class PresetController(ModelController[Preset]):
@classmethod
async def create(cls, ctx: Context, name: str) -> "PresetController":
obj = Preset(name=name, user_id=ctx.user.id)
await ctx.repo.preset.create(obj)
return cls(ctx, obj)
async def update(self, data: PresetUpdateModel) -> None:
if data.name is not None:
self.obj.name = data.name
await self.ctx.repo.preset.update(self.obj)