32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
from argparse import ArgumentParser
|
|
from pathlib import Path
|
|
import sys
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
sys.path.insert(0, str(ROOT))
|
|
|
|
from app.database import SessionLocal # noqa: E402
|
|
from app.models import PersonRole, Personnel, Role # noqa: E402
|
|
|
|
|
|
def main() -> None:
|
|
parser = ArgumentParser(description="Create or update the first manager account.")
|
|
parser.add_argument("--phone", required=True, help="经理手机号")
|
|
parser.add_argument("--name", required=True, help="经理姓名")
|
|
args = parser.parse_args()
|
|
|
|
with SessionLocal() as db:
|
|
person = db.get(Personnel, args.phone)
|
|
if person is None:
|
|
person = Personnel(phone=args.phone)
|
|
db.add(person)
|
|
person.name = args.name
|
|
if db.get(PersonRole, {"phone": args.phone, "role": Role.manager}) is None:
|
|
db.add(PersonRole(phone=args.phone, role=Role.manager))
|
|
db.commit()
|
|
print(f"manager ready: {args.name} {args.phone}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|