()
| 2206 | } |
| 2207 | |
| 2208 | func (h *handler) putReplication() error { |
| 2209 | |
| 2210 | body, readErr := h.readBody() |
| 2211 | if readErr != nil { |
| 2212 | return readErr |
| 2213 | } |
| 2214 | body = base.ConvertBackQuotedStrings(body) |
| 2215 | |
| 2216 | replicationConfig := &db.ReplicationUpsertConfig{} |
| 2217 | if err := base.JSONUnmarshal(body, replicationConfig); err != nil { |
| 2218 | return err |
| 2219 | } |
| 2220 | |
| 2221 | if h.rq.Method == "PUT" { |
| 2222 | replicationID := mux.Vars(h.rq)["replicationID"] |
| 2223 | |
| 2224 | if replicationConfig.ID != "" && replicationConfig.ID != replicationID { |
| 2225 | return base.HTTPErrorf(http.StatusBadRequest, "Replication ID in body %q does not match request URI", replicationConfig.ID) |
| 2226 | } |
| 2227 | replicationConfig.ID = replicationID |
| 2228 | } |
| 2229 | |
| 2230 | created, err := h.db.SGReplicateMgr.UpsertReplication(h.ctx(), replicationConfig) |
| 2231 | if err != nil { |
| 2232 | return err |
| 2233 | } |
| 2234 | auditFields := base.AuditFields{base.AuditFieldReplicationID: replicationConfig.ID, base.AuditFieldPayload: string(body)} |
| 2235 | if created { |
| 2236 | h.writeStatus(http.StatusCreated, "Created") |
| 2237 | base.Audit(h.ctx(), base.AuditIDISGRCreate, auditFields) |
| 2238 | } else { |
| 2239 | base.Audit(h.ctx(), base.AuditIDISGRUpdate, auditFields) |
| 2240 | } |
| 2241 | return nil |
| 2242 | } |
| 2243 | |
| 2244 | func (h *handler) deleteReplication() error { |
| 2245 | replicationID := mux.Vars(h.rq)["replicationID"] |
nothing calls this directly
no test coverage detected