@yamabuki/pixiv-app-api
Version:
Promise base pixiv API client
267 lines (266 loc) • 6.19 kB
TypeScript
export interface Pixiv_Client {
access_token: string;
expires_in: number;
token_type: string;
scope: string;
refresh_token: string;
user: Pixiv_Client_User;
device_token: string;
}
export interface Pixiv_Client_User {
profile_image_urls: {
px_16x16: string;
px_50x50: string;
px_170x170: string;
};
id: string;
name: string;
account: string;
mail_address: string;
is_premium: boolean;
x_restrict: number;
is_mail_authorized: boolean;
}
export interface Pixiv_Request_Data {
client_id: string;
client_secret: string;
get_secure_url: string;
grant_type: string;
refresh_token: string;
username: string;
password: string;
}
export interface Pixiv_User {
id: number;
name: string;
account: string;
profile_image_urls: {
medium: string;
};
comment: string;
is_followed: boolean;
}
export interface Pixiv_User_Detail {
user: Pixiv_User;
profile: {
webpage: string;
gender: string;
birth: string;
birth_day: string;
birth_year: number;
region: string;
address_id: number;
country_code: string;
job: string;
job_id: number;
total_follow_users: number;
total_mypixiv_users: number;
total_illusts: number;
total_manga: number;
total_novels: number;
total_illust_bookmarks_public: number;
total_illust_series: number;
background_image_url: string;
twitter_account: string;
twitter_url: string;
pawoo_url: string;
is_premium: boolean;
is_using_custom_profile_image: boolean;
};
profile_publicity: {
gender: string;
region: string;
birth_day: string;
birth_year: string;
job: string;
pawoo: boolean;
};
workspace: {
pc: string;
monitor: string;
tool: string;
scanner: string;
tablet: string;
mouse: string;
printer: string;
desktop: string;
music: string;
desk: string;
chair: string;
comment: string;
workspace_image_url: string | null;
};
}
export interface Pixiv_Illust_Detail {
illust: Pixiv_Illust;
}
export interface Pixiv_Illust_Search {
illusts: Pixiv_Illust[];
next_url: string | null;
search_span_limit?: number;
}
export interface Pixiv_User_Search {
user_previews: {
user: Pixiv_User;
illusts: Pixiv_Illust[];
novels: Pixiv_Novel[];
is_muted: boolean;
}[];
next_url: string | null;
}
export interface Pixiv_Comment_Search {
total_comments: number;
comments: Pixiv_Comment[];
next_url: string | null;
}
export interface Pixiv_Novel_Search {
novels: Pixiv_Novel[];
next_url: string | null;
privacy_policy?: {};
search_span_limit?: number;
}
export interface Pixiv_Bookmark_Search {
bookmark_tags: Pixiv_Tag[];
next_url: string | null;
}
export interface Pixiv_Manga_Search {
illusts: Pixiv_Manga[];
ranking_illusts: Pixiv_Manga[] | [];
privacy_policy: {};
next_url: string | null;
}
export interface Pixiv_Illust {
id: number;
title: string;
type: string;
image_urls: {
square_medium: string;
medium: string;
large?: string;
};
caption: string;
restrict: number;
user: Pixiv_User;
tags: Pixiv_Tag[];
tools: string[];
create_date: string;
page_count: number;
width: number;
height: number;
sanity_level: number;
meta_single_page: {
original_image_url?: string;
};
meta_pages: Pixiv_Meta_Page[];
total_view: number;
total_bookmarks: number;
is_bookmarked: boolean;
visible: boolean;
is_muted: boolean;
total_comments: number;
}
export interface Pixiv_Tag {
name: string;
translated_name: string | null;
added_by_uploaded_user?: boolean;
illust?: Pixiv_Illust;
is_registered?: boolean;
}
export interface Pixiv_Meta_Page {
image_urls: {
square_medium: string;
medium: string;
large: string;
original: string;
};
}
export interface Pixiv_Comment {
id: number;
comment: string;
date: string;
user: Pixiv_User;
parent_comment: Pixiv_Comment | {};
}
export interface Pixiv_Novel {
id: number;
title: string;
caption: string;
restrict: number;
x_restrict: number;
image_urls: {
square_medium: string;
medium: string;
large?: string;
};
create_date: string;
tags: Pixiv_Tag[];
page_count: number;
text_length: number;
user: Pixiv_User;
series: {
id: number;
title: string;
} | {};
is_bookmarked: boolean;
total_bookmarks: number;
total_view: number;
visible: boolean;
total_comments: number;
is_muted: boolean;
is_mypixiv_only: boolean;
is_x_restricted: boolean;
}
export interface Pixiv_Manga {
id: number;
title: string;
type: string;
image_urls: {
square_medium: string;
medium: string;
large?: string;
};
caption: string;
restrict: number;
user: Pixiv_User;
tags: Pixiv_Tag[];
tools: string[];
create_date: string;
page_count: string;
width: number;
height: number;
sanity_level: number;
x_restrict: number;
series: {
id: number;
title: string;
} | null;
meta_single_page: {};
meta_pages: Pixiv_Meta_Page[];
total_view: number;
total_bookmarks: number;
is_bookmarked: boolean;
visible: boolean;
is_muted: boolean;
}
export interface Pixiv_Trend_Tags {
trend_tags: Pixiv_Tag[];
}
export interface Pixiv_Auto_Complete {
search_auto_complete_keywords: string[];
}
export interface Pixiv_Bookmark_Detail {
is_bookmarked: boolean;
tags: Pixiv_Tag[];
restrict: string;
}
export interface Ugoira_Meta_Data {
ugoira_metadata: {
zip_urls: {
medium: string;
};
frames: {
file: string;
delay: number;
}[];
};
}