diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41e21b6..28d57f8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,10 @@
# 1.0.2
-* Throw ``APIException`` instead ``ClassCastException`` when error is encountered #12
+* Add all available fields to model returned by ``/user/list``
* Updated dependencies
# 1.0.1
-* Updated OpenApi generator
+* Throw ``APIException`` instead ``ClassCastException`` when error is encountered #12
+* Updated dependencies
# 1.0.0
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
>
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/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..41f27d8 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
@@ -25,7 +25,7 @@
software.xdev.Application
- 2.20.0
+ 2.21.0
diff --git a/sched-java-client/pom.xml b/sched-java-client/pom.xml
index b903b5c..dba1ca1 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
@@ -94,7 +94,7 @@
com.fasterxml.jackson
jackson-bom
- 2.15.2
+ 2.15.3
pom
import
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 {