mirror of
https://github.com/samuelthomas2774/nxapi.git
synced 2026-04-19 05:27:31 -05:00
Add NookLink API types
This commit is contained in:
parent
a737d51839
commit
f6fe7b57ba
309
src/api/nooklink-types.ts
Normal file
309
src/api/nooklink-types.ts
Normal file
|
|
@ -0,0 +1,309 @@
|
|||
export interface WebServiceError {
|
||||
code: string;
|
||||
}
|
||||
|
||||
/** GET /sd/v1/users */
|
||||
export interface Users {
|
||||
users: {
|
||||
id: string;
|
||||
name: string;
|
||||
image: string;
|
||||
land: {
|
||||
id: string;
|
||||
name: string;
|
||||
displayId: number;
|
||||
};
|
||||
}[];
|
||||
}
|
||||
|
||||
/** POST /sd/v1/auth_token */
|
||||
export interface AuthToken {
|
||||
token: string;
|
||||
expireAt: number;
|
||||
}
|
||||
|
||||
/** GET /sd/v1/users/{userId}/profile?language=en-GB */
|
||||
export interface UserProfile {
|
||||
mVer: number;
|
||||
mLanguage: string;
|
||||
mPNm: string;
|
||||
mBirth: {
|
||||
month: number;
|
||||
day: number;
|
||||
};
|
||||
mHandleName: string;
|
||||
mComment: null;
|
||||
mIsLandMaster: boolean;
|
||||
/** Date the user was registered on the island */
|
||||
mTimeStamp: {
|
||||
year: number;
|
||||
month: number;
|
||||
day: number;
|
||||
};
|
||||
mMyDesignAuthorId: string;
|
||||
mDreamAddress: string;
|
||||
mResortPlannerId: string;
|
||||
mJpeg: string;
|
||||
contentId: string;
|
||||
digest: string;
|
||||
createdAt: number;
|
||||
landName: string;
|
||||
}
|
||||
|
||||
/** GET /sd/v1/lands/{landId}/profile?language=en-GB */
|
||||
export interface IslandProfile {
|
||||
mVer: number;
|
||||
mLanguage: string;
|
||||
mVRuby: number;
|
||||
mVNm: string;
|
||||
mFruit: {
|
||||
id: number;
|
||||
name: string;
|
||||
};
|
||||
mNormalNpc: IslandProfileNpc[];
|
||||
mVillager: IslandProfileUser[];
|
||||
}
|
||||
|
||||
interface IslandProfileNpc {
|
||||
name: string;
|
||||
image: string;
|
||||
birthMonth: number;
|
||||
birthDay: number;
|
||||
}
|
||||
interface IslandProfileUser {
|
||||
mPNm: string;
|
||||
mJpeg: string;
|
||||
mBirthMonth: number;
|
||||
mBirthDay: number;
|
||||
mIsLandMaster: boolean;
|
||||
/** Only exists for users with NookLink enabled */
|
||||
userId?: string;
|
||||
}
|
||||
|
||||
/** GET /sd/v1/friends */
|
||||
export interface Friends {
|
||||
friends: unknown[];
|
||||
}
|
||||
|
||||
/** GET /sd/v1/friends/presences */
|
||||
export interface FriendsPresences {
|
||||
presences: unknown[];
|
||||
}
|
||||
|
||||
/** GET /sd/v1/emoticons */
|
||||
export interface Emoticons {
|
||||
language: string;
|
||||
emoticons: Reaction[];
|
||||
}
|
||||
|
||||
export interface Reaction {
|
||||
label: string;
|
||||
name: string;
|
||||
url: string;
|
||||
}
|
||||
|
||||
/** GET /sd/v1/newspapers */
|
||||
export interface Newspapers {
|
||||
newspapers: NewspaperItem[];
|
||||
isNewspaperDeleted: boolean;
|
||||
isBestNewsGenerated: boolean;
|
||||
}
|
||||
|
||||
interface NewspaperItem {
|
||||
type: 'normal';
|
||||
findKey: string;
|
||||
beginDate: string;
|
||||
endDate: string;
|
||||
}
|
||||
|
||||
/** GET /sd/v1/newspapers/{key} */
|
||||
export interface Newspaper {
|
||||
user: {
|
||||
id: string;
|
||||
name: string;
|
||||
gender: 'M' | 'F';
|
||||
image: string;
|
||||
};
|
||||
land: {
|
||||
id: string;
|
||||
name: string;
|
||||
displayId: number;
|
||||
};
|
||||
findKey: string;
|
||||
body: {
|
||||
landId: string;
|
||||
type: 'normal';
|
||||
layout: number;
|
||||
articles: NewspaperArticle[];
|
||||
mainArticleIndexes: number[];
|
||||
nookNews: NewspaperNookNews[];
|
||||
stockLog: {
|
||||
beginDate: string;
|
||||
values: number[];
|
||||
version: number;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
interface NewspaperArticle {
|
||||
date: string;
|
||||
label: NewspaperArticleLabel;
|
||||
priority: number;
|
||||
attributes: NewspaperAttribute[];
|
||||
}
|
||||
enum NewspaperArticleLabel {
|
||||
ACHIEVEMENT_PLAYDAYS_3 = 'Achievement_PlayDays_3',
|
||||
ACHIEVEMENT_PLAYDAYS_20 = 'Achievement_PlayDays_20',
|
||||
ACHIEVEMENT_PLAYDAYS_50 = 'Achievement_PlayDays_50',
|
||||
CATCHFISHFES_1 = 'CatchFishFes-1',
|
||||
CHANGEEQUIP_1 = 'ChangeEquip-1',
|
||||
CHANGEEQUIP_2 = 'ChangeEquip-2',
|
||||
GETCRYSTALOFSNOW_MAINFIELD = 'GetCrystalOfSnow_MainField',
|
||||
GST_2 = 'Gst-2',
|
||||
GULA_2 = 'GulA-2',
|
||||
GULB_2 = 'GulB-2',
|
||||
HGC_CHECK_1 = 'Hgc_Check-1',
|
||||
HGC_CHECK_2 = 'Hgc_Check-2',
|
||||
LE_BRIDGEBUILT = 'LE_BridgeBuilt',
|
||||
LE_BRIDGEBUILT_FIRST = 'LE_BridgeBuilt_First',
|
||||
LE_FACILITYBUILT_CAMPSITE = 'LE_FacilityBuilt_Campsite',
|
||||
LE_FACILITYBUILT_MARKET = 'LE_FacilityBuilt_Market',
|
||||
LE_FACILITYBUILT_MARKET2 = 'LE_FacilityBuilt_Market2',
|
||||
LE_FACILITYBUILT_MUSUEM_NEW = 'LE_FacilityBuilt_Museum_New',
|
||||
LE_FACILITYBUILT_MUSUEMTENT = 'LE_FacilityBuilt_MuseumTent',
|
||||
LE_FACILITYBUILT_TAILOR = 'LE_FacilityBuilt_Tailor',
|
||||
LE_FACILITYBUILT_TOWNOFFICE = 'LE_FacilityBuilt_TownOffice',
|
||||
LE_MUSEUMCOMPLETE_FOSSIL = 'LE_MuseumComplete_Fossil',
|
||||
LE_NEWPLAYERVILLAGER = 'LE_NewPlayerVillager',
|
||||
LE_NNPCHOUSEBuilt = 'LE_NnpcHouseBuilt',
|
||||
LE_NNPCHOUSEMOVEIN = 'LE_NnpcHouseMoveIn',
|
||||
LE_PLAYERVILLAGER_HOUSEBUILT = 'LE_PlayerVillager_HouseBuilt',
|
||||
LE_PLAYERVILLAGER_HOUSEEXPAND = 'LE_PlayerVillager_HouseExpand',
|
||||
LE_PLAYERVILLAGER_HOUSEMOVE = 'LE_PlayerVillager_HouseMove',
|
||||
LE_SLOPEBUILT_FIRST = 'LE_SlopeBuilt_First',
|
||||
LE_TODAYIS_PLAYERBIRTHDAY = 'LE_TodayIs_PlayerBirthday',
|
||||
LE_WRITEBBS = 'LE_WriteBBS',
|
||||
MAMOUNTMARKETBUY_FEW = 'mAmountMarketBuy_few',
|
||||
MAMOUNTMARKETBUY_MANY = 'mAmountMarketBuy_many',
|
||||
MAMOUNTMARKETSELL = 'mAmountMarketSell',
|
||||
MAMOUNTTAILORBUY_FEW = 'mAmountTailorBuy_few',
|
||||
MAMOUNTTAILORBUY_MANY = 'mAmountTailorBuy_many',
|
||||
MBUYSTOCK = 'mBuyStock',
|
||||
MGETMILEPOINT = 'mGetMilePoint',
|
||||
PE_CATALOGORDER_NEW = 'PE_CatalogOrder_New',
|
||||
PE_DIVINGFIRST = 'PE_DivingFirst',
|
||||
PE_DIY_NEW = 'PE_DIY_New',
|
||||
PE_GETFISH_HIGHPRICE = 'PE_GetFish_HighPrice',
|
||||
PE_GETFISH_NEW = 'PE_GetFish_New',
|
||||
PE_GETINSECT_HIGHPRICE = 'PE_GetInsect_HighPrice',
|
||||
PE_GETINSECT_NEW = 'PE_GetInsect_New',
|
||||
PE_GETSEAFOOD_HIGHPRICE = 'PE_GetSeafood_HighPrice',
|
||||
PE_GETSEAFOOD_NEW = 'PE_GetSeafood_New',
|
||||
PE_GOTO_COMMUNEISLAND = 'PE_Goto_CommuneIsland',
|
||||
PE_GOTO_MYSTERYTOUR_FEW = 'PE_Goto_MysteryTour_few',
|
||||
PE_LOAN_FULLPAYMENT = 'PE_Loan_FullPayment',
|
||||
PE_MAKESNOWMAN_HIGH = 'PE_MakeSnowman-high',
|
||||
PE_MAKESNOWMAN_LOW = 'PE_MakeSnowman-low',
|
||||
PE_MUSEUMDONATION = 'PE_MuseumDonation',
|
||||
PE_NNPC_CAMPSITETALK = 'PE_NNPC_CampSiteTalk',
|
||||
PE_NNPC_PLAYWITH = 'PE_NNPC_PlayWith',
|
||||
PE_NNPC_SOLVEREQUEST = 'PE_NNPC_SolveRequest',
|
||||
PE_PRESENT_FROMNNPC = 'PE_Present_FromNNPC',
|
||||
PE_PRESENT_FROMNNPC_RECIPE = 'PE_Present_FromNNPC_Recipe',
|
||||
PE_PRESENT_TONNPC = 'PE_Present_ToNNPC',
|
||||
PE_REMAKE_BYDIY = 'PE_Remake_ByDIY',
|
||||
PE_SHAREPLAY = 'PE_SharePlay',
|
||||
PE_TODAYISMYBIRTHDAY_2 = 'PE_TodayIsMyBirthday-2',
|
||||
PLANTFLOWERSEED_MAINFIELD = 'PlantFlowerSeed_MainField',
|
||||
PLANTFRUIT_FIRST_MAINFIELD = 'PlantFruit_First_MainField',
|
||||
PLANTSHRUBSEEDLINGS_MAINFIELD = 'PlantShrubSeedlings_MainField',
|
||||
PLANTTREESEEDLINGS_MAINFIELD = 'PlantTreeSeedlings_MainField',
|
||||
PLANTVEGETABLESEEDLINGS_MAINFIELD = 'PlantVegetableSeedlings_MainField',
|
||||
PV_CHANGEEQUIP_BYDRESSOR = 'PV_ChangeEquip_ByDressor',
|
||||
PV_CREATEMYDESIGNNORMAL = 'PV_CreateMydesignNormal',
|
||||
PV_ENTERDREAMLAND = 'PV_EnterDreamLand',
|
||||
PV_EXCAVATEDFOSSIL = 'PV_ExcavatedFossil',
|
||||
PV_RADIOGYM_JOIN = 'PV_RadioGym_Join',
|
||||
PV_TAKEPHOTO = 'PV_TakePhoto',
|
||||
SEO_2 = 'Seo-2',
|
||||
SEO_2_RECIPE = 'Seo-2_Recipe',
|
||||
TALKNNPC_1 = 'TalkNnpc-1',
|
||||
TALKNNPC_2 = 'TalkNnpc-2',
|
||||
WISHSHOOTINGSTAR_MAINFIELD = 'WishShootingStar_MainField',
|
||||
}
|
||||
interface NewspaperNookNews {
|
||||
date: string;
|
||||
label: NewspaperNookNewsLabel;
|
||||
attributes: NewspaperAttribute[];
|
||||
}
|
||||
enum NewspaperNookNewsLabel {
|
||||
APRILFOOL_F = 'AprilFool_F',
|
||||
BIGGAME_F = 'BigGame_F',
|
||||
BIGGAME_P = 'BigGame_P',
|
||||
CRYSTALOFSNOW_P = 'CrystalOfSnow_P',
|
||||
GROUNDHOGDAY_F = 'GroundhogDay_F',
|
||||
GROUNDHOGDAY_P = 'GroundhogDay_P',
|
||||
ITEM_CARNIVAL_P = 'Item_Carnival_P',
|
||||
ITEM_WINTER_P = 'Item_Winter_P',
|
||||
LUNARNEWYEARASIA_F = 'LunarNewYearAsia_F',
|
||||
LUNARNEWYEARASIA_P = 'LunarNewYearAsia_P',
|
||||
NANAKUSAGAYU_F = 'Nanakusagayu_F',
|
||||
NEWYEARDAY_P = 'NewYearDay_P',
|
||||
ORNAMENT_P = 'Ornament_P',
|
||||
PIDAY_P = 'PiDay_P',
|
||||
SETSUBUN_F = 'Setsubun_F',
|
||||
SETSUBUN_P = 'Setsubun_P',
|
||||
SHAMROCKDAY_F = 'ShamrockDay_F',
|
||||
SHAMROCKDAY_P = 'ShamrockDay_P',
|
||||
VALENTINE_F = 'Valentine_F',
|
||||
VALENTINE_P = 'Valentine_P',
|
||||
VENICECARNIVAL_F = 'VeniceCarnival_F',
|
||||
VENICECARNIVAL_P = 'VeniceCarnival_P',
|
||||
WAKATAKE_P = 'Wakatake_P',
|
||||
}
|
||||
|
||||
type NewspaperAttribute =
|
||||
NewspaperAttributeDate |
|
||||
NewspaperAttributeNpc |
|
||||
NewspaperAttributeItem |
|
||||
NewspaperAttributeRandom |
|
||||
NewspaperAttributePlayer |
|
||||
NewspaperAttributeValue;
|
||||
|
||||
interface NewspaperAttributeDate {
|
||||
type: 'date';
|
||||
value: string;
|
||||
}
|
||||
interface NewspaperAttributeNpc {
|
||||
type: 'npc';
|
||||
value: string;
|
||||
grammar: {
|
||||
Gender: 'M' | 'F';
|
||||
};
|
||||
image: string;
|
||||
}
|
||||
interface NewspaperAttributeItem {
|
||||
type: 'item';
|
||||
value: string;
|
||||
grammar: {
|
||||
IndefArticle?: string;
|
||||
DefArticle?: string;
|
||||
};
|
||||
image: string;
|
||||
}
|
||||
interface NewspaperAttributeRandom {
|
||||
type: 'rand';
|
||||
value: number;
|
||||
}
|
||||
interface NewspaperAttributePlayer {
|
||||
type: 'player';
|
||||
value: string;
|
||||
grammar: {
|
||||
Gender: 'M' | 'F';
|
||||
};
|
||||
image: string;
|
||||
}
|
||||
interface NewspaperAttributeValue {
|
||||
type: 'value';
|
||||
value: number;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user