def create(sourceControlDetails):
    """
    This function creates a new sourceControl in the sourceControl list
    based on the passed in sourceControl data

    :param sourceControl:  sourceControl to create in sourceControl structure
    :return:        201 on success, 406 on sourceControl exists
    """
    key = sourceControlDetails.get("key", None)
    value = sourceControlDetails.get("value", None)

    # Does the sourceControl exist already?
    existing_sourceControl = (SourceControl.query.filter(
        SourceControl.key == key).one_or_none())

    if existing_sourceControl is None:
        schema = SourceControlSchema()
        new_sourceControl = schema.load(sourceControlDetails,
                                        session=db.session)
        db.session.add(new_sourceControl)
        db.session.commit()

        # Serialize and return the newly created deployment
        # in the response
        data = schema.dump(new_sourceControl)

        return data, 201

    # Otherwise, it already exists, that's an error
    else:
        abort(406, f"SourceControl already exists")
Example #2
0
def create(sourceControlDetails):
    """
    This function creates a new sourceControl in the sourceControl list
    based on the passed in sourceControl data

    :param sourceControl:  sourceControl to create in sourceControl structure
    :return:        201 on success, 406 on sourceControl exists
    """
    # Remove id as it's created automatically
    if "id" in sourceControlDetails:
        del sourceControlDetails["id"]
    # Does the sourceControl exist already?
    existing_sourceControl = (db.session.query(SourceControl).filter(
        SourceControl.value == sourceControlDetails["value"]).one_or_none())

    if existing_sourceControl is None:
        schema = SourceControlSchema()
        new_sourceControl = schema.load(sourceControlDetails,
                                        session=db.session)
        db.session.add(new_sourceControl)
        db.session.commit()

        # Serialize and return the newly created deployment
        # in the response
        data = schema.dump(new_sourceControl)

        return data, 201

    # Otherwise, it already exists, that's an error
    else:
        abort(406, "SourceControl already exists")
Example #3
0
def update(id, sourceControlDetails):
    """
    This function updates an existing sourceControl in the sourceControl list

    :param id:    id of the sourceControl to update in the sourceControl list
    :param sourceControl:   sourceControl to update
    :return:       updated sourceControl
    """
    app.logger.debug(pformat(sourceControlDetails))

    if sourceControlDetails["id"] != id:
        abort(400, "Key mismatch in path and body")

    # Does the sourceControl exist in sourceControl list?
    existing_sourceControl = (db.session.query(SourceControl).filter(
        SourceControl.id == id).one_or_none())

    # Does sourceControl exist?

    if existing_sourceControl is not None:
        schema = SourceControlSchema()
        update_sourceControl = schema.load(sourceControlDetails,
                                           session=db.session)
        update_sourceControl.id = sourceControlDetails["id"]

        db.session.merge(update_sourceControl)
        db.session.commit()

        # return the updted sourceControl in the response
        data = schema.dump(update_sourceControl)
        return data, 200

    # otherwise, nope, deployment doesn't exist, so that's an error
    else:
        abort(404, "SourceControl not found")
Example #4
0
def update(key, sourceControl):
    """
    This function updates an existing sourceControl in the sourceControl list

    :param key:    key of the sourceControl to update in the sourceControl list
    :param sourceControl:   sourceControl to update
    :return:       updated sourceControl
    """

    app.logger.debug(pformat(sourceControl))

    if sourceControl["key"] != key:
        abort(400, f"Key mismatch in path and body")

    # Does the sourceControl exist in sourceControl list?
    existing_sourceControl = SourceControl.query.filter(
        SourceControl.key == key).one_or_none()

    # Does sourceControl exist?

    if existing_sourceControl is not None:
        schema = SourceControlSchema()
        update_sourceControl = schema.load(sourceControl, session=db.session)
        update_sourceControl.key = sourceControl['key']

        db.session.merge(update_sourceControl)
        db.session.commit()

        # return the updted sourceControl in the response
        data = schema.dump(update_sourceControl)
        return data, 200

    # otherwise, nope, deployment doesn't exist, so that's an error
    else:
        abort(404, f"SourceControl not found")
def read_all():
    """
    This function responds to a request for /api/sourceControl
    with the complete lists of sourceControls

    :return:        json string of list of sourceControls
    """

    # Create the list of sourceControls from our data
    sourceControl = SourceControl.query.order_by(SourceControl.key).all()
    app.logger.debug(pformat(sourceControl))
    # Serialize the data for the response
    sourceControl_schema = SourceControlSchema(many=True)
    data = sourceControl_schema.dump(sourceControl)
    return data
Example #6
0
def read_one(id):
    """
    This function responds to a request for /api/sourceControl/{id}
    with one matching sourceControl from sourceControls

    :param application:   id of sourceControl to find
    :return:              sourceControl matching id
    """
    sourceControl = (db.session.query(SourceControl).filter(
        SourceControl.id == id).one_or_none())

    if sourceControl is not None:
        # Serialize the data for the response
        sourceControl_schema = SourceControlSchema()
        data = sourceControl_schema.dump(sourceControl)
        return data
    else:
        abort(404, "SourceControl with id {id} not found".format(id=id))
def read_one(key):
    """
    This function responds to a request for /api/sourceControl/{key}
    with one matching sourceControl from sourceControls

    :param application:   key of sourceControl to find
    :return:              sourceControl matching key
    """

    sourceControl = (SourceControl.query.filter(
        SourceControl.key == key).one_or_none())

    if sourceControl is not None:
        # Serialize the data for the response
        sourceControl_schema = SourceControlSchema()
        data = sourceControl_schema.dump(sourceControl)
        return data
    else:
        abort(404, "SourceControl with key {key} not found".format(key=key))
Example #8
0
def read_keyValues():
    """
    This function responds to a request for /keyValues/sourceControl
    with the complete lists of SourceControls

    :return:        json string of list of SourceControls
    """
    # Create the list of SourceControls from our data
    sourceControl = db.session.query(SourceControl).order_by(
        SourceControl.id).all()
    app.logger.debug(pformat(sourceControl))
    # Serialize the data for the response
    sourceControl_schema = SourceControlSchema(many=True)
    data = sourceControl_schema.dump(sourceControl)
    keyValues = []
    for d in data:
        keyValuePair = {}
        keyValuePair["key"] = d.get("id")
        keyValuePair["value"] = d.get("value")
        keyValues.append(keyValuePair)
    print(keyValues)
    return keyValues