예제 #1
0
def delete_publishment():
    id = get_parameter('id')

    session = Session()
    try:
        session.query(Publishment).filter(Publishment.id == id).delete()
        session.commit()
    finally:
        session.close()

    return jsonify({'status': 'OK'})
예제 #2
0
def undibs():
    id = request.get_json()["offer_id"]

    session = Session()
    offer = session.query(Offer).filter(Offer.id == id).first()

    offer.dibsedby_id = None
    session.commit()
    offer = session.query(Offer).filter(Offer.id == id).first()
    app.logger.debug(offer.dibsedby_id)

    session.close()
    return "", 200
예제 #3
0
def delete_user(id):
    session = Session()
    user = session.query(User).filter(User.id == id).first()
    session.delete(user)
    session.commit()
    session.close()
    return "", 200
예제 #4
0
def delete_offer(id):
    session = Session()
    offer = session.query(Offer).filter(Offer.id == id).first()
    session.delete(offer)
    session.commit()
    session.close()
    return "", 200
예제 #5
0
def delete_exam(examId):
    session = Session()
    exam = session.query(Exam).filter_by(id=examId).first()
    session.delete(exam)
    session.commit()
    session.close()
    return '', 201
예제 #6
0
def publishment_list():
    page_size = 10
    keyword = request.args.get('keyword')
    current_page = request.args.get('current_page')

    session = Session()
    try:
        base_statement = session.query(Publishment).select_from(Publishment) \
            .join(GitRepo, Publishment.git_repo_id == GitRepo.id)
        if keyword:
            base_statement = base_statement.filter(or_(Publishment.name.like('%' + keyword + '%'),
                                                       Publishment.description.like('%' + keyword + '%'),
                                                       Publishment.to_project_home.like('%' + keyword + '%'),
                                                       Publishment.to_process_name.like('%' + keyword + '%'),
                                                       GitRepo.name.like('%' + keyword + '%'),
                                                       GitRepo.description.like('%' + keyword + '%'),
                                                       GitRepo.ssh_url_to_repo.like('%' + keyword + '%'),
                                                       GitRepo.http_url_to_repo.like('%' + keyword + '%'),
                                                       GitRepo.web_url.like('%' + keyword + '%'),
                                                       GitRepo.path_with_namespace.like('%' + keyword + '%')
                                                       ))
        publishment_git_repos_objects = base_statement.limit(page_size).offset(
            (int(current_page) - 1) * page_size).all()
        if len(publishment_git_repos_objects) != 0:
            publishment_git_repos_counts = base_statement.count()
        else:
            publishment_git_repos_counts = 0
    finally:
        session.close()

    result_list = PublishmentSchema(many=True).dump(publishment_git_repos_objects)
    result = {'data': result_list, 'total': publishment_git_repos_counts}

    return jsonify(result)
예제 #7
0
def get_publishment_detail(id):
    session = Session()
    try:
        return session.query(Publishment).select_from(
            Publishment).join(GitRepo,
                              Publishment.git_repo_id == GitRepo.id).filter(Publishment.id == id).one_or_none()
    finally:
        session.close()
예제 #8
0
def update_publishment():
    params_dict = request.get_json()
    id = params_dict['id']
    params_dict['git_branches'] = ','.join(params_dict.get('git_branches'))
    params_dict['to_ip'] = ','.join(params_dict.get('to_ip'))
    params_dict['git_delete_temp_branch'] = 1 if params_dict.get('git_delete_temp_branch') else 0
    params_dict.pop('id')
    params_dict.pop('git_repo')

    session = Session()
    try:
        session.query(Publishment).filter(Publishment.id == id).update(params_dict)
        session.commit()
    finally:
        session.close()

    return jsonify({'status': 'OK'})
예제 #9
0
def get_publishment_by_repo_id(git_repo_id):
    session = Session()
    try:
        return session.query(Publishment).select_from(Publishment).join(GitRepo,
                                                                        Publishment.git_repo_id == GitRepo.id).filter(
            Publishment.git_repo_id == git_repo_id).all()
    finally:
        session.close()
예제 #10
0
def get_dibses(user):
    session = Session()
    offer_objects = session.query(Offer).filter(Offer.dibsedby_id == user)

    schema = OfferSchema(many=True)
    offers = schema.dump(offer_objects)

    session.close()
    return jsonify(offers), 200
예제 #11
0
def get_user(id):
    session = Session()
    user_object = session.query(User).filter(User.id == id).first()

    schema = UserSchema()
    user = schema.dump(user_object)

    session.close()
    return jsonify(user), 200
예제 #12
0
def get_exams():
    # fetching from the database
    session = Session()
    exam_objects = session.query(Exam).all()
    # transforming into JSON-serializable objects
    schema = ExamSchema(many=True)
    exams = schema.dump(exam_objects)
    # serializing as JSON
    session.close()
    return jsonify(exams)
예제 #13
0
def get_offers():
    # Database
    session = Session()
    offer_objects = session.query(Offer).all()

    # Create serializable object
    schema = OfferSchema(many=True)
    offers = schema.dump(offer_objects)

    session.close()
    return jsonify(offers), 200
예제 #14
0
def deleteOldPasswordChangeId():
    try:
        expireTime = datetime.datetime.now() - datetime.timedelta(minutes=10)
        session = Session()
        expiredIds = session.query(IdCambioContrasenna).filter(
            IdCambioContrasenna.fechaCreacion < expireTime).all()

        for id in expiredIds:
            session.delete(id)
        session.commit()
        return '', 200
    except:
        return '', 400
예제 #15
0
def dibs():
    ids = request.get_json()
    user_id = ids["user_id"]
    offer_id = ids["offer_id"]

    session = Session()
    offer = session.query(Offer).filter(Offer.id == offer_id).first()

    offer.dibsedby_id = user_id
    session.commit()

    session.close()
    return "", 200
예제 #16
0
def publishment_detail(id):
    session = Session()
    try:
        result_object = session.query(Publishment).filter(Publishment.id == id).one_or_none()
    finally:
        session.close()

    result = PublishmentSchema().dump(result_object)
    if result_object:
        result['git_branches'] = result.get('git_branches').split(',')
        result['to_ip'] = result.get('to_ip').split(',')
        result['git_delete_temp_branch'] = True if result.get('git_delete_temp_branch') == 1 else False

    return jsonify(result)
예제 #17
0
def login():
    posted_creds = request.get_json()
    username = posted_creds["name"]

    session = Session()

    user_object = session.query(User).filter(User.name == username).first()

    schema = UserSchema()
    user = schema.dump(user_object)
    session.close()

    if not user:
        return jsonify({"error": "No user with that name"}), 200

    if posted_creds["pw"] == user["pw"]:
        return jsonify({"id": user["id"], "name": user["name"]}), 200
    else:
        return jsonify({"error": "Incorrect password"}), 200
예제 #18
0
		def test_EntryExists(self):
				Base.metadata.create_all(engine) #generate db schema
				session = Session() # start session
				webcams = session.query(Webcam).all()
				self.assertEqual(len(webcams),0,'There are entries and there shouldn\'t be')