@valoranchi/riot-client 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +644 -0
- package/dist/RiotClient.d.ts +36 -0
- package/dist/RiotClient.d.ts.map +1 -0
- package/dist/RiotClient.js +115 -0
- package/dist/RiotClient.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +4 -0
- package/dist/bin.js.map +1 -0
- package/dist/catalogue/Catalogue.d.ts +69 -0
- package/dist/catalogue/Catalogue.d.ts.map +1 -0
- package/dist/catalogue/Catalogue.js +206 -0
- package/dist/catalogue/Catalogue.js.map +1 -0
- package/dist/catalogue/CatalogueStore.d.ts +14 -0
- package/dist/catalogue/CatalogueStore.d.ts.map +1 -0
- package/dist/catalogue/CatalogueStore.js +38 -0
- package/dist/catalogue/CatalogueStore.js.map +1 -0
- package/dist/catalogue/ValorantApi.d.ts +26 -0
- package/dist/catalogue/ValorantApi.d.ts.map +1 -0
- package/dist/catalogue/ValorantApi.js +126 -0
- package/dist/catalogue/ValorantApi.js.map +1 -0
- package/dist/catalogue/types.d.ts +173 -0
- package/dist/catalogue/types.d.ts.map +1 -0
- package/dist/catalogue/types.js +2 -0
- package/dist/catalogue/types.js.map +1 -0
- package/dist/cli.d.ts +18 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +912 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/AccountService.d.ts +61 -0
- package/dist/client/AccountService.d.ts.map +1 -0
- package/dist/client/AccountService.js +319 -0
- package/dist/client/AccountService.js.map +1 -0
- package/dist/client/AccountValidator.d.ts +15 -0
- package/dist/client/AccountValidator.d.ts.map +1 -0
- package/dist/client/AccountValidator.js +49 -0
- package/dist/client/AccountValidator.js.map +1 -0
- package/dist/client/ChatValidator.d.ts +40 -0
- package/dist/client/ChatValidator.d.ts.map +1 -0
- package/dist/client/ChatValidator.js +154 -0
- package/dist/client/ChatValidator.js.map +1 -0
- package/dist/client/ClientContext.d.ts +16 -0
- package/dist/client/ClientContext.d.ts.map +1 -0
- package/dist/client/ClientContext.js +12 -0
- package/dist/client/ClientContext.js.map +1 -0
- package/dist/client/EventsService.d.ts +11 -0
- package/dist/client/EventsService.d.ts.map +1 -0
- package/dist/client/EventsService.js +54 -0
- package/dist/client/EventsService.js.map +1 -0
- package/dist/client/LiveMatchService.d.ts +18 -0
- package/dist/client/LiveMatchService.d.ts.map +1 -0
- package/dist/client/LiveMatchService.js +84 -0
- package/dist/client/LiveMatchService.js.map +1 -0
- package/dist/client/LoadoutValidator.d.ts +28 -0
- package/dist/client/LoadoutValidator.d.ts.map +1 -0
- package/dist/client/LoadoutValidator.js +330 -0
- package/dist/client/LoadoutValidator.js.map +1 -0
- package/dist/client/MatchService.d.ts +80 -0
- package/dist/client/MatchService.d.ts.map +1 -0
- package/dist/client/MatchService.js +199 -0
- package/dist/client/MatchService.js.map +1 -0
- package/dist/client/MatchValidator.d.ts +29 -0
- package/dist/client/MatchValidator.d.ts.map +1 -0
- package/dist/client/MatchValidator.js +81 -0
- package/dist/client/MatchValidator.js.map +1 -0
- package/dist/client/PartyService.d.ts +111 -0
- package/dist/client/PartyService.d.ts.map +1 -0
- package/dist/client/PartyService.js +460 -0
- package/dist/client/PartyService.js.map +1 -0
- package/dist/client/PartyValidator.d.ts +93 -0
- package/dist/client/PartyValidator.d.ts.map +1 -0
- package/dist/client/PartyValidator.js +390 -0
- package/dist/client/PartyValidator.js.map +1 -0
- package/dist/client/SessionManager.d.ts +28 -0
- package/dist/client/SessionManager.d.ts.map +1 -0
- package/dist/client/SessionManager.js +104 -0
- package/dist/client/SessionManager.js.map +1 -0
- package/dist/client/SocialService.d.ts +63 -0
- package/dist/client/SocialService.d.ts.map +1 -0
- package/dist/client/SocialService.js +185 -0
- package/dist/client/SocialService.js.map +1 -0
- package/dist/client/StoreService.d.ts +25 -0
- package/dist/client/StoreService.d.ts.map +1 -0
- package/dist/client/StoreService.js +88 -0
- package/dist/client/StoreService.js.map +1 -0
- package/dist/client/StoreValidator.d.ts +32 -0
- package/dist/client/StoreValidator.d.ts.map +1 -0
- package/dist/client/StoreValidator.js +111 -0
- package/dist/client/StoreValidator.js.map +1 -0
- package/dist/client/api.d.ts +323 -0
- package/dist/client/api.d.ts.map +1 -0
- package/dist/client/api.js +2 -0
- package/dist/client/api.js.map +1 -0
- package/dist/collection/AccountProgressionBuilder.d.ts +12 -0
- package/dist/collection/AccountProgressionBuilder.d.ts.map +1 -0
- package/dist/collection/AccountProgressionBuilder.js +132 -0
- package/dist/collection/AccountProgressionBuilder.js.map +1 -0
- package/dist/collection/CollectionBuilder.d.ts +19 -0
- package/dist/collection/CollectionBuilder.d.ts.map +1 -0
- package/dist/collection/CollectionBuilder.js +199 -0
- package/dist/collection/CollectionBuilder.js.map +1 -0
- package/dist/collection/ContentBuilder.d.ts +6 -0
- package/dist/collection/ContentBuilder.d.ts.map +1 -0
- package/dist/collection/ContentBuilder.js +36 -0
- package/dist/collection/ContentBuilder.js.map +1 -0
- package/dist/collection/CustomGameConfigsBuilder.d.ts +9 -0
- package/dist/collection/CustomGameConfigsBuilder.d.ts.map +1 -0
- package/dist/collection/CustomGameConfigsBuilder.js +49 -0
- package/dist/collection/CustomGameConfigsBuilder.js.map +1 -0
- package/dist/collection/FriendsBuilder.d.ts +12 -0
- package/dist/collection/FriendsBuilder.d.ts.map +1 -0
- package/dist/collection/FriendsBuilder.js +89 -0
- package/dist/collection/FriendsBuilder.js.map +1 -0
- package/dist/collection/GameSessionBuilder.d.ts +6 -0
- package/dist/collection/GameSessionBuilder.d.ts.map +1 -0
- package/dist/collection/GameSessionBuilder.js +11 -0
- package/dist/collection/GameSessionBuilder.js.map +1 -0
- package/dist/collection/LeaderboardBuilder.d.ts +9 -0
- package/dist/collection/LeaderboardBuilder.d.ts.map +1 -0
- package/dist/collection/LeaderboardBuilder.js +31 -0
- package/dist/collection/LeaderboardBuilder.js.map +1 -0
- package/dist/collection/LiveMatchBuilder.d.ts +22 -0
- package/dist/collection/LiveMatchBuilder.d.ts.map +1 -0
- package/dist/collection/LiveMatchBuilder.js +154 -0
- package/dist/collection/LiveMatchBuilder.js.map +1 -0
- package/dist/collection/LoadoutBuilder.d.ts +12 -0
- package/dist/collection/LoadoutBuilder.d.ts.map +1 -0
- package/dist/collection/LoadoutBuilder.js +126 -0
- package/dist/collection/LoadoutBuilder.js.map +1 -0
- package/dist/collection/LoadoutWriter.d.ts +32 -0
- package/dist/collection/LoadoutWriter.d.ts.map +1 -0
- package/dist/collection/LoadoutWriter.js +48 -0
- package/dist/collection/LoadoutWriter.js.map +1 -0
- package/dist/collection/MatchBuilder.d.ts +22 -0
- package/dist/collection/MatchBuilder.d.ts.map +1 -0
- package/dist/collection/MatchBuilder.js +209 -0
- package/dist/collection/MatchBuilder.js.map +1 -0
- package/dist/collection/MessagesBuilder.d.ts +11 -0
- package/dist/collection/MessagesBuilder.d.ts.map +1 -0
- package/dist/collection/MessagesBuilder.js +89 -0
- package/dist/collection/MessagesBuilder.js.map +1 -0
- package/dist/collection/MmrBuilder.d.ts +16 -0
- package/dist/collection/MmrBuilder.d.ts.map +1 -0
- package/dist/collection/MmrBuilder.js +134 -0
- package/dist/collection/MmrBuilder.js.map +1 -0
- package/dist/collection/PartyBuilder.d.ts +14 -0
- package/dist/collection/PartyBuilder.d.ts.map +1 -0
- package/dist/collection/PartyBuilder.js +37 -0
- package/dist/collection/PartyBuilder.js.map +1 -0
- package/dist/collection/PlayerSettingsBuilder.d.ts +6 -0
- package/dist/collection/PlayerSettingsBuilder.d.ts.map +1 -0
- package/dist/collection/PlayerSettingsBuilder.js +41 -0
- package/dist/collection/PlayerSettingsBuilder.js.map +1 -0
- package/dist/collection/QueueConfigBuilder.d.ts +6 -0
- package/dist/collection/QueueConfigBuilder.d.ts.map +1 -0
- package/dist/collection/QueueConfigBuilder.js +14 -0
- package/dist/collection/QueueConfigBuilder.js.map +1 -0
- package/dist/collection/RankResolver.d.ts +18 -0
- package/dist/collection/RankResolver.d.ts.map +1 -0
- package/dist/collection/RankResolver.js +91 -0
- package/dist/collection/RankResolver.js.map +1 -0
- package/dist/collection/StoreBuilder.d.ts +20 -0
- package/dist/collection/StoreBuilder.d.ts.map +1 -0
- package/dist/collection/StoreBuilder.js +153 -0
- package/dist/collection/StoreBuilder.js.map +1 -0
- package/dist/collection/StoreItemResolver.d.ts +14 -0
- package/dist/collection/StoreItemResolver.d.ts.map +1 -0
- package/dist/collection/StoreItemResolver.js +138 -0
- package/dist/collection/StoreItemResolver.js.map +1 -0
- package/dist/collection/StoreOffersBuilder.d.ts +12 -0
- package/dist/collection/StoreOffersBuilder.d.ts.map +1 -0
- package/dist/collection/StoreOffersBuilder.js +46 -0
- package/dist/collection/StoreOffersBuilder.js.map +1 -0
- package/dist/errors.d.ts +27 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +52 -0
- package/dist/errors.js.map +1 -0
- package/dist/events/RiotEvents.d.ts +78 -0
- package/dist/events/RiotEvents.d.ts.map +1 -0
- package/dist/events/RiotEvents.js +284 -0
- package/dist/events/RiotEvents.js.map +1 -0
- package/dist/events/TypedEmitter.d.ts +10 -0
- package/dist/events/TypedEmitter.d.ts.map +1 -0
- package/dist/events/TypedEmitter.js +30 -0
- package/dist/events/TypedEmitter.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/local/ChatApi.d.ts +21 -0
- package/dist/local/ChatApi.d.ts.map +1 -0
- package/dist/local/ChatApi.js +89 -0
- package/dist/local/ChatApi.js.map +1 -0
- package/dist/local/Lockfile.d.ts +10 -0
- package/dist/local/Lockfile.d.ts.map +1 -0
- package/dist/local/Lockfile.js +37 -0
- package/dist/local/Lockfile.js.map +1 -0
- package/dist/local/Presence.d.ts +4 -0
- package/dist/local/Presence.d.ts.map +1 -0
- package/dist/local/Presence.js +118 -0
- package/dist/local/Presence.js.map +1 -0
- package/dist/local/RegionResolver.d.ts +12 -0
- package/dist/local/RegionResolver.d.ts.map +1 -0
- package/dist/local/RegionResolver.js +51 -0
- package/dist/local/RegionResolver.js.map +1 -0
- package/dist/local/RiotClientLocalApi.d.ts +48 -0
- package/dist/local/RiotClientLocalApi.d.ts.map +1 -0
- package/dist/local/RiotClientLocalApi.js +218 -0
- package/dist/local/RiotClientLocalApi.js.map +1 -0
- package/dist/local/RiotSocket.d.ts +56 -0
- package/dist/local/RiotSocket.d.ts.map +1 -0
- package/dist/local/RiotSocket.js +196 -0
- package/dist/local/RiotSocket.js.map +1 -0
- package/dist/local/chatTypes.d.ts +115 -0
- package/dist/local/chatTypes.d.ts.map +1 -0
- package/dist/local/chatTypes.js +2 -0
- package/dist/local/chatTypes.js.map +1 -0
- package/dist/model/index.d.ts +756 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +2 -0
- package/dist/model/index.js.map +1 -0
- package/dist/raw.d.ts +25 -0
- package/dist/raw.d.ts.map +1 -0
- package/dist/raw.js +24 -0
- package/dist/raw.js.map +1 -0
- package/dist/riot/HttpGateway.d.ts +14 -0
- package/dist/riot/HttpGateway.d.ts.map +1 -0
- package/dist/riot/HttpGateway.js +87 -0
- package/dist/riot/HttpGateway.js.map +1 -0
- package/dist/riot/ResponseCache.d.ts +15 -0
- package/dist/riot/ResponseCache.d.ts.map +1 -0
- package/dist/riot/ResponseCache.js +75 -0
- package/dist/riot/ResponseCache.js.map +1 -0
- package/dist/riot/RiotApi.d.ts +87 -0
- package/dist/riot/RiotApi.d.ts.map +1 -0
- package/dist/riot/RiotApi.js +305 -0
- package/dist/riot/RiotApi.js.map +1 -0
- package/dist/riot/Session.d.ts +24 -0
- package/dist/riot/Session.d.ts.map +1 -0
- package/dist/riot/Session.js +41 -0
- package/dist/riot/Session.js.map +1 -0
- package/dist/riot/types.d.ts +676 -0
- package/dist/riot/types.d.ts.map +1 -0
- package/dist/riot/types.js +17 -0
- package/dist/riot/types.js.map +1 -0
- package/package.json +68 -0
- package/schema/AccountXp.json +86 -0
- package/schema/BlockedPlayer.json +22 -0
- package/schema/ClientInfo.json +41 -0
- package/schema/Content.json +83 -0
- package/schema/ContractProgress.json +69 -0
- package/schema/Conversation.json +49 -0
- package/schema/CustomGameConfigs.json +64 -0
- package/schema/CustomGameSettings.json +46 -0
- package/schema/Favourite.json +22 -0
- package/schema/Friend.json +215 -0
- package/schema/FriendRequest.json +26 -0
- package/schema/GameSession.json +25 -0
- package/schema/Leaderboard.json +103 -0
- package/schema/LeaderboardEntry.json +75 -0
- package/schema/LiveMatch.json +354 -0
- package/schema/Loadout.json +241 -0
- package/schema/Match.json +494 -0
- package/schema/MatchSummary.json +38 -0
- package/schema/Message.json +48 -0
- package/schema/Mission.json +31 -0
- package/schema/Mmr.json +172 -0
- package/schema/Offer.json +163 -0
- package/schema/Order.json +177 -0
- package/schema/OwnedItems.json +308 -0
- package/schema/Participant.json +50 -0
- package/schema/Party.json +185 -0
- package/schema/PartyInvite.json +45 -0
- package/schema/PartyRequest.json +42 -0
- package/schema/Penalty.json +22 -0
- package/schema/Player.json +31 -0
- package/schema/PlayerSettings.json +76 -0
- package/schema/Premier.json +19 -0
- package/schema/QueueConfig.json +34 -0
- package/schema/RankChange.json +89 -0
- package/schema/Store.json +455 -0
- package/schema/Wallet.json +22 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { FriendsBuilder } from "../collection/FriendsBuilder.js";
|
|
2
|
+
import { MessagesBuilder } from "../collection/MessagesBuilder.js";
|
|
3
|
+
import { toFriendRequest } from "../events/RiotEvents.js";
|
|
4
|
+
import { ChatApi } from "../local/ChatApi.js";
|
|
5
|
+
import { ChatValidator } from "./ChatValidator.js";
|
|
6
|
+
export class SocialService {
|
|
7
|
+
context;
|
|
8
|
+
constructor(context) {
|
|
9
|
+
this.context = context;
|
|
10
|
+
}
|
|
11
|
+
chatApi() {
|
|
12
|
+
return new ChatApi(this.context.sessions.localApi());
|
|
13
|
+
}
|
|
14
|
+
async friends() {
|
|
15
|
+
const chatApi = this.chatApi();
|
|
16
|
+
const [rawFriends, rawPresences, catalogue] = await Promise.all([
|
|
17
|
+
chatApi.friends(),
|
|
18
|
+
chatApi.presences(),
|
|
19
|
+
this.context.catalogue(),
|
|
20
|
+
]);
|
|
21
|
+
return new FriendsBuilder(rawFriends, rawPresences, catalogue).build();
|
|
22
|
+
}
|
|
23
|
+
async friendRequests() {
|
|
24
|
+
const rawRequests = await this.chatApi().friendRequests();
|
|
25
|
+
return rawRequests.map(toFriendRequest);
|
|
26
|
+
}
|
|
27
|
+
async blocked() {
|
|
28
|
+
const rawBlocked = await this.chatApi().blocked();
|
|
29
|
+
return rawBlocked.map((b) => ({
|
|
30
|
+
puuid: b.puuid,
|
|
31
|
+
gameName: b.game_name,
|
|
32
|
+
tagLine: b.game_tag,
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
async conversations() {
|
|
36
|
+
const chatApi = this.chatApi();
|
|
37
|
+
const [rawConversations, friends, session] = await Promise.all([
|
|
38
|
+
chatApi.conversations(),
|
|
39
|
+
this.friends(),
|
|
40
|
+
chatApi.session(),
|
|
41
|
+
]);
|
|
42
|
+
return new MessagesBuilder(friends, session).buildConversations(rawConversations);
|
|
43
|
+
}
|
|
44
|
+
async messages(conversationId) {
|
|
45
|
+
const chatApi = this.chatApi();
|
|
46
|
+
const [rawMessages, friends, session] = await Promise.all([
|
|
47
|
+
chatApi.messages(conversationId),
|
|
48
|
+
this.friends(),
|
|
49
|
+
chatApi.session(),
|
|
50
|
+
]);
|
|
51
|
+
return new MessagesBuilder(friends, session).buildMessages(rawMessages);
|
|
52
|
+
}
|
|
53
|
+
async validateSendMessage(to, text) {
|
|
54
|
+
ChatValidator.validateMessageText(text);
|
|
55
|
+
const chatApi = this.chatApi();
|
|
56
|
+
const [rawFriends, convs] = await Promise.all([
|
|
57
|
+
chatApi.friends(),
|
|
58
|
+
this.conversations(),
|
|
59
|
+
]);
|
|
60
|
+
const { cid, type } = ChatValidator.validateMessageTarget(to, rawFriends, convs);
|
|
61
|
+
return { cid, message: text, type };
|
|
62
|
+
}
|
|
63
|
+
async sendMessage(to, text) {
|
|
64
|
+
const chatApi = this.chatApi();
|
|
65
|
+
const [body, session] = await Promise.all([
|
|
66
|
+
this.validateSendMessage(to, text),
|
|
67
|
+
chatApi.session(),
|
|
68
|
+
]);
|
|
69
|
+
const rawMsg = await chatApi.sendMessage(body.cid, body.message, body.type);
|
|
70
|
+
const isRoom = body.type === "groupchat";
|
|
71
|
+
const at = rawMsg?.time ? new Date(Number(rawMsg.time)).toISOString() : new Date().toISOString();
|
|
72
|
+
return {
|
|
73
|
+
id: rawMsg?.id || rawMsg?.mid || String(Date.now()),
|
|
74
|
+
conversationId: body.cid,
|
|
75
|
+
from: {
|
|
76
|
+
puuid: session?.puuid ?? "",
|
|
77
|
+
gameName: session?.game_name ?? "",
|
|
78
|
+
tagLine: session?.game_tag ?? "",
|
|
79
|
+
},
|
|
80
|
+
body: text,
|
|
81
|
+
at,
|
|
82
|
+
read: true,
|
|
83
|
+
kind: isRoom ? "room" : "whisper",
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
async validateSendFriendRequest(riotId) {
|
|
87
|
+
const chatApi = this.chatApi();
|
|
88
|
+
const [friends, requests, session] = await Promise.all([
|
|
89
|
+
this.friends(),
|
|
90
|
+
this.friendRequests(),
|
|
91
|
+
chatApi.session(),
|
|
92
|
+
]);
|
|
93
|
+
const { gameName, gameTag } = ChatValidator.validateFriendRequest(riotId, { gameName: session?.game_name, tagLine: session?.game_tag }, friends, requests);
|
|
94
|
+
return { game_name: gameName, game_tag: gameTag };
|
|
95
|
+
}
|
|
96
|
+
async sendFriendRequest(riotId) {
|
|
97
|
+
const body = await this.validateSendFriendRequest(riotId);
|
|
98
|
+
await this.chatApi().sendFriendRequest(body.game_name, body.game_tag);
|
|
99
|
+
return this.friendRequests();
|
|
100
|
+
}
|
|
101
|
+
async validateAcceptFriendRequest(puuid) {
|
|
102
|
+
const chatApi = this.chatApi();
|
|
103
|
+
const rawRequests = await chatApi.friendRequests();
|
|
104
|
+
const { gameName, gameTag } = ChatValidator.validateAcceptFriendRequest(puuid, rawRequests);
|
|
105
|
+
return { game_name: gameName, game_tag: gameTag };
|
|
106
|
+
}
|
|
107
|
+
async acceptFriendRequest(puuid) {
|
|
108
|
+
const body = await this.validateAcceptFriendRequest(puuid);
|
|
109
|
+
await this.chatApi().sendFriendRequest(body.game_name, body.game_tag);
|
|
110
|
+
return this.friends();
|
|
111
|
+
}
|
|
112
|
+
async validateDeclineFriendRequest(puuid) {
|
|
113
|
+
const chatApi = this.chatApi();
|
|
114
|
+
const rawRequests = await chatApi.friendRequests();
|
|
115
|
+
ChatValidator.validateDeclineFriendRequest(puuid, rawRequests);
|
|
116
|
+
return { puuid };
|
|
117
|
+
}
|
|
118
|
+
async declineFriendRequest(puuid) {
|
|
119
|
+
const body = await this.validateDeclineFriendRequest(puuid);
|
|
120
|
+
await this.chatApi().deleteFriendRequest(body.puuid);
|
|
121
|
+
return this.friendRequests();
|
|
122
|
+
}
|
|
123
|
+
async validateCancelFriendRequest(puuid) {
|
|
124
|
+
const chatApi = this.chatApi();
|
|
125
|
+
const rawRequests = await chatApi.friendRequests();
|
|
126
|
+
ChatValidator.validateCancelFriendRequest(puuid, rawRequests);
|
|
127
|
+
return { puuid };
|
|
128
|
+
}
|
|
129
|
+
async cancelFriendRequest(puuid) {
|
|
130
|
+
const body = await this.validateCancelFriendRequest(puuid);
|
|
131
|
+
await this.chatApi().deleteFriendRequest(body.puuid);
|
|
132
|
+
return this.friendRequests();
|
|
133
|
+
}
|
|
134
|
+
async validateRemoveFriend(puuid) {
|
|
135
|
+
const friends = await this.friends();
|
|
136
|
+
ChatValidator.validateRemoveFriend(puuid, friends);
|
|
137
|
+
return { puuid };
|
|
138
|
+
}
|
|
139
|
+
async removeFriend(puuid) {
|
|
140
|
+
const body = await this.validateRemoveFriend(puuid);
|
|
141
|
+
await this.chatApi().removeFriend(body.puuid);
|
|
142
|
+
return this.friends();
|
|
143
|
+
}
|
|
144
|
+
async validateBlockPlayer(target) {
|
|
145
|
+
const chatApi = this.chatApi();
|
|
146
|
+
const [blocked, friends, requests, session] = await Promise.all([
|
|
147
|
+
this.blocked(),
|
|
148
|
+
this.friends(),
|
|
149
|
+
this.friendRequests(),
|
|
150
|
+
chatApi.session(),
|
|
151
|
+
]);
|
|
152
|
+
const puuid = ChatValidator.validateBlockPlayer(target, { puuid: session?.puuid, gameName: session?.game_name, tagLine: session?.game_tag }, blocked, friends, requests);
|
|
153
|
+
return { puuid };
|
|
154
|
+
}
|
|
155
|
+
async blockPlayer(target) {
|
|
156
|
+
const body = await this.validateBlockPlayer(target);
|
|
157
|
+
await this.chatApi().blockPlayer(body.puuid);
|
|
158
|
+
return this.blocked();
|
|
159
|
+
}
|
|
160
|
+
async validateUnblockPlayer(puuid) {
|
|
161
|
+
const blocked = await this.blocked();
|
|
162
|
+
ChatValidator.validateUnblockPlayer(puuid, blocked);
|
|
163
|
+
return { puuid };
|
|
164
|
+
}
|
|
165
|
+
async unblockPlayer(puuid) {
|
|
166
|
+
const body = await this.validateUnblockPlayer(puuid);
|
|
167
|
+
await this.chatApi().unblockPlayer(body.puuid);
|
|
168
|
+
return this.blocked();
|
|
169
|
+
}
|
|
170
|
+
async participants(cid) {
|
|
171
|
+
const raw = await this.chatApi().participants(cid);
|
|
172
|
+
return raw.map((p) => ({
|
|
173
|
+
cid: p.cid ?? "",
|
|
174
|
+
puuid: p.puuid ?? "",
|
|
175
|
+
gameName: p.game_name ?? "",
|
|
176
|
+
tagLine: p.game_tag ?? "",
|
|
177
|
+
name: p.name ?? "",
|
|
178
|
+
pid: p.pid ?? "",
|
|
179
|
+
region: p.region ?? "",
|
|
180
|
+
muted: Boolean(p.muted),
|
|
181
|
+
activePlatform: p.activePlatform ?? null,
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=SocialService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SocialService.js","sourceRoot":"","sources":["../../src/client/SocialService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Offer, Order, Store } from "../model/index.js";
|
|
2
|
+
import type { StoreApi } from "./api.js";
|
|
3
|
+
import type { ClientContext } from "./ClientContext.js";
|
|
4
|
+
import { type BuyTarget, type BuyValidationResult } from "./StoreValidator.js";
|
|
5
|
+
export declare class StoreService implements StoreApi {
|
|
6
|
+
private readonly context;
|
|
7
|
+
constructor(context: ClientContext);
|
|
8
|
+
current(options?: {
|
|
9
|
+
language?: string;
|
|
10
|
+
}): Promise<Store>;
|
|
11
|
+
offers(): Promise<Offer[]>;
|
|
12
|
+
validateRevealNightMarket(): Promise<{
|
|
13
|
+
url: string;
|
|
14
|
+
}>;
|
|
15
|
+
revealNightMarket(): Promise<Store>;
|
|
16
|
+
validateBuy(target: BuyTarget, options?: {
|
|
17
|
+
confirm?: boolean;
|
|
18
|
+
}): Promise<BuyValidationResult>;
|
|
19
|
+
buy(target: BuyTarget, options?: {
|
|
20
|
+
confirm?: boolean;
|
|
21
|
+
}): Promise<Order>;
|
|
22
|
+
order(id: string): Promise<Order>;
|
|
23
|
+
private fetchOwnedItems;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=StoreService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreService.d.ts","sourceRoot":"","sources":["../../src/client/StoreService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAc,KAAK,EAAU,MAAM,mBAAmB,CAAC;AAEjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,YAAa,YAAW,QAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAcxD,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAS1B,yBAAyB,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IASrD,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;IAOnC,WAAW,CACf,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO,CAAC,mBAAmB,CAAC;IAkBzB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAcvE,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;YASzB,eAAe;CAU9B"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { CollectionBuilder } from "../collection/CollectionBuilder.js";
|
|
2
|
+
import { StoreBuilder } from "../collection/StoreBuilder.js";
|
|
3
|
+
import { StoreOffersBuilder } from "../collection/StoreOffersBuilder.js";
|
|
4
|
+
import { CURRENCY_UUIDS } from "../riot/types.js";
|
|
5
|
+
import { StoreValidator, } from "./StoreValidator.js";
|
|
6
|
+
export class StoreService {
|
|
7
|
+
context;
|
|
8
|
+
constructor(context) {
|
|
9
|
+
this.context = context;
|
|
10
|
+
}
|
|
11
|
+
async current(options) {
|
|
12
|
+
const lang = options?.language ?? this.context.language;
|
|
13
|
+
const session = await this.context.sessions.session();
|
|
14
|
+
const api = this.context.api(session);
|
|
15
|
+
const [player, rawStorefront, catalogue] = await Promise.all([
|
|
16
|
+
this.context.player(session),
|
|
17
|
+
api.storefront(),
|
|
18
|
+
this.context.catalogue(lang),
|
|
19
|
+
]);
|
|
20
|
+
return new StoreBuilder(player, rawStorefront, catalogue, Date.now()).build();
|
|
21
|
+
}
|
|
22
|
+
async offers() {
|
|
23
|
+
const session = await this.context.sessions.session();
|
|
24
|
+
const [raw, catalogue] = await Promise.all([
|
|
25
|
+
this.context.api(session).offers(),
|
|
26
|
+
this.context.catalogue(),
|
|
27
|
+
]);
|
|
28
|
+
return new StoreOffersBuilder(catalogue).buildOffers(raw);
|
|
29
|
+
}
|
|
30
|
+
async validateRevealNightMarket() {
|
|
31
|
+
const current = await this.current();
|
|
32
|
+
StoreValidator.validateNightMarket(current);
|
|
33
|
+
const session = await this.context.sessions.session();
|
|
34
|
+
return {
|
|
35
|
+
url: `${session.endpoints.pd}/store/v2/storefront/${session.puuid}/nightmarket/offers`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async revealNightMarket() {
|
|
39
|
+
await this.validateRevealNightMarket();
|
|
40
|
+
const session = await this.context.sessions.session();
|
|
41
|
+
await this.context.api(session).revealNightMarket();
|
|
42
|
+
return this.current();
|
|
43
|
+
}
|
|
44
|
+
async validateBuy(target, options) {
|
|
45
|
+
const session = await this.context.sessions.session();
|
|
46
|
+
const api = this.context.api(session);
|
|
47
|
+
const [store, owned, rawWallet] = await Promise.all([
|
|
48
|
+
this.current(),
|
|
49
|
+
this.fetchOwnedItems(),
|
|
50
|
+
api.wallet(),
|
|
51
|
+
]);
|
|
52
|
+
const wallet = {
|
|
53
|
+
valorantPoints: rawWallet.Balances?.[CURRENCY_UUIDS.valorantPoints] ?? 0,
|
|
54
|
+
radianite: rawWallet.Balances?.[CURRENCY_UUIDS.radianite] ?? 0,
|
|
55
|
+
kingdomCredits: rawWallet.Balances?.[CURRENCY_UUIDS.kingdomCredits] ?? 0,
|
|
56
|
+
};
|
|
57
|
+
return StoreValidator.validateBuy(store, owned, wallet, target, options?.confirm);
|
|
58
|
+
}
|
|
59
|
+
async buy(target, options) {
|
|
60
|
+
const validated = await this.validateBuy(target, options);
|
|
61
|
+
const session = await this.context.sessions.session();
|
|
62
|
+
const api = this.context.api(session);
|
|
63
|
+
const rawOrder = validated.type === "offer"
|
|
64
|
+
? await api.createOrder(validated.payload)
|
|
65
|
+
: await api.createBundleOrder(validated.bundleId, validated.payload);
|
|
66
|
+
const catalogue = await this.context.catalogue();
|
|
67
|
+
return new StoreOffersBuilder(catalogue).buildOrder(rawOrder);
|
|
68
|
+
}
|
|
69
|
+
async order(id) {
|
|
70
|
+
const session = await this.context.sessions.session();
|
|
71
|
+
const [rawOrder, catalogue] = await Promise.all([
|
|
72
|
+
this.context.api(session).order(id),
|
|
73
|
+
this.context.catalogue(),
|
|
74
|
+
]);
|
|
75
|
+
return new StoreOffersBuilder(catalogue).buildOrder(rawOrder);
|
|
76
|
+
}
|
|
77
|
+
async fetchOwnedItems() {
|
|
78
|
+
const session = await this.context.sessions.session();
|
|
79
|
+
const api = this.context.api(session);
|
|
80
|
+
const [player, entitlements, catalogue] = await Promise.all([
|
|
81
|
+
this.context.player(session),
|
|
82
|
+
api.entitlements(),
|
|
83
|
+
this.context.catalogue(),
|
|
84
|
+
]);
|
|
85
|
+
return new CollectionBuilder(player, entitlements, catalogue, this.context.language).build();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=StoreService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreService.js","sourceRoot":"","sources":["../../src/client/StoreService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Cost, OwnedItems, Store, StoreItem, Wallet } from "../model/index.js";
|
|
2
|
+
export type BuyTarget = {
|
|
3
|
+
offerId: string;
|
|
4
|
+
} | {
|
|
5
|
+
bundleId: string;
|
|
6
|
+
};
|
|
7
|
+
export type BuyValidationResult = {
|
|
8
|
+
type: "offer";
|
|
9
|
+
payload: {
|
|
10
|
+
ItemTypeID: string;
|
|
11
|
+
ItemID: string;
|
|
12
|
+
Quantity: number;
|
|
13
|
+
};
|
|
14
|
+
cost: Cost;
|
|
15
|
+
} | {
|
|
16
|
+
type: "bundle";
|
|
17
|
+
bundleId: string;
|
|
18
|
+
payload: {
|
|
19
|
+
BundleID: string;
|
|
20
|
+
Quantity: number;
|
|
21
|
+
};
|
|
22
|
+
cost: Cost;
|
|
23
|
+
};
|
|
24
|
+
export declare class StoreValidator {
|
|
25
|
+
static validateNightMarket(store: Store): void;
|
|
26
|
+
static validateBuy(store: Store, ownedItems: OwnedItems, wallet: Wallet, target: BuyTarget, confirm?: boolean): BuyValidationResult;
|
|
27
|
+
private static validateBuyOffer;
|
|
28
|
+
private static validateBuyBundle;
|
|
29
|
+
static isItemOwned(item: StoreItem, owned: OwnedItems): boolean;
|
|
30
|
+
static checkFunds(cost: Cost, wallet: Wallet): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=StoreValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreValidator.d.ts","sourceRoot":"","sources":["../../src/client/StoreValidator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGpF,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEN,qBAAa,cAAc;IACzB,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAU9C,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,mBAAmB;IAYtB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA6C/B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAiChC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO;IAuB/D,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAYpD"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { ValidationError } from "../errors.js";
|
|
2
|
+
import { CURRENCY_UUIDS, ENTITLEMENT_ITEM_TYPES } from "../riot/types.js";
|
|
3
|
+
export class StoreValidator {
|
|
4
|
+
static validateNightMarket(store) {
|
|
5
|
+
if (!store.nightMarket) {
|
|
6
|
+
throw new ValidationError("night-market-missing", "Night market is not active");
|
|
7
|
+
}
|
|
8
|
+
const hasUnseen = store.nightMarket.offers.some((o) => !o.seen);
|
|
9
|
+
if (!hasUnseen) {
|
|
10
|
+
throw new ValidationError("night-market-revealed", "Night market offers are already revealed");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
static validateBuy(store, ownedItems, wallet, target, confirm) {
|
|
14
|
+
if (!confirm) {
|
|
15
|
+
throw new ValidationError("confirm-required", "Purchase confirmation required: pass confirm: true (or --confirm in CLI)");
|
|
16
|
+
}
|
|
17
|
+
return "offerId" in target
|
|
18
|
+
? this.validateBuyOffer(store, ownedItems, wallet, target.offerId)
|
|
19
|
+
: this.validateBuyBundle(store, ownedItems, wallet, target.bundleId);
|
|
20
|
+
}
|
|
21
|
+
static validateBuyOffer(store, owned, wallet, offerId) {
|
|
22
|
+
const all = [
|
|
23
|
+
...(store.daily?.offers ?? []),
|
|
24
|
+
...(store.accessories?.offers ?? []),
|
|
25
|
+
...(store.nightMarket?.offers ?? []),
|
|
26
|
+
];
|
|
27
|
+
const match = all.find((o) => o.offerId.toLowerCase() === offerId.toLowerCase());
|
|
28
|
+
if (!match) {
|
|
29
|
+
throw new ValidationError("offer-not-in-store", `Offer not in store: ${offerId}`);
|
|
30
|
+
}
|
|
31
|
+
if (this.isItemOwned(match.item, owned)) {
|
|
32
|
+
throw new ValidationError("already-owned", `Item is already owned: ${match.item.name}`);
|
|
33
|
+
}
|
|
34
|
+
const cost = "discountedCost" in match ? match.discountedCost : match.cost;
|
|
35
|
+
this.checkFunds(cost, wallet);
|
|
36
|
+
const itemTypeId = match.item.kind === "skin"
|
|
37
|
+
? ENTITLEMENT_ITEM_TYPES.skinLevel
|
|
38
|
+
: match.item.kind === "buddy"
|
|
39
|
+
? ENTITLEMENT_ITEM_TYPES.buddy
|
|
40
|
+
: match.item.kind === "spray"
|
|
41
|
+
? ENTITLEMENT_ITEM_TYPES.spray
|
|
42
|
+
: match.item.kind === "card"
|
|
43
|
+
? ENTITLEMENT_ITEM_TYPES.playerCard
|
|
44
|
+
: match.item.kind === "title"
|
|
45
|
+
? ENTITLEMENT_ITEM_TYPES.playerTitle
|
|
46
|
+
: "";
|
|
47
|
+
return {
|
|
48
|
+
type: "offer",
|
|
49
|
+
payload: { ItemTypeID: itemTypeId, ItemID: match.item.uuid, Quantity: 1 },
|
|
50
|
+
cost,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
static validateBuyBundle(store, owned, wallet, bundleId) {
|
|
54
|
+
const bundle = store.bundles?.items.find((b) => b.uuid.toLowerCase() === bundleId.toLowerCase());
|
|
55
|
+
if (!bundle) {
|
|
56
|
+
throw new ValidationError("offer-not-in-store", `Bundle not in store: ${bundleId}`);
|
|
57
|
+
}
|
|
58
|
+
const allOwned = bundle.items.length > 0 && bundle.items.every((bi) => this.isItemOwned(bi.item, owned));
|
|
59
|
+
if (allOwned) {
|
|
60
|
+
throw new ValidationError("already-owned", `All items in bundle are already owned: ${bundle.name}`);
|
|
61
|
+
}
|
|
62
|
+
const costAmount = bundle.totalDiscounted ?? bundle.totalBase ?? 0;
|
|
63
|
+
const cost = {
|
|
64
|
+
currency: bundle.currency,
|
|
65
|
+
currencyUuid: CURRENCY_UUIDS.valorantPoints,
|
|
66
|
+
amount: costAmount,
|
|
67
|
+
};
|
|
68
|
+
this.checkFunds(cost, wallet);
|
|
69
|
+
return {
|
|
70
|
+
type: "bundle",
|
|
71
|
+
bundleId: bundle.uuid,
|
|
72
|
+
payload: { BundleID: bundle.uuid, Quantity: 1 },
|
|
73
|
+
cost,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
static isItemOwned(item, owned) {
|
|
77
|
+
const id = item.uuid.toLowerCase();
|
|
78
|
+
if (item.kind === "skin") {
|
|
79
|
+
return owned.weapons.flatMap((w) => w.skins).some((s) => s.uuid.toLowerCase() === id);
|
|
80
|
+
}
|
|
81
|
+
if (item.kind === "buddy") {
|
|
82
|
+
return owned.buddies.some((b) => b.uuid.toLowerCase() === id);
|
|
83
|
+
}
|
|
84
|
+
if (item.kind === "spray") {
|
|
85
|
+
return owned.sprays.some((s) => s.uuid.toLowerCase() === id);
|
|
86
|
+
}
|
|
87
|
+
if (item.kind === "card") {
|
|
88
|
+
return owned.cards.some((c) => c.uuid.toLowerCase() === id);
|
|
89
|
+
}
|
|
90
|
+
if (item.kind === "title") {
|
|
91
|
+
return owned.titles.some((t) => t.uuid.toLowerCase() === id);
|
|
92
|
+
}
|
|
93
|
+
if (item.kind === "agent") {
|
|
94
|
+
return owned.agents.some((a) => a.uuid.toLowerCase() === id);
|
|
95
|
+
}
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
static checkFunds(cost, wallet) {
|
|
99
|
+
const cur = cost.currencyUuid.toLowerCase();
|
|
100
|
+
if (cur === CURRENCY_UUIDS.valorantPoints.toLowerCase() && wallet.valorantPoints < cost.amount) {
|
|
101
|
+
throw new ValidationError("insufficient-funds", "Insufficient Valorant Points");
|
|
102
|
+
}
|
|
103
|
+
if (cur === CURRENCY_UUIDS.radianite.toLowerCase() && wallet.radianite < cost.amount) {
|
|
104
|
+
throw new ValidationError("insufficient-funds", "Insufficient Radianite");
|
|
105
|
+
}
|
|
106
|
+
if (cur === CURRENCY_UUIDS.kingdomCredits.toLowerCase() && wallet.kingdomCredits < cost.amount) {
|
|
107
|
+
throw new ValidationError("insufficient-funds", "Insufficient Kingdom Credits");
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=StoreValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreValidator.js","sourceRoot":"","sources":["../../src/client/StoreValidator.ts"],"names":[],"mappings":"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"}
|