Adds user equity eligibility management
Implements functionality to manage user equity eligibility, allowing admins to grant and revoke access. Adds database migration, models, CRUD operations, and API endpoints for managing user equity status. This feature enables finer-grained control over who can convert expenses to equity contributions. Validates a user's eligibility before allowing them to submit expenses as equity.
This commit is contained in:
parent
3248d3dad6
commit
7f9cecefa1
4 changed files with 249 additions and 4 deletions
26
models.py
26
models.py
|
|
@ -247,3 +247,29 @@ class CreateBalanceAssertion(BaseModel):
|
|||
fiat_currency: Optional[str] = None
|
||||
tolerance_sats: int = 0
|
||||
tolerance_fiat: Decimal = Decimal("0")
|
||||
|
||||
|
||||
class UserEquityStatus(BaseModel):
|
||||
"""Tracks user's equity eligibility and status"""
|
||||
user_id: str # User's wallet ID
|
||||
is_equity_eligible: bool # Can user convert expenses to equity?
|
||||
equity_account_name: Optional[str] = None # e.g., "Equity:Alice"
|
||||
notes: Optional[str] = None # Admin notes
|
||||
granted_by: str # Admin who granted eligibility
|
||||
granted_at: datetime
|
||||
revoked_at: Optional[datetime] = None # If eligibility was revoked
|
||||
|
||||
|
||||
class CreateUserEquityStatus(BaseModel):
|
||||
"""Create or update user equity eligibility"""
|
||||
user_id: str
|
||||
is_equity_eligible: bool
|
||||
equity_account_name: Optional[str] = None
|
||||
notes: Optional[str] = None
|
||||
|
||||
|
||||
class UserInfo(BaseModel):
|
||||
"""User information including equity eligibility"""
|
||||
user_id: str
|
||||
is_equity_eligible: bool
|
||||
equity_account_name: Optional[str] = None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue