Skip to content

Commit b8790f0

Browse files
Yanivridelmaorb-devgregra81
authored
add IL region for mndy-code (#151)
* add IL region for mndy-code * block region il from scheduler * add documentDB flag for zone * enable debug to accept command flags * chore: bump version to 4.10.5 --------- Co-authored-by: Maor Barazani <[email protected]> Co-authored-by: Greg Rashkevitch <[email protected]>
1 parent b9af2a0 commit b8790f0

File tree

10 files changed

+48
-21
lines changed

10 files changed

+48
-21
lines changed

.vscode/launch.json

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,28 @@
77
"name": "Debug CLI",
88
"program": "${workspaceFolder}/bin/dev.js",
99
"runtimeExecutable": "tsx",
10-
"args": ["${input:cliCommand}"],
10+
"args": [
11+
"${input:cliCommand}",
12+
"${input:cliFlags}"
13+
],
1114
"runtimeArgs": ["--inspect"],
1215
"console": "integratedTerminal",
13-
"autoAttachChildProcesses": true
16+
"autoAttachChildProcesses": true,
17+
"skipFiles": ["<node_internals>/**"]
1418
}
1519
],
1620
"inputs": [
1721
{
1822
"id": "cliCommand",
1923
"type": "promptString",
20-
"description": "Enter the CLI command to debug (e.g. app:list, code:push, etc.)",
24+
"description": "Enter the CLI command (e.g. app:list, code:push)",
2125
"default": "app:list"
26+
},
27+
{
28+
"id": "cliFlags",
29+
"type": "promptString",
30+
"description": "Enter command flags (e.g. -d /path/to/folder, --appId 123)",
31+
"default": ""
2232
}
2333
]
2434
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mondaycom/apps-cli",
3-
"version": "4.10.4",
3+
"version": "4.10.5",
44
"description": "A cli tool to manage apps (and monday-code projects) in monday.com",
55
"author": "monday.com Apps Team",
66
"type": "module",

src/commands/database/connection-string.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { VAR_UNKNOWN } from 'consts/messages';
66
import { getDatabaseConnectionString } from 'services/database-service';
77
import { DynamicChoicesService } from 'services/dynamic-choices-service';
88
import { defaultVersionByAppId } from 'src/services/app-versions-service';
9-
import { chooseRegionIfNeeded, getRegionFromString } from 'src/utils/region';
9+
import { addRegionToFlags, chooseRegionIfNeeded, getRegionFromString } from 'src/utils/region';
1010
import { HttpError } from 'types/errors';
1111
import logger from 'utils/logger';
1212

@@ -15,12 +15,14 @@ export default class ConnectionString extends AuthenticatedCommand {
1515

1616
static examples = ['<%= config.bin %> <%= command.id %> -a APP_ID'];
1717

18-
static flags = ConnectionString.serializeFlags({
19-
appId: Flags.integer({
20-
char: 'a',
21-
description: 'Select the app that you wish to retrieve the connection string for',
18+
static flags = ConnectionString.serializeFlags(
19+
addRegionToFlags({
20+
appId: Flags.integer({
21+
char: 'a',
22+
description: 'Select the app that you wish to retrieve the connection string for',
23+
}),
2224
}),
23-
});
25+
);
2426

2527
public async run(): Promise<void> {
2628
const { flags } = await this.parse(ConnectionString);

src/commands/scheduler/create.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { PromptService } from 'src/services/prompt-service';
66
import { SchedulerService } from 'src/services/scheduler-service';
77
import { printJobs, validateCronExpression, validateTargetUrl } from 'src/services/scheduler-service.utils';
88
import logger from 'src/utils/logger';
9-
import { chooseRegionIfNeeded, getRegionFromString } from 'src/utils/region';
9+
import { chooseSchedulerRegionIfNeeded, getRegionFromString } from 'src/utils/region';
1010
import { addPrefixIfNotExists } from 'src/utils/urls-builder';
1111
import { isDefined } from 'src/utils/validations';
1212

@@ -29,7 +29,7 @@ export default class SchedulerCreate extends AuthenticatedCommand {
2929
const parsedRegion = getRegionFromString(region);
3030

3131
if (!appId) appId = await DynamicChoicesService.chooseApp();
32-
const selectedRegion = await chooseRegionIfNeeded(parsedRegion, { appId });
32+
const selectedRegion = await chooseSchedulerRegionIfNeeded(parsedRegion, { appId });
3333
if (!name) name = await PromptService.promptInput(SchedulerMessages.name, true);
3434
if (!schedule) schedule = await PromptService.promptInput(SchedulerMessages.schedule, true);
3535
validateCronExpression(schedule);

src/commands/scheduler/delete.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { SchedulerBaseFlags } from 'src/consts/scheduler/flags';
33
import { DynamicChoicesService } from 'src/services/dynamic-choices-service';
44
import { SchedulerService } from 'src/services/scheduler-service';
55
import logger from 'src/utils/logger';
6-
import { chooseRegionIfNeeded, getRegionFromString } from 'src/utils/region';
6+
import { chooseSchedulerRegionIfNeeded, getRegionFromString } from 'src/utils/region';
77

88
export default class SchedulerDelete extends AuthenticatedCommand {
99
static description = 'Delete a scheduler job for an app';
@@ -20,7 +20,7 @@ export default class SchedulerDelete extends AuthenticatedCommand {
2020
const parsedRegion = getRegionFromString(region);
2121

2222
if (!appId) appId = await DynamicChoicesService.chooseApp();
23-
const selectedRegion = await chooseRegionIfNeeded(parsedRegion, { appId });
23+
const selectedRegion = await chooseSchedulerRegionIfNeeded(parsedRegion, { appId });
2424
if (!name) name = await DynamicChoicesService.chooseSchedulerJob(appId, selectedRegion);
2525

2626
logger.debug(`Deleting scheduler job ${name} for appId: ${appId}`, this.DEBUG_TAG);

src/commands/scheduler/list.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ import { DynamicChoicesService } from 'src/services/dynamic-choices-service';
44
import { SchedulerService } from 'src/services/scheduler-service';
55
import { printJobs } from 'src/services/scheduler-service.utils';
66
import logger from 'src/utils/logger';
7-
import { chooseRegionIfNeeded, getRegionFromString } from 'src/utils/region';
7+
import { chooseSchedulerRegionIfNeeded, getRegionFromString, regionFlag } from 'src/utils/region';
88

99
export default class SchedulerList extends AuthenticatedCommand {
1010
static description = 'List all scheduler jobs for an app';
1111
static examples = ['<%= config.bin %> <%= command.id %> -a APP_ID'];
1212

1313
static flags = SchedulerList.serializeFlags({
1414
appId: SchedulerBaseFlags.appId,
15+
...regionFlag,
1516
});
1617

1718
DEBUG_TAG = 'scheduler_list';
@@ -23,7 +24,7 @@ export default class SchedulerList extends AuthenticatedCommand {
2324
const parsedRegion = getRegionFromString(region);
2425

2526
appId = appId ? Number(appId) : await DynamicChoicesService.chooseApp();
26-
const selectedRegion = await chooseRegionIfNeeded(parsedRegion, { appId });
27+
const selectedRegion = await chooseSchedulerRegionIfNeeded(parsedRegion, { appId });
2728

2829
logger.debug(`Listing scheduler jobs for appId: ${appId}`, this.DEBUG_TAG);
2930
this.preparePrintCommand(this, { appId, region: selectedRegion });

src/commands/scheduler/run.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { SchedulerBaseFlags } from 'src/consts/scheduler/flags';
33
import { DynamicChoicesService } from 'src/services/dynamic-choices-service';
44
import { SchedulerService } from 'src/services/scheduler-service';
55
import logger from 'src/utils/logger';
6-
import { chooseRegionIfNeeded, getRegionFromString } from 'src/utils/region';
6+
import { chooseSchedulerRegionIfNeeded, getRegionFromString } from 'src/utils/region';
77

88
export default class SchedulerRun extends AuthenticatedCommand {
99
static description = 'Manually trigger a scheduled job to run for an app';
@@ -20,7 +20,7 @@ export default class SchedulerRun extends AuthenticatedCommand {
2020
const parsedRegion = getRegionFromString(region);
2121

2222
if (!appId) appId = await DynamicChoicesService.chooseApp();
23-
const selectedRegion = await chooseRegionIfNeeded(parsedRegion, { appId });
23+
const selectedRegion = await chooseSchedulerRegionIfNeeded(parsedRegion, { appId });
2424
if (!name) name = await DynamicChoicesService.chooseSchedulerJob(appId, selectedRegion);
2525

2626
logger.debug(`Running scheduler job ${name} for appId: ${appId}`, this.DEBUG_TAG);

src/commands/scheduler/update.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { SchedulerService } from 'src/services/scheduler-service';
77
import { printJobs, validateCronExpression, validateTargetUrl } from 'src/services/scheduler-service.utils';
88
import { UpdateJobRequest } from 'src/types/services/scheduler-service';
99
import logger from 'src/utils/logger';
10-
import { chooseRegionIfNeeded, getRegionFromString } from 'src/utils/region';
10+
import { chooseSchedulerRegionIfNeeded, getRegionFromString } from 'src/utils/region';
1111
import { addPrefixIfNotExists } from 'src/utils/urls-builder';
1212
import { isDefined, isDefinedAndNotEmpty } from 'src/utils/validations';
1313

@@ -30,7 +30,7 @@ export default class SchedulerUpdate extends AuthenticatedCommand {
3030
const parsedRegion = getRegionFromString(region);
3131

3232
if (!appId) appId = await DynamicChoicesService.chooseApp();
33-
const selectedRegion = await chooseRegionIfNeeded(parsedRegion, { appId });
33+
const selectedRegion = await chooseSchedulerRegionIfNeeded(parsedRegion, { appId });
3434
const jobs = await SchedulerService.listJobs(appId, selectedRegion);
3535
if (!name) name = await DynamicChoicesService.chooseSchedulerJob(appId, selectedRegion, jobs);
3636

src/types/general/region.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ export enum Region {
22
US = 'us',
33
EU = 'eu',
44
AU = 'au',
5+
IL = 'il',
56
}

src/utils/region.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export function addRegionToFlags<T>(flags: T): T {
3434
}
3535

3636
const regionsPrompt = async () =>
37-
PromptService.promptList('Choose region', [Region.US, Region.EU, Region.AU], Region.US);
37+
PromptService.promptList('Choose region', [Region.US, Region.EU, Region.AU, Region.IL], Region.US);
3838

3939
export async function chooseRegionIfNeeded(
4040
region?: Region,
@@ -72,3 +72,16 @@ export async function chooseRegionIfNeeded(
7272
const returnedRegion = await regionsPrompt();
7373
return getRegionFromString(returnedRegion);
7474
}
75+
76+
export async function chooseSchedulerRegionIfNeeded(
77+
region?: Region,
78+
options?: { appId?: number; appVersionId?: number },
79+
): Promise<Region | undefined> {
80+
if (region === Region.IL) {
81+
throw new Error(
82+
'Cloud Scheduler is not available in the IL region. Please use a different region (US, EU, or AU) for scheduler operations.',
83+
);
84+
}
85+
86+
return chooseRegionIfNeeded(region, options);
87+
}

0 commit comments

Comments
 (0)