appwrite-utils-cli 0.9.80 → 0.9.82
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/dist/interactiveCLI.js +5 -3
- package/dist/main.js +1 -1
- package/package.json +1 -1
- package/src/interactiveCLI.ts +5 -4
- package/src/main.ts +2 -2
package/dist/interactiveCLI.js
CHANGED
@@ -44,9 +44,9 @@ export class InteractiveCLI {
|
|
44
44
|
choices: Object.values(CHOICES),
|
45
45
|
},
|
46
46
|
]);
|
47
|
-
await this.initControllerIfNeeded();
|
48
47
|
switch (action) {
|
49
48
|
case CHOICES.CREATE_COLLECTION_CONFIG:
|
49
|
+
await this.initControllerIfNeeded();
|
50
50
|
await this.createCollectionConfig();
|
51
51
|
break;
|
52
52
|
case CHOICES.SETUP_DIRS_FILES:
|
@@ -106,13 +106,15 @@ export class InteractiveCLI {
|
|
106
106
|
async selectDatabases(databases, message, multiSelect = true) {
|
107
107
|
const choices = databases.map((db) => ({ name: db.name, value: db })).filter((db) => db.name.toLowerCase() !== "migrations");
|
108
108
|
const configDatabases = this.getLocalDatabases();
|
109
|
-
const
|
109
|
+
const dbNames = databases.map((db) => db.name).concat(configDatabases.map((db) => db.name));
|
110
|
+
const allDbNamesUnique = Array.from(new Set(dbNames));
|
111
|
+
const allDatabases = allDbNamesUnique.map((name) => configDatabases.find((db) => db.name === name) ?? databases.find((db) => db.name === name)).filter((v) => v !== undefined).sort((a, b) => a.name.localeCompare(b.name));
|
110
112
|
const { selectedDatabases } = await inquirer.prompt([
|
111
113
|
{
|
112
114
|
type: multiSelect ? "checkbox" : "list",
|
113
115
|
name: "selectedDatabases",
|
114
116
|
message: chalk.blue(message),
|
115
|
-
choices,
|
117
|
+
choices: allDatabases,
|
116
118
|
loop: false,
|
117
119
|
pageSize: 10,
|
118
120
|
},
|
package/dist/main.js
CHANGED
@@ -122,12 +122,12 @@ const argv = yargs(hideBin(process.argv))
|
|
122
122
|
})
|
123
123
|
.parse();
|
124
124
|
async function main() {
|
125
|
-
const controller = new UtilsController(process.cwd());
|
126
125
|
if (argv.it) {
|
127
126
|
const cli = new InteractiveCLI(process.cwd());
|
128
127
|
await cli.run();
|
129
128
|
}
|
130
129
|
else {
|
130
|
+
const controller = new UtilsController(process.cwd());
|
131
131
|
await controller.init();
|
132
132
|
if (argv.setup) {
|
133
133
|
await setupDirsFiles(false, process.cwd());
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "appwrite-utils-cli",
|
3
3
|
"description": "Appwrite Utility Functions to help with database management, data conversion, data import, migrations, and much more. Meant to be used as a CLI tool, I do not recommend installing this in frontend environments.",
|
4
|
-
"version": "0.9.
|
4
|
+
"version": "0.9.82",
|
5
5
|
"main": "src/main.ts",
|
6
6
|
"type": "module",
|
7
7
|
"repository": {
|
package/src/interactiveCLI.ts
CHANGED
@@ -55,10 +55,9 @@ export class InteractiveCLI {
|
|
55
55
|
},
|
56
56
|
]);
|
57
57
|
|
58
|
-
await this.initControllerIfNeeded();
|
59
|
-
|
60
58
|
switch (action) {
|
61
59
|
case CHOICES.CREATE_COLLECTION_CONFIG:
|
60
|
+
await this.initControllerIfNeeded();
|
62
61
|
await this.createCollectionConfig();
|
63
62
|
break;
|
64
63
|
case CHOICES.SETUP_DIRS_FILES:
|
@@ -124,7 +123,9 @@ export class InteractiveCLI {
|
|
124
123
|
): Promise<Models.Database[]> {
|
125
124
|
const choices = databases.map((db) => ({ name: db.name, value: db })).filter((db) => db.name.toLowerCase() !== "migrations");
|
126
125
|
const configDatabases = this.getLocalDatabases();
|
127
|
-
const
|
126
|
+
const dbNames = databases.map((db) => db.name).concat(configDatabases.map((db) => db.name));
|
127
|
+
const allDbNamesUnique = Array.from(new Set(dbNames));
|
128
|
+
const allDatabases = allDbNamesUnique.map((name) => configDatabases.find((db) => db.name === name) ?? databases.find((db) => db.name === name)).filter((v) => v !== undefined).sort((a, b) => a.name.localeCompare(b.name));
|
128
129
|
|
129
130
|
|
130
131
|
const { selectedDatabases } = await inquirer.prompt([
|
@@ -132,7 +133,7 @@ export class InteractiveCLI {
|
|
132
133
|
type: multiSelect ? "checkbox" : "list",
|
133
134
|
name: "selectedDatabases",
|
134
135
|
message: chalk.blue(message),
|
135
|
-
choices,
|
136
|
+
choices: allDatabases,
|
136
137
|
loop: false,
|
137
138
|
pageSize: 10,
|
138
139
|
},
|
package/src/main.ts
CHANGED
@@ -159,12 +159,12 @@ const argv = yargs(hideBin(process.argv))
|
|
159
159
|
.parse() as ParsedArgv;
|
160
160
|
|
161
161
|
async function main() {
|
162
|
-
|
163
|
-
|
162
|
+
|
164
163
|
if (argv.it) {
|
165
164
|
const cli = new InteractiveCLI(process.cwd());
|
166
165
|
await cli.run();
|
167
166
|
} else {
|
167
|
+
const controller = new UtilsController(process.cwd());
|
168
168
|
await controller.init();
|
169
169
|
|
170
170
|
if (argv.setup) {
|