@akis05/akis 0.1.0

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 ADDED
@@ -0,0 +1,81 @@
1
+ # AKIS - Appwrite CLI Tool
2
+
3
+ CLI pour gérer les collections Appwrite depuis les types TypeScript.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm install akis
9
+ # ou
10
+ npm install akis
11
+ ```
12
+
13
+ ## Configuration
14
+
15
+ Créez un fichier `.env` avec vos variables Appwrite:
16
+
17
+ ```env
18
+ APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
19
+ APPWRITE_PROJECT_ID=votre_project_id
20
+ APPWRITE_DATABASE_ID=votre_database_id
21
+ APPWRITE_API_KEY=votre_api_key
22
+ ```
23
+
24
+ ## Utilisation
25
+
26
+ ### Initialiser le projet
27
+
28
+ ```bash
29
+ npx akis init
30
+ ```
31
+
32
+ Crée la structure:
33
+ ```
34
+ core/
35
+ └── appwrite-model/
36
+ ├── types.ts # Définitions TypeScript
37
+ ├── schema.ts # Schéma des collections
38
+ ├── client.ts # Client Appwrite
39
+ └── setup-collections.ts # Fonctions de setup
40
+ ```
41
+
42
+ ### Commandes
43
+
44
+ ```bash
45
+ # Voir l'état des collections
46
+ npx akis status
47
+ npx akis status --name clients
48
+
49
+ # Créer les collections manquantes
50
+ npx akis migrate
51
+ npx akis migrate --name clients
52
+ npx akis migrate --dry-run
53
+
54
+ # Mettre à jour les collections existantes
55
+ npx akis update
56
+ npx akis update --name clients
57
+
58
+ # Supprimer des collections
59
+ npx akis delete --name clients
60
+ npx akis delete --force
61
+ ```
62
+
63
+ ## Workflow
64
+
65
+ 1. `npx akis init` - Initialiser le projet
66
+ 2. Définir vos types dans `core/appwrite-model/types.ts`
67
+ 3. `npx akis migrate` - Créer les collections
68
+ 4. `npx akis status` - Vérifier la synchronisation
69
+
70
+ ## Types supportés
71
+
72
+ Le parser reconnaît automatiquement:
73
+ - `string` → String attribute
74
+ - `number` → Float/Integer attribute
75
+ - `boolean` → Boolean attribute
76
+ - `string[]` → String array
77
+ - Union types (`"a" | "b"`) → Enum attribute
78
+
79
+ ## License
80
+
81
+ MIT
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=akis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"akis.d.ts","sourceRoot":"","sources":["../../src/cli/akis.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const commander_1 = require("commander");
5
+ const init_1 = require("./commands/init");
6
+ const migrate_1 = require("./commands/migrate");
7
+ const update_1 = require("./commands/update");
8
+ const delete_1 = require("./commands/delete");
9
+ const status_1 = require("./commands/status");
10
+ const program = new commander_1.Command();
11
+ program
12
+ .name("akis")
13
+ .description(`
14
+ ╔═══════════════════════════════════════════════════════════════════╗
15
+ ║ AKIS - Appwrite CLI Tool ║
16
+ ╠═══════════════════════════════════════════════════════════════════╣
17
+ ║ Gérez vos collections Appwrite depuis vos types TypeScript ║
18
+ ║ ║
19
+ ║ Workflow: ║
20
+ ║ 1. pnpm akis init → Initialiser le projet ║
21
+ ║ 2. Définir vos types dans core/appwrite-model/types.ts ║
22
+ ║ 3. pnpm akis migrate → Créer les collections ║
23
+ ║ 4. pnpm akis status → Vérifier la synchronisation ║
24
+ ║ ║
25
+ ║ Variables d'environnement requises (.env): ║
26
+ ║ APPWRITE_ENDPOINT, APPWRITE_PROJECT_ID, ║
27
+ ║ APPWRITE_DATABASE_ID, APPWRITE_API_KEY ║
28
+ ╚═══════════════════════════════════════════════════════════════════╝
29
+ `)
30
+ .version("0.1.0");
31
+ program
32
+ .command("init")
33
+ .description("Initialiser le projet avec la structure core/appwrite-model/")
34
+ .option("-f, --force", "Écraser les fichiers existants")
35
+ .action(init_1.init);
36
+ program
37
+ .command("migrate")
38
+ .description("Créer les collections manquantes dans Appwrite depuis types.ts")
39
+ .option("-d, --dry-run", "Afficher les actions sans les exécuter")
40
+ .option("-n, --name <name>", "Nom de la collection à créer (ex: clients, membres)")
41
+ .action(migrate_1.migrate);
42
+ program
43
+ .command("update")
44
+ .description("Ajouter les nouveaux attributs aux collections existantes")
45
+ .option("-d, --dry-run", "Afficher les actions sans les exécuter")
46
+ .option("-n, --name <name>", "Nom de la collection à mettre à jour")
47
+ .action(update_1.update);
48
+ program
49
+ .command("delete")
50
+ .description("Supprimer des collections dans Appwrite")
51
+ .option("-f, --force", "Supprimer sans confirmation")
52
+ .option("-n, --name <name>", "Nom de la collection à supprimer (sinon toutes)")
53
+ .action(delete_1.deleteAll);
54
+ program
55
+ .command("status")
56
+ .description("Comparer les types locaux avec les collections Appwrite")
57
+ .option("-n, --name <name>", "Nom de la collection à vérifier")
58
+ .action(status_1.status);
59
+ program.addHelpText("after", `
60
+ Exemples:
61
+ $ pnpm akis init # Créer la structure du projet
62
+ $ pnpm akis migrate # Créer toutes les collections manquantes
63
+ $ pnpm akis migrate --name clients # Créer uniquement "clients"
64
+ $ pnpm akis migrate --dry-run # Voir ce qui serait créé
65
+ $ pnpm akis update --name clients # Ajouter les nouveaux champs à "clients"
66
+ $ pnpm akis status # Voir l'état de synchronisation
67
+ $ pnpm akis delete --name clients # Supprimer "clients"
68
+ $ pnpm akis delete --force # Supprimer toutes les collections
69
+ `);
70
+ program.parse();
71
+ //# sourceMappingURL=akis.js.map
@@ -0,0 +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,8DAA8D,CAAC;KAC3E,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;KACvD,MAAM,CAAC,WAAI,CAAC,CAAC;AAEhB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,eAAe,EAAE,wCAAwC,CAAC;KACjE,MAAM,CAAC,mBAAmB,EAAE,qDAAqD,CAAC;KAClF,MAAM,CAAC,iBAAO,CAAC,CAAC;AAEnB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,wCAAwC,CAAC;KACjE,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CAAC;KACnE,MAAM,CAAC,eAAM,CAAC,CAAC;AAElB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,iDAAiD,CAAC;KAC9E,MAAM,CAAC,kBAAS,CAAC,CAAC;AAErB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yDAAyD,CAAC;KACtE,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"}
@@ -0,0 +1,7 @@
1
+ interface DeleteOptions {
2
+ force?: boolean;
3
+ name?: string;
4
+ }
5
+ export declare function deleteAll(options: DeleteOptions): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"AAcA,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAoBD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,iBA+FrD"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.deleteAll = deleteAll;
37
+ const node_appwrite_1 = require("node-appwrite");
38
+ const path = __importStar(require("path"));
39
+ const dotenv = __importStar(require("dotenv"));
40
+ const readline = __importStar(require("readline"));
41
+ // Load env
42
+ dotenv.config({ path: path.resolve(process.cwd(), ".env") });
43
+ dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
44
+ const APPWRITE_ENDPOINT = process.env.APPWRITE_ENDPOINT || "https://cloud.appwrite.io/v1";
45
+ const APPWRITE_PROJECT_ID = process.env.APPWRITE_PROJECT_ID || "";
46
+ const APPWRITE_API_KEY = process.env.APPWRITE_API_KEY || "";
47
+ const APPWRITE_DATABASE_ID = process.env.APPWRITE_DATABASE_ID || "";
48
+ async function delay(ms) {
49
+ return new Promise((resolve) => setTimeout(resolve, ms));
50
+ }
51
+ async function confirm(message) {
52
+ const rl = readline.createInterface({
53
+ input: process.stdin,
54
+ output: process.stdout,
55
+ });
56
+ return new Promise((resolve) => {
57
+ rl.question(message, (answer) => {
58
+ rl.close();
59
+ resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
60
+ });
61
+ });
62
+ }
63
+ async function deleteAll(options) {
64
+ const targetName = options.name;
65
+ console.log(`\n🗑️ AKIS Delete - ${targetName ? `Suppression de "${targetName}"` : "Suppression des collections"}\n`);
66
+ if (!APPWRITE_API_KEY) {
67
+ console.error("❌ APPWRITE_API_KEY non configurée dans .env");
68
+ process.exit(1);
69
+ }
70
+ if (!APPWRITE_DATABASE_ID) {
71
+ console.error("❌ APPWRITE_DATABASE_ID non configurée dans .env");
72
+ process.exit(1);
73
+ }
74
+ // Connect to Appwrite
75
+ const client = new node_appwrite_1.Client()
76
+ .setEndpoint(APPWRITE_ENDPOINT)
77
+ .setProject(APPWRITE_PROJECT_ID)
78
+ .setKey(APPWRITE_API_KEY);
79
+ const databases = new node_appwrite_1.Databases(client);
80
+ // Get existing collections
81
+ console.log("📡 Connexion à Appwrite...");
82
+ let collections = [];
83
+ try {
84
+ const response = await databases.listCollections({
85
+ databaseId: APPWRITE_DATABASE_ID,
86
+ queries: [node_appwrite_1.Query.limit(100)],
87
+ });
88
+ if (targetName) {
89
+ collections = response.collections.filter((c) => c.name === targetName);
90
+ if (collections.length === 0) {
91
+ console.error(`❌ Collection "${targetName}" non trouvée dans Appwrite`);
92
+ console.log(` Collections disponibles: ${response.collections.map((c) => c.name).join(", ")}`);
93
+ process.exit(1);
94
+ }
95
+ }
96
+ else {
97
+ collections = response.collections;
98
+ }
99
+ console.log(` ${collections.length} collection(s) à supprimer\n`);
100
+ }
101
+ catch (error) {
102
+ console.error("❌ Erreur lors de la connexion:", error);
103
+ process.exit(1);
104
+ }
105
+ if (collections.length === 0) {
106
+ console.log("✨ Aucune collection à supprimer\n");
107
+ return;
108
+ }
109
+ // Confirm deletion
110
+ if (!options.force) {
111
+ console.log("Collection(s) à supprimer:");
112
+ for (const col of collections) {
113
+ console.log(` - ${col.name}`);
114
+ }
115
+ console.log("");
116
+ const confirmMsg = targetName
117
+ ? `⚠️ Êtes-vous sûr de vouloir supprimer "${targetName}"? (y/N) `
118
+ : "⚠️ Êtes-vous sûr de vouloir supprimer TOUTES ces collections? (y/N) ";
119
+ const confirmed = await confirm(confirmMsg);
120
+ if (!confirmed) {
121
+ console.log("\n❌ Suppression annulée\n");
122
+ return;
123
+ }
124
+ }
125
+ // Delete collections
126
+ let deleted = 0;
127
+ let errors = 0;
128
+ console.log("\n🗑️ Suppression en cours...\n");
129
+ for (const col of collections) {
130
+ try {
131
+ await databases.deleteCollection({
132
+ databaseId: APPWRITE_DATABASE_ID,
133
+ collectionId: col.$id,
134
+ });
135
+ console.log(` ✓ ${col.name}`);
136
+ deleted++;
137
+ await delay(200);
138
+ }
139
+ catch (error) {
140
+ const err = error;
141
+ console.log(` ✗ ${col.name}: ${err.message || error}`);
142
+ errors++;
143
+ }
144
+ }
145
+ console.log(`\n✨ Suppression terminée: ${deleted} supprimée(s), ${errors} erreur(s)\n`);
146
+ }
147
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface InitOptions {
2
+ force?: boolean;
3
+ }
4
+ export declare function init(options: InitOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +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,iBA2F9C"}