feat: Separate asset origin type from content type for improved asset categorization and handling.

This commit is contained in:
xds
2026-02-07 14:41:03 +03:00
parent ce87ac7edb
commit 305ad24576
13 changed files with 53 additions and 17 deletions

View File

@@ -8,7 +8,7 @@ from aiogram.fsm.state import State, StatesGroup
from aiogram.types import *
from aiogram import Router, F, Bot
from models.Asset import Asset, AssetType
from models.Asset import Asset, AssetType, AssetContentType
from models.Character import Character
from repos.dao import DAO
@@ -74,7 +74,7 @@ async def new_char_bio(message: Message, state: FSMContext, dao: DAO, bot: Bot):
file_bytes = await bot.download_file(file_info.file_path)
file_io = file_bytes.read()
avatar_asset = await dao.assets.create_asset(
Asset(name="avatar.png", type=AssetType.IMAGE, linked_char_id=str(char.id), data=file_io,
Asset(name="avatar.png", type=AssetType.UPLOADED, content_type=AssetContentType.IMAGE, linked_char_id=str(char.id), data=file_io,
tg_doc_file_id=file_id))
char.avatar_image = avatar_asset.link
# Отправляем подтверждение

View File

@@ -14,7 +14,7 @@ from aiogram.types import *
import keyboards
from adapters.google_adapter import GoogleAdapter
from models.Asset import Asset, AssetType
from models.Asset import Asset, AssetType, AssetContentType
from models.Character import Character
from models.enums import AspectRatios, Quality, GenType
from repos.dao import DAO
@@ -50,7 +50,7 @@ async def generate_image_cmd(message: Message, state: FSMContext, dao: DAO, gemi
gemini=gemini)
await wait_msg.delete()
doc = await message.answer_document(res[0], caption="Generated result 💫")
await dao.assets.create_asset(Asset(id=None, name=res[0].filename, type=AssetType.IMAGE, data=res[0].data,
await dao.assets.create_asset(Asset(id=None, name=res[0].filename, type=AssetType.GENERATED, content_type=AssetContentType.IMAGE, data=res[0].data,
tg_doc_file_id=doc.document.file_id, tg_photo_file_id=None, linked_char_id=None))
@@ -257,7 +257,7 @@ async def handle_album(
if generated_files:
for file in generated_files:
doc = await message.answer_document(file, caption="✨ Generated result")
await dao.assets.create_asset(Asset(id=None, name=file.filename, type=AssetType.IMAGE, data=file.data,
await dao.assets.create_asset(Asset(id=None, name=file.filename, type=AssetType.GENERATED, content_type=AssetContentType.IMAGE, data=file.data,
tg_doc_file_id = doc.document.file_id, tg_photo_file_id = None,
linked_char_id = data["char_id"]))
else:
@@ -312,7 +312,7 @@ async def gen_mode_start(
if generated_files:
for file in generated_files:
doc = await message.answer_document(file, caption="✨ Generated result")
await dao.assets.create_asset(Asset(id=None, name=file.filename, type=AssetType.IMAGE, data=file.data,
await dao.assets.create_asset(Asset(id=None, name=file.filename, type=AssetType.GENERATED, content_type=AssetContentType.IMAGE, data=file.data,
tg_doc_file_id=doc.document.file_id, tg_photo_file_id=None,
linked_char_id=data["char_id"]))