appwrite-utils-cli 1.9.6 → 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 -44
- package/src/collections/indexes.ts +350 -352
- package/src/collections/methods.ts +714 -815
- package/src/collections/tableOperations.ts +57 -21
- 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 +409 -0
- 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 -405
- package/dist/adapters/DatabaseAdapter.d.ts +0 -242
- package/dist/adapters/DatabaseAdapter.js +0 -50
- package/dist/adapters/LegacyAdapter.d.ts +0 -50
- package/dist/adapters/LegacyAdapter.js +0 -612
- package/dist/adapters/TablesDBAdapter.d.ts +0 -45
- package/dist/adapters/TablesDBAdapter.js +0 -596
- 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 -1364
- 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 -734
- package/dist/collections/tableOperations.d.ts +0 -86
- package/dist/collections/tableOperations.js +0 -434
- 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 -625
- 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/indexManager.d.ts +0 -24
- package/dist/shared/indexManager.js +0 -151
- 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/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 -510
- package/src/adapters/DatabaseAdapter.ts +0 -318
- package/src/adapters/LegacyAdapter.ts +0 -841
- package/src/adapters/TablesDBAdapter.ts +0 -815
- package/src/config/ConfigManager.ts +0 -817
- 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/indexManager.ts +0 -254
- 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
package/SELECTION_DIALOGS.md
CHANGED
|
@@ -1,146 +1,146 @@
|
|
|
1
|
-
# Selection Dialogs System
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
The `SelectionDialogs` class provides a comprehensive interactive selection system for the enhanced sync flow in the Appwrite Utils CLI. It enables users to select databases, tables/collections, and storage buckets with visual indicators for configured vs new items.
|
|
6
|
-
|
|
7
|
-
## Features
|
|
8
|
-
|
|
9
|
-
- **Visual Indicators**: ✅ for configured items, ○ for new items
|
|
10
|
-
- **Multi-Selection Support**: Checkbox-style selection with "Select All" functionality
|
|
11
|
-
- **Configuration Awareness**: Detects and highlights existing configurations
|
|
12
|
-
- **Grouped Display**: Organizes buckets by database for better context
|
|
13
|
-
- **Comprehensive Confirmation**: Shows detailed summary before sync execution
|
|
14
|
-
- **Graceful Error Handling**: Proper error messages and cancellation support
|
|
15
|
-
- **Type Safety**: Full TypeScript support with proper interfaces
|
|
16
|
-
|
|
17
|
-
## Main Functions
|
|
18
|
-
|
|
19
|
-
### `promptForExistingConfig(configuredItems: any[])`
|
|
20
|
-
Prompts user about existing configuration with options to:
|
|
21
|
-
- Sync existing configured items
|
|
22
|
-
- Add/remove items from configuration
|
|
23
|
-
|
|
24
|
-
### `selectDatabases(availableDatabases, configuredDatabases, options?)`
|
|
25
|
-
Interactive database selection with:
|
|
26
|
-
- Visual indicators for configured vs new databases
|
|
27
|
-
- "Select All" functionality
|
|
28
|
-
- Filtering options (new only, default selections)
|
|
29
|
-
|
|
30
|
-
### `selectTablesForDatabase(databaseId, databaseName, availableTables, configuredTables, options?)`
|
|
31
|
-
Table/collection selection for a specific database with:
|
|
32
|
-
- Database context display
|
|
33
|
-
- Table selection with indicators
|
|
34
|
-
- Multi-selection support
|
|
35
|
-
|
|
36
|
-
### `selectBucketsForDatabases(selectedDatabaseIds, availableBuckets, configuredBuckets, options?)`
|
|
37
|
-
Storage bucket selection with:
|
|
38
|
-
- Grouping by database
|
|
39
|
-
- Relevance filtering (only buckets for selected databases)
|
|
40
|
-
- Ungrouped/general storage support
|
|
41
|
-
|
|
42
|
-
### `confirmSyncSelection(selectionSummary: SyncSelectionSummary)`
|
|
43
|
-
Final confirmation dialog showing:
|
|
44
|
-
- Complete selection summary
|
|
45
|
-
- Statistics (total, new, existing items)
|
|
46
|
-
- Detailed breakdown by category
|
|
47
|
-
|
|
48
|
-
## Usage Example
|
|
49
|
-
|
|
50
|
-
```typescript
|
|
51
|
-
import { SelectionDialogs } from './shared/selectionDialogs.js';
|
|
52
|
-
import type { Models } from 'node-appwrite';
|
|
53
|
-
|
|
54
|
-
// 1. Check for existing configuration
|
|
55
|
-
const { syncExisting, modifyConfiguration } = await SelectionDialogs.promptForExistingConfig(configuredDatabases);
|
|
56
|
-
|
|
57
|
-
if (modifyConfiguration) {
|
|
58
|
-
// 2. Select databases
|
|
59
|
-
const selectedDatabaseIds = await SelectionDialogs.selectDatabases(
|
|
60
|
-
availableDatabases,
|
|
61
|
-
configuredDatabases,
|
|
62
|
-
{ showSelectAll: true }
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
// 3. Select tables for each database
|
|
66
|
-
const tableSelectionsMap = new Map<string, string[]>();
|
|
67
|
-
for (const databaseId of selectedDatabaseIds) {
|
|
68
|
-
const selectedTableIds = await SelectionDialogs.selectTablesForDatabase(
|
|
69
|
-
databaseId,
|
|
70
|
-
databaseName,
|
|
71
|
-
availableTables,
|
|
72
|
-
configuredTables
|
|
73
|
-
);
|
|
74
|
-
tableSelectionsMap.set(databaseId, selectedTableIds);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// 4. Select buckets
|
|
78
|
-
const selectedBucketIds = await SelectionDialogs.selectBucketsForDatabases(
|
|
79
|
-
selectedDatabaseIds,
|
|
80
|
-
availableBuckets,
|
|
81
|
-
configuredBuckets
|
|
82
|
-
);
|
|
83
|
-
|
|
84
|
-
// 5. Create selection summary and confirm
|
|
85
|
-
const selectionSummary = SelectionDialogs.createSyncSelectionSummary(
|
|
86
|
-
databaseSelections,
|
|
87
|
-
bucketSelections
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
const confirmed = await SelectionDialogs.confirmSyncSelection(selectionSummary);
|
|
91
|
-
|
|
92
|
-
if (confirmed) {
|
|
93
|
-
// Proceed with sync operation
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## Configuration Options
|
|
99
|
-
|
|
100
|
-
### Database Selection Options
|
|
101
|
-
- `showSelectAll`: Show "Select All" option (default: true)
|
|
102
|
-
- `allowNewOnly`: Only show new/unconfigured databases (default: false)
|
|
103
|
-
- `defaultSelected`: Array of database IDs to pre-select
|
|
104
|
-
|
|
105
|
-
### Table Selection Options
|
|
106
|
-
- `showSelectAll`: Show "Select All" option (default: true)
|
|
107
|
-
- `allowNewOnly`: Only show new/unconfigured tables (default: false)
|
|
108
|
-
- `defaultSelected`: Array of table IDs to pre-select
|
|
109
|
-
- `showDatabaseContext`: Show database name in header (default: true)
|
|
110
|
-
|
|
111
|
-
### Bucket Selection Options
|
|
112
|
-
- `showSelectAll`: Show "Select All" option (default: true)
|
|
113
|
-
- `allowNewOnly`: Only show new/unconfigured buckets (default: false)
|
|
114
|
-
- `defaultSelected`: Array of bucket IDs to pre-select
|
|
115
|
-
- `groupByDatabase`: Group buckets by database (default: true)
|
|
116
|
-
|
|
117
|
-
## Interfaces
|
|
118
|
-
|
|
119
|
-
### `SyncSelectionSummary`
|
|
120
|
-
Contains complete selection information:
|
|
121
|
-
- `databases`: Array of selected databases with their tables
|
|
122
|
-
- `buckets`: Array of selected buckets
|
|
123
|
-
- `totalDatabases/Tables/Buckets`: Count of selected items
|
|
124
|
-
- `newItems/existingItems`: Breakdown of new vs existing configurations
|
|
125
|
-
|
|
126
|
-
### `DatabaseSelection`
|
|
127
|
-
Represents a selected database:
|
|
128
|
-
- `databaseId/databaseName`: Database identification
|
|
129
|
-
- `tableIds/tableNames`: Selected tables for this database
|
|
130
|
-
- `isNew`: Whether this is a new configuration
|
|
131
|
-
|
|
132
|
-
### `BucketSelection`
|
|
133
|
-
Represents a selected bucket:
|
|
134
|
-
- `bucketId/bucketName`: Bucket identification
|
|
135
|
-
- `databaseId/databaseName`: Associated database (if applicable)
|
|
136
|
-
- `isNew`: Whether this is a new configuration
|
|
137
|
-
|
|
138
|
-
## Integration
|
|
139
|
-
|
|
140
|
-
The selection dialogs are designed to integrate seamlessly with the existing CLI infrastructure:
|
|
141
|
-
|
|
142
|
-
- Uses `MessageFormatter` for consistent styling
|
|
143
|
-
- Integrates with existing logging system
|
|
144
|
-
- Follows established error handling patterns
|
|
145
|
-
- Compatible with existing configuration management
|
|
1
|
+
# Selection Dialogs System
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The `SelectionDialogs` class provides a comprehensive interactive selection system for the enhanced sync flow in the Appwrite Utils CLI. It enables users to select databases, tables/collections, and storage buckets with visual indicators for configured vs new items.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **Visual Indicators**: ✅ for configured items, ○ for new items
|
|
10
|
+
- **Multi-Selection Support**: Checkbox-style selection with "Select All" functionality
|
|
11
|
+
- **Configuration Awareness**: Detects and highlights existing configurations
|
|
12
|
+
- **Grouped Display**: Organizes buckets by database for better context
|
|
13
|
+
- **Comprehensive Confirmation**: Shows detailed summary before sync execution
|
|
14
|
+
- **Graceful Error Handling**: Proper error messages and cancellation support
|
|
15
|
+
- **Type Safety**: Full TypeScript support with proper interfaces
|
|
16
|
+
|
|
17
|
+
## Main Functions
|
|
18
|
+
|
|
19
|
+
### `promptForExistingConfig(configuredItems: any[])`
|
|
20
|
+
Prompts user about existing configuration with options to:
|
|
21
|
+
- Sync existing configured items
|
|
22
|
+
- Add/remove items from configuration
|
|
23
|
+
|
|
24
|
+
### `selectDatabases(availableDatabases, configuredDatabases, options?)`
|
|
25
|
+
Interactive database selection with:
|
|
26
|
+
- Visual indicators for configured vs new databases
|
|
27
|
+
- "Select All" functionality
|
|
28
|
+
- Filtering options (new only, default selections)
|
|
29
|
+
|
|
30
|
+
### `selectTablesForDatabase(databaseId, databaseName, availableTables, configuredTables, options?)`
|
|
31
|
+
Table/collection selection for a specific database with:
|
|
32
|
+
- Database context display
|
|
33
|
+
- Table selection with indicators
|
|
34
|
+
- Multi-selection support
|
|
35
|
+
|
|
36
|
+
### `selectBucketsForDatabases(selectedDatabaseIds, availableBuckets, configuredBuckets, options?)`
|
|
37
|
+
Storage bucket selection with:
|
|
38
|
+
- Grouping by database
|
|
39
|
+
- Relevance filtering (only buckets for selected databases)
|
|
40
|
+
- Ungrouped/general storage support
|
|
41
|
+
|
|
42
|
+
### `confirmSyncSelection(selectionSummary: SyncSelectionSummary)`
|
|
43
|
+
Final confirmation dialog showing:
|
|
44
|
+
- Complete selection summary
|
|
45
|
+
- Statistics (total, new, existing items)
|
|
46
|
+
- Detailed breakdown by category
|
|
47
|
+
|
|
48
|
+
## Usage Example
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { SelectionDialogs } from './shared/selectionDialogs.js';
|
|
52
|
+
import type { Models } from 'node-appwrite';
|
|
53
|
+
|
|
54
|
+
// 1. Check for existing configuration
|
|
55
|
+
const { syncExisting, modifyConfiguration } = await SelectionDialogs.promptForExistingConfig(configuredDatabases);
|
|
56
|
+
|
|
57
|
+
if (modifyConfiguration) {
|
|
58
|
+
// 2. Select databases
|
|
59
|
+
const selectedDatabaseIds = await SelectionDialogs.selectDatabases(
|
|
60
|
+
availableDatabases,
|
|
61
|
+
configuredDatabases,
|
|
62
|
+
{ showSelectAll: true }
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
// 3. Select tables for each database
|
|
66
|
+
const tableSelectionsMap = new Map<string, string[]>();
|
|
67
|
+
for (const databaseId of selectedDatabaseIds) {
|
|
68
|
+
const selectedTableIds = await SelectionDialogs.selectTablesForDatabase(
|
|
69
|
+
databaseId,
|
|
70
|
+
databaseName,
|
|
71
|
+
availableTables,
|
|
72
|
+
configuredTables
|
|
73
|
+
);
|
|
74
|
+
tableSelectionsMap.set(databaseId, selectedTableIds);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// 4. Select buckets
|
|
78
|
+
const selectedBucketIds = await SelectionDialogs.selectBucketsForDatabases(
|
|
79
|
+
selectedDatabaseIds,
|
|
80
|
+
availableBuckets,
|
|
81
|
+
configuredBuckets
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
// 5. Create selection summary and confirm
|
|
85
|
+
const selectionSummary = SelectionDialogs.createSyncSelectionSummary(
|
|
86
|
+
databaseSelections,
|
|
87
|
+
bucketSelections
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
const confirmed = await SelectionDialogs.confirmSyncSelection(selectionSummary);
|
|
91
|
+
|
|
92
|
+
if (confirmed) {
|
|
93
|
+
// Proceed with sync operation
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Configuration Options
|
|
99
|
+
|
|
100
|
+
### Database Selection Options
|
|
101
|
+
- `showSelectAll`: Show "Select All" option (default: true)
|
|
102
|
+
- `allowNewOnly`: Only show new/unconfigured databases (default: false)
|
|
103
|
+
- `defaultSelected`: Array of database IDs to pre-select
|
|
104
|
+
|
|
105
|
+
### Table Selection Options
|
|
106
|
+
- `showSelectAll`: Show "Select All" option (default: true)
|
|
107
|
+
- `allowNewOnly`: Only show new/unconfigured tables (default: false)
|
|
108
|
+
- `defaultSelected`: Array of table IDs to pre-select
|
|
109
|
+
- `showDatabaseContext`: Show database name in header (default: true)
|
|
110
|
+
|
|
111
|
+
### Bucket Selection Options
|
|
112
|
+
- `showSelectAll`: Show "Select All" option (default: true)
|
|
113
|
+
- `allowNewOnly`: Only show new/unconfigured buckets (default: false)
|
|
114
|
+
- `defaultSelected`: Array of bucket IDs to pre-select
|
|
115
|
+
- `groupByDatabase`: Group buckets by database (default: true)
|
|
116
|
+
|
|
117
|
+
## Interfaces
|
|
118
|
+
|
|
119
|
+
### `SyncSelectionSummary`
|
|
120
|
+
Contains complete selection information:
|
|
121
|
+
- `databases`: Array of selected databases with their tables
|
|
122
|
+
- `buckets`: Array of selected buckets
|
|
123
|
+
- `totalDatabases/Tables/Buckets`: Count of selected items
|
|
124
|
+
- `newItems/existingItems`: Breakdown of new vs existing configurations
|
|
125
|
+
|
|
126
|
+
### `DatabaseSelection`
|
|
127
|
+
Represents a selected database:
|
|
128
|
+
- `databaseId/databaseName`: Database identification
|
|
129
|
+
- `tableIds/tableNames`: Selected tables for this database
|
|
130
|
+
- `isNew`: Whether this is a new configuration
|
|
131
|
+
|
|
132
|
+
### `BucketSelection`
|
|
133
|
+
Represents a selected bucket:
|
|
134
|
+
- `bucketId/bucketName`: Bucket identification
|
|
135
|
+
- `databaseId/databaseName`: Associated database (if applicable)
|
|
136
|
+
- `isNew`: Whether this is a new configuration
|
|
137
|
+
|
|
138
|
+
## Integration
|
|
139
|
+
|
|
140
|
+
The selection dialogs are designed to integrate seamlessly with the existing CLI infrastructure:
|
|
141
|
+
|
|
142
|
+
- Uses `MessageFormatter` for consistent styling
|
|
143
|
+
- Integrates with existing logging system
|
|
144
|
+
- Follows established error handling patterns
|
|
145
|
+
- Compatible with existing configuration management
|
|
146
146
|
- Uses inquirer.js for interactive prompts
|