diff --git a/dmp-backend/data/pom.xml b/dmp-backend/data/pom.xml
index 77eb322aa..6c162868f 100644
--- a/dmp-backend/data/pom.xml
+++ b/dmp-backend/data/pom.xml
@@ -25,5 +25,10 @@
elastic
1.0.0-SNAPSHOT
+
+ io.swagger
+ swagger-annotations
+ 1.5.20
+
\ No newline at end of file
diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/Criteria.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/Criteria.java
index 93d373c2a..42b693035 100644
--- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/Criteria.java
+++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/Criteria.java
@@ -1,9 +1,9 @@
package eu.eudat.data.dao.criteria;
-
-import eu.eudat.queryable.queryableentity.DataEntity;
+import io.swagger.annotations.ApiModelProperty;
public abstract class Criteria {
+ @ApiModelProperty(value = "like", name = "like", dataType = "String", allowEmptyValue = true, example = "\"\"")
private String like;
public String getLike() {
diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/Query.java b/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/Query.java
index cb808bae6..cffd09906 100644
--- a/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/Query.java
+++ b/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/Query.java
@@ -3,12 +3,14 @@ package eu.eudat.data.query.definition;
import eu.eudat.data.dao.criteria.Criteria;
import eu.eudat.queryable.QueryableList;
import eu.eudat.queryable.queryableentity.DataEntity;
+import io.swagger.annotations.ApiModelProperty;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public abstract class Query, T extends DataEntity> implements CriteriaQuery {
private static final Logger logger = LoggerFactory.getLogger(Query.class);
private C criteria;
+ @ApiModelProperty(value = "query", name = "query", dataType = "String", hidden = true)
private QueryableList query;
public static class QueryBuilder, T extends DataEntity, Q extends Query> {
diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/TableQuery.java b/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/TableQuery.java
index b2d87cbbb..be9dd77b2 100644
--- a/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/TableQuery.java
+++ b/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/TableQuery.java
@@ -6,12 +6,16 @@ import eu.eudat.data.query.definition.helpers.ColumnOrderings;
import eu.eudat.data.query.definition.helpers.SelectionFields;
import eu.eudat.queryable.QueryableList;
import eu.eudat.queryable.queryableentity.DataEntity;
+import io.swagger.annotations.ApiModelProperty;
public abstract class TableQuery, T extends DataEntity, K> extends Query implements TableCriteriaQuery {
private ColumnOrderings orderings;
+ @ApiModelProperty(hidden = true)
private SelectionFields selection;
+ @ApiModelProperty(value = "length", name = "length", dataType = "Integer", example = "2")
private Integer length;
+ @ApiModelProperty(value = "offset", name = "offset", dataType = "Integer", example = "0")
private Integer offset;
public Integer getLength() {
diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/helpers/ColumnOrderings.java b/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/helpers/ColumnOrderings.java
index 808cd20e2..c5587a126 100644
--- a/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/helpers/ColumnOrderings.java
+++ b/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/helpers/ColumnOrderings.java
@@ -1,11 +1,14 @@
package eu.eudat.data.query.definition.helpers;
+import io.swagger.annotations.ApiModelProperty;
+
import java.util.LinkedList;
import java.util.List;
public class ColumnOrderings {
+ @ApiModelProperty(value = "fields", name = "fields", dataType = "List", example = "[]")
private List fields;
public List getFields() {
diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/helpers/SelectionFields.java b/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/helpers/SelectionFields.java
index 3857876af..ec41027ec 100644
--- a/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/helpers/SelectionFields.java
+++ b/dmp-backend/data/src/main/java/eu/eudat/data/query/definition/helpers/SelectionFields.java
@@ -1,8 +1,11 @@
package eu.eudat.data.query.definition.helpers;
+import io.swagger.annotations.ApiModelProperty;
+
public class SelectionFields {
+ @ApiModelProperty(value = "fields", name = "fields", dataType = "String[]", example = "[]")
private String[] fields;
public String[] getFields() {
diff --git a/dmp-backend/web/src/main/java/eu/eudat/publicapi/criteria/dataset/DatasetPublicCriteria.java b/dmp-backend/web/src/main/java/eu/eudat/publicapi/criteria/dataset/DatasetPublicCriteria.java
index f332c7db3..fd3f210b1 100644
--- a/dmp-backend/web/src/main/java/eu/eudat/publicapi/criteria/dataset/DatasetPublicCriteria.java
+++ b/dmp-backend/web/src/main/java/eu/eudat/publicapi/criteria/dataset/DatasetPublicCriteria.java
@@ -3,6 +3,7 @@ package eu.eudat.publicapi.criteria.dataset;
import eu.eudat.data.dao.criteria.Criteria;
import eu.eudat.data.entities.Dataset;
import eu.eudat.elastic.entities.Tag;
+import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import java.util.List;
@@ -10,15 +11,25 @@ import java.util.UUID;
public class DatasetPublicCriteria extends Criteria {
+ @ApiModelProperty(value = "periodStart", name = "periodStart", dataType = "Date", example = "2022-01-01T13:19:42.210Z")
private Date periodStart;
+ @ApiModelProperty(value = "periodEnd", name = "periodEnd", dataType = "Date", example = "2022-12-31T13:19:42.210Z")
private Date periodEnd;
+ @ApiModelProperty(value = "grants", name = "grants", dataType = "List", example = "[]")
private List grants;
+ @ApiModelProperty(value = "collaborators", name = "collaborators", dataType = "List", example = "[]")
private List collaborators;
+ @ApiModelProperty(value = "datasetTemplates", name = "datasetTemplates", dataType = "List", example = "[]")
private List datasetTemplates;
+ @ApiModelProperty(value = "dmpOrganisations", name = "dmpOrganisations", dataType = "List", example = "[]")
private List dmpOrganisations;
+ @ApiModelProperty(value = "tags", name = "tags", dataType = "List", example = "[]")
private List tags;
+ @ApiModelProperty(value = "dmpIds", name = "dmpIds", dataType = "List", example = "[]")
private List dmpIds;
+ @ApiModelProperty(value = "groupIds", name = "groupIds", dataType = "List", example = "[]")
private List groupIds;
+ @ApiModelProperty(value = "allVersions", name = "allVersions", dataType = "Boolean", example = "false")
private boolean allVersions;
public Date getPeriodStart() {
diff --git a/dmp-backend/web/src/main/java/eu/eudat/publicapi/criteria/dmp/DataManagementPlanPublicCriteria.java b/dmp-backend/web/src/main/java/eu/eudat/publicapi/criteria/dmp/DataManagementPlanPublicCriteria.java
index 879a9f996..b5079eb27 100644
--- a/dmp-backend/web/src/main/java/eu/eudat/publicapi/criteria/dmp/DataManagementPlanPublicCriteria.java
+++ b/dmp-backend/web/src/main/java/eu/eudat/publicapi/criteria/dmp/DataManagementPlanPublicCriteria.java
@@ -2,20 +2,30 @@ package eu.eudat.publicapi.criteria.dmp;
import eu.eudat.data.dao.criteria.Criteria;
import eu.eudat.data.entities.DMP;
+import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import java.util.List;
import java.util.UUID;
public class DataManagementPlanPublicCriteria extends Criteria {
+ @ApiModelProperty(value = "periodStart", name = "periodStart", dataType = "Date", example = "2022-01-01T13:19:42.210Z")
private Date periodStart;
+ @ApiModelProperty(value = "periodEnd", name = "periodEnd", dataType = "Date", example = "2022-12-31T13:19:42.210Z")
private Date periodEnd;
+ @ApiModelProperty(value = "grants", name = "grants", dataType = "List", example = "[]")
private List grants;
+ @ApiModelProperty(value = "funders", name = "funders", dataType = "List", example = "[]")
private List funders;
+ @ApiModelProperty(value = "datasetTemplates", name = "datasetTemplates", dataType = "List", example = "[]")
private List datasetTemplates;
+ @ApiModelProperty(value = "dmpOrganisations", name = "dmpOrganisations", dataType = "List", example = "[]")
private List dmpOrganisations;
+ @ApiModelProperty(value = "collaborators", name = "collaborators", dataType = "List", example = "[]")
private List collaborators;
+ @ApiModelProperty(value = "allVersions", name = "allVersions", dataType = "Boolean", example = "false")
private boolean allVersions;
+ @ApiModelProperty(value = "groupIds", name = "groupIds", dataType = "List", example = "[]")
private List groupIds;
public Date getPeriodStart() {
diff --git a/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts b/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts
index 2cd48c20e..424072c2b 100644
--- a/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts
+++ b/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts
@@ -227,7 +227,7 @@ export class DraftsComponent extends BaseComponent implements OnInit {
isUserOwner(activity: DatasetListingModel): boolean {
const principal: Principal = this.authentication.current();
- if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id;
+ if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id));
}
onCallbackSuccess(id?: String): void {
diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts
index a26980193..0110adf19 100644
--- a/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts
+++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts
@@ -186,7 +186,7 @@ export class RecentEditedActivityComponent extends BaseComponent implements OnIn
isUserOwner(activity: DmpListingModel): boolean {
const principal: Principal = this.authentication.current();
- if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id;
+ if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id));
}
editClicked(dmp: DmpListingModel) {
diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts
index 8cd7837fb..1eb17a363 100644
--- a/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts
+++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts
@@ -163,7 +163,7 @@ export class RecentEditedDatasetActivityComponent extends BaseComponent implemen
isUserOwner(activity: DatasetListingModel): boolean {
const principal: Principal = this.authentication.current();
- if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id;
+ if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id));
}
goToOverview(id: string): string[] {
diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts
index 42f1c507e..ae9bfc46d 100644
--- a/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts
+++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts
@@ -165,7 +165,7 @@ export class RecentEditedDmpActivityComponent extends BaseComponent implements O
isUserOwner(activity: DmpListingModel): boolean {
const principal: Principal = this.authentication.current();
- if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id;
+ if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id));
}
editClicked(dmp: DmpListingModel) {
diff --git a/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts b/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts
index ff0ca58e7..284dd1a3d 100644
--- a/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts
+++ b/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts
@@ -74,7 +74,7 @@ export class DatasetListingItemComponent extends BaseComponent implements OnInit
setIsUserOwner() {
if (this.dataset) {
const principal: Principal = this.authentication.current();
- if (principal) this.isUserOwner = principal.id === this.dataset.users.find(x => x.role === Role.Owner).id;
+ if (principal) this.isUserOwner = !!this.dataset.users.find(x => (x.role === Role.Owner) && (principal.id === x.id));
}
}
diff --git a/dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts b/dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts
index 82321b4a3..20681c99e 100644
--- a/dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts
+++ b/dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts
@@ -210,7 +210,11 @@ export class DmpCloneComponent extends BaseComponent implements OnInit {
setIsUserOwner() {
if (this.dmp) {
const principal: Principal = this.authentication.current();
- this.isUserOwner = principal.id === this.dmp.users.find(x => x.role === Role.Owner).id;
+ if (principal) {
+ this.isUserOwner = !!this.dmp.users.find(x => (x.role === Role.Owner) && (principal.id === x.id));
+ } else {
+ this.isUserOwner = false;
+ }
}
}
diff --git a/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts b/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts
index 5f54aee71..c6e72d002 100644
--- a/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts
+++ b/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts
@@ -367,6 +367,6 @@ export class DmpListingItemComponent extends BaseComponent implements OnInit {
isUserOwner(activity: DmpListingModel): boolean {
const principal: Principal = this.authentication.current();
- if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id;
+ if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id));
}
}