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,149 +0,0 @@
|
|
|
1
|
-
# yaml-language-server: $schema=../.yaml_schemas/collection.schema.json
|
|
2
|
-
# Collection Definition: Users
|
|
3
|
-
name: Users
|
|
4
|
-
id: 01JYDBQTB5W8SCBAYB654CCADQ
|
|
5
|
-
documentSecurity: false
|
|
6
|
-
enabled: true
|
|
7
|
-
permissions:
|
|
8
|
-
- permission: read
|
|
9
|
-
target: any
|
|
10
|
-
- permission: create
|
|
11
|
-
target: users
|
|
12
|
-
- permission: update
|
|
13
|
-
target: users
|
|
14
|
-
- permission: delete
|
|
15
|
-
target: users
|
|
16
|
-
|
|
17
|
-
attributes:
|
|
18
|
-
# Core Identity
|
|
19
|
-
- key: name
|
|
20
|
-
type: string
|
|
21
|
-
size: 100
|
|
22
|
-
required: true
|
|
23
|
-
description: "User's full name"
|
|
24
|
-
|
|
25
|
-
- key: email
|
|
26
|
-
type: email
|
|
27
|
-
required: true
|
|
28
|
-
description: "User's email address for authentication"
|
|
29
|
-
|
|
30
|
-
- key: username
|
|
31
|
-
type: string
|
|
32
|
-
size: 50
|
|
33
|
-
required: false
|
|
34
|
-
description: "Unique username handle"
|
|
35
|
-
|
|
36
|
-
# Profile Information
|
|
37
|
-
- key: avatar
|
|
38
|
-
type: string
|
|
39
|
-
size: 255
|
|
40
|
-
required: false
|
|
41
|
-
description: "User avatar file ID stored in Appwrite storage"
|
|
42
|
-
|
|
43
|
-
- key: phone
|
|
44
|
-
type: string
|
|
45
|
-
size: 20
|
|
46
|
-
required: false
|
|
47
|
-
description: "User's phone number"
|
|
48
|
-
|
|
49
|
-
- key: bio
|
|
50
|
-
type: string
|
|
51
|
-
size: 500
|
|
52
|
-
required: false
|
|
53
|
-
description: "User biography or description"
|
|
54
|
-
|
|
55
|
-
- key: dateOfBirth
|
|
56
|
-
type: datetime
|
|
57
|
-
required: false
|
|
58
|
-
description: "User's date of birth"
|
|
59
|
-
|
|
60
|
-
- key: location
|
|
61
|
-
type: string
|
|
62
|
-
size: 100
|
|
63
|
-
required: false
|
|
64
|
-
description: "User's location or city"
|
|
65
|
-
|
|
66
|
-
# User Management
|
|
67
|
-
- key: role
|
|
68
|
-
type: enum
|
|
69
|
-
elements: ["admin", "user", "moderator", "editor"]
|
|
70
|
-
required: true
|
|
71
|
-
default: "user"
|
|
72
|
-
description: "User's role in the system"
|
|
73
|
-
|
|
74
|
-
- key: isActive
|
|
75
|
-
type: boolean
|
|
76
|
-
required: true
|
|
77
|
-
default: true
|
|
78
|
-
description: "Whether the user account is active"
|
|
79
|
-
|
|
80
|
-
- key: isVerified
|
|
81
|
-
type: boolean
|
|
82
|
-
required: true
|
|
83
|
-
default: false
|
|
84
|
-
description: "Whether the user's email is verified"
|
|
85
|
-
|
|
86
|
-
# Statistics
|
|
87
|
-
- key: profileViews
|
|
88
|
-
type: integer
|
|
89
|
-
required: true
|
|
90
|
-
default: 0
|
|
91
|
-
min: 0
|
|
92
|
-
description: "Number of times user profile has been viewed"
|
|
93
|
-
|
|
94
|
-
- key: lastLoginAt
|
|
95
|
-
type: datetime
|
|
96
|
-
required: false
|
|
97
|
-
description: "Timestamp of user's last login"
|
|
98
|
-
|
|
99
|
-
# Social Links
|
|
100
|
-
- key: socialLinks
|
|
101
|
-
type: string
|
|
102
|
-
size: 1000
|
|
103
|
-
required: false
|
|
104
|
-
description: "JSON string of social media links"
|
|
105
|
-
|
|
106
|
-
# Preferences
|
|
107
|
-
- key: preferences
|
|
108
|
-
type: string
|
|
109
|
-
size: 2000
|
|
110
|
-
required: false
|
|
111
|
-
description: "JSON string of user preferences and settings"
|
|
112
|
-
|
|
113
|
-
indexes:
|
|
114
|
-
# Search indexes
|
|
115
|
-
- key: name_search
|
|
116
|
-
type: fulltext
|
|
117
|
-
attributes:
|
|
118
|
-
- name
|
|
119
|
-
|
|
120
|
-
- key: bio_search
|
|
121
|
-
type: fulltext
|
|
122
|
-
attributes:
|
|
123
|
-
- bio
|
|
124
|
-
|
|
125
|
-
# Unique constraints
|
|
126
|
-
- key: email_unique
|
|
127
|
-
type: unique
|
|
128
|
-
attributes:
|
|
129
|
-
- email
|
|
130
|
-
|
|
131
|
-
- key: username_unique
|
|
132
|
-
type: unique
|
|
133
|
-
attributes:
|
|
134
|
-
- username
|
|
135
|
-
|
|
136
|
-
# Query optimization
|
|
137
|
-
- key: role_active
|
|
138
|
-
type: key
|
|
139
|
-
attributes:
|
|
140
|
-
- role
|
|
141
|
-
- isActive
|
|
142
|
-
|
|
143
|
-
- key: verified_active
|
|
144
|
-
type: key
|
|
145
|
-
attributes:
|
|
146
|
-
- isVerified
|
|
147
|
-
- isActive
|
|
148
|
-
|
|
149
|
-
importDefs: []
|
package/.appwrite/config.yaml
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
# yaml-language-server: $schema=./.yaml_schemas/appwrite-config.schema.json
|
|
2
|
-
appwrite:
|
|
3
|
-
endpoint: https://appwrite.blackleafdigital.com/v1
|
|
4
|
-
project: 65f31b9f540542961b39
|
|
5
|
-
key: >-
|
|
6
|
-
standard_ed867273aaee1398af3598a649500249b0402402106eb426a50b9903c81925ffe25c2d876897021fc9521faad6efad58e849dd79f42f610279d6eaa70a5104ecce97a7a421647ef06407364958e0952978d3b3a7a3c8ae3bb0b7c6872b9e071b2cd0fee077598db19c2fe9678a3c762e18a6c6272c8a37a0b4204184119903d4
|
|
7
|
-
logging:
|
|
8
|
-
enabled: false
|
|
9
|
-
level: info
|
|
10
|
-
console: false
|
|
11
|
-
logDirectory: ./logs
|
|
12
|
-
backups:
|
|
13
|
-
enabled: true
|
|
14
|
-
interval: 3600
|
|
15
|
-
retention: 30
|
|
16
|
-
cleanup: true
|
|
17
|
-
data:
|
|
18
|
-
enableMockData: false
|
|
19
|
-
documentBucketId: documents
|
|
20
|
-
usersCollectionName: Users
|
|
21
|
-
importDirectory: importData
|
|
22
|
-
schemas:
|
|
23
|
-
outputDirectory: schemas
|
|
24
|
-
yamlSchemaDirectory: .yaml_schemas
|
|
25
|
-
migrations:
|
|
26
|
-
enabled: true
|
|
27
|
-
databases:
|
|
28
|
-
- id: main
|
|
29
|
-
name: Main Database
|
|
30
|
-
collections:
|
|
31
|
-
- Users
|
|
32
|
-
- Posts
|
|
33
|
-
- Categories
|
|
34
|
-
buckets:
|
|
35
|
-
- id: documents
|
|
36
|
-
name: Documents
|
|
37
|
-
permissions:
|
|
38
|
-
- permission: read
|
|
39
|
-
target: any
|
|
40
|
-
- permission: create
|
|
41
|
-
target: users
|
|
42
|
-
- permission: update
|
|
43
|
-
target: users
|
|
44
|
-
- permission: delete
|
|
45
|
-
target: users
|
|
46
|
-
fileSecurity: false
|
|
47
|
-
enabled: true
|
|
48
|
-
maximumFileSize: 30000000
|
|
49
|
-
allowedFileExtensions: []
|
|
50
|
-
compression: gzip
|
|
51
|
-
encryption: true
|
|
52
|
-
antivirus: true
|
|
53
|
-
- id: images
|
|
54
|
-
name: Images & Media
|
|
55
|
-
permissions:
|
|
56
|
-
- permission: read
|
|
57
|
-
target: any
|
|
58
|
-
- permission: create
|
|
59
|
-
target: users
|
|
60
|
-
fileSecurity: false
|
|
61
|
-
enabled: true
|
|
62
|
-
maximumFileSize: 10000000
|
|
63
|
-
allowedFileExtensions:
|
|
64
|
-
- jpg
|
|
65
|
-
- jpeg
|
|
66
|
-
- png
|
|
67
|
-
- gif
|
|
68
|
-
- webp
|
|
69
|
-
- svg
|
|
70
|
-
compression: gzip
|
|
71
|
-
encryption: false
|
|
72
|
-
antivirus: true
|
|
73
|
-
- id: avatars
|
|
74
|
-
name: User Avatars
|
|
75
|
-
permissions:
|
|
76
|
-
- permission: read
|
|
77
|
-
target: any
|
|
78
|
-
- permission: create
|
|
79
|
-
target: users
|
|
80
|
-
- permission: update
|
|
81
|
-
target: users
|
|
82
|
-
- permission: delete
|
|
83
|
-
target: users
|
|
84
|
-
fileSecurity: false
|
|
85
|
-
enabled: true
|
|
86
|
-
maximumFileSize: 5000000
|
|
87
|
-
allowedFileExtensions:
|
|
88
|
-
- jpg
|
|
89
|
-
- jpeg
|
|
90
|
-
- png
|
|
91
|
-
- webp
|
|
92
|
-
compression: gzip
|
|
93
|
-
encryption: false
|
|
94
|
-
antivirus: true
|
|
95
|
-
functions:
|
|
96
|
-
- id: 01JYENQDVSN3TVH1MVCBW0C2Y3
|
|
97
|
-
name: TestCountDocs
|
|
98
|
-
runtime: node-21.0
|
|
99
|
-
execute:
|
|
100
|
-
- any
|
|
101
|
-
events: []
|
|
102
|
-
schedule: ''
|
|
103
|
-
timeout: 15
|
|
104
|
-
enabled: true
|
|
105
|
-
logging: true
|
|
106
|
-
entrypoint: src/main.ts
|
|
107
|
-
commands: npm install && npm run build
|
|
108
|
-
scopes: []
|
|
109
|
-
specification: s-1vcpu-512mb
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
# Import Configurations
|
|
2
|
-
|
|
3
|
-
This directory contains YAML-based import configurations that demonstrate the powerful import capabilities of Appwrite Utils CLI 1.0.0.
|
|
4
|
-
|
|
5
|
-
## Available Import Configurations
|
|
6
|
-
|
|
7
|
-
### 1. Users Import (`users-import.yaml`)
|
|
8
|
-
- **Purpose**: Import user data with avatar file downloads
|
|
9
|
-
- **Features**:
|
|
10
|
-
- Downloads avatar images from picsum.photos URLs
|
|
11
|
-
- Creates user accounts in Appwrite Auth
|
|
12
|
-
- Validates email addresses and phone numbers
|
|
13
|
-
- Handles user deduplication based on email
|
|
14
|
-
- Converts social links and preferences JSON
|
|
15
|
-
- **Data Source**: `importData/users.json` (12 sample users)
|
|
16
|
-
|
|
17
|
-
### 2. Categories Import (`categories-import.yaml`)
|
|
18
|
-
- **Purpose**: Import hierarchical category structure
|
|
19
|
-
- **Features**:
|
|
20
|
-
- Downloads cover images from URLs
|
|
21
|
-
- Handles parent-child relationships
|
|
22
|
-
- Supports category hierarchy up to 5 levels
|
|
23
|
-
- SEO metadata handling
|
|
24
|
-
- **Data Source**: `importData/categories.json` (10 categories with hierarchy)
|
|
25
|
-
|
|
26
|
-
### 3. Posts Import (`posts-import.yaml`)
|
|
27
|
-
- **Purpose**: Import blog posts with relationships and media
|
|
28
|
-
- **Features**:
|
|
29
|
-
- Downloads featured images and gallery images
|
|
30
|
-
- Links posts to authors (Users collection)
|
|
31
|
-
- Links posts to categories (Categories collection)
|
|
32
|
-
- Handles arrays (tags, gallery)
|
|
33
|
-
- Rich content with HTML support
|
|
34
|
-
- SEO metadata and social sharing images
|
|
35
|
-
- **Data Source**: `importData/posts.json` (10 blog posts)
|
|
36
|
-
|
|
37
|
-
## File Handling Features
|
|
38
|
-
|
|
39
|
-
All import configurations demonstrate advanced file handling:
|
|
40
|
-
|
|
41
|
-
- **URL Downloads**: Automatically downloads images from picsum.photos
|
|
42
|
-
- **File Naming**: Uses template patterns like `{user_id}_avatar`
|
|
43
|
-
- **Multiple Files**: Supports gallery arrays with multiple images
|
|
44
|
-
- **File Validation**: Handles missing or invalid URLs gracefully
|
|
45
|
-
- **Storage Integration**: Uploads to appropriate Appwrite storage buckets
|
|
46
|
-
|
|
47
|
-
## Usage
|
|
48
|
-
|
|
49
|
-
### Run Individual Imports
|
|
50
|
-
```bash
|
|
51
|
-
# Import users with avatars
|
|
52
|
-
npx appwrite-utils-cli appwrite-migrate --import --collectionIds Users
|
|
53
|
-
|
|
54
|
-
# Import categories with hierarchy
|
|
55
|
-
npx appwrite-utils-cli appwrite-migrate --import --collectionIds Categories
|
|
56
|
-
|
|
57
|
-
# Import posts with relationships
|
|
58
|
-
npx appwrite-utils-cli appwrite-migrate --import --collectionIds Posts
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Run All Imports
|
|
62
|
-
```bash
|
|
63
|
-
# Import all collections in order
|
|
64
|
-
npx appwrite-utils-cli appwrite-migrate --import --dbIds main
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Import Order
|
|
68
|
-
|
|
69
|
-
For best results, import in this order due to relationships:
|
|
70
|
-
|
|
71
|
-
1. **Users** (no dependencies)
|
|
72
|
-
2. **Categories** (self-referential relationships)
|
|
73
|
-
3. **Posts** (depends on Users and Categories)
|
|
74
|
-
|
|
75
|
-
## Configuration Highlights
|
|
76
|
-
|
|
77
|
-
### Rate Limiting
|
|
78
|
-
- **Users**: 25 items per batch (avatar downloads)
|
|
79
|
-
- **Categories**: 50 items per batch (cover images)
|
|
80
|
-
- **Posts**: 20 items per batch (multiple images per post)
|
|
81
|
-
|
|
82
|
-
### Validation
|
|
83
|
-
- Email validation for users
|
|
84
|
-
- URL validation for file downloads
|
|
85
|
-
- Required field validation
|
|
86
|
-
- Length constraints for text fields
|
|
87
|
-
|
|
88
|
-
### Relationships
|
|
89
|
-
- **Posts → Users**: Author relationship via userId
|
|
90
|
-
- **Posts → Categories**: Category relationship via categoryId
|
|
91
|
-
- **Categories → Categories**: Parent-child hierarchy
|
|
92
|
-
|
|
93
|
-
### File Downloads
|
|
94
|
-
- **User avatars**: 500x500 images from picsum.photos
|
|
95
|
-
- **Category covers**: 800x400 images from picsum.photos
|
|
96
|
-
- **Post images**: Various sizes (1200x600, 800x400, etc.)
|
|
97
|
-
- **Social images**: 1200x630 for social media sharing
|
|
98
|
-
|
|
99
|
-
## Testing
|
|
100
|
-
|
|
101
|
-
### Dry Run
|
|
102
|
-
Test configurations without actual import:
|
|
103
|
-
```bash
|
|
104
|
-
npx appwrite-utils-cli appwrite-migrate --import --dryRun
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Validation Only
|
|
108
|
-
Validate data without importing:
|
|
109
|
-
```bash
|
|
110
|
-
npx appwrite-utils-cli appwrite-migrate --writeData
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Customization
|
|
114
|
-
|
|
115
|
-
These configurations serve as examples. You can:
|
|
116
|
-
|
|
117
|
-
1. **Modify data sources**: Update file paths in YAML configs
|
|
118
|
-
2. **Add/remove fields**: Modify attribute mappings
|
|
119
|
-
3. **Change validation rules**: Add or remove validation constraints
|
|
120
|
-
4. **Adjust batch sizes**: Optimize for your server capacity
|
|
121
|
-
5. **Add custom converters**: Extend data transformation logic
|
|
122
|
-
|
|
123
|
-
## File Structure
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
.appwrite/
|
|
127
|
-
├── collections/ # YAML collection definitions
|
|
128
|
-
│ ├── Users.yaml
|
|
129
|
-
│ ├── Posts.yaml
|
|
130
|
-
│ └── Categories.yaml
|
|
131
|
-
├── importData/ # Source data files
|
|
132
|
-
│ ├── users.json
|
|
133
|
-
│ ├── posts.json
|
|
134
|
-
│ └── categories.json
|
|
135
|
-
├── import/ # Import configurations
|
|
136
|
-
│ ├── users-import.yaml
|
|
137
|
-
│ ├── posts-import.yaml
|
|
138
|
-
│ └── categories-import.yaml
|
|
139
|
-
└── config.yaml # Main project configuration
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
## Support
|
|
143
|
-
|
|
144
|
-
For questions about the import system:
|
|
145
|
-
- Check the main README.md for CLI usage
|
|
146
|
-
- Review YAML schema files in `.yaml_schemas/`
|
|
147
|
-
- See example configurations in this directory
|
|
148
|
-
- Test with `--dryRun` flag before actual import
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# yaml-language-server: $schema=../.yaml_schemas/import-config.schema.json
|
|
2
|
-
# Categories Import Configuration with Hierarchy Support
|
|
3
|
-
|
|
4
|
-
source:
|
|
5
|
-
file: "importData/categories.json"
|
|
6
|
-
basePath: "RECORDS"
|
|
7
|
-
type: "json"
|
|
8
|
-
|
|
9
|
-
target:
|
|
10
|
-
collection: "Categories"
|
|
11
|
-
type: "create"
|
|
12
|
-
primaryKey: "category_id"
|
|
13
|
-
createUsers: false
|
|
14
|
-
|
|
15
|
-
mapping:
|
|
16
|
-
attributes:
|
|
17
|
-
# Core Fields
|
|
18
|
-
- oldKey: "category_id"
|
|
19
|
-
targetKey: "categoryId"
|
|
20
|
-
converters: ["anyToString"]
|
|
21
|
-
validation:
|
|
22
|
-
- rule: "required"
|
|
23
|
-
params: ["{categoryId}"]
|
|
24
|
-
|
|
25
|
-
- oldKey: "name"
|
|
26
|
-
targetKey: "name"
|
|
27
|
-
converters: ["anyToString", "stringTrim"]
|
|
28
|
-
validation:
|
|
29
|
-
- rule: "required"
|
|
30
|
-
params: ["{name}"]
|
|
31
|
-
- rule: "minLength"
|
|
32
|
-
params: ["{name}", "2"]
|
|
33
|
-
|
|
34
|
-
- oldKey: "slug"
|
|
35
|
-
targetKey: "slug"
|
|
36
|
-
converters: ["anyToString", "stringToLowerCase", "stringTrim"]
|
|
37
|
-
|
|
38
|
-
- oldKey: "description"
|
|
39
|
-
targetKey: "description"
|
|
40
|
-
converters: ["anyToString", "stringTrim"]
|
|
41
|
-
validation:
|
|
42
|
-
- rule: "maxLength"
|
|
43
|
-
params: ["{description}", "500"]
|
|
44
|
-
|
|
45
|
-
# Hierarchy
|
|
46
|
-
- oldKey: "parent_id"
|
|
47
|
-
targetKey: "parentId"
|
|
48
|
-
converters: ["anyToString"]
|
|
49
|
-
|
|
50
|
-
- oldKey: "level"
|
|
51
|
-
targetKey: "level"
|
|
52
|
-
converters: ["anyToNumber"]
|
|
53
|
-
validation:
|
|
54
|
-
- rule: "numeric"
|
|
55
|
-
params: ["{level}"]
|
|
56
|
-
- rule: "positive"
|
|
57
|
-
params: ["{level}"]
|
|
58
|
-
|
|
59
|
-
- oldKey: "sort_order"
|
|
60
|
-
targetKey: "sortOrder"
|
|
61
|
-
converters: ["anyToNumber"]
|
|
62
|
-
|
|
63
|
-
# Visual & Branding
|
|
64
|
-
- oldKey: "color_code"
|
|
65
|
-
targetKey: "colorCode"
|
|
66
|
-
converters: ["anyToString"]
|
|
67
|
-
|
|
68
|
-
- oldKey: "icon"
|
|
69
|
-
targetKey: "icon"
|
|
70
|
-
converters: ["anyToString"]
|
|
71
|
-
|
|
72
|
-
# Cover Image with URL Download
|
|
73
|
-
- oldKey: "cover_image_url"
|
|
74
|
-
targetKey: "coverImage"
|
|
75
|
-
fileData:
|
|
76
|
-
path: "{cover_image_url}"
|
|
77
|
-
name: "{category_id}_cover"
|
|
78
|
-
afterImport:
|
|
79
|
-
- action: "createFileAndUpdateField"
|
|
80
|
-
params: ["{dbId}", "{collId}", "{docId}", "coverImage", "{bucketId}", "{filePath}", "{fileName}"]
|
|
81
|
-
|
|
82
|
-
# Status
|
|
83
|
-
- oldKey: "is_active"
|
|
84
|
-
targetKey: "isActive"
|
|
85
|
-
converters: ["anyToBoolean"]
|
|
86
|
-
|
|
87
|
-
- oldKey: "is_featured"
|
|
88
|
-
targetKey: "isFeatured"
|
|
89
|
-
converters: ["anyToBoolean"]
|
|
90
|
-
|
|
91
|
-
# Statistics
|
|
92
|
-
- oldKey: "post_count"
|
|
93
|
-
targetKey: "postCount"
|
|
94
|
-
converters: ["anyToNumber"]
|
|
95
|
-
|
|
96
|
-
- oldKey: "total_post_count"
|
|
97
|
-
targetKey: "totalPostCount"
|
|
98
|
-
converters: ["anyToNumber"]
|
|
99
|
-
|
|
100
|
-
# SEO
|
|
101
|
-
- oldKey: "meta_title"
|
|
102
|
-
targetKey: "metaTitle"
|
|
103
|
-
converters: ["anyToString", "stringTrim"]
|
|
104
|
-
validation:
|
|
105
|
-
- rule: "maxLength"
|
|
106
|
-
params: ["{metaTitle}", "60"]
|
|
107
|
-
|
|
108
|
-
- oldKey: "meta_description"
|
|
109
|
-
targetKey: "metaDescription"
|
|
110
|
-
converters: ["anyToString", "stringTrim"]
|
|
111
|
-
validation:
|
|
112
|
-
- rule: "maxLength"
|
|
113
|
-
params: ["{metaDescription}", "160"]
|
|
114
|
-
|
|
115
|
-
- oldKey: "guidelines"
|
|
116
|
-
targetKey: "guidelines"
|
|
117
|
-
converters: ["anyToString", "stringTrim"]
|
|
118
|
-
|
|
119
|
-
relationships:
|
|
120
|
-
# Parent-Child Relationship Resolution
|
|
121
|
-
- sourceField: "parent_id"
|
|
122
|
-
targetField: "parentId"
|
|
123
|
-
targetCollection: "Categories"
|
|
124
|
-
|
|
125
|
-
options:
|
|
126
|
-
batchSize: 50
|
|
127
|
-
skipValidation: false
|
|
128
|
-
dryRun: false
|
|
129
|
-
continueOnError: true
|