|
42 | 42 | import marquez.common.models.JobName;
|
43 | 43 | import marquez.common.models.NamespaceName;
|
44 | 44 | import marquez.common.models.RunId;
|
| 45 | +import marquez.common.models.TagName; |
45 | 46 | import marquez.common.models.Version;
|
46 | 47 | import marquez.db.JobFacetsDao;
|
47 | 48 | import marquez.db.JobVersionDao;
|
@@ -273,6 +274,47 @@ public Response getRunFacets(
|
273 | 274 | return Response.ok(facets).build();
|
274 | 275 | }
|
275 | 276 |
|
| 277 | + @Timed |
| 278 | + @ResponseMetered |
| 279 | + @ExceptionMetered |
| 280 | + @POST |
| 281 | + @Path("/namespaces/{namespace}/jobs/{job}/tags/{tag}") |
| 282 | + @Produces(APPLICATION_JSON) |
| 283 | + public Response updatetag( |
| 284 | + @PathParam("namespace") NamespaceName namespaceName, |
| 285 | + @PathParam("job") JobName jobName, |
| 286 | + @PathParam("tag") TagName tagName) { |
| 287 | + throwIfNotExists(namespaceName); |
| 288 | + throwIfNotExists(namespaceName, jobName); |
| 289 | + |
| 290 | + jobService.updateJobTags(namespaceName.getValue(), jobName.getValue(), tagName.getValue()); |
| 291 | + Job job = |
| 292 | + jobService |
| 293 | + .findJobByName(namespaceName.getValue(), jobName.getValue()) |
| 294 | + .orElseThrow(() -> new JobNotFoundException(jobName)); |
| 295 | + return Response.ok(job).build(); |
| 296 | + } |
| 297 | + |
| 298 | + @ResponseMetered |
| 299 | + @ExceptionMetered |
| 300 | + @DELETE |
| 301 | + @Path("/namespaces/{namespace}/jobs/{job}/tags/{tag}") |
| 302 | + @Produces(APPLICATION_JSON) |
| 303 | + public Response deletetag( |
| 304 | + @PathParam("namespace") NamespaceName namespaceName, |
| 305 | + @PathParam("job") JobName jobName, |
| 306 | + @PathParam("tag") TagName tagName) { |
| 307 | + throwIfNotExists(namespaceName); |
| 308 | + throwIfNotExists(namespaceName, jobName); |
| 309 | + |
| 310 | + jobService.deleteJobTags(namespaceName.getValue(), jobName.getValue(), tagName.getValue()); |
| 311 | + Job job = |
| 312 | + jobService |
| 313 | + .findJobByName(namespaceName.getValue(), jobName.getValue()) |
| 314 | + .orElseThrow(() -> new JobNotFoundException(jobName)); |
| 315 | + return Response.ok(job).build(); |
| 316 | + } |
| 317 | + |
276 | 318 | @Value
|
277 | 319 | static class JobVersions {
|
278 | 320 | @NonNull
|
|
0 commit comments