appwrite-utils-cli 1.9.7 → 1.11.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/CONFIG_TODO.md +1189 -1189
- package/README.md +1004 -1004
- package/SELECTION_DIALOGS.md +145 -145
- package/SERVICE_IMPLEMENTATION_REPORT.md +462 -462
- package/package.json +6 -3
- package/scripts/copy-templates.ts +23 -23
- package/src/adapters/index.ts +11 -37
- package/src/backups/operations/bucketBackup.ts +277 -277
- package/src/backups/operations/collectionBackup.ts +310 -310
- package/src/backups/operations/comprehensiveBackup.ts +342 -342
- package/src/backups/schemas/bucketManifest.ts +78 -78
- package/src/backups/schemas/comprehensiveManifest.ts +76 -76
- package/src/backups/tracking/centralizedTracking.ts +352 -352
- package/src/cli/commands/configCommands.ts +265 -201
- package/src/cli/commands/databaseCommands.ts +931 -879
- package/src/cli/commands/functionCommands.ts +333 -332
- package/src/cli/commands/importFileCommands.ts +815 -0
- package/src/cli/commands/schemaCommands.ts +141 -141
- package/src/cli/commands/storageCommands.ts +2 -3
- package/src/cli/commands/transferCommands.ts +454 -457
- package/src/collections/attributes.ts.backup +1555 -1555
- package/src/collections/{attributes.ts → columns.ts} +15 -10
- package/src/collections/indexes.ts +350 -352
- package/src/collections/methods.ts +714 -700
- package/src/collections/tableOperations.ts +29 -8
- package/src/collections/transferOperations.ts +376 -377
- package/src/collections/wipeOperations.ts +449 -346
- package/src/databases/methods.ts +49 -49
- package/src/databases/setup.ts +77 -77
- package/src/examples/yamlTerminologyExample.ts +346 -346
- package/src/functions/deployments.ts +221 -220
- package/src/functions/fnConfigDiscovery.ts +2 -2
- package/src/functions/methods.ts +284 -284
- package/src/functions/templates/count-docs-in-collection/README.md +53 -53
- package/src/functions/templates/count-docs-in-collection/src/main.ts +159 -159
- package/src/functions/templates/count-docs-in-collection/src/request.ts +8 -8
- package/src/functions/templates/hono-typescript/README.md +285 -285
- package/src/functions/templates/hono-typescript/src/adapters/request.ts +73 -73
- package/src/functions/templates/hono-typescript/src/adapters/response.ts +105 -105
- package/src/functions/templates/hono-typescript/src/app.ts +179 -179
- package/src/functions/templates/hono-typescript/src/context.ts +102 -102
- package/src/functions/templates/hono-typescript/src/{index.ts → main.ts} +53 -53
- package/src/functions/templates/hono-typescript/src/middleware/appwrite.ts +118 -118
- package/src/functions/templates/typescript-node/README.md +31 -31
- package/src/functions/templates/typescript-node/src/context.ts +102 -102
- package/src/functions/templates/typescript-node/src/{index.ts → main.ts} +29 -29
- package/src/functions/templates/uv/README.md +30 -30
- package/src/functions/templates/uv/pyproject.toml +29 -29
- package/src/functions/templates/uv/src/context.py +124 -124
- package/src/functions/templates/uv/src/{index.py → main.py} +45 -45
- package/src/init.ts +62 -62
- package/src/interactiveCLI.ts +1095 -1030
- package/src/main.ts +1517 -1670
- package/src/migrations/afterImportActions.ts +579 -580
- package/src/migrations/appwriteToX.ts +634 -630
- package/src/migrations/comprehensiveTransfer.ts +2149 -2149
- package/src/migrations/dataLoader.ts +1729 -1702
- package/src/migrations/importController.ts +440 -428
- package/src/migrations/importDataActions.ts +315 -315
- package/src/migrations/relationships.ts +333 -334
- package/src/migrations/services/DataTransformationService.ts +195 -195
- package/src/migrations/services/FileHandlerService.ts +310 -310
- package/src/migrations/services/ImportOrchestrator.ts +674 -665
- package/src/migrations/services/RateLimitManager.ts +362 -362
- package/src/migrations/services/RelationshipResolver.ts +460 -460
- package/src/migrations/services/UserMappingService.ts +344 -344
- package/src/migrations/services/ValidationService.ts +333 -333
- package/src/migrations/transfer.ts +987 -942
- package/src/migrations/yaml/YamlImportConfigLoader.ts +438 -438
- package/src/migrations/yaml/YamlImportIntegration.ts +438 -438
- package/src/migrations/yaml/generateImportSchemas.ts +1347 -1347
- package/src/schemas/authUser.ts +23 -23
- package/src/setup.ts +8 -8
- package/src/setupCommands.ts +5 -6
- package/src/setupController.ts +42 -42
- package/src/shared/backupMetadataSchema.ts +93 -93
- package/src/shared/backupTracking.ts +211 -211
- package/src/shared/confirmationDialogs.ts +326 -326
- package/src/shared/migrationHelpers.ts +232 -232
- package/src/shared/operationLogger.ts +20 -20
- package/src/shared/operationQueue.ts +326 -327
- package/src/shared/operationsTable.ts +338 -338
- package/src/shared/operationsTableSchema.ts +60 -60
- package/src/shared/progressManager.ts +277 -277
- package/src/shared/relationshipExtractor.ts +214 -214
- package/src/shared/selectionDialogs.ts +775 -722
- package/src/storage/backupCompression.ts +88 -88
- package/src/storage/methods.ts +695 -682
- package/src/storage/schemas.ts +205 -205
- package/src/tables/indexManager.ts +408 -408
- package/src/types/node-appwrite-tablesdb.d.ts +43 -43
- package/src/types.ts +9 -9
- package/src/users/methods.ts +358 -359
- package/src/utils/configMigration.ts +347 -347
- package/src/utils/index.ts +2 -2
- package/src/utils/loadConfigs.ts +457 -449
- package/src/utils/setupFiles.ts +1236 -1238
- package/src/utilsController.ts +1263 -1213
- package/tests/README.md +496 -496
- package/tests/adapters/AdapterFactory.test.ts +276 -276
- package/tests/integration/syncOperations.test.ts +462 -462
- package/tests/jest.config.js +24 -24
- package/tests/migration/configMigration.test.ts +545 -545
- package/tests/setup.ts +61 -61
- package/tests/testUtils.ts +339 -339
- package/tests/utils/loadConfigs.test.ts +349 -349
- package/tests/validation/configValidation.test.ts +411 -411
- package/tsconfig.json +44 -44
- package/.appwrite/.yaml_schemas/appwrite-config.schema.json +0 -380
- package/.appwrite/.yaml_schemas/collection.schema.json +0 -255
- package/.appwrite/collections/Categories.yaml +0 -182
- package/.appwrite/collections/ExampleCollection.yaml +0 -36
- package/.appwrite/collections/Posts.yaml +0 -227
- package/.appwrite/collections/Users.yaml +0 -149
- package/.appwrite/config.yaml +0 -109
- package/.appwrite/import/README.md +0 -148
- package/.appwrite/import/categories-import.yaml +0 -129
- package/.appwrite/import/posts-import.yaml +0 -208
- package/.appwrite/import/users-import.yaml +0 -130
- package/.appwrite/importData/categories.json +0 -194
- package/.appwrite/importData/posts.json +0 -270
- package/.appwrite/importData/users.json +0 -220
- package/.appwrite/schemas/categories.json +0 -128
- package/.appwrite/schemas/exampleCollection.json +0 -52
- package/.appwrite/schemas/posts.json +0 -173
- package/.appwrite/schemas/users.json +0 -125
- package/dist/adapters/AdapterFactory.d.ts +0 -94
- package/dist/adapters/AdapterFactory.js +0 -420
- package/dist/adapters/DatabaseAdapter.d.ts +0 -243
- package/dist/adapters/DatabaseAdapter.js +0 -50
- package/dist/adapters/LegacyAdapter.d.ts +0 -50
- package/dist/adapters/LegacyAdapter.js +0 -615
- package/dist/adapters/TablesDBAdapter.d.ts +0 -45
- package/dist/adapters/TablesDBAdapter.js +0 -611
- package/dist/adapters/index.d.ts +0 -11
- package/dist/adapters/index.js +0 -12
- package/dist/backups/operations/bucketBackup.d.ts +0 -19
- package/dist/backups/operations/bucketBackup.js +0 -197
- package/dist/backups/operations/collectionBackup.d.ts +0 -30
- package/dist/backups/operations/collectionBackup.js +0 -201
- package/dist/backups/operations/comprehensiveBackup.d.ts +0 -25
- package/dist/backups/operations/comprehensiveBackup.js +0 -238
- package/dist/backups/schemas/bucketManifest.d.ts +0 -93
- package/dist/backups/schemas/bucketManifest.js +0 -33
- package/dist/backups/schemas/comprehensiveManifest.d.ts +0 -108
- package/dist/backups/schemas/comprehensiveManifest.js +0 -32
- package/dist/backups/tracking/centralizedTracking.d.ts +0 -34
- package/dist/backups/tracking/centralizedTracking.js +0 -274
- package/dist/cli/commands/configCommands.d.ts +0 -8
- package/dist/cli/commands/configCommands.js +0 -166
- package/dist/cli/commands/databaseCommands.d.ts +0 -14
- package/dist/cli/commands/databaseCommands.js +0 -644
- package/dist/cli/commands/functionCommands.d.ts +0 -7
- package/dist/cli/commands/functionCommands.js +0 -330
- package/dist/cli/commands/schemaCommands.d.ts +0 -7
- package/dist/cli/commands/schemaCommands.js +0 -169
- package/dist/cli/commands/storageCommands.d.ts +0 -5
- package/dist/cli/commands/storageCommands.js +0 -143
- package/dist/cli/commands/transferCommands.d.ts +0 -5
- package/dist/cli/commands/transferCommands.js +0 -384
- package/dist/collections/attributes.d.ts +0 -13
- package/dist/collections/attributes.js +0 -1333
- package/dist/collections/indexes.d.ts +0 -12
- package/dist/collections/indexes.js +0 -217
- package/dist/collections/methods.d.ts +0 -19
- package/dist/collections/methods.js +0 -587
- package/dist/collections/tableOperations.d.ts +0 -86
- package/dist/collections/tableOperations.js +0 -447
- package/dist/collections/transferOperations.d.ts +0 -8
- package/dist/collections/transferOperations.js +0 -412
- package/dist/collections/wipeOperations.d.ts +0 -16
- package/dist/collections/wipeOperations.js +0 -233
- package/dist/config/ConfigManager.d.ts +0 -450
- package/dist/config/ConfigManager.js +0 -650
- package/dist/config/configMigration.d.ts +0 -87
- package/dist/config/configMigration.js +0 -390
- package/dist/config/configValidation.d.ts +0 -66
- package/dist/config/configValidation.js +0 -358
- package/dist/config/index.d.ts +0 -8
- package/dist/config/index.js +0 -7
- package/dist/config/services/ConfigDiscoveryService.d.ts +0 -122
- package/dist/config/services/ConfigDiscoveryService.js +0 -322
- package/dist/config/services/ConfigLoaderService.d.ts +0 -129
- package/dist/config/services/ConfigLoaderService.js +0 -535
- package/dist/config/services/ConfigMergeService.d.ts +0 -208
- package/dist/config/services/ConfigMergeService.js +0 -308
- package/dist/config/services/ConfigValidationService.d.ts +0 -214
- package/dist/config/services/ConfigValidationService.js +0 -310
- package/dist/config/services/SessionAuthService.d.ts +0 -225
- package/dist/config/services/SessionAuthService.js +0 -456
- package/dist/config/services/__tests__/ConfigMergeService.test.d.ts +0 -1
- package/dist/config/services/__tests__/ConfigMergeService.test.js +0 -271
- package/dist/config/services/index.d.ts +0 -13
- package/dist/config/services/index.js +0 -10
- package/dist/config/yamlConfig.d.ts +0 -722
- package/dist/config/yamlConfig.js +0 -702
- package/dist/databases/methods.d.ts +0 -6
- package/dist/databases/methods.js +0 -35
- package/dist/databases/setup.d.ts +0 -5
- package/dist/databases/setup.js +0 -45
- package/dist/examples/yamlTerminologyExample.d.ts +0 -42
- package/dist/examples/yamlTerminologyExample.js +0 -272
- package/dist/functions/deployments.d.ts +0 -4
- package/dist/functions/deployments.js +0 -146
- package/dist/functions/fnConfigDiscovery.d.ts +0 -3
- package/dist/functions/fnConfigDiscovery.js +0 -108
- package/dist/functions/methods.d.ts +0 -16
- package/dist/functions/methods.js +0 -174
- package/dist/functions/pathResolution.d.ts +0 -37
- package/dist/functions/pathResolution.js +0 -185
- package/dist/functions/templates/count-docs-in-collection/README.md +0 -54
- package/dist/functions/templates/count-docs-in-collection/package.json +0 -25
- package/dist/functions/templates/count-docs-in-collection/src/main.ts +0 -159
- package/dist/functions/templates/count-docs-in-collection/src/request.ts +0 -9
- package/dist/functions/templates/count-docs-in-collection/tsconfig.json +0 -28
- package/dist/functions/templates/hono-typescript/README.md +0 -286
- package/dist/functions/templates/hono-typescript/package.json +0 -26
- package/dist/functions/templates/hono-typescript/src/adapters/request.ts +0 -74
- package/dist/functions/templates/hono-typescript/src/adapters/response.ts +0 -106
- package/dist/functions/templates/hono-typescript/src/app.ts +0 -180
- package/dist/functions/templates/hono-typescript/src/context.ts +0 -103
- package/dist/functions/templates/hono-typescript/src/index.ts +0 -54
- package/dist/functions/templates/hono-typescript/src/middleware/appwrite.ts +0 -119
- package/dist/functions/templates/hono-typescript/tsconfig.json +0 -20
- package/dist/functions/templates/typescript-node/README.md +0 -32
- package/dist/functions/templates/typescript-node/package.json +0 -25
- package/dist/functions/templates/typescript-node/src/context.ts +0 -103
- package/dist/functions/templates/typescript-node/src/index.ts +0 -29
- package/dist/functions/templates/typescript-node/tsconfig.json +0 -28
- package/dist/functions/templates/uv/README.md +0 -31
- package/dist/functions/templates/uv/pyproject.toml +0 -30
- package/dist/functions/templates/uv/src/__init__.py +0 -0
- package/dist/functions/templates/uv/src/context.py +0 -125
- package/dist/functions/templates/uv/src/index.py +0 -46
- package/dist/init.d.ts +0 -2
- package/dist/init.js +0 -57
- package/dist/interactiveCLI.d.ts +0 -31
- package/dist/interactiveCLI.js +0 -898
- package/dist/main.d.ts +0 -2
- package/dist/main.js +0 -1180
- package/dist/migrations/afterImportActions.d.ts +0 -17
- package/dist/migrations/afterImportActions.js +0 -306
- package/dist/migrations/appwriteToX.d.ts +0 -211
- package/dist/migrations/appwriteToX.js +0 -491
- package/dist/migrations/comprehensiveTransfer.d.ts +0 -147
- package/dist/migrations/comprehensiveTransfer.js +0 -1317
- package/dist/migrations/dataLoader.d.ts +0 -753
- package/dist/migrations/dataLoader.js +0 -1250
- package/dist/migrations/importController.d.ts +0 -23
- package/dist/migrations/importController.js +0 -268
- package/dist/migrations/importDataActions.d.ts +0 -50
- package/dist/migrations/importDataActions.js +0 -230
- package/dist/migrations/relationships.d.ts +0 -29
- package/dist/migrations/relationships.js +0 -204
- package/dist/migrations/services/DataTransformationService.d.ts +0 -55
- package/dist/migrations/services/DataTransformationService.js +0 -158
- package/dist/migrations/services/FileHandlerService.d.ts +0 -75
- package/dist/migrations/services/FileHandlerService.js +0 -236
- package/dist/migrations/services/ImportOrchestrator.d.ts +0 -97
- package/dist/migrations/services/ImportOrchestrator.js +0 -485
- package/dist/migrations/services/RateLimitManager.d.ts +0 -138
- package/dist/migrations/services/RateLimitManager.js +0 -279
- package/dist/migrations/services/RelationshipResolver.d.ts +0 -120
- package/dist/migrations/services/RelationshipResolver.js +0 -332
- package/dist/migrations/services/UserMappingService.d.ts +0 -109
- package/dist/migrations/services/UserMappingService.js +0 -277
- package/dist/migrations/services/ValidationService.d.ts +0 -74
- package/dist/migrations/services/ValidationService.js +0 -260
- package/dist/migrations/transfer.d.ts +0 -26
- package/dist/migrations/transfer.js +0 -608
- package/dist/migrations/yaml/YamlImportConfigLoader.d.ts +0 -131
- package/dist/migrations/yaml/YamlImportConfigLoader.js +0 -383
- package/dist/migrations/yaml/YamlImportIntegration.d.ts +0 -93
- package/dist/migrations/yaml/YamlImportIntegration.js +0 -341
- package/dist/migrations/yaml/generateImportSchemas.d.ts +0 -30
- package/dist/migrations/yaml/generateImportSchemas.js +0 -1327
- package/dist/schemas/authUser.d.ts +0 -24
- package/dist/schemas/authUser.js +0 -17
- package/dist/setup.d.ts +0 -2
- package/dist/setup.js +0 -5
- package/dist/setupCommands.d.ts +0 -58
- package/dist/setupCommands.js +0 -490
- package/dist/setupController.d.ts +0 -9
- package/dist/setupController.js +0 -34
- package/dist/shared/attributeMapper.d.ts +0 -20
- package/dist/shared/attributeMapper.js +0 -203
- package/dist/shared/backupMetadataSchema.d.ts +0 -94
- package/dist/shared/backupMetadataSchema.js +0 -38
- package/dist/shared/backupTracking.d.ts +0 -18
- package/dist/shared/backupTracking.js +0 -176
- package/dist/shared/confirmationDialogs.d.ts +0 -75
- package/dist/shared/confirmationDialogs.js +0 -236
- package/dist/shared/errorUtils.d.ts +0 -54
- package/dist/shared/errorUtils.js +0 -95
- package/dist/shared/functionManager.d.ts +0 -48
- package/dist/shared/functionManager.js +0 -348
- package/dist/shared/jsonSchemaGenerator.d.ts +0 -50
- package/dist/shared/jsonSchemaGenerator.js +0 -290
- package/dist/shared/logging.d.ts +0 -61
- package/dist/shared/logging.js +0 -116
- package/dist/shared/messageFormatter.d.ts +0 -39
- package/dist/shared/messageFormatter.js +0 -162
- package/dist/shared/migrationHelpers.d.ts +0 -61
- package/dist/shared/migrationHelpers.js +0 -145
- package/dist/shared/operationLogger.d.ts +0 -10
- package/dist/shared/operationLogger.js +0 -12
- package/dist/shared/operationQueue.d.ts +0 -40
- package/dist/shared/operationQueue.js +0 -311
- package/dist/shared/operationsTable.d.ts +0 -26
- package/dist/shared/operationsTable.js +0 -286
- package/dist/shared/operationsTableSchema.d.ts +0 -48
- package/dist/shared/operationsTableSchema.js +0 -35
- package/dist/shared/progressManager.d.ts +0 -62
- package/dist/shared/progressManager.js +0 -215
- package/dist/shared/pydanticModelGenerator.d.ts +0 -17
- package/dist/shared/pydanticModelGenerator.js +0 -615
- package/dist/shared/relationshipExtractor.d.ts +0 -56
- package/dist/shared/relationshipExtractor.js +0 -138
- package/dist/shared/schemaGenerator.d.ts +0 -40
- package/dist/shared/schemaGenerator.js +0 -556
- package/dist/shared/selectionDialogs.d.ts +0 -214
- package/dist/shared/selectionDialogs.js +0 -544
- package/dist/storage/backupCompression.d.ts +0 -20
- package/dist/storage/backupCompression.js +0 -67
- package/dist/storage/methods.d.ts +0 -32
- package/dist/storage/methods.js +0 -472
- package/dist/storage/schemas.d.ts +0 -842
- package/dist/storage/schemas.js +0 -175
- package/dist/tables/indexManager.d.ts +0 -65
- package/dist/tables/indexManager.js +0 -294
- package/dist/types.d.ts +0 -4
- package/dist/types.js +0 -3
- package/dist/users/methods.d.ts +0 -16
- package/dist/users/methods.js +0 -277
- package/dist/utils/ClientFactory.d.ts +0 -87
- package/dist/utils/ClientFactory.js +0 -212
- package/dist/utils/configDiscovery.d.ts +0 -78
- package/dist/utils/configDiscovery.js +0 -472
- package/dist/utils/configMigration.d.ts +0 -1
- package/dist/utils/configMigration.js +0 -261
- package/dist/utils/constantsGenerator.d.ts +0 -31
- package/dist/utils/constantsGenerator.js +0 -321
- package/dist/utils/dataConverters.d.ts +0 -46
- package/dist/utils/dataConverters.js +0 -139
- package/dist/utils/directoryUtils.d.ts +0 -22
- package/dist/utils/directoryUtils.js +0 -59
- package/dist/utils/getClientFromConfig.d.ts +0 -39
- package/dist/utils/getClientFromConfig.js +0 -199
- package/dist/utils/helperFunctions.d.ts +0 -63
- package/dist/utils/helperFunctions.js +0 -156
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -2
- package/dist/utils/loadConfigs.d.ts +0 -50
- package/dist/utils/loadConfigs.js +0 -358
- package/dist/utils/pathResolvers.d.ts +0 -53
- package/dist/utils/pathResolvers.js +0 -72
- package/dist/utils/projectConfig.d.ts +0 -122
- package/dist/utils/projectConfig.js +0 -206
- package/dist/utils/retryFailedPromises.d.ts +0 -2
- package/dist/utils/retryFailedPromises.js +0 -23
- package/dist/utils/sessionAuth.d.ts +0 -48
- package/dist/utils/sessionAuth.js +0 -164
- package/dist/utils/setupFiles.d.ts +0 -4
- package/dist/utils/setupFiles.js +0 -1192
- package/dist/utils/typeGuards.d.ts +0 -35
- package/dist/utils/typeGuards.js +0 -57
- package/dist/utils/validationRules.d.ts +0 -43
- package/dist/utils/validationRules.js +0 -42
- package/dist/utils/versionDetection.d.ts +0 -58
- package/dist/utils/versionDetection.js +0 -251
- package/dist/utils/yamlConverter.d.ts +0 -100
- package/dist/utils/yamlConverter.js +0 -428
- package/dist/utils/yamlLoader.d.ts +0 -70
- package/dist/utils/yamlLoader.js +0 -267
- package/dist/utilsController.d.ts +0 -107
- package/dist/utilsController.js +0 -873
- package/src/adapters/AdapterFactory.ts +0 -529
- package/src/adapters/DatabaseAdapter.ts +0 -319
- package/src/adapters/LegacyAdapter.ts +0 -844
- package/src/adapters/TablesDBAdapter.ts +0 -823
- package/src/config/ConfigManager.ts +0 -849
- package/src/config/README.md +0 -274
- package/src/config/configMigration.ts +0 -575
- package/src/config/configValidation.ts +0 -445
- package/src/config/index.ts +0 -10
- package/src/config/services/ConfigDiscoveryService.ts +0 -410
- package/src/config/services/ConfigLoaderService.ts +0 -732
- package/src/config/services/ConfigMergeService.ts +0 -388
- package/src/config/services/ConfigValidationService.ts +0 -394
- package/src/config/services/SessionAuthService.ts +0 -565
- package/src/config/services/__tests__/ConfigMergeService.test.ts +0 -351
- package/src/config/services/index.ts +0 -29
- package/src/config/yamlConfig.ts +0 -761
- package/src/functions/pathResolution.ts +0 -227
- package/src/functions/templates/count-docs-in-collection/package.json +0 -25
- package/src/functions/templates/count-docs-in-collection/tsconfig.json +0 -28
- package/src/functions/templates/hono-typescript/package.json +0 -26
- package/src/functions/templates/hono-typescript/tsconfig.json +0 -20
- package/src/functions/templates/typescript-node/package.json +0 -25
- package/src/functions/templates/typescript-node/tsconfig.json +0 -28
- package/src/shared/attributeMapper.ts +0 -229
- package/src/shared/errorUtils.ts +0 -110
- package/src/shared/functionManager.ts +0 -537
- package/src/shared/jsonSchemaGenerator.ts +0 -383
- package/src/shared/logging.ts +0 -149
- package/src/shared/messageFormatter.ts +0 -208
- package/src/shared/pydanticModelGenerator.ts +0 -618
- package/src/shared/schemaGenerator.ts +0 -644
- package/src/utils/ClientFactory.ts +0 -240
- package/src/utils/configDiscovery.ts +0 -557
- package/src/utils/constantsGenerator.ts +0 -369
- package/src/utils/dataConverters.ts +0 -159
- package/src/utils/directoryUtils.ts +0 -61
- package/src/utils/getClientFromConfig.ts +0 -257
- package/src/utils/helperFunctions.ts +0 -228
- package/src/utils/pathResolvers.ts +0 -81
- package/src/utils/projectConfig.ts +0 -340
- package/src/utils/retryFailedPromises.ts +0 -29
- package/src/utils/sessionAuth.ts +0 -230
- package/src/utils/typeGuards.ts +0 -65
- package/src/utils/validationRules.ts +0 -88
- package/src/utils/versionDetection.ts +0 -292
- package/src/utils/yamlConverter.ts +0 -542
- package/src/utils/yamlLoader.ts +0 -371
- package/tmp-sync-test/.appwrite/collections/TestCollection.yaml +0 -7
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import inquirer from "inquirer";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import chalk from "chalk";
|
|
4
|
-
import { MessageFormatter } from
|
|
5
|
-
import { SchemaGenerator } from
|
|
6
|
-
import { setupDirsFiles } from "../../utils/setupFiles.js";
|
|
7
|
-
import { fetchAllDatabases } from "../../databases/methods.js";
|
|
8
|
-
import type { InteractiveCLI } from "../../interactiveCLI.js";
|
|
9
|
-
|
|
10
|
-
export const schemaCommands = {
|
|
11
|
-
async generateSchemas(cli: InteractiveCLI): Promise<void> {
|
|
12
|
-
MessageFormatter.progress("Generating schemas...", { prefix: "Schemas" });
|
|
13
|
-
|
|
14
|
-
// Prompt user for schema type preference
|
|
1
|
+
import inquirer from "inquirer";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { MessageFormatter } from 'appwrite-utils-helpers';
|
|
5
|
+
import { SchemaGenerator } from 'appwrite-utils-helpers';
|
|
6
|
+
import { setupDirsFiles } from "../../utils/setupFiles.js";
|
|
7
|
+
import { fetchAllDatabases } from "../../databases/methods.js";
|
|
8
|
+
import type { InteractiveCLI } from "../../interactiveCLI.js";
|
|
9
|
+
|
|
10
|
+
export const schemaCommands = {
|
|
11
|
+
async generateSchemas(cli: InteractiveCLI): Promise<void> {
|
|
12
|
+
MessageFormatter.progress("Generating schemas...", { prefix: "Schemas" });
|
|
13
|
+
|
|
14
|
+
// Prompt user for schema type preference
|
|
15
15
|
const { schemaType } = await inquirer.prompt([
|
|
16
16
|
{
|
|
17
17
|
type: "list",
|
|
@@ -27,14 +27,14 @@ export const schemaCommands = {
|
|
|
27
27
|
default: "all",
|
|
28
28
|
},
|
|
29
29
|
]);
|
|
30
|
-
|
|
31
|
-
// Get the config folder path (where the config file is located)
|
|
32
|
-
const configFolderPath = (cli as any).controller!.getAppwriteFolderPath();
|
|
33
|
-
if (!configFolderPath) {
|
|
34
|
-
MessageFormatter.error("Failed to get config folder path", undefined, { prefix: "Schemas" });
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
30
|
+
|
|
31
|
+
// Get the config folder path (where the config file is located)
|
|
32
|
+
const configFolderPath = (cli as any).controller!.getAppwriteFolderPath();
|
|
33
|
+
if (!configFolderPath) {
|
|
34
|
+
MessageFormatter.error("Failed to get config folder path", undefined, { prefix: "Schemas" });
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
38
|
// Prompt for schema output directory (optional override)
|
|
39
39
|
const defaultSchemaOut = path.join(configFolderPath, (cli as any).controller!.config?.schemaConfig?.outputDirectory || 'schemas');
|
|
40
40
|
const { schemaOutDir } = await inquirer.prompt([
|
|
@@ -51,40 +51,40 @@ export const schemaCommands = {
|
|
|
51
51
|
const schemaGenerator = new SchemaGenerator((cli as any).controller!.config!, configFolderPath);
|
|
52
52
|
const outDirRel = path.isAbsolute(schemaOutDir) ? schemaOutDir : path.relative(configFolderPath, schemaOutDir);
|
|
53
53
|
await schemaGenerator.generateSchemas({ format: schemaType as any, verbose: true, outputDir: outDirRel });
|
|
54
|
-
|
|
55
|
-
MessageFormatter.success("Schema generation completed", { prefix: "Schemas" });
|
|
56
|
-
},
|
|
57
|
-
|
|
54
|
+
|
|
55
|
+
MessageFormatter.success("Schema generation completed", { prefix: "Schemas" });
|
|
56
|
+
},
|
|
57
|
+
|
|
58
58
|
async generateConstants(cli: InteractiveCLI): Promise<void> {
|
|
59
|
-
MessageFormatter.progress("Generating cross-language constants...", { prefix: "Constants" });
|
|
60
|
-
|
|
61
|
-
if (!(cli as any).controller?.config) {
|
|
62
|
-
MessageFormatter.error("No configuration found", undefined, { prefix: "Constants" });
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
|
|
59
|
+
MessageFormatter.progress("Generating cross-language constants...", { prefix: "Constants" });
|
|
60
|
+
|
|
61
|
+
if (!(cli as any).controller?.config) {
|
|
62
|
+
MessageFormatter.error("No configuration found", undefined, { prefix: "Constants" });
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
66
|
// Prompt for languages
|
|
67
67
|
const { languages } = await inquirer.prompt([
|
|
68
|
-
{
|
|
69
|
-
type: "checkbox",
|
|
70
|
-
name: "languages",
|
|
71
|
-
message: "Select languages for constants generation:",
|
|
72
|
-
choices: [
|
|
73
|
-
{ name: "TypeScript", value: "typescript", checked: true },
|
|
74
|
-
{ name: "JavaScript", value: "javascript" },
|
|
75
|
-
{ name: "Python", value: "python" },
|
|
76
|
-
{ name: "PHP", value: "php" },
|
|
77
|
-
{ name: "Dart", value: "dart" },
|
|
78
|
-
{ name: "JSON", value: "json" },
|
|
79
|
-
{ name: "Environment Variables", value: "env" },
|
|
80
|
-
],
|
|
81
|
-
validate: (input) => {
|
|
82
|
-
if (input.length === 0) {
|
|
83
|
-
return "Please select at least one language";
|
|
84
|
-
}
|
|
85
|
-
return true;
|
|
86
|
-
},
|
|
87
|
-
},
|
|
68
|
+
{
|
|
69
|
+
type: "checkbox",
|
|
70
|
+
name: "languages",
|
|
71
|
+
message: "Select languages for constants generation:",
|
|
72
|
+
choices: [
|
|
73
|
+
{ name: "TypeScript", value: "typescript", checked: true },
|
|
74
|
+
{ name: "JavaScript", value: "javascript" },
|
|
75
|
+
{ name: "Python", value: "python" },
|
|
76
|
+
{ name: "PHP", value: "php" },
|
|
77
|
+
{ name: "Dart", value: "dart" },
|
|
78
|
+
{ name: "JSON", value: "json" },
|
|
79
|
+
{ name: "Environment Variables", value: "env" },
|
|
80
|
+
],
|
|
81
|
+
validate: (input) => {
|
|
82
|
+
if (input.length === 0) {
|
|
83
|
+
return "Please select at least one language";
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
88
|
]);
|
|
89
89
|
|
|
90
90
|
// Prompt for which constants to include
|
|
@@ -102,33 +102,33 @@ export const schemaCommands = {
|
|
|
102
102
|
validate: (input) => input.length > 0 ? true : 'Select at least one category',
|
|
103
103
|
}
|
|
104
104
|
]);
|
|
105
|
-
|
|
106
|
-
// Determine default output directory based on config location
|
|
107
|
-
const configPath = (cli as any).controller!.getAppwriteFolderPath();
|
|
108
|
-
const defaultOutputDir = configPath
|
|
109
|
-
? path.join(configPath, "constants")
|
|
110
|
-
: path.join(process.cwd(), "constants");
|
|
111
|
-
|
|
112
|
-
// Prompt for output directory
|
|
113
|
-
const { outputDir } = await inquirer.prompt([
|
|
114
|
-
{
|
|
115
|
-
type: "input",
|
|
116
|
-
name: "outputDir",
|
|
117
|
-
message: "Output directory for constants files:",
|
|
118
|
-
default: defaultOutputDir,
|
|
119
|
-
validate: (input) => {
|
|
120
|
-
if (!input.trim()) {
|
|
121
|
-
return "Output directory cannot be empty";
|
|
122
|
-
}
|
|
123
|
-
return true;
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
]);
|
|
127
|
-
|
|
128
|
-
try {
|
|
129
|
-
const { ConstantsGenerator } = await import("
|
|
130
|
-
const generator = new ConstantsGenerator((cli as any).controller.config);
|
|
131
|
-
|
|
105
|
+
|
|
106
|
+
// Determine default output directory based on config location
|
|
107
|
+
const configPath = (cli as any).controller!.getAppwriteFolderPath();
|
|
108
|
+
const defaultOutputDir = configPath
|
|
109
|
+
? path.join(configPath, "constants")
|
|
110
|
+
: path.join(process.cwd(), "constants");
|
|
111
|
+
|
|
112
|
+
// Prompt for output directory
|
|
113
|
+
const { outputDir } = await inquirer.prompt([
|
|
114
|
+
{
|
|
115
|
+
type: "input",
|
|
116
|
+
name: "outputDir",
|
|
117
|
+
message: "Output directory for constants files:",
|
|
118
|
+
default: defaultOutputDir,
|
|
119
|
+
validate: (input) => {
|
|
120
|
+
if (!input.trim()) {
|
|
121
|
+
return "Output directory cannot be empty";
|
|
122
|
+
}
|
|
123
|
+
return true;
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
]);
|
|
127
|
+
|
|
128
|
+
try {
|
|
129
|
+
const { ConstantsGenerator } = await import("appwrite-utils-helpers");
|
|
130
|
+
const generator = new ConstantsGenerator((cli as any).controller.config);
|
|
131
|
+
|
|
132
132
|
const include = {
|
|
133
133
|
databases: includeWhat.includes('databases'),
|
|
134
134
|
collections: includeWhat.includes('collections'),
|
|
@@ -137,64 +137,64 @@ export const schemaCommands = {
|
|
|
137
137
|
};
|
|
138
138
|
MessageFormatter.info(`Generating constants for: ${languages.join(", ")}`, { prefix: "Constants" });
|
|
139
139
|
await generator.generateFiles(languages, outputDir, include);
|
|
140
|
-
|
|
141
|
-
MessageFormatter.success(`Constants generated in ${outputDir}`, { prefix: "Constants" });
|
|
142
|
-
} catch (error) {
|
|
143
|
-
MessageFormatter.error("Failed to generate constants", error instanceof Error ? error : new Error(String(error)), { prefix: "Constants" });
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
|
|
147
|
-
async importData(cli: InteractiveCLI): Promise<void> {
|
|
148
|
-
MessageFormatter.progress("Importing data...", { prefix: "Import" });
|
|
149
|
-
|
|
150
|
-
const { doBackup } = await inquirer.prompt([
|
|
151
|
-
{
|
|
152
|
-
type: "confirm",
|
|
153
|
-
name: "doBackup",
|
|
154
|
-
message: "Do you want to perform a backup before importing?",
|
|
155
|
-
default: true,
|
|
156
|
-
},
|
|
157
|
-
]);
|
|
158
|
-
|
|
159
|
-
const databases = await (cli as any).selectDatabases(
|
|
160
|
-
await fetchAllDatabases((cli as any).controller!.database!),
|
|
161
|
-
"Select databases to import data into:",
|
|
162
|
-
true
|
|
163
|
-
);
|
|
164
|
-
|
|
165
|
-
const collections = await (cli as any).selectCollectionsAndTables(
|
|
166
|
-
databases[0],
|
|
167
|
-
(cli as any).controller!.database!,
|
|
168
|
-
"Select collections/tables to import data into (leave empty for all):",
|
|
169
|
-
true
|
|
170
|
-
);
|
|
171
|
-
|
|
172
|
-
const { shouldWriteFile } = await inquirer.prompt([
|
|
173
|
-
{
|
|
174
|
-
type: "confirm",
|
|
175
|
-
name: "shouldWriteFile",
|
|
176
|
-
message: "Do you want to write the imported data to a file?",
|
|
177
|
-
default: false,
|
|
178
|
-
},
|
|
179
|
-
]);
|
|
180
|
-
|
|
181
|
-
const options = {
|
|
182
|
-
databases,
|
|
183
|
-
collections: collections.map((c: any) => c.name),
|
|
184
|
-
doBackup,
|
|
185
|
-
importData: true,
|
|
186
|
-
shouldWriteFile,
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
try {
|
|
190
|
-
await (cli as any).controller!.importData(options);
|
|
191
|
-
MessageFormatter.success("Data import completed successfully", { prefix: "Import" });
|
|
192
|
-
} catch (error) {
|
|
193
|
-
MessageFormatter.error("Error importing data", error instanceof Error ? error : new Error(String(error)), { prefix: "Import" });
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
|
|
197
|
-
async setupDirsFiles(cli: InteractiveCLI, withExampleData: boolean = false): Promise<void> {
|
|
198
|
-
await setupDirsFiles(withExampleData, (cli as any).currentDir);
|
|
199
|
-
}
|
|
200
|
-
};
|
|
140
|
+
|
|
141
|
+
MessageFormatter.success(`Constants generated in ${outputDir}`, { prefix: "Constants" });
|
|
142
|
+
} catch (error) {
|
|
143
|
+
MessageFormatter.error("Failed to generate constants", error instanceof Error ? error : new Error(String(error)), { prefix: "Constants" });
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
async importData(cli: InteractiveCLI): Promise<void> {
|
|
148
|
+
MessageFormatter.progress("Importing data...", { prefix: "Import" });
|
|
149
|
+
|
|
150
|
+
const { doBackup } = await inquirer.prompt([
|
|
151
|
+
{
|
|
152
|
+
type: "confirm",
|
|
153
|
+
name: "doBackup",
|
|
154
|
+
message: "Do you want to perform a backup before importing?",
|
|
155
|
+
default: true,
|
|
156
|
+
},
|
|
157
|
+
]);
|
|
158
|
+
|
|
159
|
+
const databases = await (cli as any).selectDatabases(
|
|
160
|
+
await fetchAllDatabases((cli as any).controller!.database!),
|
|
161
|
+
"Select databases to import data into:",
|
|
162
|
+
true
|
|
163
|
+
);
|
|
164
|
+
|
|
165
|
+
const collections = await (cli as any).selectCollectionsAndTables(
|
|
166
|
+
databases[0],
|
|
167
|
+
(cli as any).controller!.database!,
|
|
168
|
+
"Select collections/tables to import data into (leave empty for all):",
|
|
169
|
+
true
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
const { shouldWriteFile } = await inquirer.prompt([
|
|
173
|
+
{
|
|
174
|
+
type: "confirm",
|
|
175
|
+
name: "shouldWriteFile",
|
|
176
|
+
message: "Do you want to write the imported data to a file?",
|
|
177
|
+
default: false,
|
|
178
|
+
},
|
|
179
|
+
]);
|
|
180
|
+
|
|
181
|
+
const options = {
|
|
182
|
+
databases,
|
|
183
|
+
collections: collections.map((c: any) => c.name),
|
|
184
|
+
doBackup,
|
|
185
|
+
importData: true,
|
|
186
|
+
shouldWriteFile,
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
try {
|
|
190
|
+
await (cli as any).controller!.importData(options);
|
|
191
|
+
MessageFormatter.success("Data import completed successfully", { prefix: "Import" });
|
|
192
|
+
} catch (error) {
|
|
193
|
+
MessageFormatter.error("Error importing data", error instanceof Error ? error : new Error(String(error)), { prefix: "Import" });
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
async setupDirsFiles(cli: InteractiveCLI, withExampleData: boolean = false): Promise<void> {
|
|
198
|
+
await setupDirsFiles(withExampleData, (cli as any).currentDir);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
@@ -2,10 +2,9 @@ import inquirer from "inquirer";
|
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { Storage, Permission, Role, Compression, type Models } from "node-appwrite";
|
|
4
4
|
import type { InteractiveCLI } from "../../interactiveCLI.js";
|
|
5
|
-
import { MessageFormatter } from
|
|
5
|
+
import { MessageFormatter } from 'appwrite-utils-helpers';
|
|
6
6
|
import { listBuckets, createBucket as createBucketApi, deleteBucket as deleteBucketApi } from "../../storage/methods.js";
|
|
7
|
-
import { writeYamlConfig } from "
|
|
8
|
-
import { ConfigManager } from "../../config/ConfigManager.js";
|
|
7
|
+
import { writeYamlConfig, ConfigManager } from "appwrite-utils-helpers";
|
|
9
8
|
|
|
10
9
|
export const storageCommands = {
|
|
11
10
|
async createBucket(cli: InteractiveCLI): Promise<void> {
|