diff --git a/src/chunithm/handler/getUserFavoriteMusic.ts b/src/chunithm/handler/getUserFavoriteMusic.ts new file mode 100644 index 0000000..f699341 --- /dev/null +++ b/src/chunithm/handler/getUserFavoriteMusic.ts @@ -0,0 +1,23 @@ +import { Repositories } from "../repo"; +import { GetUserFavoriteMusicRequest } from "../request/getUserFavoriteMusic"; +import { GetUserFavoriteMusicResponse } from "../response/getUserFavoriteMusic"; +import { readAimeId } from "../proto/base"; + +export default async function getUserFavoriteMusic( + rep: Repositories, + req: GetUserFavoriteMusicRequest +): Promise { + const aimeId = readAimeId(req.userId); + + const profileId = await rep.userData().lookup(aimeId); + + /* + * `Chunithm Amazon Plus` does not appear to save a favorites list and there + * is no user-accessible favorites function from what I can tell. + */ + return { + userId: req.userId, + length: "0", + userFavoriteMusicList: [], + }; +} diff --git a/src/chunithm/handler/index.ts b/src/chunithm/handler/index.ts index 5db964c..44d31c5 100644 --- a/src/chunithm/handler/index.ts +++ b/src/chunithm/handler/index.ts @@ -18,6 +18,7 @@ import getUserCourse from "./getUserCourse"; import getUserData from "./getUserData"; import getUserDataEx from "./getUserDataEx"; import getUserDuel from "./getUserDuel"; +import getUserFavoriteMusic from "./getUserFavoriteMusic"; import getUserItem from "./getUserItem"; import getUserMap from "./getUserMap"; import getUserMusic from "./getUserMusic"; @@ -99,6 +100,7 @@ export default function chunithm(db: DataSource) { wrapper.rpc("/GetUserDataApi", getUserData); wrapper.rpc("/GetUserDataExApi", getUserDataEx); wrapper.rpc("/GetUserDuelApi", getUserDuel); + wrapper.rpc("/GetUserFavoriteMusicApi", getUserFavoriteMusic); wrapper.rpc("/GetUserItemApi", getUserItem); wrapper.rpc("/GetUserMapApi", getUserMap); wrapper.rpc("/GetUserMusicApi", getUserMusic); diff --git a/src/chunithm/request/getUserFavoriteMusic.ts b/src/chunithm/request/getUserFavoriteMusic.ts new file mode 100644 index 0000000..b9fc820 --- /dev/null +++ b/src/chunithm/request/getUserFavoriteMusic.ts @@ -0,0 +1,4 @@ +export interface GetUserFavoriteMusicRequest { + /** Integer, AiMe ID */ + userId: string; +} diff --git a/src/chunithm/response/getUserFavoriteMusic.ts b/src/chunithm/response/getUserFavoriteMusic.ts new file mode 100644 index 0000000..d9aac25 --- /dev/null +++ b/src/chunithm/response/getUserFavoriteMusic.ts @@ -0,0 +1,10 @@ +export interface GetUserFavoriteMusicResponse { + /** Integer, AiMe ID */ + userId: string; + + /** Integer, number of results returned */ + length: string; + + /** TBD */ + userFavoriteMusicList: []; +}