Exemplo n.º 1
0
 def create(self):
     contract = CreateProfileSystemContract()
     playload = request.json
     if not(contract.validate(playload)):
         return ResultModel('Problema nos parametros enviados.', False, contract.errors).to_dict(), 406
     repository = ProfileSystemRepository()
     profile_system = repository.create(playload)
     status_result = SetStatusResponseHandler()
     return status_result.default(profile_system)
Exemplo n.º 2
0
    def create(self):
        contract = CreateProfileSystemAndDependenciesContract()
        playload = request.json
        if not (contract.validate(playload)):
            return ResultModel('Problema nos parametros enviados.', False,
                               contract.errors).to_dict(), 406
        system_id = playload.get('system_id')

        repo_prof_sys = ProfileSystemRepository()
        profile_system_dto = dict(
            system_id=system_id,
            name=playload.get('name_profile_system'),
            description=playload.get('description_profile_system'))

        profile_system_db_result = repo_prof_sys.create(profile_system_dto)
        status_result = SetStatusResponseHandler()
        if (not profile_system_db_result['data']['result']):
            return status_result.default(profile_system_db_result)

        profile_system = profile_system_db_result['data']['result']
        profile_system_id = profile_system.get('id')
        system_permisions_ids = playload.get('system_permisions_ids')
        dto_multiple_profile_permission = dict(
            profile_system_id=profile_system_id,
            system_permisions_ids=system_permisions_ids)

        repo_prof_permis = ProfilePermissionRepository()
        prof_permis_db_result = repo_prof_permis.create(
            dto_multiple_profile_permission)
        if (not prof_permis_db_result['data']['result']):
            return status_result.default(prof_permis_db_result)
        profile_permission = prof_permis_db_result['data']['result']
        repo_user_prof_sys = UserProfileSystemRepository()

        users_ids = playload.get('users_ids')
        user_profile_system_dto = dict(users_ids=users_ids,
                                       profile_system_id=profile_system_id)

        user_prof_sys_db_result = repo_user_prof_sys.create_multiples(
            user_profile_system_dto)
        if (not user_prof_sys_db_result['data']['result']):
            return status_result.default(user_prof_sys_db_result)
        user_profile_system = user_prof_sys_db_result['data']['result']

        data = dict(profile_system=profile_system,
                    profile_permission=profile_permission,
                    user_profile_system=user_profile_system)
        result = ResultModel(
            'Sucesso na criação do perfil de sistema e suas dependencias.',
            data, False).to_dict()
        return status_result.created(result)