Skip to content

Commit 48ee9c7

Browse files
authored
Update Openapi-Generator (#39)
* Update Openapi-Generator Fixes: #28 * Regenerate * Remove sccache * Hide warnings about non-camel-case-types * Implement Multipart handling for generic parameters * Also apply Multipart handling patch onto prints_api.rs
1 parent 689f6fd commit 48ee9c7

30 files changed

+8104
-6828
lines changed

.github/workflows/check_pr.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,6 @@ jobs:
1616
steps:
1717
- uses: actions/checkout@v4
1818
- uses: moonrepo/setup-rust@v1
19-
- name: Run sccache-cache
20-
uses: mozilla-actions/sccache-action@v0.0.6
21-
- name: Configure sccache env var and set build profile to ephemeral build
22-
run: |
23-
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
24-
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
2519
- run: cargo build --all
2620
- run: cargo test --all
2721

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: Install OpenAPI Generator CLI
2626
run: npm install @openapitools/openapi-generator-cli
2727
- name: Set OpenAPI Generator version
28-
run: ./node_modules/\@openapitools/openapi-generator-cli/main.js version-manager set 7.7.0
28+
run: ./node_modules/\@openapitools/openapi-generator-cli/main.js version-manager set 7.17.0
2929
- name: Set up JDK 20
3030
uses: actions/setup-java@v4
3131
with:

.openapi-generator/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.7.0
1+
7.17.0

Cargo.toml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,14 @@ edition = "2021"
1010
serde = { version = "^1.0", features = ["derive"] }
1111
serde_with = { version = "^3.8", default-features = false, features = ["base64", "std", "macros"] }
1212
serde_json = "^1.0"
13+
serde_repr = "^0.1"
1314
url = "^2.5"
14-
uuid = { version = "^1.8", features = ["serde", "v4"] }
1515
reqwest = { version = "^0.12", default-features = false, features = ["json", "cookies", "multipart"] }
1616

17-
[dev-dependencies]
18-
tokio = { version = '1', features = ['macros', 'rt-multi-thread'] }
1917
[features]
20-
default = ["reqwest/default"]
18+
default = ["native-tls"]
19+
native-tls = ["reqwest/native-tls"]
20+
rustls-tls = ["reqwest/rustls-tls"]
21+
22+
[dev-dependencies]
23+
tokio = { version = '1', features = ['macros', 'rt-multi-thread'] }

docs/GroupSearchSort.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
| Name | Value |
66
|---- | -----|
7-
| Asc | joinedAt:asc |
8-
| Desc | joinedAt:desc |
7+
| JoinedAtColonAsc | joinedAt:asc |
8+
| JoinedAtColonDesc | joinedAt:desc |
99

1010

1111
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

generate.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,11 @@ find src -type f -exec sed -i '/^\s*\/\/\/\s*$/d' {} \;
2525

2626
# Cookie storage
2727
sed -i 's/Client::new()/Client::builder().cookie_store(true).build().unwrap()/g' src/apis/configuration.rs
28-
sed -i 's/, features = \["json", "multipart"\]/, default-features = false, features = \["json", "cookies", "multipart"\]/g' Cargo.toml
28+
sed -i 's/, features = \["json", "multipart"\]/, features = \["json", "cookies", "multipart"\]/g' Cargo.toml
2929

3030
#Fix example
3131
printf "\n[dev-dependencies]\ntokio = { version = '1', features = ['macros', 'rt-multi-thread'] }" >> Cargo.toml
3232

33-
#Add feature section to Cargo.toml
34-
printf "\n[features]\ndefault = [\"reqwest/default\"]" >> Cargo.toml
35-
36-
3733
# https://github.com/vrchatapi/specification/issues/241
3834
cat patches/2FA_Current_User.rs >> src/models/current_user.rs
3935
sed -i 's/pub use self::current_user::CurrentUser;/pub use self::current_user::{EitherUserOrTwoFactor, CurrentUser};/g' src/models/mod.rs
@@ -43,11 +39,17 @@ sed -i 's/Result<models::CurrentUser, Error<GetCurrentUserError>>/Result<models:
4339
sed -i "s/local_var_req_builder = local_var_req_builder.json(&\(.*\));/if let Some(\1) = \1 { \0 }/g" src/apis/files_api.rs
4440

4541
#https://github.com/vrchatapi/vrchatapi-rust/pull/30
46-
perl -0pi -e 's|(fn\s+[^(]*\([^)]*)file:\s+:?:?std::path::PathBuf,?([^)]*)((?:(?!\/\/ TODO: support file upload for '\''file'\'' parameter)[\s\S])*)\/\/ TODO: support file upload for '\''file'\'' parameter|\1file: impl Into<::std::borrow::Cow<'\''static, [u8]>>,\n\tfilename: impl Into<::std::borrow::Cow<'\''static, str>>,\n\tmime_type: &str,\2\3let part = reqwest::multipart::Part::bytes(file).file_name(filename).mime_str(mime_type)?;\n\tlocal_var_form = local_var_form.part("file", part);|g' src/apis/files_api.rs
42+
#perl -0pi -e 's|(fn\s+[^(]*\([^)]*)file:\s+:?:?std::path::PathBuf,?([^)]*)((?:(?!\/\/ TODO: support file upload for '\''file'\'' parameter)[\s\S])*)\/\/ TODO: support file upload for '\''file'\'' parameter|\1file: impl Into<::std::borrow::Cow<'\''static, [u8]>>,\n\tfilename: impl Into<::std::borrow::Cow<'\''static, str>>,\n\tmime_type: &str,\2\3let part = reqwest::multipart::Part::bytes(p_form_file).file_name(filename).mime_str(mime_type)?;\n\tmultipart_form = multipart_form.part("file", part);|g' src/apis/files_api.rs
43+
#perl -0pi -e 's|(fn\s+[^(]*\([^)]*)image:\s+:?:?std::path::PathBuf,?([^)]*)((?:(?!\/\/ TODO: support file upload for '\''image'\'' parameter)[\s\S])*)\/\/ TODO: support file upload for '\''image'\'' parameter|\1image: impl Into<::std::borrow::Cow<'\''static, [u8]>>,\n\tfilename: impl Into<::std::borrow::Cow<'\''static, str>>,\n\tmime_type: &str,\2\3let part = reqwest::multipart::Part::bytes(p_form_image).file_name(filename).mime_str(mime_type)?;\n\tmultipart_form = multipart_form.part("image", part);|g' src/apis/invite_api.rs
44+
#This is basically the multipart handling from above, except put in one regex replace
45+
perl -0pi -e 's|(fn\s+[^(]*\([^)]*)([,\s])([\w]+):\s+(?:::)?std::path::PathBuf,?([^)]*)((?:(?!\/\/ TODO: support file upload for '\''\3'\'' parameter)[\s\S])*)\/\/ TODO: support file upload for '\''\3'\'' parameter|\1\2\3: impl Into<::std::borrow::Cow<'\''static, [u8]>>,\n\tfilename: impl Into<::std::borrow::Cow<'\''static, str>>,\n\tmime_type: &str,\4\5let part = reqwest::multipart::Part::bytes(p_form_\3).file_name(filename).mime_str(mime_type)?;\n\tmultipart_form = multipart_form.part("\3", part);|g' src/apis/files_api.rs src/apis/invite_api.rs src/apis/prints_api.rs
4746

4847
find src/ -type f -name "*.rs" -exec sed -i 's/models::models/models/g' {} +
4948

50-
find src/ -type f -name "*.rs" -exec sed -i 's/local_var_form\.text("data", data\.to_string())/local_var_form.text("data", serde_json::to_string_pretty(\&data)?)/g' {} +
49+
find src/ -type f -name "*.rs" -exec sed -i 's/multipart_form\.text("data", p_form_data\.to_string())/multipart_form.text("data", serde_json::to_string_pretty(\&p_form_data)?)/g' {} +
50+
51+
#Hide warnings about unused variables and non-rusty type names
52+
sed -i 's/#!\[allow(unused_imports)\]/#![allow(unused_imports)]\n#![allow(non_camel_case_types)]/' src/lib.rs
5153

5254
cargo fmt
5355
cargo build

openapitools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
33
"spaces": 2,
44
"generator-cli": {
5-
"version": "7.7.0"
5+
"version": "7.17.0"
66
}
77
}

0 commit comments

Comments
 (0)