Beispiel #1
0
async def create(con: AsyncIOConnection, *, obj_in: UserCreate) -> User:
    data_in = obj_in.dict(exclude_unset=True)
    if data_in.get("password"):
        data_in["hashed_password"] = get_password_hash(obj_in.password)
        del data_in["password"]
    shape_expr = utils.get_shape(data_in)
    try:
        result = await con.query_one_json(
            f"""SELECT (
                INSERT User {{
                    {shape_expr}
                }}
            ) {{
                id,
                email,
                full_name,
                is_superuser,
                is_active,
                num_items,
                items: {{
                    id,
                    title
                }}
            }}""",
            **data_in,
        )
    except Exception as e:
        raise HTTPException(status_code=400, detail=f"{e}")
    user = User.parse_raw(result)
    return user
Beispiel #2
0
def create(db: Session, user_in: schemas.UserCreate):
    user_in.password = hash_password(user_in.password)
    user = User(**user_in.dict())
    db.add(user)
    db.commit()
    db.refresh(user)
    return user
def add_user(*, db: Session = Depends(deps.get_db),
             user: schemas.UserCreate) -> Any:
    """用户管理-新增"""
    user = user.dict()
    deptId = user.pop("deptId")
    postIds = user.pop("postIds")
    roleIds = user.pop("roleIds")
    # User
    add_user = models.User(**user)
    db.add(add_user)
    db.flush()
    # department
    user_department = {
        "user_id": add_user.id,
        "department_id": deptId,
    }
    db.add(models.User_Department(**user_department))
    db.flush()
    # role
    user_roles = [{"user_id": add_user.id, "role_id": i} for i in roleIds]
    db.bulk_insert_mappings(models.User_Role, user_roles)
    db.flush()
    # dict
    # post
    user_post = [{"user_id": add_user.id, "dict_id": i} for i in postIds]
    user_dict = user_post + []
    db.bulk_insert_mappings(models.User_Dict, user_dict)
    db.flush()
    return {
        "code": 20000,
        "message": "新增成功",
    }
Beispiel #4
0
def register(user: schemas.UserCreate, db=Depends(get_db)):
    if crud.user.get(user.email, db):
        raise HTTPException(409, 'A User with this email already exists')
    user = schemas.User.from_orm(crud.user.create(db, user))

    # create token
    access_token = manager.create_access_token(data={'sub': user.email})
    token = Token(access_token=access_token, token_type="Bearer")
    return schemas.UserRegistered(**user.dict(), login_credentials=token)
Beispiel #5
0
def create_user(user: schemas.UserCreate, db: Session) -> schemas.User:
    user_dict = user.dict()
    password = user_dict["password"]
    user_dict["hashed_password"] = auth_utils.get_password_hash(password)
    del user_dict["password"]
    db_user = models.User(**user_dict)
    db.add(db_user)
    db.commit()
    db.refresh(db_user)
    return db_user
 def create(
     self, db: Session, *, obj_in: schemas.UserCreate, commit: bool = True
 ) -> User:
     obj_dict = obj_in.dict()
     obj_dict["hashed_password"] = get_password_hash(obj_in.password)
     del obj_dict["password"]
     db_obj = User(**obj_dict)
     db.add(db_obj)
     if commit:
         db.commit()
         db.refresh(db_obj)
     return db_obj
Beispiel #7
0
async def create_user(user: UserCreate):
    user_obj = await Users.create(**user.dict())
    return await User_Pydantic.from_tortoise_orm(user_obj)
Beispiel #8
0
def create_user(db: Session, new_user: schemas.UserCreate):
    db_user = models.User(**new_user.dict())
    db.add(db_user)
    db.commit()
    db.refresh(db_user)
    return db_user