@akis05/akis 0.1.4 → 0.1.5
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 +161 -161
- package/dist/cli/akis.js +28 -28
- package/dist/cli/akis.js.map +1 -1
- package/dist/cli/commands/delete.js +15 -15
- package/dist/cli/commands/delete.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +28 -29
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/migrate.js +20 -20
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/status.js +16 -16
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/update.js +16 -16
- package/dist/cli/commands/update.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/akis.js
CHANGED
|
@@ -14,15 +14,15 @@ program
|
|
|
14
14
|
╔═══════════════════════════════════════════════════════════════════╗
|
|
15
15
|
║ AKIS - Appwrite CLI Tool ║
|
|
16
16
|
╠═══════════════════════════════════════════════════════════════════╣
|
|
17
|
-
║
|
|
17
|
+
║ Manage your Appwrite collections from TypeScript types ║
|
|
18
18
|
║ ║
|
|
19
19
|
║ Workflow: ║
|
|
20
|
-
║ 1.
|
|
21
|
-
║ 2.
|
|
22
|
-
║ 3.
|
|
23
|
-
║ 4.
|
|
20
|
+
║ 1. npx akis init → Initialize project ║
|
|
21
|
+
║ 2. Define types in core/appwrite-model/types.ts ║
|
|
22
|
+
║ 3. npx akis migrate → Create collections ║
|
|
23
|
+
║ 4. npx akis status → Check synchronization ║
|
|
24
24
|
║ ║
|
|
25
|
-
║
|
|
25
|
+
║ Required environment variables (.env): ║
|
|
26
26
|
║ APPWRITE_ENDPOINT, APPWRITE_PROJECT_ID, ║
|
|
27
27
|
║ APPWRITE_DATABASE_ID, APPWRITE_API_KEY ║
|
|
28
28
|
╚═══════════════════════════════════════════════════════════════════╝
|
|
@@ -30,42 +30,42 @@ program
|
|
|
30
30
|
.version("0.1.0");
|
|
31
31
|
program
|
|
32
32
|
.command("init")
|
|
33
|
-
.description("
|
|
34
|
-
.option("-f, --force", "
|
|
33
|
+
.description("Initialize project with core/appwrite-model/ structure")
|
|
34
|
+
.option("-f, --force", "Overwrite existing files")
|
|
35
35
|
.action(init_1.init);
|
|
36
36
|
program
|
|
37
37
|
.command("migrate")
|
|
38
|
-
.description("
|
|
39
|
-
.option("-d, --dry-run", "
|
|
40
|
-
.option("-n, --name <name>", "
|
|
38
|
+
.description("Create missing collections in Appwrite from types.ts")
|
|
39
|
+
.option("-d, --dry-run", "Show actions without executing")
|
|
40
|
+
.option("-n, --name <name>", "Name of the collection to create (e.g., clients)")
|
|
41
41
|
.action(migrate_1.migrate);
|
|
42
42
|
program
|
|
43
43
|
.command("update")
|
|
44
|
-
.description("
|
|
45
|
-
.option("-d, --dry-run", "
|
|
46
|
-
.option("-n, --name <name>", "
|
|
44
|
+
.description("Add new attributes to existing collections")
|
|
45
|
+
.option("-d, --dry-run", "Show actions without executing")
|
|
46
|
+
.option("-n, --name <name>", "Name of the collection to update")
|
|
47
47
|
.action(update_1.update);
|
|
48
48
|
program
|
|
49
49
|
.command("delete")
|
|
50
|
-
.description("
|
|
51
|
-
.option("-f, --force", "
|
|
52
|
-
.option("-n, --name <name>", "
|
|
50
|
+
.description("Delete collections in Appwrite")
|
|
51
|
+
.option("-f, --force", "Delete without confirmation")
|
|
52
|
+
.option("-n, --name <name>", "Name of the collection to delete (otherwise all)")
|
|
53
53
|
.action(delete_1.deleteAll);
|
|
54
54
|
program
|
|
55
55
|
.command("status")
|
|
56
|
-
.description("
|
|
57
|
-
.option("-n, --name <name>", "
|
|
56
|
+
.description("Compare local types with Appwrite collections")
|
|
57
|
+
.option("-n, --name <name>", "Name of the collection to check")
|
|
58
58
|
.action(status_1.status);
|
|
59
59
|
program.addHelpText("after", `
|
|
60
|
-
|
|
61
|
-
$
|
|
62
|
-
$
|
|
63
|
-
$
|
|
64
|
-
$
|
|
65
|
-
$
|
|
66
|
-
$
|
|
67
|
-
$
|
|
68
|
-
$
|
|
60
|
+
Examples:
|
|
61
|
+
$ npx akis init # Create project structure
|
|
62
|
+
$ npx akis migrate # Create all missing collections
|
|
63
|
+
$ npx akis migrate --name clients # Create only "clients"
|
|
64
|
+
$ npx akis migrate --dry-run # Preview what would be created
|
|
65
|
+
$ npx akis update --name clients # Add new fields to "clients"
|
|
66
|
+
$ npx akis status # View sync status
|
|
67
|
+
$ npx akis delete --name clients # Delete "clients"
|
|
68
|
+
$ npx akis delete --force # Delete all collections
|
|
69
69
|
`);
|
|
70
70
|
program.parse();
|
|
71
71
|
//# sourceMappingURL=akis.js.map
|
package/dist/cli/akis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"akis.js","sourceRoot":"","sources":["../../src/cli/akis.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,0CAAuC;AACvC,gDAA6C;AAC7C,8CAA2C;AAC3C,8CAA8C;AAC9C,8CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC;;;;;;;;;;;;;;;;CAgBd,CAAC;KACC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"akis.js","sourceRoot":"","sources":["../../src/cli/akis.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,0CAAuC;AACvC,gDAA6C;AAC7C,8CAA2C;AAC3C,8CAA8C;AAC9C,8CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC;;;;;;;;;;;;;;;;CAgBd,CAAC;KACC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,WAAI,CAAC,CAAC;AAEhB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,eAAe,EAAE,gCAAgC,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;KAC/E,MAAM,CAAC,iBAAO,CAAC,CAAC;AAEnB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,gCAAgC,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;KAC/D,MAAM,CAAC,eAAM,CAAC,CAAC;AAElB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;KAC/E,MAAM,CAAC,kBAAS,CAAC,CAAC;AAErB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;KAC9D,MAAM,CAAC,eAAM,CAAC,CAAC;AAElB,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;CAU5B,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -62,13 +62,13 @@ async function confirm(message) {
|
|
|
62
62
|
}
|
|
63
63
|
async function deleteAll(options) {
|
|
64
64
|
const targetName = options.name;
|
|
65
|
-
console.log(`\n🗑️ AKIS Delete - ${targetName ? `
|
|
65
|
+
console.log(`\n🗑️ AKIS Delete - ${targetName ? `Deleting "${targetName}"` : "Deleting collections"}\n`);
|
|
66
66
|
if (!APPWRITE_API_KEY) {
|
|
67
|
-
console.error("❌ APPWRITE_API_KEY
|
|
67
|
+
console.error("❌ APPWRITE_API_KEY not configured in .env");
|
|
68
68
|
process.exit(1);
|
|
69
69
|
}
|
|
70
70
|
if (!APPWRITE_DATABASE_ID) {
|
|
71
|
-
console.error("❌ APPWRITE_DATABASE_ID
|
|
71
|
+
console.error("❌ APPWRITE_DATABASE_ID not configured in .env");
|
|
72
72
|
process.exit(1);
|
|
73
73
|
}
|
|
74
74
|
// Connect to Appwrite
|
|
@@ -78,7 +78,7 @@ async function deleteAll(options) {
|
|
|
78
78
|
.setKey(APPWRITE_API_KEY);
|
|
79
79
|
const databases = new node_appwrite_1.Databases(client);
|
|
80
80
|
// Get existing collections
|
|
81
|
-
console.log("📡
|
|
81
|
+
console.log("📡 Connecting to Appwrite...");
|
|
82
82
|
let collections = [];
|
|
83
83
|
try {
|
|
84
84
|
const response = await databases.listCollections({
|
|
@@ -88,44 +88,44 @@ async function deleteAll(options) {
|
|
|
88
88
|
if (targetName) {
|
|
89
89
|
collections = response.collections.filter((c) => c.name === targetName);
|
|
90
90
|
if (collections.length === 0) {
|
|
91
|
-
console.error(`❌ Collection "${targetName}"
|
|
92
|
-
console.log(`
|
|
91
|
+
console.error(`❌ Collection "${targetName}" not found in Appwrite`);
|
|
92
|
+
console.log(` Available collections: ${response.collections.map((c) => c.name).join(", ")}`);
|
|
93
93
|
process.exit(1);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
else {
|
|
97
97
|
collections = response.collections;
|
|
98
98
|
}
|
|
99
|
-
console.log(` ${collections.length} collection(s)
|
|
99
|
+
console.log(` ${collections.length} collection(s) to delete\n`);
|
|
100
100
|
}
|
|
101
101
|
catch (error) {
|
|
102
|
-
console.error("❌
|
|
102
|
+
console.error("❌ Connection error:", error);
|
|
103
103
|
process.exit(1);
|
|
104
104
|
}
|
|
105
105
|
if (collections.length === 0) {
|
|
106
|
-
console.log("✨
|
|
106
|
+
console.log("✨ No collections to delete\n");
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
109
|
// Confirm deletion
|
|
110
110
|
if (!options.force) {
|
|
111
|
-
console.log("Collection(s)
|
|
111
|
+
console.log("Collection(s) to delete:");
|
|
112
112
|
for (const col of collections) {
|
|
113
113
|
console.log(` - ${col.name}`);
|
|
114
114
|
}
|
|
115
115
|
console.log("");
|
|
116
116
|
const confirmMsg = targetName
|
|
117
|
-
? `⚠️
|
|
118
|
-
: "⚠️
|
|
117
|
+
? `⚠️ Are you sure you want to delete "${targetName}"? (y/N) `
|
|
118
|
+
: "⚠️ Are you sure you want to delete ALL these collections? (y/N) ";
|
|
119
119
|
const confirmed = await confirm(confirmMsg);
|
|
120
120
|
if (!confirmed) {
|
|
121
|
-
console.log("\n❌
|
|
121
|
+
console.log("\n❌ Deletion cancelled\n");
|
|
122
122
|
return;
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
// Delete collections
|
|
126
126
|
let deleted = 0;
|
|
127
127
|
let errors = 0;
|
|
128
|
-
console.log("\n🗑️
|
|
128
|
+
console.log("\n🗑️ Deleting...\n");
|
|
129
129
|
for (const col of collections) {
|
|
130
130
|
try {
|
|
131
131
|
await databases.deleteCollection({
|
|
@@ -142,6 +142,6 @@ async function deleteAll(options) {
|
|
|
142
142
|
errors++;
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
console.log(`\n✨
|
|
145
|
+
console.log(`\n✨ Deletion complete: ${deleted} deleted, ${errors} error(s)\n`);
|
|
146
146
|
}
|
|
147
147
|
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,8BA+FC;AApID,iDAAyD;AACzD,2CAA6B;AAC7B,+CAAiC;AACjC,mDAAqC;AAErC,WAAW;AACX,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAEnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,8BAA8B,CAAC;AAC1F,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;AAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;AAOpE,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAe;IACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA4TD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA4TD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,iBA0F9C"}
|
|
@@ -344,7 +344,7 @@ APPWRITE_DATABASE_ID=
|
|
|
344
344
|
APPWRITE_API_KEY=
|
|
345
345
|
`;
|
|
346
346
|
async function init(options) {
|
|
347
|
-
console.log("\n🚀 AKIS Init -
|
|
347
|
+
console.log("\n🚀 AKIS Init - Project initialization\n");
|
|
348
348
|
const cwd = process.cwd();
|
|
349
349
|
const libPath = path.join(cwd, "core", "appwrite-model");
|
|
350
350
|
const typesPath = path.join(libPath, "types.ts");
|
|
@@ -362,21 +362,21 @@ async function init(options) {
|
|
|
362
362
|
if (fs.existsSync(setupPath))
|
|
363
363
|
existingFiles.push("core/appwrite-model/setup-collections.ts");
|
|
364
364
|
if (existingFiles.length > 0 && !options.force) {
|
|
365
|
-
console.log("⚠️
|
|
365
|
+
console.log("⚠️ The following files already exist:");
|
|
366
366
|
for (const file of existingFiles) {
|
|
367
367
|
console.log(` - ${file}`);
|
|
368
368
|
}
|
|
369
|
-
console.log("\n
|
|
369
|
+
console.log("\n Use --force to overwrite\n");
|
|
370
370
|
return;
|
|
371
371
|
}
|
|
372
372
|
// Create directories
|
|
373
|
-
console.log("📁
|
|
373
|
+
console.log("📁 Creating directories...");
|
|
374
374
|
if (!fs.existsSync(libPath)) {
|
|
375
375
|
fs.mkdirSync(libPath, { recursive: true });
|
|
376
376
|
console.log(" ✓ core/appwrite-model/");
|
|
377
377
|
}
|
|
378
378
|
else {
|
|
379
|
-
console.log(" ⏭️ core/appwrite-model/ (
|
|
379
|
+
console.log(" ⏭️ core/appwrite-model/ (already exists)");
|
|
380
380
|
}
|
|
381
381
|
// Create types.ts
|
|
382
382
|
if (!fs.existsSync(typesPath) || options.force) {
|
|
@@ -384,7 +384,7 @@ async function init(options) {
|
|
|
384
384
|
console.log(" ✓ core/appwrite-model/types.ts");
|
|
385
385
|
}
|
|
386
386
|
else {
|
|
387
|
-
console.log(" ⏭️ core/appwrite-model/types.ts (
|
|
387
|
+
console.log(" ⏭️ core/appwrite-model/types.ts (already exists)");
|
|
388
388
|
}
|
|
389
389
|
// Create client.ts
|
|
390
390
|
if (!fs.existsSync(clientPath) || options.force) {
|
|
@@ -392,7 +392,7 @@ async function init(options) {
|
|
|
392
392
|
console.log(" ✓ core/appwrite-model/client.ts");
|
|
393
393
|
}
|
|
394
394
|
else {
|
|
395
|
-
console.log(" ⏭️ core/appwrite-model/client.ts (
|
|
395
|
+
console.log(" ⏭️ core/appwrite-model/client.ts (already exists)");
|
|
396
396
|
}
|
|
397
397
|
// Create schema.ts
|
|
398
398
|
if (!fs.existsSync(schemaPath) || options.force) {
|
|
@@ -400,7 +400,7 @@ async function init(options) {
|
|
|
400
400
|
console.log(" ✓ core/appwrite-model/schema.ts");
|
|
401
401
|
}
|
|
402
402
|
else {
|
|
403
|
-
console.log(" ⏭️ core/appwrite-model/schema.ts (
|
|
403
|
+
console.log(" ⏭️ core/appwrite-model/schema.ts (already exists)");
|
|
404
404
|
}
|
|
405
405
|
// Create setup-collections.ts
|
|
406
406
|
if (!fs.existsSync(setupPath) || options.force) {
|
|
@@ -408,32 +408,31 @@ async function init(options) {
|
|
|
408
408
|
console.log(" ✓ core/appwrite-model/setup-collections.ts");
|
|
409
409
|
}
|
|
410
410
|
else {
|
|
411
|
-
console.log(" ⏭️ core/appwrite-model/setup-collections.ts (
|
|
411
|
+
console.log(" ⏭️ core/appwrite-model/setup-collections.ts (already exists)");
|
|
412
412
|
}
|
|
413
413
|
console.log(`
|
|
414
|
-
✨
|
|
414
|
+
✨ Initialization complete!
|
|
415
415
|
|
|
416
|
-
📁 Structure
|
|
416
|
+
📁 Structure created:
|
|
417
417
|
core/
|
|
418
418
|
└── appwrite-model/
|
|
419
|
-
├── types.ts #
|
|
420
|
-
├── schema.ts #
|
|
421
|
-
├── client.ts #
|
|
422
|
-
└── setup-collections.ts #
|
|
423
|
-
|
|
424
|
-
📖
|
|
425
|
-
1.
|
|
426
|
-
2.
|
|
427
|
-
3.
|
|
428
|
-
4.
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
pnpm akis delete # Supprimer les collections
|
|
419
|
+
├── types.ts # TypeScript definitions
|
|
420
|
+
├── schema.ts # Appwrite collection schema
|
|
421
|
+
├── client.ts # Appwrite client
|
|
422
|
+
└── setup-collections.ts # Setup functions
|
|
423
|
+
|
|
424
|
+
📖 Next steps:
|
|
425
|
+
1. Configure your environment variables (.env)
|
|
426
|
+
2. Define your types in core/appwrite-model/types.ts
|
|
427
|
+
3. Run: npx akis migrate
|
|
428
|
+
4. Verify with: npx akis status
|
|
429
|
+
|
|
430
|
+
📚 Available commands:
|
|
431
|
+
npx akis status # View collection status
|
|
432
|
+
npx akis migrate # Create missing collections
|
|
433
|
+
npx akis migrate --name X # Create a specific collection
|
|
434
|
+
npx akis update # Update collections
|
|
435
|
+
npx akis delete # Delete collections
|
|
437
436
|
`);
|
|
438
437
|
}
|
|
439
438
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkUA,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,42 +98,42 @@ async function createAttribute(databases, databaseId, collectionId, field) {
|
|
|
98
98
|
}
|
|
99
99
|
async function migrate(options) {
|
|
100
100
|
const targetName = options.name;
|
|
101
|
-
console.log(`\n🚀 AKIS Migrate - ${targetName ? `
|
|
101
|
+
console.log(`\n🚀 AKIS Migrate - ${targetName ? `Creating "${targetName}"` : "Creating missing collections"}\n`);
|
|
102
102
|
if (!APPWRITE_API_KEY) {
|
|
103
|
-
console.error("❌ APPWRITE_API_KEY
|
|
103
|
+
console.error("❌ APPWRITE_API_KEY not configured in .env");
|
|
104
104
|
process.exit(1);
|
|
105
105
|
}
|
|
106
106
|
if (!APPWRITE_DATABASE_ID) {
|
|
107
|
-
console.error("❌ APPWRITE_DATABASE_ID
|
|
107
|
+
console.error("❌ APPWRITE_DATABASE_ID not configured in .env");
|
|
108
108
|
process.exit(1);
|
|
109
109
|
}
|
|
110
110
|
// Parse types.ts
|
|
111
111
|
const typesPath = path.resolve(process.cwd(), "core/appwrite-model/types.ts");
|
|
112
|
-
console.log(`📖
|
|
112
|
+
console.log(`📖 Reading ${typesPath}...`);
|
|
113
113
|
let collections;
|
|
114
114
|
try {
|
|
115
115
|
const allCollections = (0, parser_1.parseTypesFile)(typesPath);
|
|
116
116
|
if (targetName) {
|
|
117
117
|
collections = allCollections.filter((c) => c.name === targetName);
|
|
118
118
|
if (collections.length === 0) {
|
|
119
|
-
console.error(`❌ Collection "${targetName}"
|
|
120
|
-
console.log(`
|
|
119
|
+
console.error(`❌ Collection "${targetName}" not found in types.ts`);
|
|
120
|
+
console.log(` Available collections: ${allCollections.map((c) => c.name).join(", ")}`);
|
|
121
121
|
process.exit(1);
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
else {
|
|
125
125
|
collections = allCollections;
|
|
126
126
|
}
|
|
127
|
-
console.log(` ${collections.length} collection(s)
|
|
127
|
+
console.log(` ${collections.length} collection(s) to process\n`);
|
|
128
128
|
}
|
|
129
129
|
catch (error) {
|
|
130
|
-
console.error("❌
|
|
130
|
+
console.error("❌ Error reading types.ts:", error);
|
|
131
131
|
process.exit(1);
|
|
132
132
|
}
|
|
133
133
|
if (options.dryRun) {
|
|
134
|
-
console.log("🔍
|
|
134
|
+
console.log("🔍 Dry-run mode - No changes will be made\n");
|
|
135
135
|
for (const col of collections) {
|
|
136
|
-
console.log(` 📦 ${col.name} (${col.fields.length}
|
|
136
|
+
console.log(` 📦 ${col.name} (${col.fields.length} fields)`);
|
|
137
137
|
for (const field of col.fields) {
|
|
138
138
|
const req = field.required ? "required" : "optional";
|
|
139
139
|
const extra = field.enumValues ? ` [${field.enumValues.join(", ")}]` : field.size ? ` (${field.size})` : "";
|
|
@@ -149,7 +149,7 @@ async function migrate(options) {
|
|
|
149
149
|
.setKey(APPWRITE_API_KEY);
|
|
150
150
|
const databases = new node_appwrite_1.Databases(client);
|
|
151
151
|
// Get existing collections
|
|
152
|
-
console.log("📡
|
|
152
|
+
console.log("📡 Connecting to Appwrite...");
|
|
153
153
|
let existingCollections = [];
|
|
154
154
|
try {
|
|
155
155
|
const response = await databases.listCollections({
|
|
@@ -157,10 +157,10 @@ async function migrate(options) {
|
|
|
157
157
|
queries: [node_appwrite_1.Query.limit(100)],
|
|
158
158
|
});
|
|
159
159
|
existingCollections = response.collections.map((c) => c.name);
|
|
160
|
-
console.log(` ${existingCollections.length} collections
|
|
160
|
+
console.log(` ${existingCollections.length} existing collections\n`);
|
|
161
161
|
}
|
|
162
162
|
catch (error) {
|
|
163
|
-
console.error("❌
|
|
163
|
+
console.error("❌ Connection error:", error);
|
|
164
164
|
process.exit(1);
|
|
165
165
|
}
|
|
166
166
|
// Create missing collections
|
|
@@ -168,11 +168,11 @@ async function migrate(options) {
|
|
|
168
168
|
let skipped = 0;
|
|
169
169
|
for (const col of collections) {
|
|
170
170
|
if (existingCollections.includes(col.name)) {
|
|
171
|
-
console.log(`⏭️ ${col.name} -
|
|
171
|
+
console.log(`⏭️ ${col.name} - already exists`);
|
|
172
172
|
skipped++;
|
|
173
173
|
continue;
|
|
174
174
|
}
|
|
175
|
-
console.log(`\n📦
|
|
175
|
+
console.log(`\n📦 Creating ${col.name}...`);
|
|
176
176
|
try {
|
|
177
177
|
const collectionId = node_appwrite_1.ID.unique();
|
|
178
178
|
await databases.createCollection({
|
|
@@ -220,18 +220,18 @@ async function migrate(options) {
|
|
|
220
220
|
await delay(2000);
|
|
221
221
|
}
|
|
222
222
|
else {
|
|
223
|
-
console.log(` ⚠️ Index ${index.key}
|
|
223
|
+
console.log(` ⚠️ Index ${index.key} skipped`);
|
|
224
224
|
break;
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
created++;
|
|
230
|
-
console.log(` ✅ ${col.name}
|
|
230
|
+
console.log(` ✅ ${col.name} created`);
|
|
231
231
|
}
|
|
232
232
|
catch (error) {
|
|
233
233
|
const err = error;
|
|
234
|
-
console.error(` ❌
|
|
234
|
+
console.error(` ❌ Error: ${err.message || error}`);
|
|
235
235
|
}
|
|
236
236
|
await delay(500);
|
|
237
237
|
}
|
|
@@ -240,7 +240,7 @@ async function migrate(options) {
|
|
|
240
240
|
const allCollections = (0, parser_1.parseTypesFile)(typesPath);
|
|
241
241
|
const schemaContent = (0, parser_1.generateSchemaFile)(allCollections);
|
|
242
242
|
fs.writeFileSync(schemaPath, schemaContent);
|
|
243
|
-
console.log(`📝 schema.ts
|
|
244
|
-
console.log(`\n✨ Migration
|
|
243
|
+
console.log(`📝 schema.ts generated with ${allCollections.length} collections`);
|
|
244
|
+
console.log(`\n✨ Migration complete: ${created} created, ${skipped} skipped\n`);
|
|
245
245
|
}
|
|
246
246
|
//# sourceMappingURL=migrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA,0BAgKC;AA9OD,iDAAiF;AACjF,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AACjC,sCAA+G;AAE/G,WAAW;AACX,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAEnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,8BAA8B,CAAC;AAC1F,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;AAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;AAOpE,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAoB,EACpB,UAAkB,EAClB,YAAoB,EACpB,KAAkB;IAElB,MAAM,UAAU,GAAG;QACjB,UAAU;QACV,YAAY;QACZ,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IAEF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,qBAAqB,CAAC;gBACpC,GAAG,UAAU;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG;aACxB,CAAC,CAAC;YACH,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,OAAO;YACV,MAAM,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,MAAM;YACT,MAAM,SAAS,CAAC,mBAAmB,CAAC;gBAClC,GAAG,UAAU;gBACb,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;aACjC,CAAC,CAAC;YACH,MAAM;QACR,KAAK,UAAU;YACb,MAAM,SAAS,CAAC,qBAAqB,CAAC;gBACpC,GAAG,UAAU;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG;gBACvB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,MAAM;QACR,KAAK,WAAW;YACd,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACrC,GAAG,UAAU;gBACb,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,MAAM;QACR,KAAK,UAAU;YACb,MAAM,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM;IACV,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,OAAuB;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,36 +47,36 @@ const APPWRITE_API_KEY = process.env.APPWRITE_API_KEY || "";
|
|
|
47
47
|
const APPWRITE_DATABASE_ID = process.env.APPWRITE_DATABASE_ID || "";
|
|
48
48
|
async function status(options = {}) {
|
|
49
49
|
const targetName = options.name;
|
|
50
|
-
console.log(`\n📊 AKIS Status - ${targetName ?
|
|
50
|
+
console.log(`\n📊 AKIS Status - ${targetName ? `Status of "${targetName}"` : "Collection Status"}\n`);
|
|
51
51
|
if (!APPWRITE_API_KEY) {
|
|
52
|
-
console.error("❌ APPWRITE_API_KEY
|
|
52
|
+
console.error("❌ APPWRITE_API_KEY not configured in .env");
|
|
53
53
|
process.exit(1);
|
|
54
54
|
}
|
|
55
55
|
if (!APPWRITE_DATABASE_ID) {
|
|
56
|
-
console.error("❌ APPWRITE_DATABASE_ID
|
|
56
|
+
console.error("❌ APPWRITE_DATABASE_ID not configured in .env");
|
|
57
57
|
process.exit(1);
|
|
58
58
|
}
|
|
59
59
|
// Parse types.ts
|
|
60
60
|
const typesPath = path.resolve(process.cwd(), "core/appwrite-model/types.ts");
|
|
61
|
-
console.log(`📖
|
|
61
|
+
console.log(`📖 Reading ${typesPath}...`);
|
|
62
62
|
let expectedCollections;
|
|
63
63
|
try {
|
|
64
64
|
const allCollections = (0, parser_1.parseTypesFile)(typesPath);
|
|
65
65
|
if (targetName) {
|
|
66
66
|
expectedCollections = allCollections.filter((c) => c.name === targetName);
|
|
67
67
|
if (expectedCollections.length === 0) {
|
|
68
|
-
console.error(`❌ Collection "${targetName}"
|
|
69
|
-
console.log(`
|
|
68
|
+
console.error(`❌ Collection "${targetName}" not found in types.ts`);
|
|
69
|
+
console.log(` Available collections: ${allCollections.map((c) => c.name).join(", ")}`);
|
|
70
70
|
process.exit(1);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
74
|
expectedCollections = allCollections;
|
|
75
75
|
}
|
|
76
|
-
console.log(` ${expectedCollections.length} collection(s)
|
|
76
|
+
console.log(` ${expectedCollections.length} collection(s) to check\n`);
|
|
77
77
|
}
|
|
78
78
|
catch (error) {
|
|
79
|
-
console.error("❌
|
|
79
|
+
console.error("❌ Error reading types.ts:", error);
|
|
80
80
|
process.exit(1);
|
|
81
81
|
}
|
|
82
82
|
// Connect to Appwrite
|
|
@@ -86,7 +86,7 @@ async function status(options = {}) {
|
|
|
86
86
|
.setKey(APPWRITE_API_KEY);
|
|
87
87
|
const databases = new node_appwrite_1.Databases(client);
|
|
88
88
|
// Get existing collections
|
|
89
|
-
console.log("📡
|
|
89
|
+
console.log("📡 Connecting to Appwrite...");
|
|
90
90
|
let existingCollectionsMap = new Map();
|
|
91
91
|
try {
|
|
92
92
|
const response = await databases.listCollections({
|
|
@@ -108,15 +108,15 @@ async function status(options = {}) {
|
|
|
108
108
|
indexes: indexes.indexes.length,
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
|
-
console.log(` ${existingCollectionsMap.size} collections
|
|
111
|
+
console.log(` ${existingCollectionsMap.size} collections in Appwrite\n`);
|
|
112
112
|
}
|
|
113
113
|
catch (error) {
|
|
114
|
-
console.error("❌
|
|
114
|
+
console.error("❌ Connection error:", error);
|
|
115
115
|
process.exit(1);
|
|
116
116
|
}
|
|
117
117
|
// Compare
|
|
118
118
|
console.log("┌─────────────────────────────┬────────┬────────────┬─────────────┐");
|
|
119
|
-
console.log("│ Collection │ Status │
|
|
119
|
+
console.log("│ Collection │ Status │ Attributes │ Missing │");
|
|
120
120
|
console.log("├─────────────────────────────┼────────┼────────────┼─────────────┤");
|
|
121
121
|
let synced = 0;
|
|
122
122
|
let needsUpdate = 0;
|
|
@@ -143,9 +143,9 @@ async function status(options = {}) {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
console.log("└─────────────────────────────┴────────┴────────────┴─────────────┘");
|
|
146
|
-
console.log(`\n📈
|
|
147
|
-
console.log(` ✅ ${synced}
|
|
148
|
-
console.log(` ⚠️ ${needsUpdate}
|
|
149
|
-
console.log(` ❌ ${missing}
|
|
146
|
+
console.log(`\n📈 Summary:`);
|
|
147
|
+
console.log(` ✅ ${synced} synchronized`);
|
|
148
|
+
console.log(` ⚠️ ${needsUpdate} needs update (akis update)`);
|
|
149
|
+
console.log(` ❌ ${missing} missing (akis migrate)\n`);
|
|
150
150
|
}
|
|
151
151
|
//# sourceMappingURL=status.js.map
|