diff --git a/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueEntryResource.java b/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueEntryResource.java
index e4eeb26c..e60873e0 100644
--- a/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueEntryResource.java
+++ b/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueEntryResource.java
@@ -16,6 +16,9 @@
import java.util.Map;
import java.util.Optional;
+import io.swagger.models.Model;
+import io.swagger.models.ModelImpl;
+import io.swagger.models.properties.*;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.openmrs.PersonName;
@@ -127,6 +130,56 @@ public DelegatingResourceDescription getCreatableProperties() throws ResourceDoe
return description;
}
+ @Override
+ public Model getGETModel(Representation rep) {
+ ModelImpl model = (ModelImpl) super.getGETModel(rep);
+ if (rep instanceof RefRepresentation || rep instanceof DefaultRepresentation) {
+ model.property("uuid", new StringProperty()).property("queue", new RefProperty("#/definitions/QueueGetRef"))
+ .property("display", new StringProperty())
+ .property("status", new RefProperty("#/definitions/ConceptGetRef"))
+ .property("priority", new RefProperty("#/definitions/ConceptGetRef"))
+ .property("priorityComment", new StringProperty())
+ .property("patient", new RefProperty("#/definitions/PatientGetRef"))
+ .property("visit", new RefProperty("#/definitions/VisitGetRef"))
+ .property("sortWeight", new DoubleProperty()).property("startedAt", new DateProperty())
+ .property("endedAt", new DateProperty())
+ .property("locationWaitingFor", new RefProperty("#/definitions/LocationGetRef"))
+ .property("queueComingFrom", new RefProperty("#/definitions/QueueGetRef"))
+ .property("providerWaitingFor", new RefProperty("#/definitions/ProviderGetRef"));
+ } else if (rep instanceof FullRepresentation) {
+ model.property("uuid", new StringProperty()).property("queue", new RefProperty("#/definitions/QueueGetRef"))
+ .property("display", new StringProperty())
+ .property("status", new RefProperty("#/definitions/ConceptGetRef"))
+ .property("priority", new RefProperty("#/definitions/ConceptGetRef"))
+ .property("priorityComment", new StringProperty())
+ .property("patient", new RefProperty("#/definitions/PatientGetRef"))
+ .property("visit", new RefProperty("#/definitions/VisitGetRef"))
+ .property("sortWeight", new DoubleProperty()).property("startedAt", new DateProperty())
+ .property("endedAt", new DateProperty())
+ .property("locationWaitingFor", new RefProperty("#/definitions/LocationGetRef"))
+ .property("queueComingFrom", new RefProperty("#/definitions/QueueGetRef"))
+ .property("providerWaitingFor", new RefProperty("#/definitions/ProviderGetRef"))
+ .property("voided", new BooleanProperty()).property("voidedReason", new StringProperty())
+ .property("auditInfo", new StringProperty())
+ .property("previousQueueEntry", new RefProperty("#/definitions/QueueGetRef"));
+ }
+ return model;
+ }
+
+ @Override
+ public Model getCREATEModel(Representation rep) {
+ return new ModelImpl().property("queue", new RefProperty("#/definitions/QueueCreate"))
+ .property("status", new RefProperty("#/definitions/ConceptCreate"))
+ .property("priority", new RefProperty("#/definitions/ConceptCreate"))
+ .property("priorityComment", new StringProperty())
+ .property("patient", new RefProperty("#/definitions/PatientCreate"))
+ .property("visit", new RefProperty("#/definitions/VisitCreate")).property("sortWeight", new DoubleProperty())
+ .property("startedAt", new DateProperty())
+ .property("locationWaitingFor", new RefProperty("#/definitions/LocationCreate"))
+ .property("queueComingFrom", new RefProperty("#/definitions/QueueCreate"))
+ .property("providerWaitingFor", new RefProperty("#/definitions/ProviderCreate"));
+ }
+
@Override
public DelegatingResourceDescription getUpdatableProperties() throws ResourceDoesNotSupportOperationException {
DelegatingResourceDescription description = new DelegatingResourceDescription();
@@ -141,6 +194,16 @@ public DelegatingResourceDescription getUpdatableProperties() throws ResourceDoe
return description;
}
+ @Override
+ public Model getUPDATEModel(Representation rep) {
+ return new ModelImpl().property("status", new RefProperty("#/definitions/ConceptCreate"))
+ .property("priority", new RefProperty("#/definitions/ConceptCreate"))
+ .property("priorityComment", new StringProperty()).property("sortWeight", new DoubleProperty())
+ .property("startedAt", new DateProperty()).property("endedAt", new DateProperty())
+ .property("locationWaitingFor", new RefProperty("#/definitions/LocationCreate"))
+ .property("providerWaitingFor", new RefProperty("#/definitions/ProviderCreate"));
+ }
+
@Override
public DelegatingResourceDescription getRepresentationDescription(Representation representation) {
DelegatingResourceDescription description = new DelegatingResourceDescription();
diff --git a/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueEntrySubResource.java b/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueEntrySubResource.java
index 14e018f7..a0b30f7f 100644
--- a/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueEntrySubResource.java
+++ b/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueEntrySubResource.java
@@ -16,6 +16,9 @@
import java.util.Collections;
import java.util.Optional;
+import io.swagger.models.Model;
+import io.swagger.models.ModelImpl;
+import io.swagger.models.properties.*;
import org.openmrs.api.context.Context;
import org.openmrs.module.queue.api.QueueServicesWrapper;
import org.openmrs.module.queue.api.search.QueueEntrySearchCriteria;
@@ -116,6 +119,18 @@ public DelegatingResourceDescription getCreatableProperties() throws ResourceDoe
return description;
}
+ @Override
+ public Model getCREATEModel(Representation rep) {
+ return new ModelImpl().property("priorityComment", new StringProperty()).property("sortWeight", new DoubleProperty())
+ .property("startedAt", new DateProperty())
+ .property("patient", new RefProperty("#/definitions/PatientCreate"))
+ .property("priority", new RefProperty("#/definitions/ConceptCreate"))
+ .property("locationWaitingFor", new RefProperty("#/definitions/LocationCreate"))
+ .property("queueComingFrom", new RefProperty("#/definitions/QueueCreate"))
+ .property("status", new RefProperty("#/definitions/ConceptCreate"))
+ .property("providerWaitingFor", new RefProperty("#/definitions/ProviderCreate"));
+ }
+
@Override
public DelegatingResourceDescription getUpdatableProperties() throws ResourceDoesNotSupportOperationException {
DelegatingResourceDescription description = new DelegatingResourceDescription();
@@ -125,6 +140,12 @@ public DelegatingResourceDescription getUpdatableProperties() throws ResourceDoe
return description;
}
+ @Override
+ public Model getUPDATEModel(Representation rep) {
+ return new ModelImpl().property("priorityComment", new StringProperty()).property("sortWeight", new DoubleProperty())
+ .property("endedAt", new DateProperty());
+ }
+
@Override
public DelegatingResourceDescription getRepresentationDescription(Representation representation) {
DelegatingResourceDescription resourceDescription = new DelegatingResourceDescription();
@@ -177,6 +198,36 @@ private void addSharedResourceDescriptionProperties(DelegatingResourceDescriptio
resourceDescription.addProperty("endedAt");
}
+ @Override
+ public Model getGETModel(Representation rep) {
+ ModelImpl model = (ModelImpl) super.getGETModel(rep);
+ if (rep instanceof RefRepresentation || rep instanceof DefaultRepresentation) {
+ model.property("uuid", new StringProperty()).property("display", new StringProperty())
+ .property("sortWeight", new DoubleProperty()).property("startedAt", new DateProperty())
+ .property("endedAt", new DateProperty())
+ .property("status", new RefProperty("#/definitions/ConceptGetRef"))
+ .property("priority", new RefProperty("#/definitions/ConceptGetRef"))
+ .property("priorityComment", new StringProperty())
+ .property("patient", new RefProperty("#/definitions/PatientGetRef"))
+ .property("locationWaitingFor", new RefProperty("#/definitions/LocationGetRef"))
+ .property("queueComingFrom", new RefProperty("#/definitions/QueueGetRef"))
+ .property("providerWaitingFor", new RefProperty("#/definitions/ProviderGetRef"));
+ } else if (rep instanceof FullRepresentation) {
+ model.property("uuid", new StringProperty()).property("display", new StringProperty())
+ .property("sortWeight", new DoubleProperty()).property("startedAt", new DateProperty())
+ .property("endedAt", new DateProperty())
+ .property("status", new RefProperty("#/definitions/ConceptGetFull"))
+ .property("priority", new RefProperty("#/definitions/ConceptGetFull"))
+ .property("priorityComment", new StringProperty()).property("voided", new BooleanProperty())
+ .property("voidedReason", new StringProperty()).property("auditInfo", new StringProperty())
+ .property("patient", new RefProperty("#/definitions/PatientGetRef"))
+ .property("locationWaitingFor", new RefProperty("#/definitions/LocationGetFull"))
+ .property("queueComingFrom", new RefProperty("#/definitions/QueueGetFull"))
+ .property("providerWaitingFor", new RefProperty("#/definitions/ProviderGetFull"));
+ }
+ return model;
+ }
+
@PropertyGetter("display")
public String getDisplay(QueueEntry queueEntry) {
//Display patient name
diff --git a/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueResource.java b/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueResource.java
index c8e06181..9b8fed8b 100644
--- a/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueResource.java
+++ b/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueResource.java
@@ -16,6 +16,10 @@
import java.util.Map;
import java.util.Optional;
+import io.swagger.models.Model;
+import io.swagger.models.ModelImpl;
+import io.swagger.models.properties.RefProperty;
+import io.swagger.models.properties.StringProperty;
import org.openmrs.api.context.Context;
import org.openmrs.module.queue.api.QueueServicesWrapper;
import org.openmrs.module.queue.api.search.QueueSearchCriteria;
@@ -152,6 +156,51 @@ public DelegatingResourceDescription getUpdatableProperties() throws ResourceDoe
return this.getCreatableProperties();
}
+ @Override
+ public Model getGETModel(Representation rep) {
+ ModelImpl model = (ModelImpl) super.getGETModel(rep);
+ if (rep instanceof RefRepresentation) {
+ model.property("uuid", new StringProperty().example("uuid")).property("display", new StringProperty())
+ .property("name", new StringProperty()).property("description", new StringProperty());
+ }
+ if (rep instanceof DefaultRepresentation) {
+ model.property("uuid", new StringProperty().example("uuid")).property("display", new StringProperty())
+ .property("name", new StringProperty()).property("description", new StringProperty())
+ .property("location", new RefProperty("#/definitions/LocationGet"))
+ .property("service", new RefProperty("#/definitions/ConceptGet"))
+ .property("priorityConceptSet", new RefProperty("#/definitions/ConceptGet"))
+ .property("statusConceptSet", new RefProperty("#/definitions/ConceptGet"))
+ .property("allowedPriorities", new RefProperty("#/definitions/ConceptGet"))
+ .property("allowedStatuses", new RefProperty("#/definitions/ConceptGet"));
+ }
+ if (rep instanceof FullRepresentation) {
+ model.property("uuid", new StringProperty().example("uuid")).property("display", new StringProperty())
+ .property("name", new StringProperty()).property("description", new StringProperty())
+ .property("location", new RefProperty("#/definitions/LocationGet"))
+ .property("service", new RefProperty("#/definitions/ConceptGet"))
+ .property("priorityConceptSet", new RefProperty("#/definitions/ConceptGet"))
+ .property("statusConceptSet", new RefProperty("#/definitions/ConceptGet"))
+ .property("allowedPriorities", new RefProperty("#/definitions/ConceptGet"))
+ .property("allowedStatuses", new RefProperty("#/definitions/ConceptGet"))
+ .property("auditInfo", new StringProperty());
+ }
+ return model;
+ }
+
+ @Override
+ public Model getCREATEModel(Representation rep) {
+ return new ModelImpl().property("name", new StringProperty()).property("description", new StringProperty())
+ .property("location", new RefProperty("#/definitions/LocationCreate"))
+ .property("service", new RefProperty("#/definitions/ConceptCreate"))
+ .property("priorityConceptSet", new RefProperty("#/definitions/ConceptCreate"))
+ .property("statusConceptSet", new RefProperty("#/definitions/ConceptCreate"));
+ }
+
+ @Override
+ public Model getUPDATEModel(Representation rep) {
+ return getCREATEModel(rep);
+ }
+
@Override
@SuppressWarnings("unchecked")
protected PageableResult doSearch(RequestContext requestContext) {
diff --git a/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueRoomResource.java b/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueRoomResource.java
index 744b06e7..f7f017a0 100644
--- a/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueRoomResource.java
+++ b/omod/src/main/java/org/openmrs/module/queue/web/resources/QueueRoomResource.java
@@ -14,6 +14,10 @@
import java.util.Map;
import java.util.Optional;
+import io.swagger.models.Model;
+import io.swagger.models.ModelImpl;
+import io.swagger.models.properties.RefProperty;
+import io.swagger.models.properties.StringProperty;
import org.openmrs.api.context.Context;
import org.openmrs.module.queue.api.QueueServicesWrapper;
import org.openmrs.module.queue.api.search.QueueRoomSearchCriteria;
@@ -142,6 +146,38 @@ public DelegatingResourceDescription getUpdatableProperties() throws ResourceDoe
return this.getCreatableProperties();
}
+ @Override
+ public Model getGETModel(Representation rep) {
+ ModelImpl model = (ModelImpl) super.getGETModel(rep);
+ if (rep instanceof DefaultRepresentation) {
+ model.property("uuid", new StringProperty()).property("display", new StringProperty())
+ .property("name", new StringProperty()).property("description", new StringProperty())
+ .property("queue", new RefProperty("#/definitions/QueueGet"));
+ }
+ if (rep instanceof FullRepresentation) {
+ model.property("queue", new RefProperty("#/definitions/QueueGetFull"))
+ .property("auditInfo", new StringProperty()).property("queue", new StringProperty());
+ }
+
+ if (rep instanceof RefRepresentation) {
+ model.property("uuid", new StringProperty()).property("display", new StringProperty())
+ .property("name", new StringProperty()).property("description", new StringProperty())
+ .property("queue", new RefProperty("#/definitions/QueueGetRef"));
+ }
+ return model;
+ }
+
+ @Override
+ public Model getCREATEModel(Representation rep) {
+ return new ModelImpl().property("name", new StringProperty()).property("description", new StringProperty())
+ .property("queue", new RefProperty("#/definitions/QueueCreate"));
+ }
+
+ @Override
+ public Model getUPDATEModel(Representation rep) {
+ return getCREATEModel(rep);
+ }
+
@PropertyGetter("display")
public String getDisplay(QueueRoom queueRoom) {
return queueRoom.getName();
diff --git a/omod/src/main/java/org/openmrs/module/queue/web/resources/RoomProviderMapResource.java b/omod/src/main/java/org/openmrs/module/queue/web/resources/RoomProviderMapResource.java
index 9bbeac38..8704c149 100644
--- a/omod/src/main/java/org/openmrs/module/queue/web/resources/RoomProviderMapResource.java
+++ b/omod/src/main/java/org/openmrs/module/queue/web/resources/RoomProviderMapResource.java
@@ -14,6 +14,10 @@
import java.util.Map;
import java.util.Optional;
+import io.swagger.models.Model;
+import io.swagger.models.ModelImpl;
+import io.swagger.models.properties.RefProperty;
+import io.swagger.models.properties.StringProperty;
import org.openmrs.api.context.Context;
import org.openmrs.module.queue.api.QueueServicesWrapper;
import org.openmrs.module.queue.api.search.RoomProviderMapSearchCriteria;
@@ -141,4 +145,36 @@ public DelegatingResourceDescription getUpdatableProperties() throws ResourceDoe
return this.getCreatableProperties();
}
+ @Override
+ public Model getGETModel(Representation rep) {
+ ModelImpl model = (ModelImpl) super.getGETModel(rep);
+ if (rep instanceof DefaultRepresentation || rep instanceof FullRepresentation) {
+ model.property("uuid", new StringProperty()).property("queueRoom", new StringProperty()).property("provider",
+ new RefProperty("#/definitions/ProviderGetRef"));
+ }
+ if (rep instanceof FullRepresentation) {
+ model.property("provider", new RefProperty("#/definitions/ProviderGet"));
+ }
+ return model;
+ }
+
+ @Override
+ public Model getCREATEModel(Representation rep) {
+ ModelImpl model = new ModelImpl().property("provider", new StringProperty().example("uuid")).property("queueRoom",
+ new StringProperty().example("uuid"));
+ if (rep instanceof FullRepresentation) {
+ model.property("provider", new RefProperty("#/definitions/ProviderCreate"));
+ }
+ return model;
+ }
+
+ @Override
+ public Model getUPDATEModel(Representation rep) {
+ ModelImpl model = new ModelImpl().property("provider", new StringProperty().example("uuid")).property("queueRoom",
+ new StringProperty().example("uuid"));
+ if (rep instanceof FullRepresentation) {
+ model.property("provider", new RefProperty("#/definitions/ProviderCreate"));
+ }
+ return model;
+ }
}
diff --git a/pom.xml b/pom.xml
index 800ae940..655c8a1f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -309,6 +309,15 @@
net.revelc.code
impsort-maven-plugin
1.5.0
+
+
+
+ org.codehaus.plexus
+ plexus-utils
+ 3.5.1
+
+
javax, java, *
true
@@ -321,6 +330,13 @@
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.1.0
+
+