Conversation
No user-facing SDK changes
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (32)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR delivers the Console SDK update for version 7.0.0, introducing two new database service families (
Confidence Score: 3/5
Important Files Changed
Reviews (1): Last reviewed commit: "feat: update Console SDK to 7.0.0" | Re-trigger Greptile |
| @@ -58,8 +60,9 @@ export { ConsoleResourceType } from './enums/console-resource-type'; | |||
| export { UsageRange } from './enums/usage-range'; | |||
| export { RelationshipType } from './enums/relationship-type'; | |||
| export { RelationMutate } from './enums/relation-mutate'; | |||
There was a problem hiding this comment.
Breaking removal of
IndexType export
IndexType (previously exported from ./enums/index-type) has been completely removed and replaced by DatabasesIndexType. Any consumer code that imports IndexType directly — e.g. import { IndexType } from '@appwrite.io/console' — will immediately break with a TypeScript/runtime import error after upgrading.
Since this is a major version bump (7.0.0) the breaking change itself is appropriate, but the PR description states "No user-facing SDK changes," which is incorrect for this (and several other changes in this PR). Consider updating the PR description to document the rename so consumers know how to migrate.
| * @throws {AppwriteException} | ||
| * @returns {Promise<Models.Variable>} | ||
| * @deprecated Use the object parameter style method for a better developer experience. | ||
| */ | ||
| createVariable(key: string, value: string, secret?: boolean): Promise<Models.Variable>; | ||
| createVariable(variableId: string, key: string, value: string, secret?: boolean): Promise<Models.Variable>; | ||
| createVariable( | ||
| paramsOrFirst: { key: string, value: string, secret?: boolean } | string, | ||
| ...rest: [(string)?, (boolean)?] | ||
| paramsOrFirst: { variableId: string, key: string, value: string, secret?: boolean } | string, |
There was a problem hiding this comment.
Breaking signature change: new required
variableId parameter
createVariable previously accepted (key, value, secret?). A new required variableId field has been prepended, making the new positional signature (variableId, key, value, secret?). All existing callers using either the legacy positional style or the object style without variableId will receive a runtime AppwriteException: Missing required parameter: "variableId" after upgrading.
This is a user-facing breaking change that should be called out in the PR/changelog, contradicting the "No user-facing SDK changes" description.
src/services/documents-db.ts
Outdated
| listUsage(params?: { range?: UsageRange }): Promise<Models.UsageDatabases>; | ||
| /** | ||
| * List usage metrics and statistics for all databases in the project. You can view the total number of databases, collections, documents, and storage usage. The response includes both current totals and historical data over time. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, range defaults to 30 days. | ||
| * | ||
| * @param {UsageRange} range - Date range. | ||
| * @throws {AppwriteException} | ||
| * @returns {Promise<Models.UsageDatabases>} | ||
| * @deprecated Use the object parameter style method for a better developer experience. | ||
| */ | ||
| listUsage(range?: UsageRange): Promise<Models.UsageDatabases>; | ||
| listUsage( |
There was a problem hiding this comment.
Inconsistent return type for
listUsage
DocumentsDB.listUsage() is typed to return Promise<Models.UsageDatabases> (the general, legacy databases usage model), while the analogous VectorsDB.listUsage() returns the dedicated Promise<Models.UsageVectorsDBs>. A new UsageDocumentsDB model was added for the per-database getUsage() method, but no UsageDocumentsDBs aggregate type was created for this list-level endpoint.
If the /documentsdb/usage API response shape truly matches UsageDatabases exactly this is fine, but if the response includes DocumentsDB-specific fields they would be silently dropped. It is worth confirming against the server API spec whether a dedicated UsageDocumentsDBs model is needed here for parity with VectorsDB.
CHANGELOG.md
Outdated
| @@ -2,10 +2,26 @@ | |||
|
|
|||
| ## 7.0.0 | |||
This PR contains updates to the Console SDK for version 8.0.0.