You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
2.8 KiB

3 years ago
import sys
sys.path.append("..")
from db.session import SessionLocal, engine
from db.base_class import Base
from models.auth import Role, User
from models.menu import Menu
from api.v1.auth.crud.user import crud_user
# from core.security import get_password_hash
def main() -> None:
Base.metadata.create_all(engine)
db = SessionLocal()
# create_user(db)
create_menu(db)
# create_auth_data(db)
# get_userinfo(db)
def create_auth_data(db):
user_in_1 = User(
username="admin",
# hashed_password=get_password_hash('1qazxsw2'),
nickname="Leo Liu",
email="10200039@qq.com",
avatar="http://www.koelndom.top:13060/public/upload/642/5f81bd14eebb2e000d000002/images/logo/6115abbb55b35ac4c047a00b1272d475.jpg"
)
user_in_2 = User(
username="novelliou",
# hashed_password=get_password_hash('1qazxsw2'),
nickname="Leo",
email="leo@koelndom.cn",
avatar="http://www.koelndom.top:13060/public/upload/642/5f81bd14eebb2e000d000002/images/logo/6115abbb55b35ac4c047a00b1272d475.jpg"
)
role_in_1 = Role(
name="admin",
title="管理员"
)
role_in_2 = Role(
name="user",
title="用户"
)
menu_in_1 = Menu(
path = "/system",
name = "System"
)
menu_in_2 = Menu(
path = "/system/auth",
name = "Auth",
super_menu = "/system"
)
menu_in_3 = Menu(
path = "/system/auth/user",
name = "User",
super_menu = "/system/auth"
)
menu_in_4 = Menu(
path = "/system/auth/role",
name = "Role",
super_menu = "/system/auth"
)
menu_in_5 = Menu(
path = "/system/logs",
name = "Logs",
super_menu = "/system"
)
""" role_in_1.menus = [menu_in_1, menu_in_2, menu_in_3, menu_in_4, menu_in_5, menu_in_6, menu_in_7]
role_in_2.menus = [menu_in_1, menu_in_2, menu_in_3, menu_in_4, menu_in_5, menu_in_7]
user_in_1.roles = [role_in_1]
user_in_2.roles = [role_in_2] """
role_in_1.menus.append(menu_in_1)
role_in_1.menus.append(menu_in_2)
role_in_1.menus.append(menu_in_3)
role_in_1.menus.append(menu_in_4)
role_in_1.menus.append(menu_in_5)
user_in_1.roles.append(role_in_1)
user_in_2.roles.append(role_in_2)
db.add(user_in_1)
db.add(user_in_2)
db.commit()
db.refresh(user_in_1)
def get_userinfo(db):
user = crud_user.get_by_username(db, username="novelliou")
for menu in user.roles[0].menus:
print(menu.path)
def create_menu(db):
menu_in = Menu(
path = "/system/auth/menu",
name = "Menu",
super_menu = "/system/auth"
)
db.add(menu_in)
db.commit()
if __name__ == "__main__":
main()