shikimori-api 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +20 -0
- data/lib/shikimori/api/client.rb +34 -0
- data/lib/shikimori/api/errors.rb +21 -0
- data/lib/shikimori/api/rest.rb +115 -0
- data/lib/shikimori/api/uri.rb +18 -0
- data/lib/shikimori/api/v1/achievements.rb +32 -0
- data/lib/shikimori/api/v1/animes.rb +252 -0
- data/lib/shikimori/api/v1/appear.rb +40 -0
- data/lib/shikimori/api/v1/bans.rb +31 -0
- data/lib/shikimori/api/v1/calendars.rb +32 -0
- data/lib/shikimori/api/v1/characters.rb +52 -0
- data/lib/shikimori/api/v1/clubs.rb +329 -0
- data/lib/shikimori/api/v1/comments.rb +161 -0
- data/lib/shikimori/api/v1/constants.rb +107 -0
- data/lib/shikimori/api/v1/dialogs.rb +78 -0
- data/lib/shikimori/api/v1/favorites.rb +148 -0
- data/lib/shikimori/api/v1/forums.rb +31 -0
- data/lib/shikimori/api/v1/friends.rb +57 -0
- data/lib/shikimori/api/v1/genres.rb +31 -0
- data/lib/shikimori/api/v1/ignores.rb +62 -0
- data/lib/shikimori/api/v1/mangas.rb +211 -0
- data/lib/shikimori/api/v1/messages.rb +168 -0
- data/lib/shikimori/api/v1/people.rb +53 -0
- data/lib/shikimori/api/v1/publishers.rb +31 -0
- data/lib/shikimori/api/v1/ranobe.rb +206 -0
- data/lib/shikimori/api/v1/reviews.rb +89 -0
- data/lib/shikimori/api/v1/stats.rb +31 -0
- data/lib/shikimori/api/v1/studios.rb +31 -0
- data/lib/shikimori/api/v1/styles.rb +112 -0
- data/lib/shikimori/api/v1/topic_ignores.rb +63 -0
- data/lib/shikimori/api/v1/topics.rb +237 -0
- data/lib/shikimori/api/v1/user_images.rb +36 -0
- data/lib/shikimori/api/v1/user_rates.rb +194 -0
- data/lib/shikimori/api/v1/users.rb +310 -0
- data/lib/shikimori/api/v1/videos.rb +85 -0
- data/lib/shikimori/api/v1.rb +77 -0
- data/lib/shikimori/api/v2/abuse_requests.rb +103 -0
- data/lib/shikimori/api/v2/episode_notifications.rb +54 -0
- data/lib/shikimori/api/v2/topic_ignore.rb +54 -0
- data/lib/shikimori/api/v2/user_ignore.rb +54 -0
- data/lib/shikimori/api/v2/user_rates.rb +171 -0
- data/lib/shikimori/api/v2.rb +27 -0
- data/lib/shikimori/api/version.rb +8 -0
- data/lib/shikimori/api.rb +14 -0
- data/lib/shikimori-api.rb +3 -0
- data/shikimori-api.gemspec +40 -0
- data/sig/shikimori/api/client.rbs +12 -0
- data/sig/shikimori/api/rest.rbs +30 -0
- data/sig/shikimori/api/uri.rbs +10 -0
- data/sig/shikimori/api/v1/achievements.rbs +15 -0
- data/sig/shikimori/api/v1/animes.rbs +23 -0
- data/sig/shikimori/api/v1/appear.rbs +15 -0
- data/sig/shikimori/api/v1/bans.rbs +15 -0
- data/sig/shikimori/api/v1/calendars.rbs +15 -0
- data/sig/shikimori/api/v1/characters.rbs +16 -0
- data/sig/shikimori/api/v1/clubs.rbs +29 -0
- data/sig/shikimori/api/v1/comments.rbs +19 -0
- data/sig/shikimori/api/v1/constants.rbs +19 -0
- data/sig/shikimori/api/v1/dialogs.rbs +17 -0
- data/sig/shikimori/api/v1/favorites.rbs +23 -0
- data/sig/shikimori/api/v1/forums.rbs +15 -0
- data/sig/shikimori/api/v1/friends.rbs +16 -0
- data/sig/shikimori/api/v1/genres.rbs +15 -0
- data/sig/shikimori/api/v1/ignores.rbs +16 -0
- data/sig/shikimori/api/v1/mangas.rbs +23 -0
- data/sig/shikimori/api/v1/messages.rbs +20 -0
- data/sig/shikimori/api/v1/people.rbs +16 -0
- data/sig/shikimori/api/v1/publishers.rbs +15 -0
- data/sig/shikimori/api/v1/ranobe.rbs +23 -0
- data/sig/shikimori/api/v1/reviews.rbs +19 -0
- data/sig/shikimori/api/v1/stats.rbs +15 -0
- data/sig/shikimori/api/v1/studios.rbs +15 -0
- data/sig/shikimori/api/v1/styles.rbs +18 -0
- data/sig/shikimori/api/v1/topic_ignores.rbs +16 -0
- data/sig/shikimori/api/v1/topics.rbs +40 -0
- data/sig/shikimori/api/v1/user_images.rbs +15 -0
- data/sig/shikimori/api/v1/user_rates.rbs +44 -0
- data/sig/shikimori/api/v1/users.rbs +28 -0
- data/sig/shikimori/api/v1/videos.rbs +23 -0
- data/sig/shikimori/api/v1.rbs +41 -0
- data/sig/shikimori/api/v2/abuse_requests.rbs +18 -0
- data/sig/shikimori/api/v2/episode_notifications.rbs +25 -0
- data/sig/shikimori/api/v2/topic_ignore.rbs +16 -0
- data/sig/shikimori/api/v2/user_ignore.rbs +16 -0
- data/sig/shikimori/api/v2/user_rates.rbs +43 -0
- data/sig/shikimori/api/v2.rbs +16 -0
- data/sig/shikimori/api/version.rbs +5 -0
- data/sig/shikimori/api.rbs +18 -0
- metadata +137 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Mangas
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def mangas: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def manga: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
9
|
+
def manga_roles: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
10
|
+
def manga_similar: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
11
|
+
def manga_related: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
12
|
+
def manga_screenshots: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
13
|
+
def manga_franchise: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
14
|
+
def manga_external_links: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
15
|
+
def manga_topics: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def base_url: -> ::Shikimori::API::URI
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Messages
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def message: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def create_message: ({ body: String, from_id: Integer, to_id: Integer, kind: 'Private' | nil }, ?frontend: 'false' | 'true' | 1 | 0 | nil, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
9
|
+
def update_message: (_ToS, { body: String }, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
10
|
+
def delete_message: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
11
|
+
def read_all_messages: (type: 'news' | 'notifications', ?frontend: 'false' | 'true' | 1 | 0 | nil, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
12
|
+
def delete_all_messages: (type: 'news' | 'notifications', ?frontend: 'false' | 'true' | 1 | 0 | nil, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def base_url: -> ::Shikimori::API::URI
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module People
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def people: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def person: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def base_url: -> ::Shikimori::API::URI
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Publishers
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def publishers: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def base_url: -> ::Shikimori::API::URI
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Ranobe
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def ranobes: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def ranobe: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
9
|
+
def ranobe_roles: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
10
|
+
def ranobe_similar: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
11
|
+
def ranobe_related: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
12
|
+
def ranobe_screenshots: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
13
|
+
def ranobe_franchise: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
14
|
+
def ranobe_external_links: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
15
|
+
def ranobe_topics: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def base_url: -> ::Shikimori::API::URI
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Reviews
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
type opinions = 'positive' | 'neutral' | 'negative'
|
8
|
+
|
9
|
+
def create_review: ({ body: String, anime_id: Integer, opinion: opinions }, ?frontend: 'true' | 'false' | 0 | 1 | nil, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
10
|
+
def update_review: (_ToS, { body: String, opinion: opinions }, ?frontend: 'true' | 'false' | 0 | 1 | nil, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
11
|
+
def delete_review: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def base_url: -> ::Shikimori::API::URI
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Styles
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def style: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def create_style: ({ css: String, name: String, owner_id: Integer, owner_type: 'User' | 'Club' }, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
9
|
+
def update_style: (_ToS, { css: String, name: String }, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
10
|
+
def preview_style: ({ css: String }, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def base_url: -> ::Shikimori::API::URI
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module TopicIgnores
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def create_topic_ignore: (topic_id: _ToS, user_id: _ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def delete_topic_ignore: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def base_url: -> ::Shikimori::API::URI
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Topics
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
TOPIC_TYPES_MAP: Hash[String, String]
|
8
|
+
|
9
|
+
type creation_topic = {
|
10
|
+
title: String,
|
11
|
+
body: String,
|
12
|
+
linked_id: Integer,
|
13
|
+
linked_type: 'Anime' | 'Manga' | 'Ranobe' | 'Character' | 'Person' | 'Club' | 'ClubPage' | 'Critique' | 'Review' | 'Contest' | 'CosplayGallery' | 'Collection' | 'Article',
|
14
|
+
type: 'Topic',
|
15
|
+
forum_id: Integer,
|
16
|
+
user_id: Integer
|
17
|
+
}
|
18
|
+
|
19
|
+
type updation_topic = {
|
20
|
+
title: String,
|
21
|
+
body: String,
|
22
|
+
linked_id: Integer,
|
23
|
+
linked_type: 'Anime' | 'Manga' | 'Ranobe' | 'Character' | 'Person' | 'Club' | 'ClubPage' | 'Critique' | 'Review' | 'Contest' | 'CosplayGallery' | 'Collection' | 'Article',
|
24
|
+
}
|
25
|
+
|
26
|
+
def topics: (?type: String | nil, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
27
|
+
def topic: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
28
|
+
def create_topic: (creation_topic, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
29
|
+
def update_topic: (_ToS, updation_topic, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
30
|
+
def delete_topic: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
31
|
+
def topics_updates: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
32
|
+
def hot_topics: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def base_url: -> ::Shikimori::API::URI
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module UserImages
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def create_user_image: (File, ?linked_type: 'Comment' | nil, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def base_url: -> ::Shikimori::API::URI
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module UserRates
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
type user_rate_creation = {
|
8
|
+
user_id: Integer,
|
9
|
+
target_id: Integer,
|
10
|
+
target_type: 'Anime' | 'Manga',
|
11
|
+
status: String,
|
12
|
+
score: Numeric,
|
13
|
+
chapters: Numeric,
|
14
|
+
episodes: Numeric,
|
15
|
+
volumes: Numeric,
|
16
|
+
rewatches: Numeric,
|
17
|
+
text: String
|
18
|
+
}
|
19
|
+
|
20
|
+
type user_rate_updation = {
|
21
|
+
status: String,
|
22
|
+
score: Numeric,
|
23
|
+
chapters: Numeric,
|
24
|
+
episodes: Numeric,
|
25
|
+
volumes: Numeric,
|
26
|
+
rewatches: Numeric,
|
27
|
+
text: String
|
28
|
+
}
|
29
|
+
|
30
|
+
def user_rate: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
31
|
+
def create_user_rate: (user_rate_creation, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
32
|
+
def update_user_rate: (_ToS, user_rate_updation, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
33
|
+
def delete_user_rate: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
34
|
+
def increment_user_rate: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
35
|
+
def cleanup_user_rates: ('anime' | 'manga', ?headers: Hash[String, String] | nil, **untyped) -> bool
|
36
|
+
def reset_user_rates: ('anime' | 'manga', ?headers: Hash[String, String] | nil, **untyped) -> bool
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def base_url: -> ::Shikimori::API::URI
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Users
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def users: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def user: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
9
|
+
def user_info: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
10
|
+
def whoami: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
11
|
+
def sign_out: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
12
|
+
def user_friends: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
13
|
+
def user_clubs: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
14
|
+
def user_anime_rates: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
15
|
+
def user_manga_rates: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
16
|
+
def user_favorites: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
17
|
+
def user_messages: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
18
|
+
def user_unread_messages: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
19
|
+
def user_history: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
20
|
+
def user_bans: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def base_url: -> ::Shikimori::API::URI
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
module Videos
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
type creation_video = {
|
8
|
+
name: String,
|
9
|
+
kind: 'pv' | 'character_trailer' | 'cm' | 'op' | 'ed' | 'op_ed_clip' | 'clip' | 'other' | 'episode_preview',
|
10
|
+
url: String,
|
11
|
+
}
|
12
|
+
|
13
|
+
def anime_videos: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
14
|
+
def create_anime_video: (_ToS, creation_video, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
15
|
+
def delete_anime_video: (anime_id: _ToS, video_id: _ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def base_url: -> ::Shikimori::API::URI
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V1
|
4
|
+
include Videos
|
5
|
+
include Users
|
6
|
+
include UserRates
|
7
|
+
include UserImages
|
8
|
+
include Topics
|
9
|
+
include TopicIgnores
|
10
|
+
include Styles
|
11
|
+
include Studios
|
12
|
+
include Stats
|
13
|
+
include Reviews
|
14
|
+
include Ranobe
|
15
|
+
include Publishers
|
16
|
+
include People
|
17
|
+
include Messages
|
18
|
+
include Mangas
|
19
|
+
include Ignores
|
20
|
+
include Genres
|
21
|
+
include Friends
|
22
|
+
include Forums
|
23
|
+
include Favorites
|
24
|
+
include Dialogs
|
25
|
+
include Constants
|
26
|
+
include Comments
|
27
|
+
include Clubs
|
28
|
+
include Characters
|
29
|
+
include Calendars
|
30
|
+
include Bans
|
31
|
+
include Appear
|
32
|
+
include Animes
|
33
|
+
include Achievements
|
34
|
+
|
35
|
+
attr_reader rest: REST
|
36
|
+
attr_reader base_url: ::Shikimori::API::URI
|
37
|
+
|
38
|
+
def initialize: (base_url: ::Shikimori::API::URI, rest: REST) -> void
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V2
|
4
|
+
module AbuseRequests
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def abuse_offtopic_request: ({comment_id: Integer }, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def abuse_review_request: ({comment_id: Integer, topic_id: Integer }, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
9
|
+
def abuse_request: ({comment_id: Integer, topic_id: Integer, reason: String}, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
10
|
+
def abuse_spoiler_request: ({comment_id: Integer, topic_id: Integer, reason: String}, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def base_url: -> ::Shikimori::API::URI
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V2
|
4
|
+
module EpisodeNotifications
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
type notification_creation = {
|
8
|
+
anime_id: Integer,
|
9
|
+
episode: Integer,
|
10
|
+
aired_at: String | DateTime,
|
11
|
+
is_fandub: 'true' | 'false' | 1 | 0,
|
12
|
+
is_raw: 'true' | 'false' | 1 | 0,
|
13
|
+
is_subtitles: 'true' | 'false' | 1 | 0,
|
14
|
+
is_anime365: 'true' | 'false' | 1 | 0,
|
15
|
+
}
|
16
|
+
|
17
|
+
def create_episode_notification: (notification_creation, token: String, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def base_url: -> ::Shikimori::API::URI
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V2
|
4
|
+
module TopicIgnore
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def create_topic_ignore: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def delete_topic_ignore: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def base_url: -> ::Shikimori::API::URI
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V2
|
4
|
+
module UserIgnore
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
def create_user_ignore: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
8
|
+
def delete_user_ignore: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def base_url: -> ::Shikimori::API::URI
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V2
|
4
|
+
module UserRates
|
5
|
+
attr_reader rest: REST
|
6
|
+
|
7
|
+
type user_rate_creation = {
|
8
|
+
user_id: Integer,
|
9
|
+
target_id: Integer,
|
10
|
+
target_type: 'Anime' | 'Manga',
|
11
|
+
status: String,
|
12
|
+
score: Numeric,
|
13
|
+
chapters: Numeric,
|
14
|
+
episodes: Numeric,
|
15
|
+
volumes: Numeric,
|
16
|
+
rewatches: Numeric,
|
17
|
+
text: String
|
18
|
+
}
|
19
|
+
|
20
|
+
type user_rate_updation = {
|
21
|
+
status: String,
|
22
|
+
score: Numeric,
|
23
|
+
chapters: Numeric,
|
24
|
+
episodes: Numeric,
|
25
|
+
volumes: Numeric,
|
26
|
+
rewatches: Numeric,
|
27
|
+
text: String
|
28
|
+
}
|
29
|
+
|
30
|
+
def user_rates: (?headers: Hash[String, String] | nil, **untyped) -> untyped
|
31
|
+
def user_rate: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
32
|
+
def create_user_rate: (user_rate_creation, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
33
|
+
def update_user_rate: (_ToS, user_rate_updation, ?headers: Hash[String, String] | nil, **untyped) -> untyped
|
34
|
+
def delete_user_rate: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
35
|
+
def increment_user_rate: (_ToS, ?headers: Hash[String, String] | nil, **untyped) -> bool
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def base_url: -> ::Shikimori::API::URI
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class V2
|
4
|
+
include AbuseRequests
|
5
|
+
include EpisodeNotifications
|
6
|
+
include TopicIgnore
|
7
|
+
include UserIgnore
|
8
|
+
include UserRates
|
9
|
+
|
10
|
+
attr_reader rest: REST
|
11
|
+
attr_reader base_url: ::Shikimori::API::URI
|
12
|
+
|
13
|
+
def initialize: (base_url: ::Shikimori::API::URI, rest: REST) -> void
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Shikimori
|
2
|
+
module API
|
3
|
+
class RequestError < StandardError
|
4
|
+
end
|
5
|
+
|
6
|
+
class NotFoundError < RequestError
|
7
|
+
end
|
8
|
+
|
9
|
+
class ForbiddenError < RequestError
|
10
|
+
end
|
11
|
+
|
12
|
+
class BadRequestError < RequestError
|
13
|
+
attr_reader errors: Array[String]
|
14
|
+
|
15
|
+
def initialize: (Array[String] | { "errors" => Array[String] }) -> void
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|