airship-cli 1.1.1 → 1.2.1
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/README.MD +13 -0
- package/out/AirshipTypes.d.ts +16 -0
- package/out/AirshipTypes.d.ts.map +1 -1
- package/out/AirshipTypes.js +2 -0
- package/out/AirshipTypes.js.map +1 -1
- package/out/cli.d.ts +3 -0
- package/out/cli.d.ts.map +1 -1
- package/out/cli.js +38 -12
- package/out/cli.js.map +1 -1
- package/out/commands/ExitCommand.d.ts +3 -0
- package/out/commands/ExitCommand.d.ts.map +1 -0
- package/out/commands/ExitCommand.js +13 -0
- package/out/commands/ExitCommand.js.map +1 -0
- package/out/commands/FavoriteGame.d.ts +3 -0
- package/out/commands/FavoriteGame.d.ts.map +1 -0
- package/out/commands/FavoriteGame.js +22 -0
- package/out/commands/FavoriteGame.js.map +1 -0
- package/out/commands/HelpCommand.d.ts +3 -0
- package/out/commands/HelpCommand.d.ts.map +1 -0
- package/out/commands/HelpCommand.js +39 -0
- package/out/commands/HelpCommand.js.map +1 -0
- package/out/commands/RestartCommand copy.d.ts +3 -0
- package/out/commands/RestartCommand copy.d.ts.map +1 -0
- package/out/commands/RestartCommand copy.js +14 -0
- package/out/commands/RestartCommand copy.js.map +1 -0
- package/out/commands/RestartCommand.d.ts +3 -0
- package/out/commands/RestartCommand.d.ts.map +1 -0
- package/out/commands/RestartCommand.js +14 -0
- package/out/commands/RestartCommand.js.map +1 -0
- package/out/commands/games/FavoriteGame.d.ts +3 -0
- package/out/commands/games/FavoriteGame.d.ts.map +1 -0
- package/out/commands/games/FavoriteGame.js +22 -0
- package/out/commands/games/FavoriteGame.js.map +1 -0
- package/out/commands/games/FetchGame.d.ts +3 -0
- package/out/commands/games/FetchGame.d.ts.map +1 -0
- package/out/commands/games/FetchGame.js +42 -0
- package/out/commands/games/FetchGame.js.map +1 -0
- package/out/commands/users/FetchProfilePhoto.d.ts +3 -0
- package/out/commands/users/FetchProfilePhoto.d.ts.map +1 -0
- package/out/commands/users/FetchProfilePhoto.js +31 -0
- package/out/commands/users/FetchProfilePhoto.js.map +1 -0
- package/out/commands/users/FetchUser.d.ts +3 -0
- package/out/commands/users/FetchUser.d.ts.map +1 -0
- package/out/commands/users/FetchUser.js +40 -0
- package/out/commands/users/FetchUser.js.map +1 -0
- package/out/util/IdentifierConversion.d.ts +2 -0
- package/out/util/IdentifierConversion.d.ts.map +1 -0
- package/out/util/IdentifierConversion.js +14 -0
- package/out/util/IdentifierConversion.js.map +1 -0
- package/out/util/TokenManager.d.ts.map +1 -1
- package/out/util/TokenManager.js +31 -3
- package/out/util/TokenManager.js.map +1 -1
- package/out/util/platform/FavoriteGame.d.ts +3 -0
- package/out/util/platform/FavoriteGame.d.ts.map +1 -0
- package/out/util/platform/FavoriteGame.js +28 -0
- package/out/util/platform/FavoriteGame.js.map +1 -0
- package/package.json +4 -3
package/README.MD
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Airship CLI
|
|
2
2
|
Interact with the Airship.gg API from your Terminal!
|
|
3
3
|
|
|
4
|
+

|
|
5
|
+
|
|
4
6
|
## How to Use
|
|
5
7
|
Simply install the NPM Package
|
|
6
8
|
|
|
@@ -8,6 +10,17 @@ Simply install the NPM Package
|
|
|
8
10
|
|
|
9
11
|
and run the command, `airship`!
|
|
10
12
|
|
|
13
|
+
## Current Commands
|
|
14
|
+
*Note: Some commands (marked below) require an [Airship Installation](https://store.steampowered.com/app/2381730/Airship/) for the authentication token!*
|
|
15
|
+
|
|
16
|
+
Users:
|
|
17
|
+
- Fetch User
|
|
18
|
+
- Fetch Profile Picture (returns CDN path)
|
|
19
|
+
|
|
20
|
+
Games:
|
|
21
|
+
- Fetch Game
|
|
22
|
+
- Favorite Game *(auth)*
|
|
23
|
+
|
|
11
24
|
# Development Stats
|
|
12
25
|

|
|
13
26
|
[](https://www.npmjs.com/package/airship-cli)
|
package/out/AirshipTypes.d.ts
CHANGED
|
@@ -56,5 +56,21 @@ export type AirshipGame = {
|
|
|
56
56
|
organization: AirshipOrganization;
|
|
57
57
|
};
|
|
58
58
|
};
|
|
59
|
+
export interface AccessTokenResult {
|
|
60
|
+
access_token: string;
|
|
61
|
+
expires_in: string;
|
|
62
|
+
token_type: string;
|
|
63
|
+
refresh_token: string;
|
|
64
|
+
id_token: string;
|
|
65
|
+
user_id: string;
|
|
66
|
+
project_id: string;
|
|
67
|
+
}
|
|
68
|
+
export interface AccessTokenError {
|
|
69
|
+
error: {
|
|
70
|
+
code: number;
|
|
71
|
+
message: string;
|
|
72
|
+
status: string;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
59
75
|
export {};
|
|
60
76
|
//# sourceMappingURL=AirshipTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirshipTypes.d.ts","sourceRoot":"","sources":["../src/AirshipTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAA;CACJ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAA;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,KAAK,QAAQ,GAAG;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAA;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;QAC9C,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,EAAE,mBAAmB,CAAA;KACpC,CAAA;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"AirshipTypes.d.ts","sourceRoot":"","sources":["../src/AirshipTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAA;CACJ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAA;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,KAAK,QAAQ,GAAG;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAA;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;QAC9C,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,EAAE,mBAAmB,CAAA;KACpC,CAAA;CACJ,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ"}
|
package/out/AirshipTypes.js
CHANGED
package/out/AirshipTypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirshipTypes.js","sourceRoot":"","sources":["../src/AirshipTypes.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AirshipTypes.js","sourceRoot":"","sources":["../src/AirshipTypes.ts"],"names":[],"mappings":"AAwEC,CAAC;AAQD,CAAC"}
|
package/out/cli.d.ts
CHANGED
package/out/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAK7D,UAAU,UAAU;IAChB,SAAS,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAC5B,CAAC;IAEF,CAAC,GAAG,EAAE,MAAM,GAAG;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAC5B,CAAA;CACJ;AAED,eAAO,MAAM,UAAU,EAAE,UAaxB,CAAC;AAEF,wBAAsB,SAAS,kBAK9B;AAED,wBAAsB,WAAW,kBAYhC"}
|
package/out/cli.js
CHANGED
|
@@ -2,23 +2,27 @@
|
|
|
2
2
|
import { confirm, input, select } from '@inquirer/prompts';
|
|
3
3
|
import { PrintHeader, PrintError, PrintTitle } from './util/Styles.js';
|
|
4
4
|
import { AirshipToken } from './util/TokenManager.js';
|
|
5
|
-
import { helpCommand } from './commands/
|
|
6
|
-
import { fetchUserCommand } from './commands/FetchUser.js';
|
|
7
|
-
import { fetchGameCommand } from './commands/FetchGame.js';
|
|
5
|
+
import { helpCommand } from './commands/HelpCommand.js';
|
|
6
|
+
import { fetchUserCommand } from './commands/users/FetchUser.js';
|
|
7
|
+
import { fetchGameCommand } from './commands/games/FetchGame.js';
|
|
8
8
|
import { setTimeout } from 'node:timers/promises';
|
|
9
|
-
import {
|
|
9
|
+
import { fetchProfilePhotoCommand } from './commands/users/FetchProfilePhoto.js';
|
|
10
|
+
import { favoriteGameCommand } from './commands/games/FavoriteGame.js';
|
|
11
|
+
import { restartCommand } from './commands/RestartCommand.js';
|
|
12
|
+
import { exitCommand } from './commands/ExitCommand.js';
|
|
10
13
|
;
|
|
11
|
-
// TODO: Make default category
|
|
12
14
|
export const commandMap = {
|
|
13
|
-
|
|
14
|
-
"Help": helpCommand
|
|
15
|
-
|
|
15
|
+
"default": {
|
|
16
|
+
"Help": helpCommand,
|
|
17
|
+
"Exit": exitCommand
|
|
18
|
+
},
|
|
16
19
|
"Users": {
|
|
17
20
|
"Fetch User": fetchUserCommand,
|
|
18
|
-
"Fetch Profile Photo":
|
|
21
|
+
"Fetch Profile Photo": fetchProfilePhotoCommand
|
|
19
22
|
},
|
|
20
23
|
"Games": {
|
|
21
|
-
"Fetch Game": fetchGameCommand
|
|
24
|
+
"Fetch Game": fetchGameCommand,
|
|
25
|
+
"Favorite Game": favoriteGameCommand
|
|
22
26
|
}
|
|
23
27
|
};
|
|
24
28
|
export async function StartTool() {
|
|
@@ -45,10 +49,32 @@ export async function RestartTool() {
|
|
|
45
49
|
;
|
|
46
50
|
async function PromptCommand() {
|
|
47
51
|
try {
|
|
48
|
-
|
|
52
|
+
// Remove "default" from choices
|
|
53
|
+
let choices = Object.keys(commandMap).slice(1);
|
|
54
|
+
// Readd the default commands yay!
|
|
55
|
+
for (let defaultCmd of Object.keys(commandMap.default)) {
|
|
56
|
+
choices.push(defaultCmd);
|
|
57
|
+
}
|
|
58
|
+
;
|
|
59
|
+
const categoryAnswer = await select({ message: "What would you like to do?", choices });
|
|
49
60
|
const cmdCategories = Object.entries(commandMap);
|
|
50
61
|
for (let [categoryName, commands] of cmdCategories) {
|
|
51
|
-
//
|
|
62
|
+
// Handle special exceptions for commands in default category
|
|
63
|
+
if (categoryName !== "default") {
|
|
64
|
+
commands["Back"] = restartCommand;
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
;
|
|
68
|
+
if (categoryAnswer === "Help") {
|
|
69
|
+
helpCommand.execute();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
;
|
|
73
|
+
if (categoryAnswer === "Exit") {
|
|
74
|
+
exitCommand.execute();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
;
|
|
52
78
|
if (categoryAnswer === categoryName) {
|
|
53
79
|
const cmdAnswer = await select({ message: "What would you like to do?", choices: Object.keys(commands) });
|
|
54
80
|
HandleCommand(commands[cmdAnswer], cmdAnswer);
|
package/out/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExitCommand.d.ts","sourceRoot":"","sources":["../../src/commands/ExitCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,WAAW,EAAE,UAUzB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { setTimeout } from "node:timers/promises";
|
|
2
|
+
export const exitCommand = {
|
|
3
|
+
name: "exit",
|
|
4
|
+
displayName: "Exit",
|
|
5
|
+
description: "Exits the CLI tool.",
|
|
6
|
+
usage: "exit",
|
|
7
|
+
requiresToken: false,
|
|
8
|
+
execute: async () => {
|
|
9
|
+
console.clear();
|
|
10
|
+
process.exit(0);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ExitCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExitCommand.js","sourceRoot":"","sources":["../../src/commands/ExitCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAe;IACnC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,qBAAqB;IAClC,KAAK,EAAE,MAAM;IACb,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteGame.d.ts","sourceRoot":"","sources":["../../src/commands/FavoriteGame.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKpD,eAAO,MAAM,mBAAmB,EAAE,UAmBjC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { input, select } from "@inquirer/prompts";
|
|
2
|
+
import { FetchGame, gameApiMap } from "../util/platform/FetchGame.js";
|
|
3
|
+
import { FavoriteGame } from "../util/platform/FavoriteGame.js";
|
|
4
|
+
import { RestartTool } from "../cli.js";
|
|
5
|
+
export const favoriteGameCommand = {
|
|
6
|
+
name: "favorite-game",
|
|
7
|
+
displayName: "Favorite Game",
|
|
8
|
+
description: "Mark a game as your favorite. Requires Auth Token!",
|
|
9
|
+
usage: "",
|
|
10
|
+
requiresToken: true,
|
|
11
|
+
execute: async () => {
|
|
12
|
+
const action = await select({ message: "What would you like to do?", choices: ["Favorite", "Remove Favorite"] });
|
|
13
|
+
const fetchType = await select({ message: "Which method would you like to use?", choices: Object.keys(gameApiMap) });
|
|
14
|
+
const gameIdentifier = await input({ message: `What is the ${fetchType}?` });
|
|
15
|
+
const isFavorite = action === "Favorite" ? true : false;
|
|
16
|
+
const result = await FavoriteGame(fetchType, gameIdentifier, isFavorite);
|
|
17
|
+
console.log(result);
|
|
18
|
+
RestartTool();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=FavoriteGame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteGame.js","sourceRoot":"","sources":["../../src/commands/FavoriteGame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC3C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,oDAAoD;IACjE,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,CAAE,UAAU,EAAE,iBAAiB,CAAE,EAAE,CAAC,CAAC;QACnH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrH,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,SAAS,GAAG,EAAE,CAAC,CAAC;QAE7E,MAAM,UAAU,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QAEzE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HelpCommand.d.ts","sourceRoot":"","sources":["../../src/commands/HelpCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOpD,eAAO,MAAM,WAAW,EAAE,UAgCzB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { input, select, confirm } from '@inquirer/prompts';
|
|
3
|
+
import { PrintHeader, PrintError, PrintTitle } from '../util/Styles.js';
|
|
4
|
+
import { AirshipToken } from '../util/TokenManager.js';
|
|
5
|
+
import { commandMap, RestartTool, StartTool } from "../cli.js";
|
|
6
|
+
export const helpCommand = {
|
|
7
|
+
name: "help",
|
|
8
|
+
displayName: "Help",
|
|
9
|
+
description: "Returns the usage of a command.",
|
|
10
|
+
usage: "help <command: string>",
|
|
11
|
+
requiresToken: false,
|
|
12
|
+
execute: async () => {
|
|
13
|
+
let helpInfo = [];
|
|
14
|
+
let choices = [];
|
|
15
|
+
for (let [categoryName, category] of Object.entries(commandMap)) {
|
|
16
|
+
if (categoryName === "default")
|
|
17
|
+
continue;
|
|
18
|
+
for (let [cmdName, cmd] of Object.entries(category)) {
|
|
19
|
+
helpInfo.push(cmd);
|
|
20
|
+
choices.push(cmdName);
|
|
21
|
+
}
|
|
22
|
+
;
|
|
23
|
+
}
|
|
24
|
+
;
|
|
25
|
+
const commandSelect = await select({ message: "Which command do you need help with?", choices });
|
|
26
|
+
for (let command of helpInfo) {
|
|
27
|
+
if (command.displayName === commandSelect) {
|
|
28
|
+
console.log(`\n${chalk.bold(chalk.green(`${commandSelect} Help:`))}`);
|
|
29
|
+
console.log(`- Description: ${chalk.gray(command.description)}`);
|
|
30
|
+
console.log(`- Usage: ${chalk.gray(command.usage)}\n`);
|
|
31
|
+
}
|
|
32
|
+
;
|
|
33
|
+
}
|
|
34
|
+
;
|
|
35
|
+
RestartTool();
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=HelpCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HelpCommand.js","sourceRoot":"","sources":["../../src/commands/HelpCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAe;IACnC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,iCAAiC;IAC9C,KAAK,EAAE,wBAAwB;IAC/B,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,IAAI,QAAQ,GAAiB,EAAE,CAAC;QAChC,IAAI,OAAO,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAE,YAAY,EAAE,QAAQ,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,IAAI,YAAY,KAAK,SAAS;gBAAE,SAAS;YAEzC,KAAK,IAAI,CAAE,OAAO,EAAE,GAAG,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YAAA,CAAC;QACN,CAAC;QAAA,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjG,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,aAAa,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;YAAA,CAAC;QACN,CAAC;QAAA,CAAC;QAEF,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestartCommand copy.d.ts","sourceRoot":"","sources":["../../src/commands/RestartCommand copy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,cAAc,EAAE,UAY5B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { StartTool } from "../cli.js";
|
|
2
|
+
export const restartCommand = {
|
|
3
|
+
name: "back",
|
|
4
|
+
displayName: "Back",
|
|
5
|
+
description: "Returns to the main command list.",
|
|
6
|
+
usage: "back",
|
|
7
|
+
requiresToken: false,
|
|
8
|
+
execute: async () => {
|
|
9
|
+
console.clear();
|
|
10
|
+
StartTool();
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=RestartCommand%20copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestartCommand copy.js","sourceRoot":"","sources":["../../src/commands/RestartCommand copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,CAAC,MAAM,cAAc,GAAe;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,mCAAmC;IAChD,KAAK,EAAE,MAAM;IACb,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,SAAS,EAAE,CAAC;QACZ,OAAO;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestartCommand.d.ts","sourceRoot":"","sources":["../../src/commands/RestartCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,cAAc,EAAE,UAY5B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { StartTool } from "../cli.js";
|
|
2
|
+
export const restartCommand = {
|
|
3
|
+
name: "back",
|
|
4
|
+
displayName: "Back",
|
|
5
|
+
description: "Returns to the main command list.",
|
|
6
|
+
usage: "back",
|
|
7
|
+
requiresToken: false,
|
|
8
|
+
execute: async () => {
|
|
9
|
+
console.clear();
|
|
10
|
+
StartTool();
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=RestartCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestartCommand.js","sourceRoot":"","sources":["../../src/commands/RestartCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,CAAC,MAAM,cAAc,GAAe;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,mCAAmC;IAChD,KAAK,EAAE,MAAM;IACb,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,SAAS,EAAE,CAAC;QACZ,OAAO;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteGame.d.ts","sourceRoot":"","sources":["../../../src/commands/games/FavoriteGame.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,eAAO,MAAM,mBAAmB,EAAE,UAmBjC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { input, select } from "@inquirer/prompts";
|
|
2
|
+
import { FetchGame, gameApiMap } from "../../util/platform/FetchGame.js";
|
|
3
|
+
import { FavoriteGame } from "../../util/platform/FavoriteGame.js";
|
|
4
|
+
import { RestartTool } from "../../cli.js";
|
|
5
|
+
export const favoriteGameCommand = {
|
|
6
|
+
name: "favorite-game",
|
|
7
|
+
displayName: "Favorite Game",
|
|
8
|
+
description: "Mark a game as your favorite. Requires Auth Token!",
|
|
9
|
+
usage: "favorite-game <action: Favorite | Remove Favorite> <method: Slug | GameId> <identifier: string> <isFavorite?: boolean>",
|
|
10
|
+
requiresToken: true,
|
|
11
|
+
execute: async () => {
|
|
12
|
+
const action = await select({ message: "What would you like to do?", choices: ["Favorite", "Remove Favorite"] });
|
|
13
|
+
const fetchType = await select({ message: "Which method would you like to use?", choices: Object.keys(gameApiMap) });
|
|
14
|
+
const gameIdentifier = await input({ message: `What is the ${fetchType}?` });
|
|
15
|
+
const isFavorite = action === "Favorite" ? true : false;
|
|
16
|
+
const result = await FavoriteGame(fetchType, gameIdentifier, isFavorite);
|
|
17
|
+
console.log(result);
|
|
18
|
+
RestartTool();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=FavoriteGame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteGame.js","sourceRoot":"","sources":["../../../src/commands/games/FavoriteGame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC3C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,oDAAoD;IACjE,KAAK,EAAE,wHAAwH;IAC/H,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,CAAE,UAAU,EAAE,iBAAiB,CAAE,EAAE,CAAC,CAAC;QACnH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrH,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,SAAS,GAAG,EAAE,CAAC,CAAC;QAE7E,MAAM,UAAU,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QAEzE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchGame.d.ts","sourceRoot":"","sources":["../../../src/commands/games/FetchGame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQrD,eAAO,MAAM,gBAAgB,EAAE,UAsC9B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { input, select } from '@inquirer/prompts';
|
|
2
|
+
import { RestartTool } from "../../cli.js";
|
|
3
|
+
import { FetchGame, gameApiMap } from "../../util/platform/FetchGame.js";
|
|
4
|
+
import { PrintError } from "../../util/Styles.js";
|
|
5
|
+
import chalk from "chalk";
|
|
6
|
+
export const fetchGameCommand = {
|
|
7
|
+
name: "fetch-game",
|
|
8
|
+
displayName: "Fetch Game",
|
|
9
|
+
description: "Returns data related to the specified game.",
|
|
10
|
+
usage: "fetch-game <method: slug | gameId> <identifier: string>",
|
|
11
|
+
requiresToken: false,
|
|
12
|
+
execute: async () => {
|
|
13
|
+
const fetchMethod = await select({ message: "Which method would you like to use?", choices: Object.keys(gameApiMap) });
|
|
14
|
+
const dataType = await select({ message: "How would you like your data?", choices: ["Simple", "Verbose"] });
|
|
15
|
+
const gameIdentifier = await input({ message: `Please enter the ${fetchMethod}:` });
|
|
16
|
+
const result = await FetchGame(fetchMethod, gameIdentifier);
|
|
17
|
+
const entries = Object.entries(result);
|
|
18
|
+
const keys = Object.keys(result);
|
|
19
|
+
if (entries.length === 0 || keys.length === 0 || "error" in result) {
|
|
20
|
+
return PrintError(`Invalid ${fetchMethod}`);
|
|
21
|
+
}
|
|
22
|
+
;
|
|
23
|
+
const game = result.game;
|
|
24
|
+
switch (dataType) {
|
|
25
|
+
case "Simple":
|
|
26
|
+
console.log(`\n${chalk.green("Game Id")}: ${game.id}`);
|
|
27
|
+
console.log(`${chalk.green("Name")}: ${game.name}`);
|
|
28
|
+
console.log(`${chalk.green("Slug")}: ${game.slug || ""}`);
|
|
29
|
+
console.log(`${chalk.green("Developer")}: ${game.organization.name}`);
|
|
30
|
+
console.log(`${chalk.green("Description")}: ${game.description || ""}\n`);
|
|
31
|
+
break;
|
|
32
|
+
case "Verbose":
|
|
33
|
+
console.dir(result, { depth: null });
|
|
34
|
+
console.log();
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
;
|
|
38
|
+
RestartTool();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=FetchGame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchGame.js","sourceRoot":"","sources":["../../../src/commands/games/FetchGame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAe;IACxC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,6CAA6C;IAC1D,KAAK,EAAE,yDAAyD;IAChE,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAC,CAAC,CAAC;QACtH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE,CAAE,QAAQ,EAAE,SAAS,CAAE,EAAE,CAAC,CAAC;QAC9G,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,WAAW,GAAG,EAAE,CAAC,CAAC;QAEpF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACjE,OAAO,UAAU,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QAAA,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEzB,QAAO,QAAQ,EAAE,CAAC;YACd,KAAK,QAAQ;gBACT,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1E,MAAM;YACV,KAAK,SAAS;gBACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM;QACd,CAAC;QAAA,CAAC;QAEF,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchProfilePhoto.d.ts","sourceRoot":"","sources":["../../../src/commands/users/FetchProfilePhoto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,eAAO,MAAM,wBAAwB,EAAE,UA2BtC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PrintError } from "../../util/Styles.js";
|
|
2
|
+
import { input, select } from "@inquirer/prompts";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { RestartTool } from "../../cli.js";
|
|
5
|
+
import { FetchUser, userApiMap } from "../../util/platform/FetchUser.js";
|
|
6
|
+
export const fetchProfilePhotoCommand = {
|
|
7
|
+
name: "fetch-profile-photo",
|
|
8
|
+
displayName: "Fetch Profile Photo",
|
|
9
|
+
description: "Returns the profile picture of the given user.",
|
|
10
|
+
usage: "fetch-profile-photo <method: username | userId> <identifier: string>",
|
|
11
|
+
requiresToken: false,
|
|
12
|
+
execute: async () => {
|
|
13
|
+
const fetchMethod = await select({ message: "Which method would you like to use?", choices: Object.keys(userApiMap) });
|
|
14
|
+
const userIdentifier = await input({ message: `Please enter the ${fetchMethod}:` });
|
|
15
|
+
const result = await FetchUser(fetchMethod, userIdentifier);
|
|
16
|
+
const entries = Object.entries(result);
|
|
17
|
+
const keys = Object.keys(result);
|
|
18
|
+
if (entries.length === 0 || keys.length === 0 || "error" in result) {
|
|
19
|
+
return PrintError(`Invalid ${fetchMethod}`);
|
|
20
|
+
}
|
|
21
|
+
;
|
|
22
|
+
const user = result.user;
|
|
23
|
+
const profileImageId = user.profileImageId;
|
|
24
|
+
if (!profileImageId)
|
|
25
|
+
return PrintError("User has no profile image!");
|
|
26
|
+
console.log(chalk.green(`\nhttps://cdn.airship.gg/images/${profileImageId}\n`));
|
|
27
|
+
RestartTool();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=FetchProfilePhoto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchProfilePhoto.js","sourceRoot":"","sources":["../../../src/commands/users/FetchProfilePhoto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAChD,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,gDAAgD;IAC7D,KAAK,EAAE,sEAAsE;IAC7E,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAC,CAAC,CAAC;QACtH,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,WAAW,GAAG,EAAE,CAAC,CAAC;QAEpF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACjE,OAAO,UAAU,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QAAA,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,cAAc;YAAE,OAAO,UAAU,CAAC,4BAA4B,CAAC,CAAC;QAErE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAmC,cAAc,IAAI,CAAC,CAAC,CAAC;QAEhF,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchUser.d.ts","sourceRoot":"","sources":["../../../src/commands/users/FetchUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,eAAO,MAAM,gBAAgB,EAAE,UAmC9B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { input, select } from '@inquirer/prompts';
|
|
2
|
+
import { PrintError } from '../../util/Styles.js';
|
|
3
|
+
import { RestartTool } from "../../cli.js";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import { FetchUser, userApiMap } from "../../util/platform/FetchUser.js";
|
|
6
|
+
export const fetchUserCommand = {
|
|
7
|
+
name: "fetch-user",
|
|
8
|
+
displayName: "Fetch User",
|
|
9
|
+
description: "Returns data related to the specified user.",
|
|
10
|
+
usage: "fetch-user <method: username | userId> <identifier: string>",
|
|
11
|
+
requiresToken: false,
|
|
12
|
+
execute: async () => {
|
|
13
|
+
const fetchMethod = await select({ message: "Which method would you like to use?", choices: Object.keys(userApiMap) });
|
|
14
|
+
const dataType = await select({ message: "How would you like your data?", choices: ["Simple", "Verbose"] });
|
|
15
|
+
const userIdentifier = await input({ message: `Please enter the ${fetchMethod}:` });
|
|
16
|
+
const result = await FetchUser(fetchMethod, userIdentifier);
|
|
17
|
+
const entries = Object.entries(result);
|
|
18
|
+
const keys = Object.keys(result);
|
|
19
|
+
if (entries.length === 0 || keys.length === 0 || "error" in result) {
|
|
20
|
+
return PrintError(`Invalid ${fetchMethod}`);
|
|
21
|
+
}
|
|
22
|
+
;
|
|
23
|
+
const user = result.user;
|
|
24
|
+
switch (dataType) {
|
|
25
|
+
case "Simple":
|
|
26
|
+
console.log(`\n${chalk.green("User Id")}: ${user.uid}`);
|
|
27
|
+
console.log(`${chalk.green("Username")}: ${user.username}`);
|
|
28
|
+
console.log(`${chalk.green("Status Text")}: ${user.statusText || ""}\n`);
|
|
29
|
+
break;
|
|
30
|
+
case "Verbose":
|
|
31
|
+
console.dir(result, { depth: null });
|
|
32
|
+
console.log();
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
;
|
|
36
|
+
RestartTool();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=FetchUser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchUser.js","sourceRoot":"","sources":["../../../src/commands/users/FetchUser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAe;IACxC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,6CAA6C;IAC1D,KAAK,EAAE,6DAA6D;IACpE,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAC,CAAC,CAAC;QACtH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE,CAAE,QAAQ,EAAE,SAAS,CAAE,EAAE,CAAC,CAAC;QAC9G,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,WAAW,GAAG,EAAE,CAAC,CAAC;QAEpF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACjE,OAAO,UAAU,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QAAA,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,QAAO,QAAQ,EAAE,CAAC;YACd,KAAK,QAAQ;gBACT,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzE,MAAM;YACV,KAAK,SAAS;gBACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM;QACd,CAAC;QAAA,CAAC;QAEF,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentifierConversion.d.ts","sourceRoot":"","sources":["../../src/util/IdentifierConversion.ts"],"names":[],"mappings":"AAEA,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAWjF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FetchGame } from "./platform/FetchGame.js";
|
|
2
|
+
export async function ConvertSlugToGameId(slug) {
|
|
3
|
+
const result = await FetchGame("Slug", slug);
|
|
4
|
+
const entries = Object.entries(result);
|
|
5
|
+
if (entries.length === 0 || "error" in result) {
|
|
6
|
+
// TODO: Handle Error!
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
;
|
|
10
|
+
const game = result.game;
|
|
11
|
+
return game.id;
|
|
12
|
+
}
|
|
13
|
+
;
|
|
14
|
+
//# sourceMappingURL=IdentifierConversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentifierConversion.js","sourceRoot":"","sources":["../../src/util/IdentifierConversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAClD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QAC5C,sBAAsB;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAAA,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,OAAO,IAAI,CAAC,EAAE,CAAC;AACnB,CAAC;AAAA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../../src/util/TokenManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../../src/util/TokenManager.ts"],"names":[],"mappings":"AAoEA,eAAO,MAAM,YAAY,oBAA0B,CAAC"}
|
package/out/util/TokenManager.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import { PrintError } from './Styles.js';
|
|
3
|
-
import path from 'path';
|
|
3
|
+
import path, { join } from 'path';
|
|
4
|
+
const firebaseApiKey = "AIzaSyAYw0C18Mt3wijT0ZHKGcS7zVdaPlR_sGI";
|
|
4
5
|
// Ya'know, this is probably horrific but who cares!
|
|
5
6
|
const platformPathMap = {
|
|
6
7
|
"win32": path.join(`${process.env.APPDATA}`, `../../LocalLow`),
|
|
@@ -13,7 +14,7 @@ function GetApplicationPath() {
|
|
|
13
14
|
return applicationPath;
|
|
14
15
|
}
|
|
15
16
|
;
|
|
16
|
-
function
|
|
17
|
+
function FetchAirshipRefreshToken() {
|
|
17
18
|
let jsonData;
|
|
18
19
|
const airshipAccountPath = path.join(GetApplicationPath() + `/Easy/Airship/account.json`);
|
|
19
20
|
try {
|
|
@@ -28,5 +29,32 @@ function FetchAirshipToken() {
|
|
|
28
29
|
return jsonData.refreshToken;
|
|
29
30
|
}
|
|
30
31
|
;
|
|
31
|
-
|
|
32
|
+
async function UseRefreshToken() {
|
|
33
|
+
const refreshToken = FetchAirshipRefreshToken();
|
|
34
|
+
if (refreshToken === undefined) {
|
|
35
|
+
// TODO: Handle Error!
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
;
|
|
39
|
+
const body = `grantType=refresh_token&refresh_token=${refreshToken}`;
|
|
40
|
+
const request = await fetch(`https://securetoken.googleapis.com/v1/token?key=${firebaseApiKey}&${body}`, {
|
|
41
|
+
method: "POST",
|
|
42
|
+
headers: {
|
|
43
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
const data = await request.text();
|
|
47
|
+
const result = JSON.parse(data);
|
|
48
|
+
if ("error" in result) {
|
|
49
|
+
// TODO: Handle Error!
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
;
|
|
53
|
+
// const newRefresh = result.refresh_token;
|
|
54
|
+
const accessToken = result.access_token;
|
|
55
|
+
return "Bearer " + accessToken;
|
|
56
|
+
}
|
|
57
|
+
;
|
|
58
|
+
UseRefreshToken();
|
|
59
|
+
export const AirshipToken = await UseRefreshToken();
|
|
32
60
|
//# sourceMappingURL=TokenManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../src/util/TokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../src/util/TokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,cAAc,GAAG,yCAAyC,CAAC;AAEjE,oDAAoD;AACpD,MAAM,eAAe,GAA8B;IAC/C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC;IAC9D,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC;IACpE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAY,EAAE,wFAAwF,CAAC;CAChJ,CAAC;AAEF,SAAS,kBAAkB;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAElD,OAAO,eAAe,CAAC;AAC3B,CAAC;AAAA,CAAC;AAEF,SAAS,wBAAwB;IAC7B,IAAI,QAAqB,CAAC;IAC1B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,4BAA4B,CAAC,CAAC;IAE1F,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAEzD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAM,GAAG,EAAE,CAAC;QACV,UAAU,CAAC,gCAAgC,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IACrB,CAAC;IAAA,CAAC;IAEF,OAAO,QAAQ,CAAC,YAAY,CAAC;AACjC,CAAC;AAAA,CAAC;AAEF,KAAK,UAAU,eAAe;IAC1B,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAChD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7B,sBAAsB;QACtB,OAAO;IACX,CAAC;IAAA,CAAC;IAEF,MAAM,IAAI,GAAG,yCAAyC,YAAY,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,mDAAmD,cAAc,IAAI,IAAI,EAAE,EAAE;QACrG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,mCAAmC;SACtD;KACJ,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyC,CAAC;IAExE,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACpB,sBAAsB;QACtB,OAAO;IACX,CAAC;IAAA,CAAC;IAEF,2CAA2C;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;IAExC,OAAO,SAAS,GAAG,WAAW,CAAC;AACnC,CAAC;AAAA,CAAC;AAEF,eAAe,EAAE,CAAC;AAElB,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteGame.d.ts","sourceRoot":"","sources":["../../../src/util/platform/FavoriteGame.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,uBAAuB,CAAC;AAMvE,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,CAsB/H"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { ConvertSlugToGameId } from "../IdentifierConversion.js";
|
|
3
|
+
import { AirshipToken } from "../TokenManager.js";
|
|
4
|
+
const apiPath = "https://api.airship.gg/content/favorites/GAME";
|
|
5
|
+
export async function FavoriteGame(fetchMethod, gameIdentifier, isFavorite) {
|
|
6
|
+
const gameId = fetchMethod === "Slug" ? await ConvertSlugToGameId(gameIdentifier) : gameIdentifier;
|
|
7
|
+
if (gameId === false) {
|
|
8
|
+
// TODO: Handle Error!
|
|
9
|
+
return {};
|
|
10
|
+
}
|
|
11
|
+
;
|
|
12
|
+
const request = await fetch(apiPath, {
|
|
13
|
+
method: "POST",
|
|
14
|
+
body: JSON.stringify({
|
|
15
|
+
"resourceId": gameId,
|
|
16
|
+
"isFavorite": isFavorite
|
|
17
|
+
}),
|
|
18
|
+
headers: {
|
|
19
|
+
"Authorization": AirshipToken,
|
|
20
|
+
"Content-Type": "application/json"
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const data = await request.text();
|
|
24
|
+
const result = data ? JSON.parse(data) : chalk.green(`\nSuccessfully set Favorite to "${isFavorite}" on "${gameIdentifier}"!\n`);
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
;
|
|
28
|
+
//# sourceMappingURL=FavoriteGame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteGame.js","sourceRoot":"","sources":["../../../src/util/platform/FavoriteGame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,GAAG,+CAA+C,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,cAAsB,EAAE,UAAmB;IAC/F,MAAM,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IACnG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACnB,sBAAsB;QACtB,OAAO,EAAkB,CAAC;IAC9B,CAAC;IAAA,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,UAAU;SAC3B,CAAC;QACF,OAAO,EAAE;YACL,eAAe,EAAE,YAAa;YAC9B,cAAc,EAAE,kBAAkB;SACrC;KACJ,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAmC,UAAU,SAAS,cAAc,MAAM,CAAC,CAAC;IAEtJ,OAAO,MAAM,CAAC;AAClB,CAAC;AAAA,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "airship-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "A CLI Tool to interact with Airship's API endpoints.",
|
|
5
5
|
"main": "out/cli.js",
|
|
6
6
|
"bin": {
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
],
|
|
12
12
|
"type": "module",
|
|
13
13
|
"scripts": {
|
|
14
|
-
"tsc": "tsc --w"
|
|
14
|
+
"tsc": "tsc --w",
|
|
15
|
+
"publish": "npm ci && npm publish"
|
|
15
16
|
},
|
|
16
17
|
"author": "Max McDaniel",
|
|
17
18
|
"license": "ISC",
|
|
@@ -24,4 +25,4 @@
|
|
|
24
25
|
"devDependencies": {
|
|
25
26
|
"@types/node": "^25.0.10"
|
|
26
27
|
}
|
|
27
|
-
}
|
|
28
|
+
}
|