mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-05-06 20:42:52 +08:00
67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
from app.db.engine import get_db
|
|
from app.db.models.models import Model
|
|
|
|
|
|
def get_model_by_provider_and_name(provider_id: int, model_name: str):
|
|
db = next(get_db())
|
|
try:
|
|
model = db.query(Model).filter_by(provider_id=provider_id, model_name=model_name).first()
|
|
if model:
|
|
return {
|
|
"id": model.id,
|
|
"provider_id": model.provider_id,
|
|
"model_name": model.model_name,
|
|
"created_at": model.created_at,
|
|
}
|
|
return None
|
|
finally:
|
|
db.close()
|
|
|
|
|
|
def insert_model(provider_id: int, model_name: str):
|
|
db = next(get_db())
|
|
try:
|
|
model = Model(provider_id=provider_id, model_name=model_name)
|
|
db.add(model)
|
|
db.commit()
|
|
db.refresh(model)
|
|
return {
|
|
"id": model.id,
|
|
"provider_id": model.provider_id,
|
|
"model_name": model.model_name,
|
|
"created_at": model.created_at,
|
|
}
|
|
finally:
|
|
db.close()
|
|
|
|
|
|
def get_models_by_provider(provider_id: int):
|
|
db = next(get_db())
|
|
try:
|
|
models = db.query(Model).filter_by(provider_id=provider_id).all()
|
|
return [{"id": m.id, "model_name": m.model_name} for m in models]
|
|
finally:
|
|
db.close()
|
|
|
|
|
|
def delete_model(model_id: int):
|
|
db = next(get_db())
|
|
try:
|
|
model = db.query(Model).filter_by(id=model_id).first()
|
|
if model:
|
|
db.delete(model)
|
|
db.commit()
|
|
finally:
|
|
db.close()
|
|
|
|
|
|
def get_all_models():
|
|
db = next(get_db())
|
|
try:
|
|
models = db.query(Model).all()
|
|
return [
|
|
{"id": m.id, "provider_id": m.provider_id, "model_name": m.model_name}
|
|
for m in models
|
|
]
|
|
finally:
|
|
db.close() |