card: add memos
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
from typing import Dict, List, Optional
|
||||
from sqlalchemy import Table, Column, UniqueConstraint
|
||||
from sqlalchemy.types import Integer, String, Boolean, TIMESTAMP, BIGINT
|
||||
from sqlalchemy.types import Integer, String, Boolean, TIMESTAMP, BIGINT, VARCHAR
|
||||
from sqlalchemy.sql.schema import ForeignKey
|
||||
from sqlalchemy.sql import func
|
||||
from sqlalchemy.engine import Row
|
||||
@ -19,6 +19,7 @@ aime_card = Table(
|
||||
Column("last_login_date", TIMESTAMP, onupdate=func.now()),
|
||||
Column("is_locked", Boolean, server_default="0"),
|
||||
Column("is_banned", Boolean, server_default="0"),
|
||||
Column("memo", VARCHAR(16)),
|
||||
UniqueConstraint("user", "access_code", name="aime_card_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
@ -148,6 +149,11 @@ class CardData(BaseData):
|
||||
if not result:
|
||||
self.logger.error(f"Failed to change card access code from {old_ac} to {new_ac}")
|
||||
|
||||
async def set_memo_by_access_code(self, access_code: str, memo: str) -> None:
|
||||
result = await self.execute(aime_card.update(aime_card.c.access_code == access_code).values(memo=memo))
|
||||
if not result:
|
||||
self.logger.error(f"Failed to add memo to card {access_code}")
|
||||
|
||||
def to_access_code(self, luid: str) -> str:
|
||||
"""
|
||||
Given a felica cards internal 16 hex character luid, convert it to a 0-padded 20 digit access code as a string
|
||||
|
Reference in New Issue
Block a user