From 34ff42c15efca4142ed87f80e2465605d9b39f92 Mon Sep 17 00:00:00 2001 From: Alex B <45384811+AB-xdev@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:28:54 +0200 Subject: [PATCH 1/6] Correct version --- CHANGELOG.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41e21b6..36667b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,7 @@ -# 1.0.2 +# 1.0.1 * Throw ``APIException`` instead ``ClassCastException`` when error is encountered #12 * Updated dependencies -# 1.0.1 -* Updated OpenApi generator - # 1.0.0 * Initial release From 3cdd148452cbe480dd2d2c463363b72414e951c7 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 11 Oct 2023 14:40:38 +0200 Subject: [PATCH 2/6] Increase version manually due to release failure --- pom.xml | 2 +- sched-java-client-demo/pom.xml | 2 +- sched-java-client/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 08dcaf8..66983e8 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.xdev-software sched-java-client-root - 1.0.1 + 1.0.2-SNAPSHOT pom diff --git a/sched-java-client-demo/pom.xml b/sched-java-client-demo/pom.xml index 0b808fd..877df36 100644 --- a/sched-java-client-demo/pom.xml +++ b/sched-java-client-demo/pom.xml @@ -6,7 +6,7 @@ com.xdev-software sched-java-client-demo - 1.0.1 + 1.0.2-SNAPSHOT jar 2022 diff --git a/sched-java-client/pom.xml b/sched-java-client/pom.xml index b903b5c..68f83b5 100644 --- a/sched-java-client/pom.xml +++ b/sched-java-client/pom.xml @@ -6,7 +6,7 @@ com.xdev-software sched-java-client - 1.0.1 + 1.0.2-SNAPSHOT jar sched-java-client From a61660312961e3b4df75eb48b16de162bf7ba77c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 01:01:43 +0000 Subject: [PATCH 3/6] Bump com.fasterxml.jackson:jackson-bom from 2.15.2 to 2.15.3 Bumps [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.15.2 to 2.15.3. - [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.15.2...jackson-bom-2.15.3) --- updated-dependencies: - dependency-name: com.fasterxml.jackson:jackson-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- openapi-client-maven-template/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi-client-maven-template/pom.xml b/openapi-client-maven-template/pom.xml index 1d7d4d8..8d0a575 100644 --- a/openapi-client-maven-template/pom.xml +++ b/openapi-client-maven-template/pom.xml @@ -94,7 +94,7 @@ com.fasterxml.jackson jackson-bom - 2.15.2 + 2.15.3 pom import From 85ef39f86038564a95242b9ba0f7cb88cdcaba4b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 00:12:38 +0000 Subject: [PATCH 4/6] Bump log4j2-version from 2.20.0 to 2.21.0 Bumps `log4j2-version` from 2.20.0 to 2.21.0. Updates `org.apache.logging.log4j:log4j-core` from 2.20.0 to 2.21.0 Updates `org.apache.logging.log4j:log4j-slf4j-impl` from 2.20.0 to 2.21.0 --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.apache.logging.log4j:log4j-slf4j-impl dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- openapi-client-maven-template-demo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi-client-maven-template-demo/pom.xml b/openapi-client-maven-template-demo/pom.xml index 90822c5..ab973ae 100644 --- a/openapi-client-maven-template-demo/pom.xml +++ b/openapi-client-maven-template-demo/pom.xml @@ -25,7 +25,7 @@ software.xdev.Application - 2.20.0 + 2.21.0 From 6672597701e7b6520d517aefb25a95967fb9ce0b Mon Sep 17 00:00:00 2001 From: Alex B <45384811+AB-xdev@users.noreply.github.com> Date: Tue, 17 Oct 2023 09:12:46 +0200 Subject: [PATCH 5/6] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d799a08..38d0b41 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ This client [is generated](./sched-java-client/pom.xml) from an [``openapi.yml`` > * Dates are not formatted according to [``RFC 3339``](https://datatracker.ietf.org/doc/html/rfc3339) > * Sometimes unix timestamps are used instead of dates > * Arrays are not handled as arrays and instead comma separated lists are used +> * Some fields are not returned when using the 'Read-Only API Key' e.g. the ``id`` of users > * Incorrect [HTTP Request methods](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods) are used. E.g. ``GET`` for ``/api/session/del`` (should be ``DELETE``) > * Some endpoints don't return JSON by default > From b21b9daad97fb287a2a1fcd46194fae990bea110 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 17 Oct 2023 09:17:42 +0200 Subject: [PATCH 6/6] Added missing fields Fixes #17 --- CHANGELOG.md | 4 + openapi/openapi.yml | 9 +- .../java/software/xdev/sched/api/UserApi.java | 4 +- .../java/software/xdev/sched/model/User.java | 130 +++++++++++++++++- 4 files changed, 142 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36667b6..28d57f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 1.0.2 +* Add all available fields to model returned by ``/user/list`` +* Updated dependencies + # 1.0.1 * Throw ``APIException`` instead ``ClassCastException`` when error is encountered #12 * Updated dependencies diff --git a/openapi/openapi.yml b/openapi/openapi.yml index f2b16da..ffb2696 100644 --- a/openapi/openapi.yml +++ b/openapi/openapi.yml @@ -409,7 +409,7 @@ paths: schema: type: string maxLength: 512 - description: 'Comma separated list of fields. Default: "username", "name", "phone", "email", "joined", "lastactive", "avatar", "company", "position", "location". Available fields: "id", "username", "name", "phone", "email", "url", "about", "role", "joined", "lastactive", "avatar", "company", "position", "location";' + description: 'Comma separated list of fields. Default: username, name, phone, email, joined, lastactive, avatar, company, position, location. Available fields: id, username, name, phone, email, url, about, role, joined, lastactive, avatar, company, position, location' responses: '200': description: Returned if the request was processed - no matter if it was successful or not; text-Responses usually indicate an error @@ -634,6 +634,8 @@ components: type: object readOnly: true properties: + id: + type: string username: type: string name: @@ -642,6 +644,11 @@ components: type: string email: type: string + about: + type: string + role: + type: string + description: 'Comma separated list of roles' joined: type: string # format: date-time - NOT VALID RFC 3339 DATE! diff --git a/sched-java-client/src/generated/java/software/xdev/sched/api/UserApi.java b/sched-java-client/src/generated/java/software/xdev/sched/api/UserApi.java index 39ea05c..7fc2c11 100644 --- a/sched-java-client/src/generated/java/software/xdev/sched/api/UserApi.java +++ b/sched-java-client/src/generated/java/software/xdev/sched/api/UserApi.java @@ -175,7 +175,7 @@ public UserAdded addUser(String username, String email, String password, String * * * @param format (optional, default to json) - * @param fields Comma separated list of fields. Default: \"username\", \"name\", \"phone\", \"email\", \"joined\", \"lastactive\", \"avatar\", \"company\", \"position\", \"location\". Available fields: \"id\", \"username\", \"name\", \"phone\", \"email\", \"url\", \"about\", \"role\", \"joined\", \"lastactive\", \"avatar\", \"company\", \"position\", \"location\"; (optional) + * @param fields Comma separated list of fields. Default: username, name, phone, email, joined, lastactive, avatar, company, position, location. Available fields: id, username, name, phone, email, url, about, role, joined, lastactive, avatar, company, position, location (optional) * @return List<User> * @throws ApiException if fails to make API call */ @@ -188,7 +188,7 @@ public List listUsers(String format, String fields) throws ApiException { * * * @param format (optional, default to json) - * @param fields Comma separated list of fields. Default: \"username\", \"name\", \"phone\", \"email\", \"joined\", \"lastactive\", \"avatar\", \"company\", \"position\", \"location\". Available fields: \"id\", \"username\", \"name\", \"phone\", \"email\", \"url\", \"about\", \"role\", \"joined\", \"lastactive\", \"avatar\", \"company\", \"position\", \"location\"; (optional) + * @param fields Comma separated list of fields. Default: username, name, phone, email, joined, lastactive, avatar, company, position, location. Available fields: id, username, name, phone, email, url, about, role, joined, lastactive, avatar, company, position, location (optional) * @param additionalHeaders additionalHeaders for this call * @return List<User> * @throws ApiException if fails to make API call diff --git a/sched-java-client/src/generated/java/software/xdev/sched/model/User.java b/sched-java-client/src/generated/java/software/xdev/sched/model/User.java index 2c06711..4cbdca5 100644 --- a/sched-java-client/src/generated/java/software/xdev/sched/model/User.java +++ b/sched-java-client/src/generated/java/software/xdev/sched/model/User.java @@ -31,10 +31,13 @@ * User */ @JsonPropertyOrder({ + User.JSON_PROPERTY_ID, User.JSON_PROPERTY_USERNAME, User.JSON_PROPERTY_NAME, User.JSON_PROPERTY_PHONE, User.JSON_PROPERTY_EMAIL, + User.JSON_PROPERTY_ABOUT, + User.JSON_PROPERTY_ROLE, User.JSON_PROPERTY_JOINED, User.JSON_PROPERTY_LASTACTIVE, User.JSON_PROPERTY_AVATAR, @@ -44,6 +47,9 @@ }) @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class User { + public static final String JSON_PROPERTY_ID = "id"; + private String id; + public static final String JSON_PROPERTY_USERNAME = "username"; private String username; @@ -56,6 +62,12 @@ public class User { public static final String JSON_PROPERTY_EMAIL = "email"; private String email; + public static final String JSON_PROPERTY_ABOUT = "about"; + private String about; + + public static final String JSON_PROPERTY_ROLE = "role"; + private String role; + public static final String JSON_PROPERTY_JOINED = "joined"; private String joined; @@ -77,6 +89,32 @@ public class User { public User() { } + public User id(String id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getId() { + return id; + } + + + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(String id) { + this.id = id; + } + + public User username(String username) { this.username = username; @@ -181,6 +219,58 @@ public void setEmail(String email) { } + public User about(String about) { + + this.about = about; + return this; + } + + /** + * Get about + * @return about + **/ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ABOUT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getAbout() { + return about; + } + + + @JsonProperty(JSON_PROPERTY_ABOUT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAbout(String about) { + this.about = about; + } + + + public User role(String role) { + + this.role = role; + return this; + } + + /** + * Comma separated list of roles + * @return role + **/ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ROLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getRole() { + return role; + } + + + @JsonProperty(JSON_PROPERTY_ROLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRole(String role) { + this.role = role; + } + + public User joined(String joined) { this.joined = joined; @@ -345,10 +435,13 @@ public boolean equals(Object o) { return false; } User user = (User) o; - return Objects.equals(this.username, user.username) && + return Objects.equals(this.id, user.id) && + Objects.equals(this.username, user.username) && Objects.equals(this.name, user.name) && Objects.equals(this.phone, user.phone) && Objects.equals(this.email, user.email) && + Objects.equals(this.about, user.about) && + Objects.equals(this.role, user.role) && Objects.equals(this.joined, user.joined) && Objects.equals(this.lastactive, user.lastactive) && Objects.equals(this.avatar, user.avatar) && @@ -359,17 +452,20 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(username, name, phone, email, joined, lastactive, avatar, company, position, location); + return Objects.hash(id, username, name, phone, email, about, role, joined, lastactive, avatar, company, position, location); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class User {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" username: ").append(toIndentedString(username)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" about: ").append(toIndentedString(about)).append("\n"); + sb.append(" role: ").append(toIndentedString(role)).append("\n"); sb.append(" joined: ").append(toIndentedString(joined)).append("\n"); sb.append(" lastactive: ").append(toIndentedString(lastactive)).append("\n"); sb.append(" avatar: ").append(toIndentedString(avatar)).append("\n"); @@ -423,6 +519,16 @@ public String toUrlQueryString(String prefix) { StringJoiner joiner = new StringJoiner("&"); + // add `id` to the URL query string + if (getId() != null) { + try { + joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + // add `username` to the URL query string if (getUsername() != null) { try { @@ -463,6 +569,26 @@ public String toUrlQueryString(String prefix) { } } + // add `about` to the URL query string + if (getAbout() != null) { + try { + joiner.add(String.format("%sabout%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getAbout()), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + + // add `role` to the URL query string + if (getRole() != null) { + try { + joiner.add(String.format("%srole%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRole()), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + // add `joined` to the URL query string if (getJoined() != null) { try {