# credits model - deprecated, kept for backward compatibility # this module is replaced by the subscription system from decimal import Decimal from typing import Optional, List from pydantic import BaseModel class SetCreditFormDetail(BaseModel): operator: str = "" api_name: str = "" api_params: dict = {} class SetCreditForm(BaseModel): user_id: str credit: Decimal = Decimal("0") detail: Optional[SetCreditFormDetail] = None class AddCreditForm(BaseModel): user_id: str amount: Decimal = Decimal("0") detail: Optional[SetCreditFormDetail] = None class CreditModel(BaseModel): user_id: str credit: Decimal = Decimal("0") class Credits: """ Deprecated credits class. Kept for backward compatibility - returns dummy data. The subscription system now handles billing. """ @classmethod def init_credit_by_user_id(cls, user_id: str) -> CreditModel: return CreditModel(user_id=user_id, credit=Decimal("0")) @classmethod def get_credit_by_user_id(cls, user_id: str) -> Optional[CreditModel]: return CreditModel(user_id=user_id, credit=Decimal("0")) @classmethod def set_credit_by_user_id(cls, form_data: SetCreditForm) -> CreditModel: return CreditModel(user_id=form_data.user_id, credit=form_data.credit) @classmethod def add_credit_by_user_id(cls, form_data: AddCreditForm) -> CreditModel: return CreditModel(user_id=form_data.user_id, credit=form_data.amount) @classmethod def list_credits_by_user_id(cls, user_ids: List[str]) -> List[CreditModel]: return [CreditModel(user_id=uid, credit=Decimal("0")) for uid in user_ids]