From afcd3f9579fb39ff17724044ed91bfa5dcba4502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20Gr=C3=BCnewald?= <10533763+dhalucario@users.noreply.github.com> Date: Mon, 27 Jan 2025 18:37:01 +0100 Subject: [PATCH] Use openapi-generator-cli --- .gitignore | 4 +- .openapi-generator-ignore | 23 ++ .openapi-generator/FILES | 60 ++++ .openapi-generator/VERSION | 1 + Cargo.lock | 222 ++++---------- Cargo.toml | 19 +- README.md | 94 ++++++ docs/Body.md | 12 + docs/Comment.md | 18 ++ docs/Cookie.md | 12 + docs/Detail.md | 10 + docs/Error.md | 11 + docs/HttpValidationError.md | 11 + docs/Journal.md | 20 ++ docs/JournalPartial.md | 17 ++ docs/JournalStats.md | 11 + docs/JournalsApi.md | 73 +++++ docs/JournalsFolder.md | 12 + docs/Next.md | 10 + docs/Submission.md | 33 +++ docs/SubmissionPartial.md | 16 ++ docs/SubmissionStats.md | 13 + docs/SubmissionUserFolder.md | 13 + docs/SubmissionsApi.md | 202 +++++++++++++ docs/SubmissionsFolder.md | 12 + docs/User.md | 24 ++ docs/UserApi.md | 269 +++++++++++++++++ docs/UserPartial.md | 15 + docs/UserStats.md | 16 ++ docs/ValidationError.md | 13 + docs/ValidationErrorLocInner.md | 10 + docs/Watchlist.md | 12 + src/apis/configuration.rs | 51 ++++ src/apis/journals_api.rs | 101 +++++++ src/apis/mod.rs | 97 +++++++ src/apis/submissions_api.rs | 265 +++++++++++++++++ src/apis/user_api.rs | 351 +++++++++++++++++++++++ src/client.rs | 44 --- src/lib.rs | 13 +- src/main.rs | 9 - src/models.rs | 96 ------- src/models/body.rs | 34 +++ src/models/comment.rs | 56 ++++ src/models/cookie.rs | 34 +++ src/models/detail.rs | 26 ++ src/models/error.rs | 29 ++ src/models/http_validation_error.rs | 27 ++ src/models/journal.rs | 64 +++++ src/models/journal_partial.rs | 52 ++++ src/models/journal_stats.rs | 30 ++ src/models/journals_folder.rs | 33 +++ src/models/mod.rs | 44 +++ src/models/next.rs | 26 ++ src/models/submission.rs | 114 ++++++++ src/models/submission_partial.rs | 49 ++++ src/models/submission_stats.rs | 38 +++ src/models/submission_user_folder.rs | 36 +++ src/models/submissions_folder.rs | 33 +++ src/models/user.rs | 78 +++++ src/models/user_partial.rs | 44 +++ src/models/user_stats.rs | 50 ++++ src/models/validation_error.rs | 33 +++ src/models/validation_error_loc_inner.rs | 24 ++ src/models/watchlist.rs | 33 +++ 64 files changed, 2976 insertions(+), 326 deletions(-) create mode 100644 .openapi-generator-ignore create mode 100644 .openapi-generator/FILES create mode 100644 .openapi-generator/VERSION create mode 100644 README.md create mode 100644 docs/Body.md create mode 100644 docs/Comment.md create mode 100644 docs/Cookie.md create mode 100644 docs/Detail.md create mode 100644 docs/Error.md create mode 100644 docs/HttpValidationError.md create mode 100644 docs/Journal.md create mode 100644 docs/JournalPartial.md create mode 100644 docs/JournalStats.md create mode 100644 docs/JournalsApi.md create mode 100644 docs/JournalsFolder.md create mode 100644 docs/Next.md create mode 100644 docs/Submission.md create mode 100644 docs/SubmissionPartial.md create mode 100644 docs/SubmissionStats.md create mode 100644 docs/SubmissionUserFolder.md create mode 100644 docs/SubmissionsApi.md create mode 100644 docs/SubmissionsFolder.md create mode 100644 docs/User.md create mode 100644 docs/UserApi.md create mode 100644 docs/UserPartial.md create mode 100644 docs/UserStats.md create mode 100644 docs/ValidationError.md create mode 100644 docs/ValidationErrorLocInner.md create mode 100644 docs/Watchlist.md create mode 100644 src/apis/configuration.rs create mode 100644 src/apis/journals_api.rs create mode 100644 src/apis/mod.rs create mode 100644 src/apis/submissions_api.rs create mode 100644 src/apis/user_api.rs delete mode 100644 src/client.rs delete mode 100644 src/main.rs delete mode 100644 src/models.rs create mode 100644 src/models/body.rs create mode 100644 src/models/comment.rs create mode 100644 src/models/cookie.rs create mode 100644 src/models/detail.rs create mode 100644 src/models/error.rs create mode 100644 src/models/http_validation_error.rs create mode 100644 src/models/journal.rs create mode 100644 src/models/journal_partial.rs create mode 100644 src/models/journal_stats.rs create mode 100644 src/models/journals_folder.rs create mode 100644 src/models/mod.rs create mode 100644 src/models/next.rs create mode 100644 src/models/submission.rs create mode 100644 src/models/submission_partial.rs create mode 100644 src/models/submission_stats.rs create mode 100644 src/models/submission_user_folder.rs create mode 100644 src/models/submissions_folder.rs create mode 100644 src/models/user.rs create mode 100644 src/models/user_partial.rs create mode 100644 src/models/user_stats.rs create mode 100644 src/models/validation_error.rs create mode 100644 src/models/validation_error_loc_inner.rs create mode 100644 src/models/watchlist.rs diff --git a/.gitignore b/.gitignore index 6db043d..f436b30 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .idea -/target +/target/ +**/*.rs.bk +Cargo.lock diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES new file mode 100644 index 0000000..cf6553a --- /dev/null +++ b/.openapi-generator/FILES @@ -0,0 +1,60 @@ +.gitignore +.openapi-generator-ignore +.travis.yml +Cargo.toml +README.md +docs/Body.md +docs/Comment.md +docs/Cookie.md +docs/Detail.md +docs/Error.md +docs/HttpValidationError.md +docs/Journal.md +docs/JournalPartial.md +docs/JournalStats.md +docs/JournalsApi.md +docs/JournalsFolder.md +docs/Next.md +docs/Submission.md +docs/SubmissionPartial.md +docs/SubmissionStats.md +docs/SubmissionUserFolder.md +docs/SubmissionsApi.md +docs/SubmissionsFolder.md +docs/User.md +docs/UserApi.md +docs/UserPartial.md +docs/UserStats.md +docs/ValidationError.md +docs/ValidationErrorLocInner.md +docs/Watchlist.md +git_push.sh +src/apis/configuration.rs +src/apis/journals_api.rs +src/apis/mod.rs +src/apis/submissions_api.rs +src/apis/user_api.rs +src/lib.rs +src/models/body.rs +src/models/comment.rs +src/models/cookie.rs +src/models/detail.rs +src/models/error.rs +src/models/http_validation_error.rs +src/models/journal.rs +src/models/journal_partial.rs +src/models/journal_stats.rs +src/models/journals_folder.rs +src/models/mod.rs +src/models/next.rs +src/models/submission.rs +src/models/submission_partial.rs +src/models/submission_stats.rs +src/models/submission_user_folder.rs +src/models/submissions_folder.rs +src/models/user.rs +src/models/user_partial.rs +src/models/user_stats.rs +src/models/validation_error.rs +src/models/validation_error_loc_inner.rs +src/models/watchlist.rs diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 0000000..b23eb27 --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.11.0 diff --git a/Cargo.lock b/Cargo.lock index bc5c41e..374f485 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,27 +17,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" - [[package]] name = "atomic-waker" version = "1.1.2" @@ -104,21 +83,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chrono" -version = "0.4.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-targets", -] - [[package]] name = "core-foundation" version = "0.9.4" @@ -400,29 +364,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "iana-time-zone" -version = "0.1.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - [[package]] name = "icu_collections" version = "1.5.0" @@ -612,16 +553,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - [[package]] name = "log" version = "0.4.25" @@ -640,6 +571,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "miniz_oxide" version = "0.8.3" @@ -662,9 +603,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -677,15 +618,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - [[package]] name = "object" version = "0.36.7" @@ -701,11 +633,23 @@ version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +[[package]] +name = "openapi" +version = "1.5.5" +dependencies = [ + "reqwest", + "serde", + "serde_json", + "serde_repr", + "url", + "uuid", +] + [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "f5e534d133a060a3c19daec1eb3e98ec6f4685978834f2dbadfe2ec215bab64e" dependencies = [ "bitflags", "cfg-if", @@ -745,29 +689,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets", -] - [[package]] name = "percent-encoding" version = "2.3.1" @@ -810,15 +731,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "redox_syscall" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" -dependencies = [ - "bitflags", -] - [[package]] name = "reqwest" version = "0.12.12" @@ -842,6 +754,7 @@ dependencies = [ "js-sys", "log", "mime", + "mime_guess", "native-tls", "once_cell", "percent-encoding", @@ -921,9 +834,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" [[package]] name = "rustls-webpki" @@ -942,18 +855,6 @@ version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" -[[package]] -name = "rustyfox" -version = "0.1.0" -dependencies = [ - "anyhow", - "chrono", - "reqwest", - "serde", - "serde_json", - "tokio", -] - [[package]] name = "ryu" version = "1.0.18" @@ -969,12 +870,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - [[package]] name = "security-framework" version = "2.11.1" @@ -1030,6 +925,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -1048,15 +954,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - [[package]] name = "slab" version = "0.4.9" @@ -1186,25 +1083,11 @@ dependencies = [ "bytes", "libc", "mio", - "parking_lot", "pin-project-lite", - "signal-hook-registry", "socket2", - "tokio-macros", "windows-sys 0.52.0", ] -[[package]] -name = "tokio-macros" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "tokio-native-tls" version = "0.3.1" @@ -1290,6 +1173,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-ident" version = "1.0.15" @@ -1325,6 +1214,16 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "uuid" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" +dependencies = [ + "getrandom", + "serde", +] + [[package]] name = "vcpkg" version = "0.2.15" @@ -1427,15 +1326,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets", -] - [[package]] name = "windows-registry" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index a673bd0..770b439 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,15 @@ [package] -name = "rustyfox" -version = "0.1.0" +name = "openapi" +version = "1.5.5" +authors = ["OpenAPI Generator team and contributors"] +description = " [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ " +license = "European Union Public Licence v. 1.2" edition = "2021" [dependencies] -anyhow = "1.0" -reqwest = { version = "0.12", features = ["json"] } -tokio = { version = "1.43", features = ["full", "rt-multi-thread"]} -serde = { version = "1.0", features = ["default", "derive"]} -serde_json = { version = "1.0", features = ["default", "std", "alloc"]} -chrono = { version = "0.4", features = ["serde"] } \ No newline at end of file +serde = { version = "^1.0", features = ["derive"] } +serde_json = "^1.0" +serde_repr = "^0.1" +url = "^2.5" +uuid = { version = "^1.8", features = ["serde", "v4"] } +reqwest = { version = "^0.12", features = ["json", "multipart"] } diff --git a/README.md b/README.md new file mode 100644 index 0000000..71aa7ad --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +# Rust API client for openapi + + +[![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) +[![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) +[![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) + +[![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) +[![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) +[![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) + +Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) + +_The badge is provided via [Shields.io](https://shields.io/)._ + + + +## Overview + +This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client. + +- API version: 1.5.5 +- Package version: 1.5.5 +- Generator version: 7.11.0 +- Build package: `org.openapitools.codegen.languages.RustClientCodegen` + +## Installation + +Put the package under your project folder in a directory named `openapi` and add the following to `Cargo.toml` under `[dependencies]`: + +``` +openapi = { path = "./openapi" } +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://furaffinity-api.herokuapp.com* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*JournalsApi* | [**get_journal_journal_journal_id_post**](docs/JournalsApi.md#get_journal_journal_journal_id_post) | **POST** /journal/{journal_id}/ | Get Journal +*JournalsApi* | [**get_journals_user_username_journals_page_post**](docs/JournalsApi.md#get_journals_user_username_journals_page_post) | **POST** /user/{username}/journals/{page}/ | Get Journals +*SubmissionsApi* | [**get_favorites_user_username_favorites_page_post**](docs/SubmissionsApi.md#get_favorites_user_username_favorites_page_post) | **POST** /user/{username}/favorites/{page} | Get Favorites +*SubmissionsApi* | [**get_frontpage_frontpage_post**](docs/SubmissionsApi.md#get_frontpage_frontpage_post) | **POST** /frontpage/ | Get Frontpage +*SubmissionsApi* | [**get_gallery_user_username_gallery_page_post**](docs/SubmissionsApi.md#get_gallery_user_username_gallery_page_post) | **POST** /user/{username}/gallery/{page}/ | Get Gallery +*SubmissionsApi* | [**get_scraps_user_username_scraps_page_post**](docs/SubmissionsApi.md#get_scraps_user_username_scraps_page_post) | **POST** /user/{username}/scraps/{page}/ | Get Scraps +*SubmissionsApi* | [**get_submission_file_submission_submission_id_file_post**](docs/SubmissionsApi.md#get_submission_file_submission_submission_id_file_post) | **POST** /submission/{submission_id}/file/ | Get Submission File +*SubmissionsApi* | [**get_submission_submission_submission_id_post**](docs/SubmissionsApi.md#get_submission_submission_submission_id_post) | **POST** /submission/{submission_id}/ | Get Submission +*UserApi* | [**get_favorites_user_username_favorites_page_post**](docs/UserApi.md#get_favorites_user_username_favorites_page_post) | **POST** /user/{username}/favorites/{page} | Get Favorites +*UserApi* | [**get_gallery_user_username_gallery_page_post**](docs/UserApi.md#get_gallery_user_username_gallery_page_post) | **POST** /user/{username}/gallery/{page}/ | Get Gallery +*UserApi* | [**get_journals_user_username_journals_page_post**](docs/UserApi.md#get_journals_user_username_journals_page_post) | **POST** /user/{username}/journals/{page}/ | Get Journals +*UserApi* | [**get_login_user_me_post**](docs/UserApi.md#get_login_user_me_post) | **POST** /me/ | Get Login User +*UserApi* | [**get_scraps_user_username_scraps_page_post**](docs/UserApi.md#get_scraps_user_username_scraps_page_post) | **POST** /user/{username}/scraps/{page}/ | Get Scraps +*UserApi* | [**get_user_user_username_post**](docs/UserApi.md#get_user_user_username_post) | **POST** /user/{username}/ | Get User +*UserApi* | [**get_user_watchlist_by_user_username_watchlist_by_page_post**](docs/UserApi.md#get_user_watchlist_by_user_username_watchlist_by_page_post) | **POST** /user/{username}/watchlist/by/{page}/ | Get User Watchlist By +*UserApi* | [**get_user_watchlist_to_user_username_watchlist_to_page_post**](docs/UserApi.md#get_user_watchlist_to_user_username_watchlist_to_page_post) | **POST** /user/{username}/watchlist/to/{page}/ | Get User Watchlist To + + +## Documentation For Models + + - [Body](docs/Body.md) + - [Comment](docs/Comment.md) + - [Cookie](docs/Cookie.md) + - [Detail](docs/Detail.md) + - [Error](docs/Error.md) + - [HttpValidationError](docs/HttpValidationError.md) + - [Journal](docs/Journal.md) + - [JournalPartial](docs/JournalPartial.md) + - [JournalStats](docs/JournalStats.md) + - [JournalsFolder](docs/JournalsFolder.md) + - [Next](docs/Next.md) + - [Submission](docs/Submission.md) + - [SubmissionPartial](docs/SubmissionPartial.md) + - [SubmissionStats](docs/SubmissionStats.md) + - [SubmissionUserFolder](docs/SubmissionUserFolder.md) + - [SubmissionsFolder](docs/SubmissionsFolder.md) + - [User](docs/User.md) + - [UserPartial](docs/UserPartial.md) + - [UserStats](docs/UserStats.md) + - [ValidationError](docs/ValidationError.md) + - [ValidationErrorLocInner](docs/ValidationErrorLocInner.md) + - [Watchlist](docs/Watchlist.md) + + +To get access to the crate's generated documentation, use: + +``` +cargo doc --open +``` + +## Author + + + diff --git a/docs/Body.md b/docs/Body.md new file mode 100644 index 0000000..06972cd --- /dev/null +++ b/docs/Body.md @@ -0,0 +1,12 @@ +# Body + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cookies** | [**Vec**](Cookie.md) | A list of cookies to use to authenticate the request | +**bbcode** | Option<**bool**> | Set to true to return text fields in BBCode format | [optional][default to false] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Comment.md b/docs/Comment.md new file mode 100644 index 0000000..a9a1a66 --- /dev/null +++ b/docs/Comment.md @@ -0,0 +1,18 @@ +# Comment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | Comment's ID | +**author** | [**models::UserPartial**](UserPartial.md) | | +**date** | **String** | Comment's post date | +**text** | **String** | Comment's content | +**replies** | [**Vec**](Comment.md) | Replies to the comment | +**reply_to** | Option<**i32**> | | +**edited** | **bool** | Whether the comment was edited | +**hidden** | **bool** | Whether the comment is hidden | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Cookie.md b/docs/Cookie.md new file mode 100644 index 0000000..ff62d89 --- /dev/null +++ b/docs/Cookie.md @@ -0,0 +1,12 @@ +# Cookie + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The name of the cookie (a, b, etc.) | +**value** | **String** | The value of the cookie (e.g. 5dabd975-436f-4af7-b949-f5d0f1e803a0) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Detail.md b/docs/Detail.md new file mode 100644 index 0000000..8425b9e --- /dev/null +++ b/docs/Detail.md @@ -0,0 +1,10 @@ +# Detail + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Error.md b/docs/Error.md new file mode 100644 index 0000000..a71acec --- /dev/null +++ b/docs/Error.md @@ -0,0 +1,11 @@ +# Error + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail** | Option<[**models::Detail**](Detail.md)> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/HttpValidationError.md b/docs/HttpValidationError.md new file mode 100644 index 0000000..d111ad5 --- /dev/null +++ b/docs/HttpValidationError.md @@ -0,0 +1,11 @@ +# HttpValidationError + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail** | Option<[**Vec**](ValidationError.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Journal.md b/docs/Journal.md new file mode 100644 index 0000000..90f68c1 --- /dev/null +++ b/docs/Journal.md @@ -0,0 +1,20 @@ +# Journal + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | Journal's ID | +**title** | **String** | Journal's title | +**author** | [**models::UserPartial**](UserPartial.md) | | +**stats** | [**models::JournalStats**](JournalStats.md) | | +**date** | **String** | Journal's upload date | +**header** | **String** | Journal's header | +**footer** | **String** | Journal's footer | +**content** | **String** | Journal's content | +**mentions** | **Vec** | Journal's mentions (users mentioned with FA links in the content) | +**comments** | [**Vec**](Comment.md) | Journal's comments | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/JournalPartial.md b/docs/JournalPartial.md new file mode 100644 index 0000000..4769335 --- /dev/null +++ b/docs/JournalPartial.md @@ -0,0 +1,17 @@ +# JournalPartial + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | Journal's ID | +**title** | **String** | Journal's title | +**author** | [**models::UserPartial**](UserPartial.md) | | +**stats** | [**models::JournalStats**](JournalStats.md) | | +**date** | **String** | Journal's upload date | +**content** | **String** | Journal's content | +**mentions** | **Vec** | Journal's mentions (users mentioned with FA links in the content) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/JournalStats.md b/docs/JournalStats.md new file mode 100644 index 0000000..5cc0fd3 --- /dev/null +++ b/docs/JournalStats.md @@ -0,0 +1,11 @@ +# JournalStats + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**comments** | **i32** | Number of comments | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/JournalsApi.md b/docs/JournalsApi.md new file mode 100644 index 0000000..3737ae1 --- /dev/null +++ b/docs/JournalsApi.md @@ -0,0 +1,73 @@ +# \JournalsApi + +All URIs are relative to *https://furaffinity-api.herokuapp.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_journal_journal_journal_id_post**](JournalsApi.md#get_journal_journal_journal_id_post) | **POST** /journal/{journal_id}/ | Get Journal +[**get_journals_user_username_journals_page_post**](JournalsApi.md#get_journals_user_username_journals_page_post) | **POST** /user/{username}/journals/{page}/ | Get Journals + + + +## get_journal_journal_journal_id_post + +> models::Journal get_journal_journal_journal_id_post(journal_id, body) +Get Journal + +Get a journal + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**journal_id** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::Journal**](Journal.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_journals_user_username_journals_page_post + +> models::JournalsFolder get_journals_user_username_journals_page_post(username, page, body) +Get Journals + +Get a list of journals from the user's journals folder. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::JournalsFolder**](JournalsFolder.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/JournalsFolder.md b/docs/JournalsFolder.md new file mode 100644 index 0000000..a214121 --- /dev/null +++ b/docs/JournalsFolder.md @@ -0,0 +1,12 @@ +# JournalsFolder + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**Vec**](JournalPartial.md) | List of journals found in the page | +**next** | Option<**i32**> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Next.md b/docs/Next.md new file mode 100644 index 0000000..15df2c0 --- /dev/null +++ b/docs/Next.md @@ -0,0 +1,10 @@ +# Next + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Submission.md b/docs/Submission.md new file mode 100644 index 0000000..6e4c4db --- /dev/null +++ b/docs/Submission.md @@ -0,0 +1,33 @@ +# Submission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | Submission's ID | +**title** | **String** | Submission's title | +**author** | [**models::UserPartial**](UserPartial.md) | | +**date** | **String** | Submission's upload date | +**tags** | **Vec** | Submission's tags | +**category** | **String** | Submission's category (e.g. Artwork) | +**species** | **String** | Submission's species | +**gender** | **String** | Submission's gender | +**rating** | **String** | Submission's rating (e.g. general, mature, etc.) | +**r#type** | **String** | Submission's type (i.e. image, text, music) | +**stats** | [**models::SubmissionStats**](SubmissionStats.md) | | +**description** | **String** | Submission's description | +**footer** | **String** | Submission's footer | +**mentions** | **Vec** | Submission's mentions (users mentioned with FA links in the description) | +**folder** | **String** | Submission's folder (i.e. gallery or scraps) | +**user_folders** | [**Vec**](SubmissionUserFolder.md) | User-defined folder(s) | +**file_url** | **String** | URL to submission's file | +**thumbnail_url** | **String** | URL to submission's thumbnail | +**comments** | [**Vec**](Comment.md) | Submission's comments | +**prev** | Option<**i32**> | | +**next** | Option<**i32**> | | +**favorite** | **bool** | Favorite status of the submission | +**favorite_toggle_link** | **String** | Link to toggle favorite status of the submission | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubmissionPartial.md b/docs/SubmissionPartial.md new file mode 100644 index 0000000..616a944 --- /dev/null +++ b/docs/SubmissionPartial.md @@ -0,0 +1,16 @@ +# SubmissionPartial + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **i32** | Submission's ID | +**title** | **String** | Submission's title | +**author** | [**models::UserPartial**](UserPartial.md) | | +**rating** | **String** | Submission's rating (e.g. general, mature, etc.) | +**r#type** | **String** | Submission's type (i.e. image, text, music) | +**thumbnail_url** | **String** | URL to submission's thumbnail | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubmissionStats.md b/docs/SubmissionStats.md new file mode 100644 index 0000000..29da88f --- /dev/null +++ b/docs/SubmissionStats.md @@ -0,0 +1,13 @@ +# SubmissionStats + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**views** | **i32** | Number of views | +**comments** | **i32** | Number of comments | +**favorites** | **i32** | Number of favorites | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubmissionUserFolder.md b/docs/SubmissionUserFolder.md new file mode 100644 index 0000000..0a428bb --- /dev/null +++ b/docs/SubmissionUserFolder.md @@ -0,0 +1,13 @@ +# SubmissionUserFolder + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Folder name | +**url** | **String** | URL to folder | +**group** | **String** | Folder group (if any) | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubmissionsApi.md b/docs/SubmissionsApi.md new file mode 100644 index 0000000..b860a20 --- /dev/null +++ b/docs/SubmissionsApi.md @@ -0,0 +1,202 @@ +# \SubmissionsApi + +All URIs are relative to *https://furaffinity-api.herokuapp.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_favorites_user_username_favorites_page_post**](SubmissionsApi.md#get_favorites_user_username_favorites_page_post) | **POST** /user/{username}/favorites/{page} | Get Favorites +[**get_frontpage_frontpage_post**](SubmissionsApi.md#get_frontpage_frontpage_post) | **POST** /frontpage/ | Get Frontpage +[**get_gallery_user_username_gallery_page_post**](SubmissionsApi.md#get_gallery_user_username_gallery_page_post) | **POST** /user/{username}/gallery/{page}/ | Get Gallery +[**get_scraps_user_username_scraps_page_post**](SubmissionsApi.md#get_scraps_user_username_scraps_page_post) | **POST** /user/{username}/scraps/{page}/ | Get Scraps +[**get_submission_file_submission_submission_id_file_post**](SubmissionsApi.md#get_submission_file_submission_submission_id_file_post) | **POST** /submission/{submission_id}/file/ | Get Submission File +[**get_submission_submission_submission_id_post**](SubmissionsApi.md#get_submission_submission_submission_id_post) | **POST** /submission/{submission_id}/ | Get Submission + + + +## get_favorites_user_username_favorites_page_post + +> models::SubmissionsFolder get_favorites_user_username_favorites_page_post(username, page, body) +Get Favorites + +Get a list of submissions from the user's favorites folder. Starting page should be 0 or '/'. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **String** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::SubmissionsFolder**](SubmissionsFolder.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_frontpage_frontpage_post + +> Vec get_frontpage_frontpage_post(body) +Get Frontpage + +Get the most recent submissions. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**Vec**](SubmissionPartial.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_gallery_user_username_gallery_page_post + +> models::SubmissionsFolder get_gallery_user_username_gallery_page_post(username, page, body) +Get Gallery + +Get a list of submissions from the user's gallery folder. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::SubmissionsFolder**](SubmissionsFolder.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_scraps_user_username_scraps_page_post + +> models::SubmissionsFolder get_scraps_user_username_scraps_page_post(username, page, body) +Get Scraps + +Get a list of submissions from the user's scraps folder. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::SubmissionsFolder**](SubmissionsFolder.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_submission_file_submission_submission_id_file_post + +> get_submission_file_submission_submission_id_file_post(submission_id, body) +Get Submission File + +Redirect to a submission's file URL + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**submission_id** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + + (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_submission_submission_submission_id_post + +> models::Submission get_submission_submission_submission_id_post(submission_id, body) +Get Submission + +Get a submission + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**submission_id** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::Submission**](Submission.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/SubmissionsFolder.md b/docs/SubmissionsFolder.md new file mode 100644 index 0000000..190cb8b --- /dev/null +++ b/docs/SubmissionsFolder.md @@ -0,0 +1,12 @@ +# SubmissionsFolder + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**Vec**](SubmissionPartial.md) | List of submissions found in the page | +**next** | Option<[**models::Next**](Next.md)> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/User.md b/docs/User.md new file mode 100644 index 0000000..ddbb198 --- /dev/null +++ b/docs/User.md @@ -0,0 +1,24 @@ +# User + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | User's name (as it appears on their page) | +**status** | **String** | User's status (~, !, etc.) | +**title** | **String** | User's title | +**join_date** | Option<**String**> | | +**profile** | **String** | User's profile text in HTML format | +**stats** | [**models::UserStats**](UserStats.md) | User's statistics | +**info** | **std::collections::HashMap** | User's info (e.g. Accepting Commissions, Favorite Music, etc.) | +**contacts** | **std::collections::HashMap** | User's contacts (e.g. Twitter, Telegram, etc.) | +**avatar_url** | **String** | URL to user's icon | +**banner_url** | Option<**String**> | | +**watched** | **bool** | Watch status of the user | +**watched_toggle_link** | Option<**String**> | | +**blocked** | **bool** | Block status of the user | +**blocked_toggle_link** | Option<**String**> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserApi.md b/docs/UserApi.md new file mode 100644 index 0000000..2254d73 --- /dev/null +++ b/docs/UserApi.md @@ -0,0 +1,269 @@ +# \UserApi + +All URIs are relative to *https://furaffinity-api.herokuapp.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_favorites_user_username_favorites_page_post**](UserApi.md#get_favorites_user_username_favorites_page_post) | **POST** /user/{username}/favorites/{page} | Get Favorites +[**get_gallery_user_username_gallery_page_post**](UserApi.md#get_gallery_user_username_gallery_page_post) | **POST** /user/{username}/gallery/{page}/ | Get Gallery +[**get_journals_user_username_journals_page_post**](UserApi.md#get_journals_user_username_journals_page_post) | **POST** /user/{username}/journals/{page}/ | Get Journals +[**get_login_user_me_post**](UserApi.md#get_login_user_me_post) | **POST** /me/ | Get Login User +[**get_scraps_user_username_scraps_page_post**](UserApi.md#get_scraps_user_username_scraps_page_post) | **POST** /user/{username}/scraps/{page}/ | Get Scraps +[**get_user_user_username_post**](UserApi.md#get_user_user_username_post) | **POST** /user/{username}/ | Get User +[**get_user_watchlist_by_user_username_watchlist_by_page_post**](UserApi.md#get_user_watchlist_by_user_username_watchlist_by_page_post) | **POST** /user/{username}/watchlist/by/{page}/ | Get User Watchlist By +[**get_user_watchlist_to_user_username_watchlist_to_page_post**](UserApi.md#get_user_watchlist_to_user_username_watchlist_to_page_post) | **POST** /user/{username}/watchlist/to/{page}/ | Get User Watchlist To + + + +## get_favorites_user_username_favorites_page_post + +> models::SubmissionsFolder get_favorites_user_username_favorites_page_post(username, page, body) +Get Favorites + +Get a list of submissions from the user's favorites folder. Starting page should be 0 or '/'. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **String** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::SubmissionsFolder**](SubmissionsFolder.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_gallery_user_username_gallery_page_post + +> models::SubmissionsFolder get_gallery_user_username_gallery_page_post(username, page, body) +Get Gallery + +Get a list of submissions from the user's gallery folder. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::SubmissionsFolder**](SubmissionsFolder.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_journals_user_username_journals_page_post + +> models::JournalsFolder get_journals_user_username_journals_page_post(username, page, body) +Get Journals + +Get a list of journals from the user's journals folder. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::JournalsFolder**](JournalsFolder.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_login_user_me_post + +> models::User get_login_user_me_post(body) +Get Login User + +Get the logged-in user's details, profile text, etc. The username may contain underscore (_) characters + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::User**](User.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_scraps_user_username_scraps_page_post + +> models::SubmissionsFolder get_scraps_user_username_scraps_page_post(username, page, body) +Get Scraps + +Get a list of submissions from the user's scraps folder. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::SubmissionsFolder**](SubmissionsFolder.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_user_user_username_post + +> models::User get_user_user_username_post(username, body) +Get User + +Get a user's details, profile text, etc. The username may contain underscore (_) characters + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::User**](User.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_user_watchlist_by_user_username_watchlist_by_page_post + +> models::Watchlist get_user_watchlist_by_user_username_watchlist_by_page_post(username, page, body) +Get User Watchlist By + +Get a list of users watched by {username} + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::Watchlist**](Watchlist.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_user_watchlist_to_user_username_watchlist_to_page_post + +> models::Watchlist get_user_watchlist_to_user_username_watchlist_to_page_post(username, page, body) +Get User Watchlist To + +Get a list of users watching {username} + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | | [required] | +**page** | **i32** | | [required] | +**body** | [**Body**](Body.md) | | [required] | + +### Return type + +[**models::Watchlist**](Watchlist.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/UserPartial.md b/docs/UserPartial.md new file mode 100644 index 0000000..cd11808 --- /dev/null +++ b/docs/UserPartial.md @@ -0,0 +1,15 @@ +# UserPartial + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | User's name (as it appears on their page) | +**status** | Option<**String**> | | +**title** | **String** | User's title | +**avatar_url** | **String** | URL to user's icon | +**join_date** | Option<**String**> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UserStats.md b/docs/UserStats.md new file mode 100644 index 0000000..1d87b70 --- /dev/null +++ b/docs/UserStats.md @@ -0,0 +1,16 @@ +# UserStats + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**views** | **i32** | Number of views | +**submissions** | **i32** | Number of submissions | +**favorites** | **i32** | Number of favorites | +**comments_earned** | **i32** | Number of comments earned | +**comments_made** | **i32** | Number of comments made | +**journals** | **i32** | Number of journals | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ValidationError.md b/docs/ValidationError.md new file mode 100644 index 0000000..25688c2 --- /dev/null +++ b/docs/ValidationError.md @@ -0,0 +1,13 @@ +# ValidationError + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**loc** | [**Vec**](ValidationError_loc_inner.md) | | +**msg** | **String** | | +**r#type** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ValidationErrorLocInner.md b/docs/ValidationErrorLocInner.md new file mode 100644 index 0000000..90cb4e3 --- /dev/null +++ b/docs/ValidationErrorLocInner.md @@ -0,0 +1,10 @@ +# ValidationErrorLocInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Watchlist.md b/docs/Watchlist.md new file mode 100644 index 0000000..a4eabb1 --- /dev/null +++ b/docs/Watchlist.md @@ -0,0 +1,12 @@ +# Watchlist + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**Vec**](UserPartial.md) | List of users found in the page | +**next** | Option<**i32**> | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/apis/configuration.rs b/src/apis/configuration.rs new file mode 100644 index 0000000..b3dd530 --- /dev/null +++ b/src/apis/configuration.rs @@ -0,0 +1,51 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + + + +#[derive(Debug, Clone)] +pub struct Configuration { + pub base_path: String, + pub user_agent: Option, + pub client: reqwest::Client, + pub basic_auth: Option, + pub oauth_access_token: Option, + pub bearer_access_token: Option, + pub api_key: Option, +} + +pub type BasicAuth = (String, Option); + +#[derive(Debug, Clone)] +pub struct ApiKey { + pub prefix: Option, + pub key: String, +} + + +impl Configuration { + pub fn new() -> Configuration { + Configuration::default() + } +} + +impl Default for Configuration { + fn default() -> Self { + Configuration { + base_path: "https://furaffinity-api.herokuapp.com".to_owned(), + user_agent: Some("OpenAPI-Generator/1.5.5/rust".to_owned()), + client: reqwest::Client::new(), + basic_auth: None, + oauth_access_token: None, + bearer_access_token: None, + api_key: None, + } + } +} diff --git a/src/apis/journals_api.rs b/src/apis/journals_api.rs new file mode 100644 index 0000000..7f419cc --- /dev/null +++ b/src/apis/journals_api.rs @@ -0,0 +1,101 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration}; + + +/// struct for typed errors of method [`get_journal_journal_journal_id_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetJournalJournalJournalIdPostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_journals_user_username_journals_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetJournalsUserUsernameJournalsPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + + +/// Get a journal +pub async fn get_journal_journal_journal_id_post(configuration: &configuration::Configuration, journal_id: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_journal_id = journal_id; + let p_body = body; + + let uri_str = format!("{}/journal/{journal_id}/", configuration.base_path, journal_id=p_journal_id); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a list of journals from the user's journals folder. +pub async fn get_journals_user_username_journals_page_post(configuration: &configuration::Configuration, username: &str, page: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/journals/{page}/", configuration.base_path, username=crate::apis::urlencode(p_username), page=p_page); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/mod.rs b/src/apis/mod.rs new file mode 100644 index 0000000..809865d --- /dev/null +++ b/src/apis/mod.rs @@ -0,0 +1,97 @@ +use std::error; +use std::fmt; + +#[derive(Debug, Clone)] +pub struct ResponseContent { + pub status: reqwest::StatusCode, + pub content: String, + pub entity: Option, +} + +#[derive(Debug)] +pub enum Error { + Reqwest(reqwest::Error), + Serde(serde_json::Error), + Io(std::io::Error), + ResponseError(ResponseContent), +} + +impl fmt::Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let (module, e) = match self { + Error::Reqwest(e) => ("reqwest", e.to_string()), + Error::Serde(e) => ("serde", e.to_string()), + Error::Io(e) => ("IO", e.to_string()), + Error::ResponseError(e) => ("response", format!("status code {}", e.status)), + }; + write!(f, "error in {}: {}", module, e) + } +} + +impl error::Error for Error { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + Some(match self { + Error::Reqwest(e) => e, + Error::Serde(e) => e, + Error::Io(e) => e, + Error::ResponseError(_) => return None, + }) + } +} + +impl From for Error { + fn from(e: reqwest::Error) -> Self { + Error::Reqwest(e) + } +} + +impl From for Error { + fn from(e: serde_json::Error) -> Self { + Error::Serde(e) + } +} + +impl From for Error { + fn from(e: std::io::Error) -> Self { + Error::Io(e) + } +} + +pub fn urlencode>(s: T) -> String { + ::url::form_urlencoded::byte_serialize(s.as_ref().as_bytes()).collect() +} + +pub fn parse_deep_object(prefix: &str, value: &serde_json::Value) -> Vec<(String, String)> { + if let serde_json::Value::Object(object) = value { + let mut params = vec![]; + + for (key, value) in object { + match value { + serde_json::Value::Object(_) => params.append(&mut parse_deep_object( + &format!("{}[{}]", prefix, key), + value, + )), + serde_json::Value::Array(array) => { + for (i, value) in array.iter().enumerate() { + params.append(&mut parse_deep_object( + &format!("{}[{}][{}]", prefix, key, i), + value, + )); + } + }, + serde_json::Value::String(s) => params.push((format!("{}[{}]", prefix, key), s.clone())), + _ => params.push((format!("{}[{}]", prefix, key), value.to_string())), + } + } + + return params; + } + + unimplemented!("Only objects are supported with style=deepObject") +} + +pub mod journals_api; +pub mod submissions_api; +pub mod user_api; + +pub mod configuration; diff --git a/src/apis/submissions_api.rs b/src/apis/submissions_api.rs new file mode 100644 index 0000000..0643977 --- /dev/null +++ b/src/apis/submissions_api.rs @@ -0,0 +1,265 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration}; + + +/// struct for typed errors of method [`get_favorites_user_username_favorites_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetFavoritesUserUsernameFavoritesPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_frontpage_frontpage_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetFrontpageFrontpagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_gallery_user_username_gallery_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetGalleryUserUsernameGalleryPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_scraps_user_username_scraps_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetScrapsUserUsernameScrapsPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_submission_file_submission_submission_id_file_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetSubmissionFileSubmissionSubmissionIdFilePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_submission_submission_submission_id_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetSubmissionSubmissionSubmissionIdPostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + + +/// Get a list of submissions from the user's favorites folder. Starting page should be 0 or '/'. +pub async fn get_favorites_user_username_favorites_page_post(configuration: &configuration::Configuration, username: &str, page: &str, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/favorites/{page}", configuration.base_path, username=crate::apis::urlencode(p_username), page=crate::apis::urlencode(p_page)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get the most recent submissions. +pub async fn get_frontpage_frontpage_post(configuration: &configuration::Configuration, body: models::Body) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body = body; + + let uri_str = format!("{}/frontpage/", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a list of submissions from the user's gallery folder. +pub async fn get_gallery_user_username_gallery_page_post(configuration: &configuration::Configuration, username: &str, page: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/gallery/{page}/", configuration.base_path, username=crate::apis::urlencode(p_username), page=p_page); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a list of submissions from the user's scraps folder. +pub async fn get_scraps_user_username_scraps_page_post(configuration: &configuration::Configuration, username: &str, page: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/scraps/{page}/", configuration.base_path, username=crate::apis::urlencode(p_username), page=p_page); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Redirect to a submission's file URL +pub async fn get_submission_file_submission_submission_id_file_post(configuration: &configuration::Configuration, submission_id: i32, body: models::Body) -> Result<(), Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_submission_id = submission_id; + let p_body = body; + + let uri_str = format!("{}/submission/{submission_id}/file/", configuration.base_path, submission_id=p_submission_id); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + Ok(()) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a submission +pub async fn get_submission_submission_submission_id_post(configuration: &configuration::Configuration, submission_id: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_submission_id = submission_id; + let p_body = body; + + let uri_str = format!("{}/submission/{submission_id}/", configuration.base_path, submission_id=p_submission_id); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/user_api.rs b/src/apis/user_api.rs new file mode 100644 index 0000000..cc38d07 --- /dev/null +++ b/src/apis/user_api.rs @@ -0,0 +1,351 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration}; + + +/// struct for typed errors of method [`get_favorites_user_username_favorites_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetFavoritesUserUsernameFavoritesPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_gallery_user_username_gallery_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetGalleryUserUsernameGalleryPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_journals_user_username_journals_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetJournalsUserUsernameJournalsPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_login_user_me_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetLoginUserMePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_scraps_user_username_scraps_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetScrapsUserUsernameScrapsPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_user_user_username_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetUserUserUsernamePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_user_watchlist_by_user_username_watchlist_by_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetUserWatchlistByUserUsernameWatchlistByPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_user_watchlist_to_user_username_watchlist_to_page_post`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetUserWatchlistToUserUsernameWatchlistToPagePostError { + Status401(models::Error), + Status403(models::Error), + Status404(models::Error), + Status500(models::Error), + Status422(models::HttpValidationError), + UnknownValue(serde_json::Value), +} + + +/// Get a list of submissions from the user's favorites folder. Starting page should be 0 or '/'. +pub async fn get_favorites_user_username_favorites_page_post(configuration: &configuration::Configuration, username: &str, page: &str, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/favorites/{page}", configuration.base_path, username=crate::apis::urlencode(p_username), page=crate::apis::urlencode(p_page)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a list of submissions from the user's gallery folder. +pub async fn get_gallery_user_username_gallery_page_post(configuration: &configuration::Configuration, username: &str, page: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/gallery/{page}/", configuration.base_path, username=crate::apis::urlencode(p_username), page=p_page); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a list of journals from the user's journals folder. +pub async fn get_journals_user_username_journals_page_post(configuration: &configuration::Configuration, username: &str, page: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/journals/{page}/", configuration.base_path, username=crate::apis::urlencode(p_username), page=p_page); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get the logged-in user's details, profile text, etc. The username may contain underscore (_) characters +pub async fn get_login_user_me_post(configuration: &configuration::Configuration, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body = body; + + let uri_str = format!("{}/me/", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a list of submissions from the user's scraps folder. +pub async fn get_scraps_user_username_scraps_page_post(configuration: &configuration::Configuration, username: &str, page: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/scraps/{page}/", configuration.base_path, username=crate::apis::urlencode(p_username), page=p_page); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a user's details, profile text, etc. The username may contain underscore (_) characters +pub async fn get_user_user_username_post(configuration: &configuration::Configuration, username: &str, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_body = body; + + let uri_str = format!("{}/user/{username}/", configuration.base_path, username=crate::apis::urlencode(p_username)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a list of users watched by {username} +pub async fn get_user_watchlist_by_user_username_watchlist_by_page_post(configuration: &configuration::Configuration, username: &str, page: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/watchlist/by/{page}/", configuration.base_path, username=crate::apis::urlencode(p_username), page=p_page); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Get a list of users watching {username} +pub async fn get_user_watchlist_to_user_username_watchlist_to_page_post(configuration: &configuration::Configuration, username: &str, page: i32, body: models::Body) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_username = username; + let p_page = page; + let p_body = body; + + let uri_str = format!("{}/user/{username}/watchlist/to/{page}/", configuration.base_path, username=crate::apis::urlencode(p_username), page=p_page); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + req_builder = req_builder.json(&p_body); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + serde_json::from_str(&content).map_err(Error::from) + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/client.rs b/src/client.rs deleted file mode 100644 index b78fec9..0000000 --- a/src/client.rs +++ /dev/null @@ -1,44 +0,0 @@ -use std::collections::HashMap; -use reqwest::header::HeaderMap; -use crate::models::{CookieRequest, Submission, SubmissionRequest}; - -const FA_API_BASE_ORIGIN: &str = "https://furaffinity-api.herokuapp.com"; - -pub struct Client { - request_client: reqwest::Client, - cookies: HashMap -} - -impl Client { - pub fn new(cookies: HashMap) -> anyhow::Result { - let headers = HeaderMap::from_iter(vec![ - (reqwest::header::ACCEPT, "application/json".try_into()?), - (reqwest::header::CONTENT_TYPE, "application/json".try_into()?) - ].into_iter()); - let request_client = reqwest::ClientBuilder::new() - .default_headers(headers) - .build()?; - - Ok(Self { - request_client, - cookies - }) - } - - pub async fn get_submission(&mut self, submission_id: S) -> anyhow::Result where S: Into { - let url = format!("{FA_API_BASE_ORIGIN}/submission/{}", submission_id.into()); - let res = self.request_client - .post(url) - .json(&SubmissionRequest { - cookies: vec![ - ], - bbcode: false - }) - .send().await?; - - println!("{:?}", res.status()); - //File::create("./out.json")?.write(res.text().await?.as_bytes())?; - let submission: Submission = res.json().await?; - Ok(submission) - } -} diff --git a/src/lib.rs b/src/lib.rs index 8c1b8ed..e152062 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,2 +1,11 @@ -pub mod client; -pub mod models; \ No newline at end of file +#![allow(unused_imports)] +#![allow(clippy::too_many_arguments)] + +extern crate serde_repr; +extern crate serde; +extern crate serde_json; +extern crate url; +extern crate reqwest; + +pub mod apis; +pub mod models; diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index 31649c9..0000000 --- a/src/main.rs +++ /dev/null @@ -1,9 +0,0 @@ -use rustyfox::client::Client; - -#[tokio::main] -async fn main() -> anyhow::Result<()> { - let mut client = Client::new()?; - let submission = client.get_submission("59630962").await?; - println!("Submission: {:?}", submission); - Ok(()) -} \ No newline at end of file diff --git a/src/models.rs b/src/models.rs deleted file mode 100644 index 57b09d0..0000000 --- a/src/models.rs +++ /dev/null @@ -1,96 +0,0 @@ -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct CookieRequest { - pub name: String, - pub value: String -} - -impl CookieRequest { - pub fn new(name: S, value: S) -> Self where S: Into { - Self { name: name.into(), value: value.into() } - } -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct SubmissionRequest { - pub cookies: Vec, - pub bbcode: bool -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct Author { - pub name: String, - pub status: String, - pub title: String, - pub avatar_url: String, - // pub join_date: DateTime, - pub join_date: String, -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct Stats { - pub views: i32, - pub comments: i32, - pub favorites: i32, -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct UserFolder { - pub name: String, - pub url: String, - pub group: String, -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct Replies { - id: i32, - author: Author, - text: String, - replies: Vec, - reply_to: i32, - edited: bool, - hidden: bool, -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct Comment { - pub id: i32, - pub author: Author, - // pub date: DateTime, - pub date: String, - pub text: String, - pub replies: Vec, - pub reply_to: Option, - pub edited: bool, - pub hidden: bool, -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct Submission { - pub id: i32, - pub title: String, - pub author: Author, - // pub date: DateTime, - pub date: String, - pub tags: Vec, - pub category: String, - pub species: String, - pub gender: String, - pub rating: String, - #[serde(rename = "type")] - pub submission_type: String, - pub stats: Stats, - pub description: String, - pub footer: String, - pub mentions: Vec, - pub folder: String, - pub user_folders: Vec, - pub file_url: String, - pub thumbnail_url: String, - pub comments: Vec, - pub prev: Option, - pub next: Option, - pub favorite: bool, - pub favorite_toggle_link: String, -} \ No newline at end of file diff --git a/src/models/body.rs b/src/models/body.rs new file mode 100644 index 0000000..b4b1ff7 --- /dev/null +++ b/src/models/body.rs @@ -0,0 +1,34 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Body : Request body with authentication fields +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Body { + /// A list of cookies to use to authenticate the request + #[serde(rename = "cookies")] + pub cookies: Vec, + /// Set to true to return text fields in BBCode format + #[serde(rename = "bbcode", skip_serializing_if = "Option::is_none")] + pub bbcode: Option, +} + +impl Body { + /// Request body with authentication fields + pub fn new(cookies: Vec) -> Body { + Body { + cookies, + bbcode: None, + } + } +} + diff --git a/src/models/comment.rs b/src/models/comment.rs new file mode 100644 index 0000000..52815eb --- /dev/null +++ b/src/models/comment.rs @@ -0,0 +1,56 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Comment : Comment information and text +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Comment { + /// Comment's ID + #[serde(rename = "id")] + pub id: i32, + #[serde(rename = "author")] + pub author: Box, + /// Comment's post date + #[serde(rename = "date")] + pub date: String, + /// Comment's content + #[serde(rename = "text")] + pub text: String, + /// Replies to the comment + #[serde(rename = "replies")] + pub replies: Vec, + #[serde(rename = "reply_to", deserialize_with = "Option::deserialize")] + pub reply_to: Option, + /// Whether the comment was edited + #[serde(rename = "edited")] + pub edited: bool, + /// Whether the comment is hidden + #[serde(rename = "hidden")] + pub hidden: bool, +} + +impl Comment { + /// Comment information and text + pub fn new(id: i32, author: models::UserPartial, date: String, text: String, replies: Vec, reply_to: Option, edited: bool, hidden: bool) -> Comment { + Comment { + id, + author: Box::new(author), + date, + text, + replies, + reply_to, + edited, + hidden, + } + } +} + diff --git a/src/models/cookie.rs b/src/models/cookie.rs new file mode 100644 index 0000000..5aaa642 --- /dev/null +++ b/src/models/cookie.rs @@ -0,0 +1,34 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Cookie : Container for the cookies used to connect to Fur Affinity +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Cookie { + /// The name of the cookie (a, b, etc.) + #[serde(rename = "name")] + pub name: String, + /// The value of the cookie (e.g. 5dabd975-436f-4af7-b949-f5d0f1e803a0) + #[serde(rename = "value")] + pub value: String, +} + +impl Cookie { + /// Container for the cookies used to connect to Fur Affinity + pub fn new(name: String, value: String) -> Cookie { + Cookie { + name, + value, + } + } +} + diff --git a/src/models/detail.rs b/src/models/detail.rs new file mode 100644 index 0000000..4bb10a8 --- /dev/null +++ b/src/models/detail.rs @@ -0,0 +1,26 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Detail : details of the error +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Detail { +} + +impl Detail { + /// details of the error + pub fn new() -> Detail { + Detail { + } + } +} + diff --git a/src/models/error.rs b/src/models/error.rs new file mode 100644 index 0000000..cde0f57 --- /dev/null +++ b/src/models/error.rs @@ -0,0 +1,29 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Error : Error response +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Error { + #[serde(rename = "detail", deserialize_with = "Option::deserialize")] + pub detail: Option>, +} + +impl Error { + /// Error response + pub fn new(detail: Option) -> Error { + Error { + detail: if let Some(x) = detail {Some(Box::new(x))} else {None}, + } + } +} + diff --git a/src/models/http_validation_error.rs b/src/models/http_validation_error.rs new file mode 100644 index 0000000..f89ffca --- /dev/null +++ b/src/models/http_validation_error.rs @@ -0,0 +1,27 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct HttpValidationError { + #[serde(rename = "detail", skip_serializing_if = "Option::is_none")] + pub detail: Option>, +} + +impl HttpValidationError { + pub fn new() -> HttpValidationError { + HttpValidationError { + detail: None, + } + } +} + diff --git a/src/models/journal.rs b/src/models/journal.rs new file mode 100644 index 0000000..e2d4d31 --- /dev/null +++ b/src/models/journal.rs @@ -0,0 +1,64 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Journal : Journal information as it appears in the journal's page +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Journal { + /// Journal's ID + #[serde(rename = "id")] + pub id: i32, + /// Journal's title + #[serde(rename = "title")] + pub title: String, + #[serde(rename = "author")] + pub author: Box, + #[serde(rename = "stats")] + pub stats: Box, + /// Journal's upload date + #[serde(rename = "date")] + pub date: String, + /// Journal's header + #[serde(rename = "header")] + pub header: String, + /// Journal's footer + #[serde(rename = "footer")] + pub footer: String, + /// Journal's content + #[serde(rename = "content")] + pub content: String, + /// Journal's mentions (users mentioned with FA links in the content) + #[serde(rename = "mentions")] + pub mentions: Vec, + /// Journal's comments + #[serde(rename = "comments")] + pub comments: Vec, +} + +impl Journal { + /// Journal information as it appears in the journal's page + pub fn new(id: i32, title: String, author: models::UserPartial, stats: models::JournalStats, date: String, header: String, footer: String, content: String, mentions: Vec, comments: Vec) -> Journal { + Journal { + id, + title, + author: Box::new(author), + stats: Box::new(stats), + date, + header, + footer, + content, + mentions, + comments, + } + } +} + diff --git a/src/models/journal_partial.rs b/src/models/journal_partial.rs new file mode 100644 index 0000000..32944aa --- /dev/null +++ b/src/models/journal_partial.rs @@ -0,0 +1,52 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// JournalPartial : Journal information without comments as it appears in the journals' page +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct JournalPartial { + /// Journal's ID + #[serde(rename = "id")] + pub id: i32, + /// Journal's title + #[serde(rename = "title")] + pub title: String, + #[serde(rename = "author")] + pub author: Box, + #[serde(rename = "stats")] + pub stats: Box, + /// Journal's upload date + #[serde(rename = "date")] + pub date: String, + /// Journal's content + #[serde(rename = "content")] + pub content: String, + /// Journal's mentions (users mentioned with FA links in the content) + #[serde(rename = "mentions")] + pub mentions: Vec, +} + +impl JournalPartial { + /// Journal information without comments as it appears in the journals' page + pub fn new(id: i32, title: String, author: models::UserPartial, stats: models::JournalStats, date: String, content: String, mentions: Vec) -> JournalPartial { + JournalPartial { + id, + title, + author: Box::new(author), + stats: Box::new(stats), + date, + content, + mentions, + } + } +} + diff --git a/src/models/journal_stats.rs b/src/models/journal_stats.rs new file mode 100644 index 0000000..23de809 --- /dev/null +++ b/src/models/journal_stats.rs @@ -0,0 +1,30 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// JournalStats : Journal statistics +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct JournalStats { + /// Number of comments + #[serde(rename = "comments")] + pub comments: i32, +} + +impl JournalStats { + /// Journal statistics + pub fn new(comments: i32) -> JournalStats { + JournalStats { + comments, + } + } +} + diff --git a/src/models/journals_folder.rs b/src/models/journals_folder.rs new file mode 100644 index 0000000..e106307 --- /dev/null +++ b/src/models/journals_folder.rs @@ -0,0 +1,33 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// JournalsFolder : Journals appearing in a journals page +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct JournalsFolder { + /// List of journals found in the page + #[serde(rename = "results")] + pub results: Vec, + #[serde(rename = "next", deserialize_with = "Option::deserialize")] + pub next: Option, +} + +impl JournalsFolder { + /// Journals appearing in a journals page + pub fn new(results: Vec, next: Option) -> JournalsFolder { + JournalsFolder { + results, + next, + } + } +} + diff --git a/src/models/mod.rs b/src/models/mod.rs new file mode 100644 index 0000000..3236f82 --- /dev/null +++ b/src/models/mod.rs @@ -0,0 +1,44 @@ +pub mod body; +pub use self::body::Body; +pub mod comment; +pub use self::comment::Comment; +pub mod cookie; +pub use self::cookie::Cookie; +pub mod detail; +pub use self::detail::Detail; +pub mod error; +pub use self::error::Error; +pub mod http_validation_error; +pub use self::http_validation_error::HttpValidationError; +pub mod journal; +pub use self::journal::Journal; +pub mod journal_partial; +pub use self::journal_partial::JournalPartial; +pub mod journal_stats; +pub use self::journal_stats::JournalStats; +pub mod journals_folder; +pub use self::journals_folder::JournalsFolder; +pub mod next; +pub use self::next::Next; +pub mod submission; +pub use self::submission::Submission; +pub mod submission_partial; +pub use self::submission_partial::SubmissionPartial; +pub mod submission_stats; +pub use self::submission_stats::SubmissionStats; +pub mod submission_user_folder; +pub use self::submission_user_folder::SubmissionUserFolder; +pub mod submissions_folder; +pub use self::submissions_folder::SubmissionsFolder; +pub mod user; +pub use self::user::User; +pub mod user_partial; +pub use self::user_partial::UserPartial; +pub mod user_stats; +pub use self::user_stats::UserStats; +pub mod validation_error; +pub use self::validation_error::ValidationError; +pub mod validation_error_loc_inner; +pub use self::validation_error_loc_inner::ValidationErrorLocInner; +pub mod watchlist; +pub use self::watchlist::Watchlist; diff --git a/src/models/next.rs b/src/models/next.rs new file mode 100644 index 0000000..3221053 --- /dev/null +++ b/src/models/next.rs @@ -0,0 +1,26 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Next : Number of the next page, null if last page +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Next { +} + +impl Next { + /// Number of the next page, null if last page + pub fn new() -> Next { + Next { + } + } +} + diff --git a/src/models/submission.rs b/src/models/submission.rs new file mode 100644 index 0000000..1eddf6b --- /dev/null +++ b/src/models/submission.rs @@ -0,0 +1,114 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Submission : Submission information as it appears on the submission's page +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Submission { + /// Submission's ID + #[serde(rename = "id")] + pub id: i32, + /// Submission's title + #[serde(rename = "title")] + pub title: String, + #[serde(rename = "author")] + pub author: Box, + /// Submission's upload date + #[serde(rename = "date")] + pub date: String, + /// Submission's tags + #[serde(rename = "tags")] + pub tags: Vec, + /// Submission's category (e.g. Artwork) + #[serde(rename = "category")] + pub category: String, + /// Submission's species + #[serde(rename = "species")] + pub species: String, + /// Submission's gender + #[serde(rename = "gender")] + pub gender: String, + /// Submission's rating (e.g. general, mature, etc.) + #[serde(rename = "rating")] + pub rating: String, + /// Submission's type (i.e. image, text, music) + #[serde(rename = "type")] + pub r#type: String, + #[serde(rename = "stats")] + pub stats: Box, + /// Submission's description + #[serde(rename = "description")] + pub description: String, + /// Submission's footer + #[serde(rename = "footer")] + pub footer: String, + /// Submission's mentions (users mentioned with FA links in the description) + #[serde(rename = "mentions")] + pub mentions: Vec, + /// Submission's folder (i.e. gallery or scraps) + #[serde(rename = "folder")] + pub folder: String, + /// User-defined folder(s) + #[serde(rename = "user_folders")] + pub user_folders: Vec, + /// URL to submission's file + #[serde(rename = "file_url")] + pub file_url: String, + /// URL to submission's thumbnail + #[serde(rename = "thumbnail_url")] + pub thumbnail_url: String, + /// Submission's comments + #[serde(rename = "comments")] + pub comments: Vec, + #[serde(rename = "prev", deserialize_with = "Option::deserialize")] + pub prev: Option, + #[serde(rename = "next", deserialize_with = "Option::deserialize")] + pub next: Option, + /// Favorite status of the submission + #[serde(rename = "favorite")] + pub favorite: bool, + /// Link to toggle favorite status of the submission + #[serde(rename = "favorite_toggle_link")] + pub favorite_toggle_link: String, +} + +impl Submission { + /// Submission information as it appears on the submission's page + pub fn new(id: i32, title: String, author: models::UserPartial, date: String, tags: Vec, category: String, species: String, gender: String, rating: String, r#type: String, stats: models::SubmissionStats, description: String, footer: String, mentions: Vec, folder: String, user_folders: Vec, file_url: String, thumbnail_url: String, comments: Vec, prev: Option, next: Option, favorite: bool, favorite_toggle_link: String) -> Submission { + Submission { + id, + title, + author: Box::new(author), + date, + tags, + category, + species, + gender, + rating, + r#type, + stats: Box::new(stats), + description, + footer, + mentions, + folder, + user_folders, + file_url, + thumbnail_url, + comments, + prev, + next, + favorite, + favorite_toggle_link, + } + } +} + diff --git a/src/models/submission_partial.rs b/src/models/submission_partial.rs new file mode 100644 index 0000000..d3171cf --- /dev/null +++ b/src/models/submission_partial.rs @@ -0,0 +1,49 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SubmissionPartial : Simplified submission information +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubmissionPartial { + /// Submission's ID + #[serde(rename = "id")] + pub id: i32, + /// Submission's title + #[serde(rename = "title")] + pub title: String, + #[serde(rename = "author")] + pub author: Box, + /// Submission's rating (e.g. general, mature, etc.) + #[serde(rename = "rating")] + pub rating: String, + /// Submission's type (i.e. image, text, music) + #[serde(rename = "type")] + pub r#type: String, + /// URL to submission's thumbnail + #[serde(rename = "thumbnail_url")] + pub thumbnail_url: String, +} + +impl SubmissionPartial { + /// Simplified submission information + pub fn new(id: i32, title: String, author: models::UserPartial, rating: String, r#type: String, thumbnail_url: String) -> SubmissionPartial { + SubmissionPartial { + id, + title, + author: Box::new(author), + rating, + r#type, + thumbnail_url, + } + } +} + diff --git a/src/models/submission_stats.rs b/src/models/submission_stats.rs new file mode 100644 index 0000000..d45958c --- /dev/null +++ b/src/models/submission_stats.rs @@ -0,0 +1,38 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SubmissionStats : Submission statistics +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubmissionStats { + /// Number of views + #[serde(rename = "views")] + pub views: i32, + /// Number of comments + #[serde(rename = "comments")] + pub comments: i32, + /// Number of favorites + #[serde(rename = "favorites")] + pub favorites: i32, +} + +impl SubmissionStats { + /// Submission statistics + pub fn new(views: i32, comments: i32, favorites: i32) -> SubmissionStats { + SubmissionStats { + views, + comments, + favorites, + } + } +} + diff --git a/src/models/submission_user_folder.rs b/src/models/submission_user_folder.rs new file mode 100644 index 0000000..34fefbb --- /dev/null +++ b/src/models/submission_user_folder.rs @@ -0,0 +1,36 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubmissionUserFolder { + /// Folder name + #[serde(rename = "name")] + pub name: String, + /// URL to folder + #[serde(rename = "url")] + pub url: String, + /// Folder group (if any) + #[serde(rename = "group")] + pub group: String, +} + +impl SubmissionUserFolder { + pub fn new(name: String, url: String, group: String) -> SubmissionUserFolder { + SubmissionUserFolder { + name, + url, + group, + } + } +} + diff --git a/src/models/submissions_folder.rs b/src/models/submissions_folder.rs new file mode 100644 index 0000000..738d658 --- /dev/null +++ b/src/models/submissions_folder.rs @@ -0,0 +1,33 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SubmissionsFolder : Submissions appearing in a submissions page (e.g. gallery page) +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubmissionsFolder { + /// List of submissions found in the page + #[serde(rename = "results")] + pub results: Vec, + #[serde(rename = "next", deserialize_with = "Option::deserialize")] + pub next: Option>, +} + +impl SubmissionsFolder { + /// Submissions appearing in a submissions page (e.g. gallery page) + pub fn new(results: Vec, next: Option) -> SubmissionsFolder { + SubmissionsFolder { + results, + next: if let Some(x) = next {Some(Box::new(x))} else {None}, + } + } +} + diff --git a/src/models/user.rs b/src/models/user.rs new file mode 100644 index 0000000..8a22990 --- /dev/null +++ b/src/models/user.rs @@ -0,0 +1,78 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// User : User information from their personal page +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct User { + /// User's name (as it appears on their page) + #[serde(rename = "name")] + pub name: String, + /// User's status (~, !, etc.) + #[serde(rename = "status")] + pub status: String, + /// User's title + #[serde(rename = "title")] + pub title: String, + #[serde(rename = "join_date", deserialize_with = "Option::deserialize")] + pub join_date: Option, + /// User's profile text in HTML format + #[serde(rename = "profile")] + pub profile: String, + /// User's statistics + #[serde(rename = "stats")] + pub stats: Box, + /// User's info (e.g. Accepting Commissions, Favorite Music, etc.) + #[serde(rename = "info")] + pub info: std::collections::HashMap, + /// User's contacts (e.g. Twitter, Telegram, etc.) + #[serde(rename = "contacts")] + pub contacts: std::collections::HashMap, + /// URL to user's icon + #[serde(rename = "avatar_url")] + pub avatar_url: String, + #[serde(rename = "banner_url", deserialize_with = "Option::deserialize")] + pub banner_url: Option, + /// Watch status of the user + #[serde(rename = "watched")] + pub watched: bool, + #[serde(rename = "watched_toggle_link", deserialize_with = "Option::deserialize")] + pub watched_toggle_link: Option, + /// Block status of the user + #[serde(rename = "blocked")] + pub blocked: bool, + #[serde(rename = "blocked_toggle_link", deserialize_with = "Option::deserialize")] + pub blocked_toggle_link: Option, +} + +impl User { + /// User information from their personal page + pub fn new(name: String, status: String, title: String, join_date: Option, profile: String, stats: models::UserStats, info: std::collections::HashMap, contacts: std::collections::HashMap, avatar_url: String, banner_url: Option, watched: bool, watched_toggle_link: Option, blocked: bool, blocked_toggle_link: Option) -> User { + User { + name, + status, + title, + join_date, + profile, + stats: Box::new(stats), + info, + contacts, + avatar_url, + banner_url, + watched, + watched_toggle_link, + blocked, + blocked_toggle_link, + } + } +} + diff --git a/src/models/user_partial.rs b/src/models/user_partial.rs new file mode 100644 index 0000000..846183c --- /dev/null +++ b/src/models/user_partial.rs @@ -0,0 +1,44 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserPartial : Simplified user information +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserPartial { + /// User's name (as it appears on their page) + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "status", deserialize_with = "Option::deserialize")] + pub status: Option, + /// User's title + #[serde(rename = "title")] + pub title: String, + /// URL to user's icon + #[serde(rename = "avatar_url")] + pub avatar_url: String, + #[serde(rename = "join_date", deserialize_with = "Option::deserialize")] + pub join_date: Option, +} + +impl UserPartial { + /// Simplified user information + pub fn new(name: String, status: Option, title: String, avatar_url: String, join_date: Option) -> UserPartial { + UserPartial { + name, + status, + title, + avatar_url, + join_date, + } + } +} + diff --git a/src/models/user_stats.rs b/src/models/user_stats.rs new file mode 100644 index 0000000..36caf86 --- /dev/null +++ b/src/models/user_stats.rs @@ -0,0 +1,50 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UserStats : User statistics +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UserStats { + /// Number of views + #[serde(rename = "views")] + pub views: i32, + /// Number of submissions + #[serde(rename = "submissions")] + pub submissions: i32, + /// Number of favorites + #[serde(rename = "favorites")] + pub favorites: i32, + /// Number of comments earned + #[serde(rename = "comments_earned")] + pub comments_earned: i32, + /// Number of comments made + #[serde(rename = "comments_made")] + pub comments_made: i32, + /// Number of journals + #[serde(rename = "journals")] + pub journals: i32, +} + +impl UserStats { + /// User statistics + pub fn new(views: i32, submissions: i32, favorites: i32, comments_earned: i32, comments_made: i32, journals: i32) -> UserStats { + UserStats { + views, + submissions, + favorites, + comments_earned, + comments_made, + journals, + } + } +} + diff --git a/src/models/validation_error.rs b/src/models/validation_error.rs new file mode 100644 index 0000000..14828b1 --- /dev/null +++ b/src/models/validation_error.rs @@ -0,0 +1,33 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ValidationError { + #[serde(rename = "loc")] + pub loc: Vec, + #[serde(rename = "msg")] + pub msg: String, + #[serde(rename = "type")] + pub r#type: String, +} + +impl ValidationError { + pub fn new(loc: Vec, msg: String, r#type: String) -> ValidationError { + ValidationError { + loc, + msg, + r#type, + } + } +} + diff --git a/src/models/validation_error_loc_inner.rs b/src/models/validation_error_loc_inner.rs new file mode 100644 index 0000000..f6f1267 --- /dev/null +++ b/src/models/validation_error_loc_inner.rs @@ -0,0 +1,24 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ValidationErrorLocInner { +} + +impl ValidationErrorLocInner { + pub fn new() -> ValidationErrorLocInner { + ValidationErrorLocInner { + } + } +} + diff --git a/src/models/watchlist.rs b/src/models/watchlist.rs new file mode 100644 index 0000000..efc1b9f --- /dev/null +++ b/src/models/watchlist.rs @@ -0,0 +1,33 @@ +/* + * Fur Affinity API + * + * [![](https://img.shields.io/github/v/tag/FurryCoders/furaffinity-api?label=github&sort=date&logo=github&color=blue)](https://github.com/FurryCoders/furaffinity-api) [![](https://img.shields.io/github/actions/workflow/status/FurryCoders/furaffinity-api/test.yml?label=Test&logo=githubactions)](https://github.com/FurryCoders/furaffinity-api/actions/workflows/test.yml) [![](https://img.shields.io/badge/faapi-v3.11.6-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAD5klEQVR4nJyWW2hdRRfHfzN7n3OS0HztF5u0JCWJUVo1tijV5EXTxlasFnsRn0RBUKP4VhREpUqgGgiSekPTCxJspQ95qS8m4AUtWkERC9ImYJuojTS1GlMTzznJ3nuWzO7suj0mse3AYpg9M/+11n9dZntc/tCAvSeA7+YrGtoBpI1QVwo2F3jpSMBrgbeBL4FuIOv2Lll5Ar4CeBzYnvpeA3zvaEnkObfvXw74OuDXFMgb7vvrbl0EZoAA+GwBr/9FgZVFwOkUUOTAlgHfuHXkwO182MUp62Y/TZdfYr29sN7RE6b4zQCVKY9Cd97KwZTSBUei7DEHMOtmK784JU+X8N/r7mwF3gMGgGfmC3zC4doSECtPpM5tATqB+9y6Z47zPXMwdLGA7NgB/AycBJ4EGoDXgCNasaduaXalO3ePBVSKwPdUoFUcK+v5kKcV86VuPVAHtAKbnMuTJRZavpuBXQ4wSYZAXdg/mPZAO03XAh8CeQdSSINaKy3I0v9lii893CgPtdccADbbvRsbKqSro0lqq7L27IhSNDpMnc7dPmAjUObWyRw6q/xcRuvBzhsyLasqzU/nZtYoGNRaPZvx1NebW6uOf/7KmukH11dvEeGHp7bVWQUmzf+pVPEYJ7H1Wqt4vvmaRTJ+oCVw3/tSBFuLl8kHtw3JR20bG2tyWj5Z5zXU5C42NAv2pksv7QD+ESClIIpEJqZCL+PrfGW5txPFI9YwrRn2tPru2MnphmKZNzN6qFUKE7Oc2rs2BkuKZjew04HrdOFYTSKwsq48+iMfKWOk+89i1CbCfqAJyEVGqn+fCsvLbCwLkRgBK0kMjAO1WbEBOONSNrLpFhmh84F6+rtXe30fn5XIyFGtVaczItQqpjDqHRgPZSp8p1A0e8syKioNsnHVaptXm6sBz4gYrRWHjpyTff1j6t6WqkgpzhuJW0f88IjEd7321Yt9Ve69K8JbRi5QXdoBAxcTC34XMC4SM2SGxwqqp3+MVXXl/nUrKn4TI10uSBkj4nla/bjp1v9PBL7ag+JYwuxcLTZ0SkaA+5NGphThkkrf+J7KD53On99w05JXtY6LsUOEbWFkGuurc6NmvLhc5O/WPV8PDx1dXwAviEhGBH90vKg9rSqiwdvv3P3o1Ysjw1fAPuB9BtvuDgNp9nx1IuurOMWz248u+AoFjuMuEQKtVcfZyeDMtyPTA7XVuZeblpfJVZV+fxiJGt1/yx2zhahXKXYopYZFYmYMl/iOqlTqmsPPX8/WXSfg03YNYoLJgFTtSOo81oP/fOZSvyexRVlf+cdfbIbZKAEnVfVe6W/MXwEAAP//w2SKjLOWmJcAAAAASUVORK5CYII=)](https://pypi.org/project/faapi/3.11.6) [![](https://img.shields.io/badge/robots-json-lightblue?logo=probot)](/robots.json) [![](https://img.shields.io/badge/Swagger%20UI-docs-85EA2D?logo=swagger)](/docs) [![](https://img.shields.io/badge/Redoc-docs-0044D3?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVRYw61XW6hVRRhea+0z63CSLtZLN7siQbdT2Y3Ep1lKBD1IJT1I5oNgD70ZFAQFQdRDgUgkRRH5EOJLpIhCDxqdI1F2oBlTuxwjzZNaFlkQHOn0/TPfzJq1zt5n7w0u+Pjn+s8//23+lWX4yspmqjKB5iXavt8fqkZekkeEtlnfLyxWcXNgbgcSoD4QbQ1BtCnQ7wBFQ5jK9hZAxRu7hSWYjYKO1TBjHF8IoxCggACp8HkURPcQhLfIOfm2quzvoN8Dh4BvMG9BjwInwfwE6HGBIm3hR+Bz4HUceH9yqY7TTjdtUNogwCvYdBg4hvacg3b0b+BT4AAxiTWureqxL5S2X4OexmFuL+b2YP+tXgPQTjS37eIDojodzSEqHwfeAP6lMOtrh2vaNvgC1b8IeAB4P16iso9zbZHuSXzASRgW5KrpzXcAR3ijZymAwm3F3qBif1vKWOnHE7+yK9A+RSFWR3N0N0MDwXlG2L8EOExGD3ptRbNlbSeLIe3GzPWl+JW2sxi/KdVE/9D0WlFkOA4KnzAT7nbaRcoG4EX0N6H/XCmo7CbQ53HgerQvomlXOQ1q+5GqQ3WA/KD9LbAhaOItamEZcLlvm7nE1nO1A5pZ0KsSDe3kmqiFAZKUSX1D6N1k8hpVfQvovcCddFrAoG2wztzIPSN00kcp7EY6cycb5KMpcqpuEW5yFpv3BedtOp1bE0HnzIglFH4b54YSIEtsJwnqu7KOnDeVxH5lp4GfEkxDoBms2UanvQxjf4Du8il7CAESISCAOcSw9J6v7csU6CDmp8B4Cu0pCHUQ9FtgCzWwGHv/RH9nCMeBBKC6QshdjAPOgdGeRvjNC8E0DG1IXDfQBO9xfX8BQtYLYQMsJ5OX2EeMm4eBlTgMAK1A0S+FaokU7PWXWOMiRNunqc3OAGEY0+4Ic8GH9OT7KMDHaQiqeSFpX/A83N79HL8mJLsFVF4XG6VPt6LOFWSwW9VJ6jasWYf+U2ivxZ61aK8rfV9oCMUnfSIyW2mSTqNYadsOk2LzjqiJDK7D2Cl/e3N7mtPTMEwiI0nR5h7Q8zj0LHhcSfvnKgiQOk8oJpRuvAsa46d5+yc4X9SR4doF34a89abIKzgb3hC+gp0gbFoPUN2uDWb2Cow/gvZ2bj4vTkQBizTZJJBXVLRytRysnKmMvKD/lP5VzKjVqOlWQeIGt2KBFB9/pXndJZDKSmV0jFXPD0RoT0MTP+Ow30L9oPy+d8FvMXl3Yni2n2Kfah19leXYcd46eLMkkAlJNhAKCcZ85dqOSt8lnS9JfwH+Ay9xuh2M/1gRBTPXAmiaIISc7yOHG3nxNic23Jjk9XiTtDoi81GMPYR2rIjQXtOuiFRdEZm0qGhUQ3TGcRalwuyZ+oVrFjHp7RLhYPvowKtDBuxTEUUmcLZwkNjR5fs51nvU2rw9dOj6MhDqWilUlYSiNjeHakrogv8JQQNS99FEd7EA+UzqQCXVDiAqb/8jYHyMuJR7H2OW/IC8i54CtMp1n1hEE/6271AIUetJYIZOl/4bnOD4jPL0DA77VcXIMEu9v5limN+2nDZdiv5e9Ccg2CQYTYZ/hOT/4IAbl3nMlbLWR9B+aPQT5oneb0EvIXy53qp+0uipGk9vXUNUXbNr1rcobT7J8RBfrmuiGh6qWzIaQgsXEN4J/weIP6OEPjT2HAAAAABJRU5ErkJggg==)](/redoc) Use the Fur Affinity API badge for your projects! [![](https://furaffinity-api.herokuapp.com/badge/svg)](https://furaffinity-api.herokuapp.com/badge/svg) _The badge is provided via [Shields.io](https://shields.io/)._ + * + * The version of the OpenAPI document: 1.5.5 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Watchlist : Users appearing in a user's watchlist +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Watchlist { + /// List of users found in the page + #[serde(rename = "results")] + pub results: Vec, + #[serde(rename = "next", deserialize_with = "Option::deserialize")] + pub next: Option, +} + +impl Watchlist { + /// Users appearing in a user's watchlist + pub fn new(results: Vec, next: Option) -> Watchlist { + Watchlist { + results, + next, + } + } +} +