17 lines
621 B
Python
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)
|