示例#1
0
def CreateUser():
    #if not 'logged_in' in session: return ResponseUnauthorized()
    if request.method != "POST": return ResponseMethodNotAllowed()

    insertion_result_list = {}
    data = request.get_json()
    if not data: return ResponseBadRequest()
    if not IsString(data['name']): return ResponseBadRequest()

    #Fazer a inserção da security key. O retorno é um dicionario
    result = InsertSecurityKey(data)
    insertion_result_list["security_key"] = result["state"]
    #Se teve sucesso na inserção da security key ou já existe...
    if insertion_result_list["security_key"] == "fail":
        return ResponseBadRequest()

    if SearchUser(data=data):
        insertion_result_list["user"] = "******"
    else:
        sk = SearchSecurityKey(data=data)
        u = CreateUserData(data, sk)
        if u == None: return ResponseNotFound()
        insertion_result_list["user"] = SaveToDataBase(u)

    result = UpdatePermission(data)
    insertion_result_list["allowed_lab_id"] = result["state"]
    if insertion_result_list["user"] == "success": return ResponseCreated()
    elif insertion_result_list["user"] == "exist": return ResponseConflict()
示例#2
0
def InsertPermission(data):
    from app.controllers.user import SearchUser
    flag = 0
    fail_list = []
    user_data = SearchUser(data=data)
    if len(data["permission"]) == 0:
        return {
            "message": "No have permissions for insertion",
            "state": "fail"
        }
    for lab in data["permission"]:
        laboratory = SearchLaboratory(name=lab)
        if not SearchPermission(
                data=data, user_data=user_data, laboratory=laboratory):
            SaveToDataBase(CreatePermissionData(user_data, laboratory))
        else:
            flag = 1
            fail_list.append("{}".format(lab))

    if flag == 0:
        return {
            "message": "All permissions inserted successfully",
            "state": "success"
        }

    message = ""
    for fail in fail_list:
        message = "{0} {1}".format(message, fail)
    message = message[1:]
    return {"message": "Have permissions alredy exists", "state": "exist"}
示例#3
0
def CreateEventLog():
    #if not 'logged_in' in session: return ResponseUnauthorized()
    errors = []
    count = 1

    if request.method != "POST": return ResponseMethodNotAllowed()
    datas = request.get_json()

    for data in datas['events']:
        if SearchEventLog(data_for_one=data):
            errors.append(RegisterError("exist", count))
            count += 1
            continue

        new_event_log = CreateEventLogData(data)
        if not new_event_log:
            errors.append(RegisterError("not created"), count)
            count += 1
            continue
        SaveToDataBase(new_event_log)

    for error in errors:
        print(error)

    return ResponseCreated()
示例#4
0
def InsertSecurityKey(data):
    new_data = None
    if not data:
        return {"message": "Failed security key insertion", "state": "fail"}
    if SearchSecurityKey(data=data):
        return {"message": "Security key alredy exists", "state": "exist"}
    result = SaveToDataBase(CreateSecurityKeyData(data))
    return {"message": "Security key inserted successfully", "state": result}
示例#5
0
def CreateLaboratory():
    #if not 'logged_in' in session: return ResponseUnauthorized()
    if request.method != "POST": return ResponseMethodNotAllowed()
    data = request.get_json()
    if not IsString(data['name']): return ResponseBadRequest()
    if SearchLaboratory(data=data): return ResponseConflict()
    new_lab = Laboratory(name=data['name'])
    if not new_lab: return ResponseBadRequest()
    SaveToDataBase(new_lab)
    return ResponseCreated()
示例#6
0
def UpdatePermission(data):
    from app.controllers.user import SearchUser
    user_data = SearchUser(data=data)
    for lab_id in data['allowed_lab_id']:
        laboratory = SearchLaboratory(ident=lab_id)
        if not SearchPermission(
                data=data, user_data=user_data, laboratory=laboratory):
            SaveToDataBase(CreatePermissionData(user_data, laboratory))

    return {
        "message": "All permissions inserted successfully",
        "state": "success"
    }
示例#7
0
def CreateAdmin():
    #if not 'logged_in' in session: return ResponseUnauthorized()
    if request.method != "POST": return ResponseMethodNotAllowed()
    data = request.get_json()
    if not IsString(data['name']): return ResponseBadRequest()
    #criptografar a senha que vem do Json
    hashed_password = generate_password_hash(data['password'], method='sha256')

    #checar se já existe tal usuário no BD, caso não tenha ele inseri
    if SearchAdmin(data=data): return ResponseConflict()
    new_admin = CreateAdminData(data, hashed_password)
    if not new_admin: return ResponseBadRequest()
    SaveToDataBase(new_admin)
    return ResponseCreated()
示例#8
0
def CreateSchedule():
    #if not 'logged_in' in session: return ResponseUnauthorized()
    if request.method != "POST": return ResponseMethodNotAllowed()
    data = request.get_json()
    if SearchSchedule(data_for_one=data): return ResponseConflict()

    if not CanCreateNewSchedule(data):
        print("Conflito de horário")
        return ResponseConflict()

    lab = SearchLaboratory(ident=data['laboratory_id'])
    if not lab: return ResponseNotFound()
    new_schedule = CreateScheduleData(data, lab)
    if not new_schedule: return ResponseBadRequest()
    SaveToDataBase(new_schedule)
    return ResponseCreated()
示例#9
0
    def __repr__(self):
        return "<User %r>" % self.user_name


db.create_all()
from app.controllers.functions import SaveToDataBase
from app.controllers.user import CreateUserData
from app.controllers.securitykey import InsertSecurityKey, SearchSecurityKey

if len(Admin.query.all()) == 0:
    first_admin = Admin(name="Admin",
                        login_name="admin",
                        password="******",
                        email="*****@*****.**")
    db.session.add(first_admin)
    db.session.commit()

if len(User.query.all()) == 0:
    data = {
        "name": "Estudante001",
        "internal_id": "00000",
        "email": "*****@*****.**",
        "profession": "Estudante",
        "security_key": "990011223344",
        "allowed_lab_id": []
    }
    InsertSecurityKey(data)
    sk = SearchSecurityKey(data=data)
    SaveToDataBase(CreateUserData(data, sk))