@akis05/akis 0.1.10 → 0.1.12
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
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
- **Synchronization**: Detects differences between your types and Appwrite
|
|
9
9
|
- **Auto-generated schema**: The `schema.ts` file is automatically generated during migration
|
|
10
10
|
- **Automatic indexes**: Creates indexes for common fields (storeId, email, etc.)
|
|
11
|
+
- **Users permissions**: Collections are created with CRUD permissions for authenticated users
|
|
11
12
|
- **Dry-run mode**: Preview changes before applying them
|
|
12
13
|
|
|
13
14
|
---
|
|
@@ -131,6 +132,35 @@ npx akis status
|
|
|
131
132
|
|
|
132
133
|
---
|
|
133
134
|
|
|
135
|
+
## How it Works
|
|
136
|
+
|
|
137
|
+
### Collection IDs
|
|
138
|
+
When AKIS creates collections in Appwrite, it uses the collection name as the collection ID:
|
|
139
|
+
- `Client` type → collection ID: `clients`
|
|
140
|
+
- `Store` type → collection ID: `stores`
|
|
141
|
+
- `MouvementStock` type → collection ID: `mouvements_stock`
|
|
142
|
+
|
|
143
|
+
This makes it easy to reference collections by their predictable IDs.
|
|
144
|
+
|
|
145
|
+
### Automatic Permissions
|
|
146
|
+
When AKIS creates a new collection, it automatically sets the following permissions:
|
|
147
|
+
|
|
148
|
+
| Permission | Role | Description |
|
|
149
|
+
|------------|------|-------------|
|
|
150
|
+
| Create | Users | Authenticated users can create documents |
|
|
151
|
+
| Read | Users | Authenticated users can read documents |
|
|
152
|
+
| Update | Users | Authenticated users can update documents |
|
|
153
|
+
| Delete | Users | Authenticated users can delete documents |
|
|
154
|
+
|
|
155
|
+
All collections are created with `documentSecurity: false` (collection-level permissions).
|
|
156
|
+
|
|
157
|
+
### Automatic Indexes
|
|
158
|
+
AKIS creates the following indexes automatically:
|
|
159
|
+
- `storeId` index on all collections (if field exists)
|
|
160
|
+
- Indexes for common fields: `email`, `clientId`, `produitId`, `dossierId`, `employeId`, `statut`, `type`, etc.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
134
164
|
## Commands
|
|
135
165
|
|
|
136
166
|
### `akis init`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"AAeA,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA4DD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"AAeA,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA4DD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,iBAoKpD"}
|
|
@@ -174,18 +174,22 @@ async function migrate(options) {
|
|
|
174
174
|
}
|
|
175
175
|
console.log(`\n📦 Creating ${col.name}...`);
|
|
176
176
|
try {
|
|
177
|
-
const collectionId = node_appwrite_1.ID.unique();
|
|
178
177
|
await databases.createCollection({
|
|
179
178
|
databaseId: APPWRITE_DATABASE_ID,
|
|
180
|
-
collectionId,
|
|
179
|
+
collectionId: col.name,
|
|
181
180
|
name: col.name,
|
|
182
|
-
permissions: [
|
|
181
|
+
permissions: [
|
|
182
|
+
node_appwrite_1.Permission.create(node_appwrite_1.Role.users()),
|
|
183
|
+
node_appwrite_1.Permission.read(node_appwrite_1.Role.users()),
|
|
184
|
+
node_appwrite_1.Permission.update(node_appwrite_1.Role.users()),
|
|
185
|
+
node_appwrite_1.Permission.delete(node_appwrite_1.Role.users()),
|
|
186
|
+
],
|
|
183
187
|
documentSecurity: false,
|
|
184
188
|
});
|
|
185
189
|
// Create attributes
|
|
186
190
|
for (const field of col.fields) {
|
|
187
191
|
try {
|
|
188
|
-
await createAttribute(databases, APPWRITE_DATABASE_ID,
|
|
192
|
+
await createAttribute(databases, APPWRITE_DATABASE_ID, col.name, field);
|
|
189
193
|
console.log(` ✓ ${field.key}`);
|
|
190
194
|
await delay(300);
|
|
191
195
|
}
|
|
@@ -204,7 +208,7 @@ async function migrate(options) {
|
|
|
204
208
|
try {
|
|
205
209
|
await databases.createIndex({
|
|
206
210
|
databaseId: APPWRITE_DATABASE_ID,
|
|
207
|
-
collectionId,
|
|
211
|
+
collectionId: col.name,
|
|
208
212
|
key: index.key,
|
|
209
213
|
type: node_appwrite_1.DatabasesIndexType.Key,
|
|
210
214
|
attributes: index.attributes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"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"}
|