Skip to content

Commit d854c58

Browse files
authored
Merge pull request #33 from umuttopalak/fix/console-type
refactor: improve console setup logic to prioritize valid executables
2 parents 7924bc1 + 3cd255b commit d854c58

3 files changed

Lines changed: 23 additions & 17 deletions

File tree

dist/index.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,13 @@ function setupConsole(baseConsoleUrl, api_token) {
196196
try {
197197
const consoleListData = yield performGetRequest(baseConsoleUrl, api_token);
198198
if (Array.isArray(consoleListData) && consoleListData.length > 0) {
199-
const _console = consoleListData.pop();
200-
return _console;
201-
}
202-
else {
203-
const _console = yield performPostRequest(baseConsoleUrl, { executable: "bash" }, api_token);
204-
return _console;
199+
const validConsole = consoleListData.find(console => console.executable === "bash" || console.executable === "sh");
200+
if (validConsole) {
201+
return validConsole;
202+
}
205203
}
204+
const newConsole = yield performPostRequest(baseConsoleUrl, { executable: "bash" }, api_token);
205+
return newConsole;
206206
}
207207
catch (error) {
208208
throw new Error(`Failed to setup console: ${error.message}`);

lib/index.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,13 +189,13 @@ function setupConsole(baseConsoleUrl, api_token) {
189189
try {
190190
const consoleListData = yield performGetRequest(baseConsoleUrl, api_token);
191191
if (Array.isArray(consoleListData) && consoleListData.length > 0) {
192-
const _console = consoleListData.pop();
193-
return _console;
194-
}
195-
else {
196-
const _console = yield performPostRequest(baseConsoleUrl, { executable: "bash" }, api_token);
197-
return _console;
192+
const validConsole = consoleListData.find(console => console.executable === "bash" || console.executable === "sh");
193+
if (validConsole) {
194+
return validConsole;
195+
}
198196
}
197+
const newConsole = yield performPostRequest(baseConsoleUrl, { executable: "bash" }, api_token);
198+
return newConsole;
199199
}
200200
catch (error) {
201201
throw new Error(`Failed to setup console: ${error.message}`);

src/index.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -164,12 +164,18 @@ async function setupConsole(baseConsoleUrl: string, api_token: string): Promise<
164164
try {
165165
const consoleListData = await performGetRequest(baseConsoleUrl, api_token);
166166
if (Array.isArray(consoleListData) && consoleListData.length > 0) {
167-
const _console = consoleListData.pop();
168-
return _console;
169-
} else {
170-
const _console = await performPostRequest(baseConsoleUrl, { executable: "bash" }, api_token);
171-
return _console;
167+
const validConsole = consoleListData.find(console =>
168+
console.executable === "bash" || console.executable === "sh"
169+
);
170+
171+
if (validConsole) {
172+
return validConsole;
173+
}
172174
}
175+
176+
const newConsole = await performPostRequest(baseConsoleUrl, { executable: "bash" }, api_token);
177+
return newConsole;
178+
173179
} catch (error: any) {
174180
throw new Error(`Failed to setup console: ${error.message}`);
175181
}

0 commit comments

Comments
 (0)