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
116 lines
2.8 KiB
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() |