appwrite-utils-cli 1.9.7 → 1.12.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.
Files changed (376) hide show
  1. package/README.md +1004 -1004
  2. package/dist/adapters/index.d.ts +7 -8
  3. package/dist/adapters/index.js +7 -9
  4. package/dist/backups/operations/bucketBackup.js +2 -2
  5. package/dist/backups/operations/collectionBackup.d.ts +1 -1
  6. package/dist/backups/operations/collectionBackup.js +3 -3
  7. package/dist/backups/operations/comprehensiveBackup.d.ts +1 -1
  8. package/dist/backups/operations/comprehensiveBackup.js +2 -2
  9. package/dist/backups/tracking/centralizedTracking.d.ts +1 -1
  10. package/dist/backups/tracking/centralizedTracking.js +2 -2
  11. package/dist/cli/commands/configCommands.js +51 -7
  12. package/dist/cli/commands/databaseCommands.js +156 -104
  13. package/dist/cli/commands/functionCommands.js +3 -3
  14. package/dist/cli/commands/importFileCommands.d.ts +7 -0
  15. package/dist/cli/commands/importFileCommands.js +674 -0
  16. package/dist/cli/commands/schemaCommands.js +3 -3
  17. package/dist/cli/commands/storageCommands.js +2 -3
  18. package/dist/cli/commands/transferCommands.js +3 -5
  19. package/dist/collections/{attributes.d.ts → columns.d.ts} +1 -1
  20. package/dist/collections/{attributes.js → columns.js} +15 -9
  21. package/dist/collections/indexes.js +1 -3
  22. package/dist/collections/methods.d.ts +1 -1
  23. package/dist/collections/methods.js +38 -20
  24. package/dist/collections/tableOperations.d.ts +1 -0
  25. package/dist/collections/tableOperations.js +30 -11
  26. package/dist/collections/transferOperations.d.ts +1 -1
  27. package/dist/collections/transferOperations.js +3 -4
  28. package/dist/collections/wipeOperations.d.ts +4 -3
  29. package/dist/collections/wipeOperations.js +112 -39
  30. package/dist/databases/methods.js +2 -2
  31. package/dist/databases/setup.js +2 -2
  32. package/dist/examples/yamlTerminologyExample.js +2 -2
  33. package/dist/functions/deployments.d.ts +1 -1
  34. package/dist/functions/deployments.js +6 -6
  35. package/dist/functions/fnConfigDiscovery.js +2 -2
  36. package/dist/functions/methods.js +2 -2
  37. package/dist/functions/templates/count-docs-in-collection/README.md +53 -53
  38. package/dist/functions/templates/count-docs-in-collection/src/main.ts +159 -159
  39. package/dist/functions/templates/count-docs-in-collection/src/request.ts +8 -8
  40. package/dist/functions/templates/hono-typescript/README.md +285 -285
  41. package/dist/functions/templates/hono-typescript/src/adapters/request.ts +73 -73
  42. package/dist/functions/templates/hono-typescript/src/adapters/response.ts +105 -105
  43. package/dist/functions/templates/hono-typescript/src/app.ts +179 -179
  44. package/dist/functions/templates/hono-typescript/src/context.ts +102 -102
  45. package/{src/functions/templates/hono-typescript/src/index.ts → dist/functions/templates/hono-typescript/src/main.ts} +53 -53
  46. package/dist/functions/templates/hono-typescript/src/middleware/appwrite.ts +118 -118
  47. package/dist/functions/templates/typescript-node/README.md +31 -31
  48. package/dist/functions/templates/typescript-node/src/context.ts +102 -102
  49. package/dist/functions/templates/typescript-node/src/{index.ts → main.ts} +29 -29
  50. package/dist/functions/templates/uv/README.md +30 -30
  51. package/dist/functions/templates/uv/pyproject.toml +29 -29
  52. package/dist/functions/templates/uv/src/context.py +124 -124
  53. package/dist/functions/templates/uv/src/{index.py → main.py} +45 -45
  54. package/dist/init.js +1 -1
  55. package/dist/interactiveCLI.d.ts +6 -1
  56. package/dist/interactiveCLI.js +79 -25
  57. package/dist/main.js +125 -180
  58. package/dist/migrations/afterImportActions.js +2 -3
  59. package/dist/migrations/appwriteToX.d.ts +1 -1
  60. package/dist/migrations/appwriteToX.js +10 -8
  61. package/dist/migrations/comprehensiveTransfer.js +3 -5
  62. package/dist/migrations/dataLoader.d.ts +4 -2
  63. package/dist/migrations/dataLoader.js +42 -20
  64. package/dist/migrations/importController.d.ts +2 -0
  65. package/dist/migrations/importController.js +39 -24
  66. package/dist/migrations/importDataActions.js +3 -3
  67. package/dist/migrations/relationships.js +1 -2
  68. package/dist/migrations/services/DataTransformationService.js +2 -2
  69. package/dist/migrations/services/FileHandlerService.js +1 -1
  70. package/dist/migrations/services/ImportOrchestrator.d.ts +2 -0
  71. package/dist/migrations/services/ImportOrchestrator.js +15 -7
  72. package/dist/migrations/services/RateLimitManager.js +1 -1
  73. package/dist/migrations/services/RelationshipResolver.js +1 -1
  74. package/dist/migrations/services/UserMappingService.js +1 -1
  75. package/dist/migrations/services/ValidationService.js +1 -1
  76. package/dist/migrations/transfer.d.ts +8 -4
  77. package/dist/migrations/transfer.js +108 -55
  78. package/dist/migrations/yaml/YamlImportConfigLoader.js +52 -52
  79. package/dist/migrations/yaml/YamlImportIntegration.js +2 -2
  80. package/dist/migrations/yaml/generateImportSchemas.js +174 -174
  81. package/dist/setupCommands.d.ts +1 -1
  82. package/dist/setupCommands.js +5 -6
  83. package/dist/setupController.js +1 -1
  84. package/dist/shared/backupTracking.d.ts +1 -1
  85. package/dist/shared/backupTracking.js +2 -2
  86. package/dist/shared/confirmationDialogs.js +1 -1
  87. package/dist/shared/migrationHelpers.d.ts +1 -1
  88. package/dist/shared/migrationHelpers.js +4 -4
  89. package/dist/shared/operationQueue.d.ts +1 -1
  90. package/dist/shared/operationQueue.js +3 -4
  91. package/dist/shared/operationsTable.d.ts +1 -1
  92. package/dist/shared/operationsTable.js +35 -34
  93. package/dist/shared/operationsTableSchema.d.ts +3 -3
  94. package/dist/shared/operationsTableSchema.js +2 -2
  95. package/dist/shared/progressManager.js +1 -1
  96. package/dist/shared/selectionDialogs.d.ts +6 -0
  97. package/dist/shared/selectionDialogs.js +56 -12
  98. package/dist/storage/methods.d.ts +12 -0
  99. package/dist/storage/methods.js +92 -89
  100. package/dist/storage/schemas.d.ts +2 -2
  101. package/dist/tables/indexManager.d.ts +1 -1
  102. package/dist/tables/indexManager.js +2 -2
  103. package/dist/types.d.ts +2 -2
  104. package/dist/types.js +1 -1
  105. package/dist/users/methods.js +2 -3
  106. package/dist/utils/configMigration.js +1 -1
  107. package/dist/utils/index.d.ts +1 -1
  108. package/dist/utils/index.js +1 -1
  109. package/dist/utils/loadConfigs.d.ts +2 -2
  110. package/dist/utils/loadConfigs.js +6 -7
  111. package/dist/utils/setupFiles.js +139 -141
  112. package/dist/utilsController.d.ts +16 -9
  113. package/dist/utilsController.js +93 -68
  114. package/package.json +9 -3
  115. package/.appwrite/.yaml_schemas/appwrite-config.schema.json +0 -380
  116. package/.appwrite/.yaml_schemas/collection.schema.json +0 -255
  117. package/.appwrite/collections/Categories.yaml +0 -182
  118. package/.appwrite/collections/ExampleCollection.yaml +0 -36
  119. package/.appwrite/collections/Posts.yaml +0 -227
  120. package/.appwrite/collections/Users.yaml +0 -149
  121. package/.appwrite/config.yaml +0 -109
  122. package/.appwrite/import/README.md +0 -148
  123. package/.appwrite/import/categories-import.yaml +0 -129
  124. package/.appwrite/import/posts-import.yaml +0 -208
  125. package/.appwrite/import/users-import.yaml +0 -130
  126. package/.appwrite/importData/categories.json +0 -194
  127. package/.appwrite/importData/posts.json +0 -270
  128. package/.appwrite/importData/users.json +0 -220
  129. package/.appwrite/schemas/categories.json +0 -128
  130. package/.appwrite/schemas/exampleCollection.json +0 -52
  131. package/.appwrite/schemas/posts.json +0 -173
  132. package/.appwrite/schemas/users.json +0 -125
  133. package/CHANGELOG.md +0 -35
  134. package/CONFIG_TODO.md +0 -1189
  135. package/SELECTION_DIALOGS.md +0 -146
  136. package/SERVICE_IMPLEMENTATION_REPORT.md +0 -462
  137. package/dist/adapters/AdapterFactory.d.ts +0 -94
  138. package/dist/adapters/AdapterFactory.js +0 -420
  139. package/dist/adapters/DatabaseAdapter.d.ts +0 -243
  140. package/dist/adapters/DatabaseAdapter.js +0 -50
  141. package/dist/adapters/LegacyAdapter.d.ts +0 -50
  142. package/dist/adapters/LegacyAdapter.js +0 -615
  143. package/dist/adapters/TablesDBAdapter.d.ts +0 -45
  144. package/dist/adapters/TablesDBAdapter.js +0 -611
  145. package/dist/config/ConfigManager.d.ts +0 -450
  146. package/dist/config/ConfigManager.js +0 -650
  147. package/dist/config/configMigration.d.ts +0 -87
  148. package/dist/config/configMigration.js +0 -390
  149. package/dist/config/configValidation.d.ts +0 -66
  150. package/dist/config/configValidation.js +0 -358
  151. package/dist/config/index.d.ts +0 -8
  152. package/dist/config/index.js +0 -7
  153. package/dist/config/services/ConfigDiscoveryService.d.ts +0 -122
  154. package/dist/config/services/ConfigDiscoveryService.js +0 -322
  155. package/dist/config/services/ConfigLoaderService.d.ts +0 -129
  156. package/dist/config/services/ConfigLoaderService.js +0 -535
  157. package/dist/config/services/ConfigMergeService.d.ts +0 -208
  158. package/dist/config/services/ConfigMergeService.js +0 -308
  159. package/dist/config/services/ConfigValidationService.d.ts +0 -214
  160. package/dist/config/services/ConfigValidationService.js +0 -310
  161. package/dist/config/services/SessionAuthService.d.ts +0 -225
  162. package/dist/config/services/SessionAuthService.js +0 -456
  163. package/dist/config/services/__tests__/ConfigMergeService.test.d.ts +0 -1
  164. package/dist/config/services/__tests__/ConfigMergeService.test.js +0 -271
  165. package/dist/config/services/index.d.ts +0 -13
  166. package/dist/config/services/index.js +0 -10
  167. package/dist/config/yamlConfig.d.ts +0 -722
  168. package/dist/config/yamlConfig.js +0 -702
  169. package/dist/functions/pathResolution.d.ts +0 -37
  170. package/dist/functions/pathResolution.js +0 -185
  171. package/dist/functions/templates/count-docs-in-collection/package.json +0 -25
  172. package/dist/functions/templates/count-docs-in-collection/tsconfig.json +0 -28
  173. package/dist/functions/templates/hono-typescript/package.json +0 -26
  174. package/dist/functions/templates/hono-typescript/src/index.ts +0 -54
  175. package/dist/functions/templates/hono-typescript/tsconfig.json +0 -20
  176. package/dist/functions/templates/typescript-node/package.json +0 -25
  177. package/dist/functions/templates/typescript-node/tsconfig.json +0 -28
  178. package/dist/shared/attributeMapper.d.ts +0 -20
  179. package/dist/shared/attributeMapper.js +0 -203
  180. package/dist/shared/errorUtils.d.ts +0 -54
  181. package/dist/shared/errorUtils.js +0 -95
  182. package/dist/shared/functionManager.d.ts +0 -48
  183. package/dist/shared/functionManager.js +0 -348
  184. package/dist/shared/jsonSchemaGenerator.d.ts +0 -50
  185. package/dist/shared/jsonSchemaGenerator.js +0 -290
  186. package/dist/shared/logging.d.ts +0 -61
  187. package/dist/shared/logging.js +0 -116
  188. package/dist/shared/messageFormatter.d.ts +0 -39
  189. package/dist/shared/messageFormatter.js +0 -162
  190. package/dist/shared/pydanticModelGenerator.d.ts +0 -17
  191. package/dist/shared/pydanticModelGenerator.js +0 -615
  192. package/dist/shared/schemaGenerator.d.ts +0 -40
  193. package/dist/shared/schemaGenerator.js +0 -556
  194. package/dist/utils/ClientFactory.d.ts +0 -87
  195. package/dist/utils/ClientFactory.js +0 -212
  196. package/dist/utils/configDiscovery.d.ts +0 -78
  197. package/dist/utils/configDiscovery.js +0 -472
  198. package/dist/utils/constantsGenerator.d.ts +0 -31
  199. package/dist/utils/constantsGenerator.js +0 -321
  200. package/dist/utils/dataConverters.d.ts +0 -46
  201. package/dist/utils/dataConverters.js +0 -139
  202. package/dist/utils/directoryUtils.d.ts +0 -22
  203. package/dist/utils/directoryUtils.js +0 -59
  204. package/dist/utils/getClientFromConfig.d.ts +0 -39
  205. package/dist/utils/getClientFromConfig.js +0 -199
  206. package/dist/utils/helperFunctions.d.ts +0 -63
  207. package/dist/utils/helperFunctions.js +0 -156
  208. package/dist/utils/pathResolvers.d.ts +0 -53
  209. package/dist/utils/pathResolvers.js +0 -72
  210. package/dist/utils/projectConfig.d.ts +0 -122
  211. package/dist/utils/projectConfig.js +0 -206
  212. package/dist/utils/retryFailedPromises.d.ts +0 -2
  213. package/dist/utils/retryFailedPromises.js +0 -23
  214. package/dist/utils/sessionAuth.d.ts +0 -48
  215. package/dist/utils/sessionAuth.js +0 -164
  216. package/dist/utils/typeGuards.d.ts +0 -35
  217. package/dist/utils/typeGuards.js +0 -57
  218. package/dist/utils/validationRules.d.ts +0 -43
  219. package/dist/utils/validationRules.js +0 -42
  220. package/dist/utils/versionDetection.d.ts +0 -58
  221. package/dist/utils/versionDetection.js +0 -251
  222. package/dist/utils/yamlConverter.d.ts +0 -100
  223. package/dist/utils/yamlConverter.js +0 -428
  224. package/dist/utils/yamlLoader.d.ts +0 -70
  225. package/dist/utils/yamlLoader.js +0 -267
  226. package/scripts/copy-templates.ts +0 -23
  227. package/src/adapters/AdapterFactory.ts +0 -529
  228. package/src/adapters/DatabaseAdapter.ts +0 -319
  229. package/src/adapters/LegacyAdapter.ts +0 -844
  230. package/src/adapters/TablesDBAdapter.ts +0 -823
  231. package/src/adapters/index.ts +0 -37
  232. package/src/backups/operations/bucketBackup.ts +0 -277
  233. package/src/backups/operations/collectionBackup.ts +0 -310
  234. package/src/backups/operations/comprehensiveBackup.ts +0 -342
  235. package/src/backups/schemas/bucketManifest.ts +0 -78
  236. package/src/backups/schemas/comprehensiveManifest.ts +0 -76
  237. package/src/backups/tracking/centralizedTracking.ts +0 -352
  238. package/src/cli/commands/configCommands.ts +0 -201
  239. package/src/cli/commands/databaseCommands.ts +0 -879
  240. package/src/cli/commands/functionCommands.ts +0 -418
  241. package/src/cli/commands/schemaCommands.ts +0 -200
  242. package/src/cli/commands/storageCommands.ts +0 -152
  243. package/src/cli/commands/transferCommands.ts +0 -457
  244. package/src/collections/attributes.ts +0 -2020
  245. package/src/collections/attributes.ts.backup +0 -1555
  246. package/src/collections/indexes.ts +0 -352
  247. package/src/collections/methods.ts +0 -700
  248. package/src/collections/tableOperations.ts +0 -521
  249. package/src/collections/transferOperations.ts +0 -590
  250. package/src/collections/wipeOperations.ts +0 -346
  251. package/src/config/ConfigManager.ts +0 -849
  252. package/src/config/README.md +0 -274
  253. package/src/config/configMigration.ts +0 -575
  254. package/src/config/configValidation.ts +0 -445
  255. package/src/config/index.ts +0 -10
  256. package/src/config/services/ConfigDiscoveryService.ts +0 -410
  257. package/src/config/services/ConfigLoaderService.ts +0 -732
  258. package/src/config/services/ConfigMergeService.ts +0 -388
  259. package/src/config/services/ConfigValidationService.ts +0 -394
  260. package/src/config/services/SessionAuthService.ts +0 -565
  261. package/src/config/services/__tests__/ConfigMergeService.test.ts +0 -351
  262. package/src/config/services/index.ts +0 -29
  263. package/src/config/yamlConfig.ts +0 -761
  264. package/src/databases/methods.ts +0 -49
  265. package/src/databases/setup.ts +0 -77
  266. package/src/examples/yamlTerminologyExample.ts +0 -346
  267. package/src/functions/deployments.ts +0 -220
  268. package/src/functions/fnConfigDiscovery.ts +0 -103
  269. package/src/functions/methods.ts +0 -284
  270. package/src/functions/pathResolution.ts +0 -227
  271. package/src/functions/templates/count-docs-in-collection/README.md +0 -54
  272. package/src/functions/templates/count-docs-in-collection/package.json +0 -25
  273. package/src/functions/templates/count-docs-in-collection/src/main.ts +0 -159
  274. package/src/functions/templates/count-docs-in-collection/src/request.ts +0 -9
  275. package/src/functions/templates/count-docs-in-collection/tsconfig.json +0 -28
  276. package/src/functions/templates/hono-typescript/README.md +0 -286
  277. package/src/functions/templates/hono-typescript/package.json +0 -26
  278. package/src/functions/templates/hono-typescript/src/adapters/request.ts +0 -74
  279. package/src/functions/templates/hono-typescript/src/adapters/response.ts +0 -106
  280. package/src/functions/templates/hono-typescript/src/app.ts +0 -180
  281. package/src/functions/templates/hono-typescript/src/context.ts +0 -103
  282. package/src/functions/templates/hono-typescript/src/middleware/appwrite.ts +0 -119
  283. package/src/functions/templates/hono-typescript/tsconfig.json +0 -20
  284. package/src/functions/templates/typescript-node/README.md +0 -32
  285. package/src/functions/templates/typescript-node/package.json +0 -25
  286. package/src/functions/templates/typescript-node/src/context.ts +0 -103
  287. package/src/functions/templates/typescript-node/src/index.ts +0 -29
  288. package/src/functions/templates/typescript-node/tsconfig.json +0 -28
  289. package/src/functions/templates/uv/README.md +0 -31
  290. package/src/functions/templates/uv/pyproject.toml +0 -30
  291. package/src/functions/templates/uv/src/__init__.py +0 -0
  292. package/src/functions/templates/uv/src/context.py +0 -125
  293. package/src/functions/templates/uv/src/index.py +0 -46
  294. package/src/init.ts +0 -62
  295. package/src/interactiveCLI.ts +0 -1136
  296. package/src/main.ts +0 -1670
  297. package/src/migrations/afterImportActions.ts +0 -580
  298. package/src/migrations/appwriteToX.ts +0 -664
  299. package/src/migrations/comprehensiveTransfer.ts +0 -2285
  300. package/src/migrations/dataLoader.ts +0 -1702
  301. package/src/migrations/importController.ts +0 -428
  302. package/src/migrations/importDataActions.ts +0 -315
  303. package/src/migrations/relationships.ts +0 -334
  304. package/src/migrations/services/DataTransformationService.ts +0 -196
  305. package/src/migrations/services/FileHandlerService.ts +0 -311
  306. package/src/migrations/services/ImportOrchestrator.ts +0 -666
  307. package/src/migrations/services/RateLimitManager.ts +0 -363
  308. package/src/migrations/services/RelationshipResolver.ts +0 -461
  309. package/src/migrations/services/UserMappingService.ts +0 -345
  310. package/src/migrations/services/ValidationService.ts +0 -349
  311. package/src/migrations/transfer.ts +0 -1068
  312. package/src/migrations/yaml/YamlImportConfigLoader.ts +0 -439
  313. package/src/migrations/yaml/YamlImportIntegration.ts +0 -446
  314. package/src/migrations/yaml/generateImportSchemas.ts +0 -1354
  315. package/src/schemas/authUser.ts +0 -23
  316. package/src/setup.ts +0 -8
  317. package/src/setupCommands.ts +0 -603
  318. package/src/setupController.ts +0 -43
  319. package/src/shared/attributeMapper.ts +0 -229
  320. package/src/shared/backupMetadataSchema.ts +0 -93
  321. package/src/shared/backupTracking.ts +0 -211
  322. package/src/shared/confirmationDialogs.ts +0 -327
  323. package/src/shared/errorUtils.ts +0 -110
  324. package/src/shared/functionManager.ts +0 -537
  325. package/src/shared/jsonSchemaGenerator.ts +0 -383
  326. package/src/shared/logging.ts +0 -149
  327. package/src/shared/messageFormatter.ts +0 -208
  328. package/src/shared/migrationHelpers.ts +0 -232
  329. package/src/shared/operationLogger.ts +0 -20
  330. package/src/shared/operationQueue.ts +0 -377
  331. package/src/shared/operationsTable.ts +0 -338
  332. package/src/shared/operationsTableSchema.ts +0 -60
  333. package/src/shared/progressManager.ts +0 -278
  334. package/src/shared/pydanticModelGenerator.ts +0 -618
  335. package/src/shared/relationshipExtractor.ts +0 -214
  336. package/src/shared/schemaGenerator.ts +0 -644
  337. package/src/shared/selectionDialogs.ts +0 -749
  338. package/src/storage/backupCompression.ts +0 -88
  339. package/src/storage/methods.ts +0 -698
  340. package/src/storage/schemas.ts +0 -205
  341. package/src/tables/indexManager.ts +0 -409
  342. package/src/types/node-appwrite-tablesdb.d.ts +0 -44
  343. package/src/types.ts +0 -9
  344. package/src/users/methods.ts +0 -359
  345. package/src/utils/ClientFactory.ts +0 -240
  346. package/src/utils/configDiscovery.ts +0 -557
  347. package/src/utils/configMigration.ts +0 -348
  348. package/src/utils/constantsGenerator.ts +0 -369
  349. package/src/utils/dataConverters.ts +0 -159
  350. package/src/utils/directoryUtils.ts +0 -61
  351. package/src/utils/getClientFromConfig.ts +0 -257
  352. package/src/utils/helperFunctions.ts +0 -228
  353. package/src/utils/index.ts +0 -2
  354. package/src/utils/loadConfigs.ts +0 -449
  355. package/src/utils/pathResolvers.ts +0 -81
  356. package/src/utils/projectConfig.ts +0 -340
  357. package/src/utils/retryFailedPromises.ts +0 -29
  358. package/src/utils/sessionAuth.ts +0 -230
  359. package/src/utils/setupFiles.ts +0 -1238
  360. package/src/utils/typeGuards.ts +0 -65
  361. package/src/utils/validationRules.ts +0 -88
  362. package/src/utils/versionDetection.ts +0 -292
  363. package/src/utils/yamlConverter.ts +0 -542
  364. package/src/utils/yamlLoader.ts +0 -371
  365. package/src/utilsController.ts +0 -1213
  366. package/tests/README.md +0 -497
  367. package/tests/adapters/AdapterFactory.test.ts +0 -277
  368. package/tests/integration/syncOperations.test.ts +0 -463
  369. package/tests/jest.config.js +0 -25
  370. package/tests/migration/configMigration.test.ts +0 -546
  371. package/tests/setup.ts +0 -62
  372. package/tests/testUtils.ts +0 -340
  373. package/tests/utils/loadConfigs.test.ts +0 -350
  374. package/tests/validation/configValidation.test.ts +0 -412
  375. package/tmp-sync-test/.appwrite/collections/TestCollection.yaml +0 -7
  376. package/tsconfig.json +0 -44
@@ -1,182 +0,0 @@
1
- # yaml-language-server: $schema=../.yaml_schemas/collection.schema.json
2
- # Collection Definition: Categories
3
- name: Categories
4
- id: 01JYDBQTB5W8SCBAYB654CATEG
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 Information
19
- - key: name
20
- type: string
21
- size: 100
22
- required: true
23
- description: "Category name or title"
24
-
25
- - key: slug
26
- type: string
27
- size: 120
28
- required: false
29
- description: "URL-friendly version of the category name"
30
-
31
- - key: description
32
- type: string
33
- size: 500
34
- required: false
35
- description: "Detailed description of the category"
36
-
37
- # Hierarchy Support
38
- - key: parentId
39
- type: string
40
- size: 50
41
- required: false
42
- description: "Parent category ID for hierarchical structure (manual reference)"
43
-
44
- - key: level
45
- type: integer
46
- required: true
47
- default: 0
48
- min: 0
49
- max: 5
50
- description: "Hierarchy level (0 = root, 1 = subcategory, etc.)"
51
-
52
- - key: sortOrder
53
- type: integer
54
- required: true
55
- default: 0
56
- description: "Sort order within the same level"
57
-
58
- # Visual & Branding
59
- - key: colorCode
60
- type: string
61
- size: 7
62
- required: false
63
- description: "Hex color code for category branding (e.g., #FF5733)"
64
-
65
- - key: icon
66
- type: string
67
- size: 50
68
- required: false
69
- description: "Icon name or class for category display"
70
-
71
- - key: coverImage
72
- type: string
73
- size: 255
74
- required: false
75
- description: "Cover image file ID for category header"
76
-
77
- # Status & Management
78
- - key: isActive
79
- type: boolean
80
- required: true
81
- default: true
82
- description: "Whether the category is active and visible"
83
-
84
- - key: isFeatured
85
- type: boolean
86
- required: true
87
- default: false
88
- description: "Whether the category is featured"
89
-
90
- # Statistics
91
- - key: postCount
92
- type: integer
93
- required: true
94
- default: 0
95
- min: 0
96
- description: "Number of posts in this category"
97
-
98
- - key: totalPostCount
99
- type: integer
100
- required: true
101
- default: 0
102
- min: 0
103
- description: "Total posts including subcategories"
104
-
105
- # SEO
106
- - key: metaTitle
107
- type: string
108
- size: 60
109
- required: false
110
- description: "SEO meta title for category page"
111
-
112
- - key: metaDescription
113
- type: string
114
- size: 160
115
- required: false
116
- description: "SEO meta description for category page"
117
-
118
- # Content Guidelines
119
- - key: guidelines
120
- type: string
121
- size: 1000
122
- required: false
123
- description: "Content guidelines or rules for this category"
124
-
125
- indexes:
126
- # Search indexes
127
- - key: name_search
128
- type: fulltext
129
- attributes:
130
- - name
131
-
132
- - key: description_search
133
- type: fulltext
134
- attributes:
135
- - description
136
-
137
- # Hierarchy queries
138
- - key: parent_level
139
- type: key
140
- attributes:
141
- - parentId
142
- - level
143
-
144
- - key: level_sort
145
- type: key
146
- attributes:
147
- - level
148
- - sortOrder
149
-
150
- # Status queries
151
- - key: active_featured
152
- type: key
153
- attributes:
154
- - isActive
155
- - isFeatured
156
-
157
- - key: active_sort
158
- type: key
159
- attributes:
160
- - isActive
161
- - sortOrder
162
-
163
- # Statistics
164
- - key: post_count_desc
165
- type: key
166
- attributes:
167
- - postCount
168
- orders:
169
- - desc
170
-
171
- # Unique constraints
172
- - key: name_unique
173
- type: unique
174
- attributes:
175
- - name
176
-
177
- - key: slug_unique
178
- type: unique
179
- attributes:
180
- - slug
181
-
182
- importDefs: []
@@ -1,36 +0,0 @@
1
- # yaml-language-server: $schema=../.yaml_schemas/collection.schema.json
2
- # Example Collection Definition
3
- name: ExampleCollection
4
- id: example_collection_1750645834708
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
- attributes:
17
- - key: title
18
- type: string
19
- size: 255
20
- required: true
21
- description: "The title of the item"
22
- - key: description
23
- type: string
24
- size: 1000
25
- required: false
26
- description: "A longer description"
27
- - key: isActive
28
- type: boolean
29
- required: false
30
- default: true
31
- indexes:
32
- - key: title_search
33
- type: fulltext
34
- attributes:
35
- - title
36
- importDefs: []
@@ -1,227 +0,0 @@
1
- # yaml-language-server: $schema=../.yaml_schemas/collection.schema.json
2
- # Collection Definition: Posts
3
- name: Posts
4
- id: 01JYDBQTB5W8SCBAYB654POSTS
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 Content
19
- - key: title
20
- type: string
21
- size: 200
22
- required: true
23
- description: "Post title or headline"
24
-
25
- - key: slug
26
- type: string
27
- size: 250
28
- required: false
29
- description: "URL-friendly version of the title"
30
-
31
- - key: content
32
- type: string
33
- size: 10000
34
- required: true
35
- description: "Main post content (supports HTML/Markdown)"
36
-
37
- - key: excerpt
38
- type: string
39
- size: 500
40
- required: false
41
- description: "Brief summary or excerpt of the post"
42
-
43
- # Relationships (manual references)
44
- - key: authorId
45
- type: string
46
- size: 50
47
- required: true
48
- description: "User ID of the post author (manual reference)"
49
-
50
- - key: categoryId
51
- type: string
52
- size: 50
53
- required: false
54
- description: "Category ID for the post (manual reference)"
55
-
56
- # Media
57
- - key: featuredImage
58
- type: string
59
- size: 255
60
- required: false
61
- description: "Featured image file ID stored in Appwrite storage"
62
-
63
- - key: gallery
64
- type: string
65
- size: 2000
66
- required: false
67
- array: true
68
- description: "Array of image file IDs for post gallery"
69
-
70
- # Metadata
71
- - key: tags
72
- type: string
73
- size: 50
74
- required: false
75
- array: true
76
- description: "Array of tags associated with the post"
77
-
78
- - key: status
79
- type: enum
80
- elements: ["draft", "published", "archived", "scheduled"]
81
- required: true
82
- default: "draft"
83
- description: "Publication status of the post"
84
-
85
- - key: publishedAt
86
- type: datetime
87
- required: false
88
- description: "Date and time when the post was published"
89
-
90
- - key: scheduledAt
91
- type: datetime
92
- required: false
93
- description: "Date and time when the post is scheduled to be published"
94
-
95
- # Engagement Metrics
96
- - key: viewCount
97
- type: integer
98
- required: true
99
- default: 0
100
- min: 0
101
- description: "Number of times the post has been viewed"
102
-
103
- - key: likeCount
104
- type: integer
105
- required: true
106
- default: 0
107
- min: 0
108
- description: "Number of likes the post has received"
109
-
110
- - key: commentCount
111
- type: integer
112
- required: true
113
- default: 0
114
- min: 0
115
- description: "Number of comments on the post"
116
-
117
- - key: shareCount
118
- type: integer
119
- required: true
120
- default: 0
121
- min: 0
122
- description: "Number of times the post has been shared"
123
-
124
- # SEO & Social
125
- - key: metaTitle
126
- type: string
127
- size: 60
128
- required: false
129
- description: "SEO meta title (max 60 chars)"
130
-
131
- - key: metaDescription
132
- type: string
133
- size: 160
134
- required: false
135
- description: "SEO meta description (max 160 chars)"
136
-
137
- - key: socialImage
138
- type: string
139
- size: 255
140
- required: false
141
- description: "Social media sharing image file ID"
142
-
143
- # Reading Time
144
- - key: readingTime
145
- type: integer
146
- required: false
147
- min: 1
148
- description: "Estimated reading time in minutes"
149
-
150
- # Featured Status
151
- - key: isFeatured
152
- type: boolean
153
- required: true
154
- default: false
155
- description: "Whether this post is featured on the homepage"
156
-
157
- - key: isPinned
158
- type: boolean
159
- required: true
160
- default: false
161
- description: "Whether this post is pinned to the top"
162
-
163
- indexes:
164
- # Search indexes
165
- - key: title_search
166
- type: fulltext
167
- attributes:
168
- - title
169
-
170
- - key: content_search
171
- type: fulltext
172
- attributes:
173
- - content
174
-
175
- - key: combined_search
176
- type: fulltext
177
- attributes:
178
- - title
179
- - content
180
- - excerpt
181
-
182
- # Query optimization
183
- - key: status_published
184
- type: key
185
- attributes:
186
- - status
187
- - publishedAt
188
-
189
- - key: author_status
190
- type: key
191
- attributes:
192
- - authorId
193
- - status
194
-
195
- - key: category_status
196
- type: key
197
- attributes:
198
- - categoryId
199
- - status
200
-
201
- - key: featured_status
202
- type: key
203
- attributes:
204
- - isFeatured
205
- - status
206
-
207
- - key: views_desc
208
- type: key
209
- attributes:
210
- - viewCount
211
- orders:
212
- - desc
213
-
214
- - key: likes_desc
215
- type: key
216
- attributes:
217
- - likeCount
218
- orders:
219
- - desc
220
-
221
- # Unique constraints
222
- - key: slug_unique
223
- type: unique
224
- attributes:
225
- - slug
226
-
227
- importDefs: []
@@ -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: []
@@ -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