示例#1
0
    def _post(self, what, transaction, changed_by, change_type):
        if change_type not in ["insert", "update", "delete"]:
            return problem(400, "Bad Request", "Invalid or missing change_type")

        if is_when_present_and_in_past_validator(what):
            return problem(400, "Bad Request", "Changes may not be scheduled in the past")

        sc_id = self.sc_table.insert(changed_by, transaction, **what)
        return jsonify(sc_id=sc_id)
示例#2
0
    def _post(self, what, transaction, changed_by, change_type):
        if change_type not in ["insert", "update", "delete"]:
            return problem(400, "Bad Request", "Invalid or missing change_type")

        if is_when_present_and_in_past_validator(what):
            return problem(400, "Bad Request", "Changes may not be scheduled in the past")

        sc_id = self.sc_table.insert(changed_by, transaction, **what)
        return jsonify(sc_id=sc_id)
示例#3
0
    def _post(self, sc_id, what, transaction, changed_by, old_sc_data_version):
        if is_when_present_and_in_past_validator(what):
            return problem(400, "Bad Request", "Changes may not be scheduled in the past")

        if what.get("data_version", None):
            what["data_version"] = int(what["data_version"])

        where = {"sc_id": sc_id}
        self.sc_table.update(where, what, changed_by, int(old_sc_data_version), transaction)
        sc = self.sc_table.select(where=where, transaction=transaction, columns=["data_version"])[0]
        return jsonify(new_data_version=sc["data_version"])
示例#4
0
    def _post(self, what, transaction, changed_by, change_type):
        if change_type not in ["insert", "update", "delete"]:
            return problem(400, "Bad Request", "Invalid or missing change_type")

        if is_when_present_and_in_past_validator(what):
            return problem(400, "Bad Request", "Changes may not be scheduled in the past")

        sc_id = self.sc_table.insert(changed_by, transaction, **what)
        signoffs = {}
        for signoff in self.sc_table.signoffs.select(where={"sc_id": sc_id}, transaction=transaction):
            signoffs[signoff["username"]] = signoff["role"]
        return jsonify(sc_id=sc_id, signoffs=signoffs)
示例#5
0
    def _post(self, what, transaction, changed_by, change_type):
        if change_type not in ["insert", "update", "delete"]:
            return problem(400, "Bad Request", "Invalid or missing change_type")

        if is_when_present_and_in_past_validator(what):
            return problem(400, "Bad Request", "Changes may not be scheduled in the past")

        sc_id = self.sc_table.insert(changed_by, transaction, **what)
        signoffs = {}
        for signoff in self.sc_table.signoffs.select(where={"sc_id": sc_id}, transaction=transaction):
            signoffs[signoff["username"]] = signoff["role"]
        return jsonify(sc_id=sc_id, signoffs=signoffs)
示例#6
0
    def _post(self, sc_id, what, transaction, changed_by, old_sc_data_version):
        if is_when_present_and_in_past_validator(what):
            return problem(400, "Bad Request", "Changes may not be scheduled in the past")

        if what.get("data_version", None):
            what["data_version"] = int(what["data_version"])

        where = {"sc_id": sc_id}
        self.sc_table.update(where, what, changed_by, int(old_sc_data_version), transaction)
        sc = self.sc_table.select(where=where, transaction=transaction, columns=["data_version"])[0]
        signoffs = {}
        for signoff in self.sc_table.signoffs.select(where={"sc_id": sc_id}, transaction=transaction):
            signoffs[signoff["username"]] = signoff["role"]
        return jsonify(new_data_version=sc["data_version"], signoffs=signoffs)