Esempio n. 1
0
 def __init__(self):
     self.instance_table = InstanceTable()
     self.model_table = ModelTable()
     self.rack_table = RackTable()
     self.user_table = UserTable()
     self.dc_table = DatacenterTable()
     self.rack_height = 42
Esempio n. 2
0
def new_user():
    """ Create a new user """
    data: JSON = request.get_json()
    user_table: UserTable = UserTable()

    try:
        username: str = data["username"]
        password: str = data["password"]
        display_name: str = data["display_name"]
        email: str = data["email"]
        privilege: str = data["privilege"]

        user: User = User(
            username=username,
            display_name=display_name,
            email=email,
            password=password,
            privilege=privilege,
        )
        user_table.add_user(user=user)
    except KeyError:
        return HTTPStatus.BAD_REQUEST
    except DBWriteException:
        return HTTPStatus.INTERNAL_SERVER_ERROR

    return HTTPStatus.OK
 def __init__(self):
     self.AUTH_MANAGER = AuthManager()
     self.VALIDATOR = Validator()
     self.USER_TABLE = UserTable()
     self.BLACKLIST = []
     with open(dirname + blacklist_file, "r") as infile:
         contents = json.load(infile)
         self.BLACKLIST = contents.get("blacklist")
Esempio n. 4
0
def user(username: str):
    """ Get a user """
    user_table: UserTable = UserTable()

    user: Optional[User] = user_table.get_user(username=username)
    if user is None:
        return HTTPStatus.NOT_FOUND

    return user.make_json()
Esempio n. 5
0
    def __init__(self):
        self.instance_table = InstanceTable()
        self.model_table = ModelTable()
        self.rack_table = RackTable()
        self.user_table = UserTable()
        self.dc_table = DatacenterTable()
        self.cp_table = ChangePlanTable()
        self.cp_action_table = ChangePlanActionTable()
        self.instance_manager = InstanceManager()
        self.rack_height = 42

        self.cp_asset_set = set()
        self.decom_asset_set = set()
        self.no_pow_conflict = False
Esempio n. 6
0
from app.dal.user_table import UserTable
from app.data_models.user import User
from app.exceptions.UserExceptions import (
    InvalidDatacenterError,
    InvalidEmailError,
    InvalidPasswordError,
    InvalidPrivilegeError,
    InvalidUsernameError,
    NoEditsError,
    UserException,
    UsernameTakenError,
)
from app.main.types import JSON
from app.permissions.permissions_constants import PermissionConstants

USER_TABLE = UserTable()
DC_TABLE = DatacenterTable()


class Validator:
    def __init__(self) -> None:
        self.EMAIL_USED_MSG = "Email already associated with another account"
        self.EMAIL_INVALID_MSG = "Email invalid"
        self.USERNAME_INVALID_MSG = "Username invalid"
        self.USERNAME_TAKEN_MSG = "Username already taken"
        self.PASSWORD_INVALID_MSG = "Password too weak"

    def validate_password(self, password: str) -> bool:
        """Ensures password adheres to security guidelines:
            - Should have at least one number.
            - Should have at least one uppercase and one lowercase character.
Esempio n. 7
0
    db.drop_all()
    db.create_all()
    db.session.commit()

    encrypted_password = AuthManager().encrypt_pw(password="******")
    datacenters = ["*"]
    priv: Permission = Permission(
        model=True,
        asset=True,
        datacenters=datacenters,
        power=True,
        audit=True,
        admin=True,
    )
    user: User = User(
        username="******",
        display_name="Admin",
        email="*****@*****.**",
        password=encrypted_password,
        privilege=priv.make_json(),
        datacenters=datacenters,
    )

    UserTable().add_user(user=user)

    model: Model = Model(vendor="dell",
                         model_number="1234",
                         mount_type="rackmount",
                         height=3)
    ModelTable().add_model(model=model)
Esempio n. 8
0
from application import application, init  # isort:skip

from typing import List, Optional

from app.dal.user_table import UserTable
from app.data_models.user import User
from app.users.authentication import AuthManager


class InvalidInputException(Exception):
    """
    Raised when the input given is invalid
    """


user_table = UserTable()


def main():
    print("User Management")
    print()

    while True:
        print("1 - Add user")
        print("2 - Get user")
        print("3 - Get all users")
        print("q - exit")
        print()

        user_input: str = input("Select operation: ")
        if user_input == "q":
        model=True,
        asset=True,
        datacenters=datacenters,
        power=True,
        audit=True,
        admin=True,
    )
    user: User = User(
        username="******",
        display_name="Admin",
        email="*****@*****.**",
        password=encrypted_password,
        privilege=priv.make_json(),
        datacenters=datacenters,
    )
    UserTable().add_user(user=user)

    # Basic user
    encrypted_password = AuthManager().encrypt_pw(password="******")
    datacenters = []
    basic_priv: Permission = Permission(
        model=False,
        asset=False,
        datacenters=datacenters,
        power=False,
        audit=False,
        admin=False,
    )
    basic_user: User = User(
        username="******",
        display_name="Basic",