appwrite-cli 13.0.0-rc.1 → 13.0.0-rc.3
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/.github/workflows/publish.yml +68 -0
- package/CHANGELOG.md +10 -1
- package/LICENSE.md +1 -1
- package/README.md +3 -3
- package/cli.ts +152 -0
- package/dist/bundle.cjs +95813 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +145 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -142
- package/dist/index.js.map +1 -1
- package/dist/lib/client.d.ts +2 -3
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +57 -45
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/commands/config.d.ts +562 -0
- package/dist/lib/commands/config.d.ts.map +1 -0
- package/dist/lib/commands/config.js +416 -0
- package/dist/lib/commands/config.js.map +1 -0
- package/dist/lib/commands/db.d.ts +34 -0
- package/dist/lib/commands/db.d.ts.map +1 -0
- package/dist/lib/commands/db.js +247 -0
- package/dist/lib/commands/db.js.map +1 -0
- package/dist/lib/commands/errors.d.ts +68 -0
- package/dist/lib/commands/errors.d.ts.map +1 -0
- package/dist/lib/commands/errors.js +72 -0
- package/dist/lib/commands/errors.js.map +1 -0
- package/dist/lib/commands/generic.d.ts +2 -2
- package/dist/lib/commands/generic.d.ts.map +1 -1
- package/dist/lib/commands/generic.js +170 -157
- package/dist/lib/commands/generic.js.map +1 -1
- package/dist/lib/commands/init.d.ts +1 -1
- package/dist/lib/commands/init.d.ts.map +1 -1
- package/dist/lib/commands/init.js +201 -192
- package/dist/lib/commands/init.js.map +1 -1
- package/dist/lib/commands/pull.d.ts +105 -3
- package/dist/lib/commands/pull.d.ts.map +1 -1
- package/dist/lib/commands/pull.js +530 -370
- package/dist/lib/commands/pull.js.map +1 -1
- package/dist/lib/commands/push.d.ts +106 -0
- package/dist/lib/commands/push.d.ts.map +1 -1
- package/dist/lib/commands/push.js +1432 -1830
- package/dist/lib/commands/push.js.map +1 -1
- package/dist/lib/commands/run.d.ts +1 -1
- package/dist/lib/commands/run.d.ts.map +1 -1
- package/dist/lib/commands/run.js +129 -127
- package/dist/lib/commands/run.js.map +1 -1
- package/dist/lib/commands/schema.d.ts +59 -0
- package/dist/lib/commands/schema.d.ts.map +1 -0
- package/dist/lib/commands/schema.js +86 -0
- package/dist/lib/commands/schema.js.map +1 -0
- package/dist/lib/commands/services/account.d.ts +3 -0
- package/dist/lib/commands/services/account.d.ts.map +1 -0
- package/dist/lib/commands/services/account.js +328 -0
- package/dist/lib/commands/services/account.js.map +1 -0
- package/dist/lib/commands/services/console.d.ts +3 -0
- package/dist/lib/commands/services/console.d.ts.map +1 -0
- package/dist/lib/commands/services/console.js +28 -0
- package/dist/lib/commands/services/console.js.map +1 -0
- package/dist/lib/commands/services/databases.d.ts +3 -0
- package/dist/lib/commands/services/databases.d.ts.map +1 -0
- package/dist/lib/commands/services/databases.js +620 -0
- package/dist/lib/commands/services/databases.js.map +1 -0
- package/dist/lib/commands/services/functions.d.ts +3 -0
- package/dist/lib/commands/services/functions.d.ts.map +1 -0
- package/dist/lib/commands/services/functions.js +266 -0
- package/dist/lib/commands/services/functions.js.map +1 -0
- package/dist/lib/commands/services/graphql.d.ts +3 -0
- package/dist/lib/commands/services/graphql.d.ts.map +1 -0
- package/dist/lib/commands/services/graphql.js +28 -0
- package/dist/lib/commands/services/graphql.js.map +1 -0
- package/dist/lib/commands/services/health.d.ts +3 -0
- package/dist/lib/commands/services/health.d.ts.map +1 -0
- package/dist/lib/commands/services/health.js +123 -0
- package/dist/lib/commands/services/health.js.map +1 -0
- package/dist/lib/commands/services/locale.d.ts +3 -0
- package/dist/lib/commands/services/locale.d.ts.map +1 -0
- package/dist/lib/commands/services/locale.js +52 -0
- package/dist/lib/commands/services/locale.js.map +1 -0
- package/dist/lib/commands/services/messaging.d.ts +3 -0
- package/dist/lib/commands/services/messaging.d.ts.map +1 -0
- package/dist/lib/commands/services/messaging.js +505 -0
- package/dist/lib/commands/services/messaging.js.map +1 -0
- package/dist/lib/commands/services/migrations.d.ts +3 -0
- package/dist/lib/commands/services/migrations.d.ts.map +1 -0
- package/dist/lib/commands/services/migrations.js +135 -0
- package/dist/lib/commands/services/migrations.js.map +1 -0
- package/dist/lib/commands/services/project.d.ts +3 -0
- package/dist/lib/commands/services/project.d.ts.map +1 -0
- package/dist/lib/commands/services/project.js +54 -0
- package/dist/lib/commands/services/project.js.map +1 -0
- package/dist/lib/commands/services/projects.d.ts +3 -0
- package/dist/lib/commands/services/projects.d.ts.map +1 -0
- package/dist/lib/commands/services/projects.js +415 -0
- package/dist/lib/commands/services/projects.js.map +1 -0
- package/dist/lib/commands/services/proxy.d.ts +3 -0
- package/dist/lib/commands/services/proxy.d.ts.map +1 -0
- package/dist/lib/commands/services/proxy.js +68 -0
- package/dist/lib/commands/services/proxy.js.map +1 -0
- package/dist/lib/commands/services/sites.d.ts +3 -0
- package/dist/lib/commands/services/sites.d.ts.map +1 -0
- package/dist/lib/commands/services/sites.js +250 -0
- package/dist/lib/commands/services/sites.js.map +1 -0
- package/dist/lib/commands/services/storage.d.ts +3 -0
- package/dist/lib/commands/services/storage.d.ts.map +1 -0
- package/dist/lib/commands/services/storage.js +175 -0
- package/dist/lib/commands/services/storage.js.map +1 -0
- package/dist/lib/commands/services/tables-db.d.ts +3 -0
- package/dist/lib/commands/services/tables-db.d.ts.map +1 -0
- package/dist/lib/commands/services/tables-db.js +613 -0
- package/dist/lib/commands/services/tables-db.js.map +1 -0
- package/dist/lib/commands/services/teams.d.ts +3 -0
- package/dist/lib/commands/services/teams.d.ts.map +1 -0
- package/dist/lib/commands/services/teams.js +123 -0
- package/dist/lib/commands/services/teams.js.map +1 -0
- package/dist/lib/commands/services/tokens.d.ts +3 -0
- package/dist/lib/commands/services/tokens.d.ts.map +1 -0
- package/dist/lib/commands/services/tokens.js +49 -0
- package/dist/lib/commands/services/tokens.js.map +1 -0
- package/dist/lib/commands/services/users.d.ts +3 -0
- package/dist/lib/commands/services/users.d.ts.map +1 -0
- package/dist/lib/commands/services/users.js +312 -0
- package/dist/lib/commands/services/users.js.map +1 -0
- package/dist/lib/commands/services/vcs.d.ts +3 -0
- package/dist/lib/commands/services/vcs.d.ts.map +1 -0
- package/dist/lib/commands/services/vcs.js +87 -0
- package/dist/lib/commands/services/vcs.js.map +1 -0
- package/dist/lib/commands/types.d.ts +1 -1
- package/dist/lib/commands/types.d.ts.map +1 -1
- package/dist/lib/commands/types.js +53 -57
- package/dist/lib/commands/types.js.map +1 -1
- package/dist/lib/commands/update.d.ts +1 -1
- package/dist/lib/commands/update.d.ts.map +1 -1
- package/dist/lib/commands/update.js +69 -69
- package/dist/lib/commands/update.js.map +1 -1
- package/dist/lib/commands/utils/attributes.d.ts +47 -0
- package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
- package/dist/lib/commands/utils/attributes.js +514 -0
- package/dist/lib/commands/utils/attributes.js.map +1 -0
- package/dist/lib/commands/utils/change-approval.d.ts +25 -0
- package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
- package/dist/lib/commands/utils/change-approval.js +129 -0
- package/dist/lib/commands/utils/change-approval.js.map +1 -0
- package/dist/lib/commands/utils/database-sync.d.ts +10 -0
- package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
- package/dist/lib/commands/utils/database-sync.js +136 -0
- package/dist/lib/commands/utils/database-sync.js.map +1 -0
- package/dist/lib/commands/utils/deployment.d.ts +34 -0
- package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
- package/dist/lib/commands/utils/deployment.js +109 -0
- package/dist/lib/commands/utils/deployment.js.map +1 -0
- package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
- package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
- package/dist/lib/commands/utils/error-formatter.js +333 -0
- package/dist/lib/commands/utils/error-formatter.js.map +1 -0
- package/dist/lib/commands/utils/pools.d.ts +16 -0
- package/dist/lib/commands/utils/pools.d.ts.map +1 -0
- package/dist/lib/commands/utils/pools.js +198 -0
- package/dist/lib/commands/utils/pools.js.map +1 -0
- package/dist/lib/config.d.ts +41 -40
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +264 -239
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +14 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +19 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/emulation/docker.d.ts +4 -12
- package/dist/lib/emulation/docker.d.ts.map +1 -1
- package/dist/lib/emulation/docker.js +159 -142
- package/dist/lib/emulation/docker.js.map +1 -1
- package/dist/lib/emulation/utils.d.ts +1 -1
- package/dist/lib/emulation/utils.d.ts.map +1 -1
- package/dist/lib/emulation/utils.js +55 -58
- package/dist/lib/emulation/utils.js.map +1 -1
- package/dist/lib/id.d.ts +1 -1
- package/dist/lib/id.d.ts.map +1 -1
- package/dist/lib/id.js +13 -18
- package/dist/lib/id.js.map +1 -1
- package/dist/lib/paginate.d.ts +3 -4
- package/dist/lib/paginate.d.ts.map +1 -1
- package/dist/lib/paginate.js +7 -10
- package/dist/lib/paginate.js.map +1 -1
- package/dist/lib/parser.d.ts +1 -1
- package/dist/lib/parser.d.ts.map +1 -1
- package/dist/lib/parser.js +92 -103
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/questions.d.ts +1 -1
- package/dist/lib/questions.d.ts.map +1 -1
- package/dist/lib/questions.js +381 -385
- package/dist/lib/questions.js.map +1 -1
- package/dist/lib/sdks.d.ts +1 -1
- package/dist/lib/sdks.d.ts.map +1 -1
- package/dist/lib/sdks.js +39 -30
- package/dist/lib/sdks.js.map +1 -1
- package/dist/lib/services.d.ts +13 -0
- package/dist/lib/services.d.ts.map +1 -0
- package/dist/lib/services.js +47 -0
- package/dist/lib/services.js.map +1 -0
- package/dist/lib/spinner.d.ts +1 -1
- package/dist/lib/spinner.d.ts.map +1 -1
- package/dist/lib/spinner.js +25 -27
- package/dist/lib/spinner.js.map +1 -1
- package/dist/lib/type-generation/attribute.d.ts +1 -1
- package/dist/lib/type-generation/attribute.d.ts.map +1 -1
- package/dist/lib/type-generation/attribute.js +14 -17
- package/dist/lib/type-generation/attribute.js.map +1 -1
- package/dist/lib/type-generation/languages/csharp.d.ts +1 -1
- package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/csharp.js +34 -34
- package/dist/lib/type-generation/languages/csharp.js.map +1 -1
- package/dist/lib/type-generation/languages/dart.d.ts +1 -1
- package/dist/lib/type-generation/languages/dart.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/dart.js +57 -57
- package/dist/lib/type-generation/languages/dart.js.map +1 -1
- package/dist/lib/type-generation/languages/java.d.ts +1 -1
- package/dist/lib/type-generation/languages/java.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/java.js +35 -35
- package/dist/lib/type-generation/languages/java.js.map +1 -1
- package/dist/lib/type-generation/languages/javascript.d.ts +1 -1
- package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/javascript.js +45 -44
- package/dist/lib/type-generation/languages/javascript.js.map +1 -1
- package/dist/lib/type-generation/languages/kotlin.d.ts +1 -1
- package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/kotlin.js +35 -35
- package/dist/lib/type-generation/languages/kotlin.js.map +1 -1
- package/dist/lib/type-generation/languages/language.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/language.js +32 -37
- package/dist/lib/type-generation/languages/language.js.map +1 -1
- package/dist/lib/type-generation/languages/php.d.ts +1 -1
- package/dist/lib/type-generation/languages/php.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/php.js +34 -34
- package/dist/lib/type-generation/languages/php.js.map +1 -1
- package/dist/lib/type-generation/languages/swift.d.ts +1 -1
- package/dist/lib/type-generation/languages/swift.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/swift.js +35 -35
- package/dist/lib/type-generation/languages/swift.js.map +1 -1
- package/dist/lib/type-generation/languages/typescript.d.ts +1 -1
- package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -1
- package/dist/lib/type-generation/languages/typescript.js +49 -46
- package/dist/lib/type-generation/languages/typescript.js.map +1 -1
- package/dist/lib/types.d.ts +38 -108
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +1 -2
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +142 -98
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/validations.d.ts.map +1 -1
- package/dist/lib/validations.js +2 -6
- package/dist/lib/validations.js.map +1 -1
- package/dist/package.json +68 -0
- package/index.ts +25 -149
- package/install.ps1 +2 -2
- package/install.sh +1 -1
- package/lib/client.ts +261 -220
- package/lib/commands/config.ts +494 -0
- package/lib/commands/db.ts +324 -0
- package/lib/commands/errors.ts +93 -0
- package/lib/commands/generic.ts +371 -269
- package/lib/commands/init.ts +631 -519
- package/lib/commands/pull.ts +827 -453
- package/lib/commands/push.ts +2191 -2349
- package/lib/commands/run.ts +382 -302
- package/lib/commands/schema.ts +122 -0
- package/lib/commands/services/account.ts +647 -0
- package/lib/commands/services/console.ts +52 -0
- package/lib/commands/services/databases.ts +1163 -0
- package/lib/commands/services/functions.ts +536 -0
- package/lib/commands/services/graphql.ts +50 -0
- package/lib/commands/services/health.ts +260 -0
- package/lib/commands/services/locale.ts +102 -0
- package/lib/commands/services/messaging.ts +1052 -0
- package/lib/commands/services/migrations.ts +249 -0
- package/lib/commands/services/project.ts +112 -0
- package/lib/commands/services/projects.ts +785 -0
- package/lib/commands/services/proxy.ts +135 -0
- package/lib/commands/services/sites.ts +505 -0
- package/lib/commands/services/storage.ts +338 -0
- package/lib/commands/services/tables-db.ts +1150 -0
- package/lib/commands/services/teams.ts +232 -0
- package/lib/commands/services/tokens.ts +94 -0
- package/lib/commands/services/users.ts +616 -0
- package/lib/commands/services/vcs.ts +165 -0
- package/lib/commands/types.ts +145 -118
- package/lib/commands/update.ts +189 -159
- package/lib/commands/utils/attributes.ts +719 -0
- package/lib/commands/utils/change-approval.ts +186 -0
- package/lib/commands/utils/database-sync.ts +180 -0
- package/lib/commands/utils/deployment.ts +184 -0
- package/lib/commands/utils/error-formatter.ts +417 -0
- package/lib/commands/utils/pools.ts +355 -0
- package/lib/config.ts +766 -687
- package/lib/constants.ts +22 -0
- package/lib/emulation/docker.ts +277 -216
- package/lib/emulation/utils.ts +188 -174
- package/lib/id.ts +23 -23
- package/lib/paginate.ts +69 -55
- package/lib/parser.ts +220 -189
- package/lib/questions.ts +1024 -948
- package/lib/sdks.ts +84 -51
- package/lib/services.ts +72 -0
- package/lib/spinner.ts +112 -99
- package/lib/type-generation/attribute.ts +15 -14
- package/lib/type-generation/languages/csharp.ts +71 -60
- package/lib/type-generation/languages/dart.ts +106 -93
- package/lib/type-generation/languages/java.ts +69 -58
- package/lib/type-generation/languages/javascript.ts +84 -73
- package/lib/type-generation/languages/kotlin.ts +71 -60
- package/lib/type-generation/languages/language.ts +103 -95
- package/lib/type-generation/languages/php.ts +67 -56
- package/lib/type-generation/languages/swift.ts +71 -60
- package/lib/type-generation/languages/typescript.ts +93 -76
- package/lib/types.ts +50 -125
- package/lib/utils.ts +304 -233
- package/lib/validations.ts +17 -14
- package/package.json +31 -22
- package/scoop/appwrite.config.json +3 -3
- package/tsconfig.json +7 -13
- package/.github/workflows/autoclose.yml +0 -11
- package/.github/workflows/npm-publish.yml +0 -49
- package/dist/lib/commands/account.d.ts +0 -379
- package/dist/lib/commands/account.d.ts.map +0 -1
- package/dist/lib/commands/account.js +0 -1228
- package/dist/lib/commands/account.js.map +0 -1
- package/dist/lib/commands/console.d.ts +0 -20
- package/dist/lib/commands/console.d.ts.map +0 -1
- package/dist/lib/commands/console.js +0 -78
- package/dist/lib/commands/console.js.map +0 -1
- package/dist/lib/commands/databases.d.ts +0 -732
- package/dist/lib/commands/databases.d.ts.map +0 -1
- package/dist/lib/commands/databases.js +0 -2196
- package/dist/lib/commands/databases.js.map +0 -1
- package/dist/lib/commands/functions.d.ts +0 -310
- package/dist/lib/commands/functions.d.ts.map +0 -1
- package/dist/lib/commands/functions.js +0 -1100
- package/dist/lib/commands/functions.js.map +0 -1
- package/dist/lib/commands/graphql.d.ts +0 -19
- package/dist/lib/commands/graphql.d.ts.map +0 -1
- package/dist/lib/commands/graphql.js +0 -77
- package/dist/lib/commands/graphql.js.map +0 -1
- package/dist/lib/commands/health.d.ts +0 -153
- package/dist/lib/commands/health.d.ts.map +0 -1
- package/dist/lib/commands/health.js +0 -464
- package/dist/lib/commands/health.js.map +0 -1
- package/dist/lib/commands/locale.d.ts +0 -53
- package/dist/lib/commands/locale.d.ts.map +0 -1
- package/dist/lib/commands/locale.js +0 -165
- package/dist/lib/commands/locale.js.map +0 -1
- package/dist/lib/commands/messaging.d.ts +0 -588
- package/dist/lib/commands/messaging.d.ts.map +0 -1
- package/dist/lib/commands/messaging.js +0 -2042
- package/dist/lib/commands/messaging.js.map +0 -1
- package/dist/lib/commands/migrations.d.ts +0 -150
- package/dist/lib/commands/migrations.d.ts.map +0 -1
- package/dist/lib/commands/migrations.js +0 -524
- package/dist/lib/commands/migrations.js.map +0 -1
- package/dist/lib/commands/organizations.d.ts +0 -11
- package/dist/lib/commands/organizations.d.ts.map +0 -1
- package/dist/lib/commands/organizations.js +0 -31
- package/dist/lib/commands/organizations.js.map +0 -1
- package/dist/lib/commands/project.d.ts +0 -53
- package/dist/lib/commands/project.d.ts.map +0 -1
- package/dist/lib/commands/project.js +0 -176
- package/dist/lib/commands/project.js.map +0 -1
- package/dist/lib/commands/projects.d.ts +0 -516
- package/dist/lib/commands/projects.d.ts.map +0 -1
- package/dist/lib/commands/projects.js +0 -1590
- package/dist/lib/commands/projects.js.map +0 -1
- package/dist/lib/commands/proxy.d.ts +0 -71
- package/dist/lib/commands/proxy.d.ts.map +0 -1
- package/dist/lib/commands/proxy.js +0 -240
- package/dist/lib/commands/proxy.js.map +0 -1
- package/dist/lib/commands/sites.d.ts +0 -296
- package/dist/lib/commands/sites.d.ts.map +0 -1
- package/dist/lib/commands/sites.js +0 -1046
- package/dist/lib/commands/sites.js.map +0 -1
- package/dist/lib/commands/storage.d.ts +0 -170
- package/dist/lib/commands/storage.d.ts.map +0 -1
- package/dist/lib/commands/storage.js +0 -651
- package/dist/lib/commands/storage.js.map +0 -1
- package/dist/lib/commands/tables-db.d.ts +0 -728
- package/dist/lib/commands/tables-db.d.ts.map +0 -1
- package/dist/lib/commands/tables-db.js +0 -2198
- package/dist/lib/commands/tables-db.js.map +0 -1
- package/dist/lib/commands/teams.d.ts +0 -129
- package/dist/lib/commands/teams.d.ts.map +0 -1
- package/dist/lib/commands/teams.js +0 -403
- package/dist/lib/commands/teams.js.map +0 -1
- package/dist/lib/commands/tokens.d.ts +0 -48
- package/dist/lib/commands/tokens.d.ts.map +0 -1
- package/dist/lib/commands/tokens.js +0 -156
- package/dist/lib/commands/tokens.js.map +0 -1
- package/dist/lib/commands/users.d.ts +0 -382
- package/dist/lib/commands/users.d.ts.map +0 -1
- package/dist/lib/commands/users.js +0 -1195
- package/dist/lib/commands/users.js.map +0 -1
- package/dist/lib/commands/vcs.d.ts +0 -92
- package/dist/lib/commands/vcs.d.ts.map +0 -1
- package/dist/lib/commands/vcs.js +0 -276
- package/dist/lib/commands/vcs.js.map +0 -1
- package/dist/lib/exception.d.ts +0 -8
- package/dist/lib/exception.d.ts.map +0 -1
- package/dist/lib/exception.js +0 -16
- package/dist/lib/exception.js.map +0 -1
- package/lib/commands/account.ts +0 -1867
- package/lib/commands/console.ts +0 -112
- package/lib/commands/databases.ts +0 -3272
- package/lib/commands/functions.ts +0 -1587
- package/lib/commands/graphql.ts +0 -110
- package/lib/commands/health.ts +0 -753
- package/lib/commands/locale.ts +0 -270
- package/lib/commands/messaging.ts +0 -2878
- package/lib/commands/migrations.ts +0 -754
- package/lib/commands/organizations.ts +0 -46
- package/lib/commands/project.ts +0 -266
- package/lib/commands/projects.ts +0 -2370
- package/lib/commands/proxy.ts +0 -357
- package/lib/commands/sites.ts +0 -1514
- package/lib/commands/storage.ts +0 -919
- package/lib/commands/tables-db.ts +0 -3260
- package/lib/commands/teams.ts +0 -609
- package/lib/commands/tokens.ts +0 -232
- package/lib/commands/users.ts +0 -1804
- package/lib/commands/vcs.ts +0 -428
- package/lib/exception.ts +0 -20
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { sdkForProject } from "../../sdks.js";
|
|
3
|
+
import {
|
|
4
|
+
actionRunner,
|
|
5
|
+
commandDescriptions,
|
|
6
|
+
success,
|
|
7
|
+
parse,
|
|
8
|
+
parseBool,
|
|
9
|
+
parseInteger,
|
|
10
|
+
} from "../../parser.js";
|
|
11
|
+
import {
|
|
12
|
+
Vcs,
|
|
13
|
+
VCSDetectionType,
|
|
14
|
+
} from "@appwrite.io/console";
|
|
15
|
+
|
|
16
|
+
let vcsClient: Vcs | null = null;
|
|
17
|
+
|
|
18
|
+
const getVcsClient = async (): Promise<Vcs> => {
|
|
19
|
+
if (!vcsClient) {
|
|
20
|
+
const sdkClient = await sdkForProject();
|
|
21
|
+
vcsClient = new Vcs(sdkClient);
|
|
22
|
+
}
|
|
23
|
+
return vcsClient;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const vcs = new Command("vcs")
|
|
27
|
+
.description(commandDescriptions["vcs"] ?? "")
|
|
28
|
+
.configureHelp({
|
|
29
|
+
helpWidth: process.stdout.columns || 80,
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
vcs
|
|
33
|
+
.command(`create-repository-detection`)
|
|
34
|
+
.description(`Analyze a GitHub repository to automatically detect the programming language and runtime environment. This endpoint scans the repository's files and language statistics to determine the appropriate runtime settings for your function. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.`)
|
|
35
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
36
|
+
.requiredOption(`--provider-repository-id <provider-repository-id>`, `Repository Id`)
|
|
37
|
+
.requiredOption(`--type <type>`, `Detector type. Must be one of the following: runtime, framework`)
|
|
38
|
+
.option(`--provider-root-directory <provider-root-directory>`, `Path to Root Directory`)
|
|
39
|
+
.action(
|
|
40
|
+
actionRunner(
|
|
41
|
+
async ({ installationId, providerRepositoryId, type, providerRootDirectory }) =>
|
|
42
|
+
parse(await (await getVcsClient()).createRepositoryDetection(installationId, providerRepositoryId, type as VCSDetectionType, providerRootDirectory)),
|
|
43
|
+
),
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
vcs
|
|
47
|
+
.command(`list-repositories`)
|
|
48
|
+
.description(`Get a list of GitHub repositories available through your installation. This endpoint returns repositories with their basic information, detected runtime environments, and latest push dates. You can optionally filter repositories using a search term. Each repository's runtime is automatically detected based on its contents and language statistics. The GitHub installation must be properly configured for this endpoint to work.`)
|
|
49
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
50
|
+
.requiredOption(`--type <type>`, `Detector type. Must be one of the following: runtime, framework`)
|
|
51
|
+
.option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
|
|
52
|
+
.option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`)
|
|
53
|
+
.action(
|
|
54
|
+
actionRunner(
|
|
55
|
+
async ({ installationId, type, search, queries }) =>
|
|
56
|
+
parse(await (await getVcsClient()).listRepositories(installationId, type as VCSDetectionType, search, queries)),
|
|
57
|
+
),
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
vcs
|
|
61
|
+
.command(`create-repository`)
|
|
62
|
+
.description(`Create a new GitHub repository through your installation. This endpoint allows you to create either a public or private repository by specifying a name and visibility setting. The repository will be created under your GitHub user account or organization, depending on your installation type. The GitHub installation must be properly configured and have the necessary permissions for repository creation.`)
|
|
63
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
64
|
+
.requiredOption(`--name <name>`, `Repository name (slug)`)
|
|
65
|
+
.requiredOption(`--xprivate <xprivate>`, `Mark repository public or private`, parseBool)
|
|
66
|
+
.action(
|
|
67
|
+
actionRunner(
|
|
68
|
+
async ({ installationId, name, xprivate }) =>
|
|
69
|
+
parse(await (await getVcsClient()).createRepository(installationId, name, xprivate)),
|
|
70
|
+
),
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
vcs
|
|
74
|
+
.command(`get-repository`)
|
|
75
|
+
.description(`Get detailed information about a specific GitHub repository from your installation. This endpoint returns repository details including its ID, name, visibility status, organization, and latest push date. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.`)
|
|
76
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
77
|
+
.requiredOption(`--provider-repository-id <provider-repository-id>`, `Repository Id`)
|
|
78
|
+
.action(
|
|
79
|
+
actionRunner(
|
|
80
|
+
async ({ installationId, providerRepositoryId }) =>
|
|
81
|
+
parse(await (await getVcsClient()).getRepository(installationId, providerRepositoryId)),
|
|
82
|
+
),
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
vcs
|
|
86
|
+
.command(`list-repository-branches`)
|
|
87
|
+
.description(`Get a list of all branches from a GitHub repository in your installation. This endpoint returns the names of all branches in the repository and their total count. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.
|
|
88
|
+
`)
|
|
89
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
90
|
+
.requiredOption(`--provider-repository-id <provider-repository-id>`, `Repository Id`)
|
|
91
|
+
.action(
|
|
92
|
+
actionRunner(
|
|
93
|
+
async ({ installationId, providerRepositoryId }) =>
|
|
94
|
+
parse(await (await getVcsClient()).listRepositoryBranches(installationId, providerRepositoryId)),
|
|
95
|
+
),
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
vcs
|
|
99
|
+
.command(`get-repository-contents`)
|
|
100
|
+
.description(`Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.`)
|
|
101
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
102
|
+
.requiredOption(`--provider-repository-id <provider-repository-id>`, `Repository Id`)
|
|
103
|
+
.option(`--provider-root-directory <provider-root-directory>`, `Path to get contents of nested directory`)
|
|
104
|
+
.option(`--provider-reference <provider-reference>`, `Git reference (branch, tag, commit) to get contents from`)
|
|
105
|
+
.action(
|
|
106
|
+
actionRunner(
|
|
107
|
+
async ({ installationId, providerRepositoryId, providerRootDirectory, providerReference }) =>
|
|
108
|
+
parse(await (await getVcsClient()).getRepositoryContents(installationId, providerRepositoryId, providerRootDirectory, providerReference)),
|
|
109
|
+
),
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
vcs
|
|
113
|
+
.command(`update-external-deployments`)
|
|
114
|
+
.description(`Authorize and create deployments for a GitHub pull request in your project. This endpoint allows external contributions by creating deployments from pull requests, enabling preview environments for code review. The pull request must be open and not previously authorized. The GitHub installation must be properly configured and have access to both the repository and pull request for this endpoint to work.`)
|
|
115
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
116
|
+
.requiredOption(`--repository-id <repository-id>`, `VCS Repository Id`)
|
|
117
|
+
.requiredOption(`--provider-pull-request-id <provider-pull-request-id>`, `GitHub Pull Request Id`)
|
|
118
|
+
.action(
|
|
119
|
+
actionRunner(
|
|
120
|
+
async ({ installationId, repositoryId, providerPullRequestId }) =>
|
|
121
|
+
parse(await (await getVcsClient()).updateExternalDeployments(installationId, repositoryId, providerPullRequestId)),
|
|
122
|
+
),
|
|
123
|
+
);
|
|
124
|
+
|
|
125
|
+
vcs
|
|
126
|
+
.command(`list-installations`)
|
|
127
|
+
.description(`List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.
|
|
128
|
+
`)
|
|
129
|
+
.option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: provider, organization`)
|
|
130
|
+
.option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
|
|
131
|
+
.option(
|
|
132
|
+
`--total [value]`,
|
|
133
|
+
`When set to false, the total count returned will be 0 and will not be calculated.`,
|
|
134
|
+
(value: string | undefined) =>
|
|
135
|
+
value === undefined ? true : parseBool(value),
|
|
136
|
+
)
|
|
137
|
+
.action(
|
|
138
|
+
actionRunner(
|
|
139
|
+
async ({ queries, search, total }) =>
|
|
140
|
+
parse(await (await getVcsClient()).listInstallations(queries, search, total)),
|
|
141
|
+
),
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
vcs
|
|
145
|
+
.command(`get-installation`)
|
|
146
|
+
.description(`Get a VCS installation by its unique ID. This endpoint returns the installation's details including its provider, organization, and configuration. `)
|
|
147
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
148
|
+
.action(
|
|
149
|
+
actionRunner(
|
|
150
|
+
async ({ installationId }) =>
|
|
151
|
+
parse(await (await getVcsClient()).getInstallation(installationId)),
|
|
152
|
+
),
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
vcs
|
|
156
|
+
.command(`delete-installation`)
|
|
157
|
+
.description(`Delete a VCS installation by its unique ID. This endpoint removes the installation and all its associated repositories from the project.`)
|
|
158
|
+
.requiredOption(`--installation-id <installation-id>`, `Installation Id`)
|
|
159
|
+
.action(
|
|
160
|
+
actionRunner(
|
|
161
|
+
async ({ installationId }) =>
|
|
162
|
+
parse(await (await getVcsClient()).deleteInstallation(installationId)),
|
|
163
|
+
),
|
|
164
|
+
);
|
|
165
|
+
|
package/lib/commands/types.ts
CHANGED
|
@@ -1,20 +1,32 @@
|
|
|
1
|
-
import ejs
|
|
2
|
-
import fs
|
|
3
|
-
import path
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import ejs from "ejs";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import {
|
|
5
|
+
LanguageMeta,
|
|
6
|
+
detectLanguage,
|
|
7
|
+
Collection,
|
|
8
|
+
} from "../type-generation/languages/language.js";
|
|
9
|
+
import { Command, Option, Argument } from "commander";
|
|
10
|
+
import { localConfig } from "../config.js";
|
|
11
|
+
import { success, log, warn, actionRunner } from "../parser.js";
|
|
12
|
+
import { PHP } from "../type-generation/languages/php.js";
|
|
13
|
+
import { TypeScript } from "../type-generation/languages/typescript.js";
|
|
14
|
+
import { Kotlin } from "../type-generation/languages/kotlin.js";
|
|
15
|
+
import { Swift } from "../type-generation/languages/swift.js";
|
|
16
|
+
import { Java } from "../type-generation/languages/java.js";
|
|
17
|
+
import { Dart } from "../type-generation/languages/dart.js";
|
|
18
|
+
import { JavaScript } from "../type-generation/languages/javascript.js";
|
|
19
|
+
import { CSharp } from "../type-generation/languages/csharp.js";
|
|
20
|
+
|
|
21
|
+
type SupportedLanguage =
|
|
22
|
+
| "ts"
|
|
23
|
+
| "js"
|
|
24
|
+
| "php"
|
|
25
|
+
| "kotlin"
|
|
26
|
+
| "swift"
|
|
27
|
+
| "java"
|
|
28
|
+
| "dart"
|
|
29
|
+
| "cs";
|
|
18
30
|
|
|
19
31
|
function createLanguageMeta(language: SupportedLanguage): LanguageMeta {
|
|
20
32
|
switch (language) {
|
|
@@ -44,150 +56,165 @@ const templateHelpers = {
|
|
|
44
56
|
toCamelCase: LanguageMeta.toCamelCase,
|
|
45
57
|
toSnakeCase: LanguageMeta.toSnakeCase,
|
|
46
58
|
toKebabCase: LanguageMeta.toKebabCase,
|
|
47
|
-
toUpperSnakeCase: LanguageMeta.toUpperSnakeCase
|
|
59
|
+
toUpperSnakeCase: LanguageMeta.toUpperSnakeCase,
|
|
48
60
|
};
|
|
49
61
|
|
|
50
62
|
const typesOutputArgument = new Argument(
|
|
51
63
|
"<output-directory>",
|
|
52
|
-
"The directory to write the types to"
|
|
64
|
+
"The directory to write the types to",
|
|
53
65
|
);
|
|
54
66
|
|
|
55
67
|
const typesLanguageOption = new Option(
|
|
56
68
|
"-l, --language <language>",
|
|
57
|
-
"The language of the types"
|
|
69
|
+
"The language of the types",
|
|
58
70
|
)
|
|
59
71
|
.choices(["auto", "ts", "js", "php", "kotlin", "swift", "java", "dart", "cs"])
|
|
60
72
|
.default("auto");
|
|
61
73
|
|
|
62
74
|
const typesStrictOption = new Option(
|
|
63
75
|
"-s, --strict",
|
|
64
|
-
"Enable strict mode to automatically convert field names to follow language conventions"
|
|
65
|
-
)
|
|
66
|
-
.default(false);
|
|
76
|
+
"Enable strict mode to automatically convert field names to follow language conventions",
|
|
77
|
+
).default(false);
|
|
67
78
|
|
|
68
79
|
interface TypesOptions {
|
|
69
80
|
language: string;
|
|
70
81
|
strict: boolean;
|
|
71
82
|
}
|
|
72
83
|
|
|
73
|
-
const typesCommand = actionRunner(
|
|
74
|
-
|
|
75
|
-
language
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (strict) {
|
|
80
|
-
warn(`Strict mode enabled: Field names will be converted to follow ${language} conventions`);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
const meta = createLanguageMeta(language as SupportedLanguage);
|
|
84
|
-
|
|
85
|
-
const rawOutputPath = rawOutputDirectory;
|
|
86
|
-
const outputExt = path.extname(rawOutputPath);
|
|
87
|
-
const isFileOutput = !!outputExt;
|
|
88
|
-
let outputDirectory = rawOutputPath;
|
|
89
|
-
let singleFileDestination: string | null = null;
|
|
90
|
-
|
|
91
|
-
if (isFileOutput) {
|
|
92
|
-
if (meta.isSingleFile()) {
|
|
93
|
-
// Use the file path directly for single file languages
|
|
94
|
-
outputDirectory = path.dirname(rawOutputPath);
|
|
95
|
-
singleFileDestination = rawOutputPath;
|
|
96
|
-
} else {
|
|
97
|
-
throw new Error(`Invalid output path: ${rawOutputPath}. Output path must be a directory for languages that generate multiple files.`);
|
|
84
|
+
const typesCommand = actionRunner(
|
|
85
|
+
async (rawOutputDirectory: string, { language, strict }: TypesOptions) => {
|
|
86
|
+
if (language === "auto") {
|
|
87
|
+
language = detectLanguage();
|
|
88
|
+
log(`Detected language: ${language}`);
|
|
98
89
|
}
|
|
99
|
-
}
|
|
100
90
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
91
|
+
if (strict) {
|
|
92
|
+
warn(
|
|
93
|
+
`Strict mode enabled: Field names will be converted to follow ${language} conventions`,
|
|
94
|
+
);
|
|
95
|
+
}
|
|
105
96
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
97
|
+
const meta = createLanguageMeta(language as SupportedLanguage);
|
|
98
|
+
|
|
99
|
+
const rawOutputPath = rawOutputDirectory;
|
|
100
|
+
const outputExt = path.extname(rawOutputPath);
|
|
101
|
+
const isFileOutput = !!outputExt;
|
|
102
|
+
let outputDirectory = rawOutputPath;
|
|
103
|
+
let singleFileDestination: string | null = null;
|
|
104
|
+
|
|
105
|
+
if (isFileOutput) {
|
|
106
|
+
if (meta.isSingleFile()) {
|
|
107
|
+
// Use the file path directly for single file languages
|
|
108
|
+
outputDirectory = path.dirname(rawOutputPath);
|
|
109
|
+
singleFileDestination = rawOutputPath;
|
|
110
|
+
} else {
|
|
111
|
+
throw new Error(
|
|
112
|
+
`Invalid output path: ${rawOutputPath}. Output path must be a directory for languages that generate multiple files.`,
|
|
113
|
+
);
|
|
114
|
+
}
|
|
118
115
|
}
|
|
119
|
-
}
|
|
120
116
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
// Normalize tables data: rename 'columns' to 'attributes' for template compatibility
|
|
126
|
-
if (tables.length > 0) {
|
|
127
|
-
dataItems = dataItems.map(table => {
|
|
128
|
-
const { columns, ...rest } = table;
|
|
129
|
-
return {
|
|
130
|
-
...rest,
|
|
131
|
-
attributes: (columns || []).map((column: any) => {
|
|
132
|
-
if (column.relatedTable) {
|
|
133
|
-
const { relatedTable, ...columnRest } = column;
|
|
134
|
-
return {
|
|
135
|
-
...columnRest,
|
|
136
|
-
relatedCollection: relatedTable
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
return column;
|
|
140
|
-
})
|
|
141
|
-
};
|
|
142
|
-
});
|
|
143
|
-
}
|
|
117
|
+
if (!fs.existsSync(outputDirectory)) {
|
|
118
|
+
log(`Directory: ${outputDirectory} does not exist, creating...`);
|
|
119
|
+
fs.mkdirSync(outputDirectory, { recursive: true });
|
|
120
|
+
}
|
|
144
121
|
|
|
145
|
-
|
|
122
|
+
// Try tables first, fallback to collections
|
|
123
|
+
let tables = localConfig.getTables();
|
|
124
|
+
let collections: any[] = [];
|
|
125
|
+
let dataSource = "tables";
|
|
126
|
+
|
|
127
|
+
if (tables.length === 0) {
|
|
128
|
+
collections = localConfig.getCollections();
|
|
129
|
+
dataSource = "collections";
|
|
130
|
+
|
|
131
|
+
if (collections.length === 0) {
|
|
132
|
+
const configFileName = path.basename(localConfig.path);
|
|
133
|
+
throw new Error(
|
|
134
|
+
`No tables or collections found in configuration. Make sure ${configFileName} exists and contains tables or collections.`,
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
146
138
|
|
|
147
|
-
|
|
148
|
-
|
|
139
|
+
// Use tables if available, otherwise use collections
|
|
140
|
+
let dataItems: any[] = tables.length > 0 ? tables : collections;
|
|
141
|
+
const itemType = tables.length > 0 ? "tables" : "collections";
|
|
142
|
+
|
|
143
|
+
// Normalize tables data: rename 'columns' to 'attributes' for template compatibility
|
|
144
|
+
if (tables.length > 0) {
|
|
145
|
+
dataItems = dataItems.map((table) => {
|
|
146
|
+
const { columns, ...rest } = table;
|
|
147
|
+
return {
|
|
148
|
+
...rest,
|
|
149
|
+
attributes: (columns || []).map((column: any) => {
|
|
150
|
+
if (column.relatedTable) {
|
|
151
|
+
const { relatedTable, ...columnRest } = column;
|
|
152
|
+
return {
|
|
153
|
+
...columnRest,
|
|
154
|
+
relatedCollection: relatedTable,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
return column;
|
|
158
|
+
}),
|
|
159
|
+
};
|
|
160
|
+
});
|
|
161
|
+
}
|
|
149
162
|
|
|
150
|
-
|
|
151
|
-
|
|
163
|
+
log(
|
|
164
|
+
`Found ${dataItems.length} ${itemType}: ${dataItems.map((c: any) => c.name).join(", ")}`,
|
|
165
|
+
);
|
|
152
166
|
|
|
153
|
-
|
|
167
|
+
// Use columns if available, otherwise use attributes
|
|
168
|
+
const resourceType = tables.length > 0 ? "columns" : "attributes";
|
|
154
169
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
getType: meta.getType.bind(meta),
|
|
161
|
-
});
|
|
170
|
+
const totalAttributes = dataItems.reduce(
|
|
171
|
+
(count: number, item: any) => count + (item.attributes || []).length,
|
|
172
|
+
0,
|
|
173
|
+
);
|
|
174
|
+
log(`Found ${totalAttributes} ${resourceType} across all ${itemType}`);
|
|
162
175
|
|
|
163
|
-
const
|
|
176
|
+
const templater = ejs.compile(meta.getTemplate());
|
|
164
177
|
|
|
165
|
-
|
|
166
|
-
log(`Added types to ${destination}`);
|
|
167
|
-
} else {
|
|
168
|
-
for (const item of dataItems) {
|
|
178
|
+
if (meta.isSingleFile()) {
|
|
169
179
|
const content = templater({
|
|
170
180
|
collections: dataItems,
|
|
171
|
-
collection: item,
|
|
172
181
|
strict,
|
|
173
182
|
...templateHelpers,
|
|
174
183
|
getType: meta.getType.bind(meta),
|
|
175
184
|
});
|
|
176
|
-
|
|
177
|
-
const destination =
|
|
178
|
-
|
|
185
|
+
|
|
186
|
+
const destination =
|
|
187
|
+
singleFileDestination || path.join(outputDirectory, meta.getFileName());
|
|
188
|
+
|
|
179
189
|
fs.writeFileSync(destination, content);
|
|
180
|
-
log(`Added types
|
|
190
|
+
log(`Added types to ${destination}`);
|
|
191
|
+
} else {
|
|
192
|
+
for (const item of dataItems) {
|
|
193
|
+
const content = templater({
|
|
194
|
+
collections: dataItems,
|
|
195
|
+
collection: item,
|
|
196
|
+
strict,
|
|
197
|
+
...templateHelpers,
|
|
198
|
+
getType: meta.getType.bind(meta),
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
const destination = path.join(
|
|
202
|
+
outputDirectory,
|
|
203
|
+
meta.getFileName(item as Collection),
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
fs.writeFileSync(destination, content);
|
|
207
|
+
log(`Added types for ${item.name} to ${destination}`);
|
|
208
|
+
}
|
|
181
209
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
210
|
+
|
|
211
|
+
success(`Generated types for all the listed ${itemType}`);
|
|
212
|
+
},
|
|
213
|
+
);
|
|
186
214
|
|
|
187
215
|
export const types = new Command("types")
|
|
188
216
|
.description("Generate types for your Appwrite project")
|
|
189
217
|
.addArgument(typesOutputArgument)
|
|
190
218
|
.addOption(typesLanguageOption)
|
|
191
219
|
.addOption(typesStrictOption)
|
|
192
|
-
.action(
|
|
193
|
-
|
|
220
|
+
.action(typesCommand);
|