Skip to content

Conversation

ebenezerdon
Copy link
Contributor

@ebenezerdon ebenezerdon commented Aug 19, 2025

What does this PR do?

Adds Ruby, C#, and Dart examples to timestamp overrides

Summary by CodeRabbit

  • Documentation
    • Added a “Timestamp overrides” guide detailing how to set custom createdAt/updatedAt with server-side API keys, ISO 8601 requirements, and multi-language examples (single & bulk operations).
    • Added “Timestamp overrides” to Databases docs navigation under Journeys after “CSV imports”.
    • Simplified legacy Documents page by removing in-page timestamp how‑to examples and replacing with a “Next steps” cards section.
    • Clarified permissions: access can be granted at collection or document level; improved cross-links to related guides.

Copy link

appwrite bot commented Aug 19, 2025

appwrite.io

Project ID: 684969cb000a2f6c0a02

Sites (1)
Site Status Logs Preview QR
 website
68496a17000f03d62013
Failed Failed View Logs Preview URL QR Code

Note

Cursor pagination performs better than offset pagination when loading further pages.

@coolify-appwrite-org
Copy link

coolify-appwrite-org bot commented Aug 19, 2025

The preview deployment failed. 🔴

Open Build Logs

Last updated at: 2025-09-01 11:57:13 CET

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the documentation by adding code examples for Ruby, C#, and Dart to the timestamp overrides section, providing developers with multi-language implementation guidance for custom timestamp handling in database document operations.

  • Adds Ruby implementation using Time.parse and iso8601 formatting
  • Adds C# implementation using DateTimeOffset with ISO format
  • Adds Dart implementation using DateTime.parse and toIso8601String

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@appwrite appwrite deleted a comment from Copilot AI Aug 19, 2025
@appwrite appwrite deleted a comment from Copilot AI Aug 19, 2025
@appwrite appwrite deleted a comment from Copilot AI Aug 19, 2025
Copy link
Contributor

@stnguyen90 stnguyen90 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please:

  1. Move "Set custom $createdAt and $updatedAt" to be a Journey
  2. Remove "Bulk operations"
  3. Add a "Next steps" section at the end with links to the most useful journeys

Our concepts should focus on describing concepts a user should know, but not actions you might take (ie. the things in Appwrite).

Our journeys should focus on common actions and work flows (ie. what you can do with the things).

@ebenezerdon ebenezerdon force-pushed the update-timestamps-doc branch from 8a8e04e to cbfeeff Compare August 21, 2025 20:55
@ebenezerdon ebenezerdon requested a review from stnguyen90 August 22, 2025 19:39
Copy link
Contributor

coderabbitai bot commented Aug 29, 2025

Walkthrough

Adds a "Timestamp overrides" navigation item under Databases Journeys (after CSV imports). Removes the manual-timestamps guidance and all server-side code examples from the legacy documents page, replaces bulk-operations content with a "Next steps" section and related-guide cards, and simplifies permissions wording. Introduces a new timestamp-overrides doc describing server-side API-key usage to override $createdAt/$updatedAt with ISO 8601 strings for single and bulk create/update/upsert, with multi‑SDK examples.

Suggested reviewers

  • tessamero

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title clearly and concisely highlights the primary change of adding Ruby, C#, and Dart examples to the timestamp overrides documentation, matching the PR objectives without extraneous detail.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-timestamps-doc

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

♻️ Duplicate comments (1)
src/routes/docs/products/databases/+layout.svelte (1)

100-101: Use “Timestamp overrides” to match public naming.

Align the nav label with the changelog/blog wording for consistency.

-                    label: 'Custom timestamps',
+                    label: 'Timestamp overrides',
🧹 Nitpick comments (3)
src/routes/docs/products/databases/+layout.svelte (1)

100-102: Consider marking the doc as new.

This feature was announced on 2025-08-13; a short-lived “new” badge can help discovery.

-                    href: '/docs/products/databases/custom-timestamps'
+                    href: '/docs/products/databases/custom-timestamps',
+                    new: isNewUntil('30 Sep 2025')
src/routes/docs/products/databases/custom-timestamps/+page.markdoc (1)

1-5: Optional: title consistency with nav/blog.

If we rename the nav to “Timestamp overrides”, consider updating the page title too.

-title: Custom timestamps
+title: Timestamp overrides
src/routes/docs/products/databases/legacy/documents/+page.markdoc (1)

406-408: Optional: align card title with nav/blog (“Timestamp overrides”).

-{% cards_item href="/docs/products/databases/custom-timestamps" title="Custom timestamps" %}
+{% cards_item href="/docs/products/databases/custom-timestamps" title="Timestamp overrides" %}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 434e7fb and cfe031d.

📒 Files selected for processing (3)
  • src/routes/docs/products/databases/+layout.svelte (1 hunks)
  • src/routes/docs/products/databases/custom-timestamps/+page.markdoc (1 hunks)
  • src/routes/docs/products/databases/legacy/documents/+page.markdoc (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: tests
🔇 Additional comments (1)
src/routes/docs/products/databases/legacy/documents/+page.markdoc (1)

402-404: Keep “Next steps” links consistently on new docs.

Other cards point to non-legacy pages; point Bulk operations to the new guide too.

-{% cards_item href="/docs/products/databases/bulk-operations" title="Bulk operations" %}
+{% cards_item href="/docs/products/databases/bulk-operations" title="Bulk operations" %}

(Keep as-is if the intent is to route readers to new docs.)

Likely an incorrect or invalid review comment.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

♻️ Duplicate comments (2)
src/routes/docs/products/databases/+layout.svelte (1)

100-102: Align page title with nav label (“Timestamp overrides”).

Nav uses “Timestamp overrides” but the page title is “Custom timestamps.” Recommend renaming the page title to “Timestamp overrides” for consistency across nav, blog, and changelog.

Apply title change in the Markdoc page frontmatter (see suggested diff in that file’s comment).

src/routes/docs/products/databases/timestamp-overrides/+page.markdoc (1)

3-3: Use “Timestamp overrides” as the page title.

Matches nav, blog, and changelog phrasing.

-title: Custom timestamps
+title: Timestamp overrides
🧹 Nitpick comments (1)
src/routes/docs/products/databases/+layout.svelte (1)

128-133: Confirm whether to hide the legacy “New API” subtitle on this page.

If the Timestamp overrides page shouldn’t show the legacy banner, add timestamp-overrides to hideSubtitleRoutes. If the banner is desired, ignore.

-    const hideSubtitleRoutes = ['offline', 'backups', 'csv-imports'];
+    const hideSubtitleRoutes = ['offline', 'backups', 'csv-imports', 'timestamp-overrides'];
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between cfe031d and 5e36cb3.

📒 Files selected for processing (2)
  • src/routes/docs/products/databases/+layout.svelte (1 hunks)
  • src/routes/docs/products/databases/timestamp-overrides/+page.markdoc (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: tests
  • GitHub Check: build
🔇 Additional comments (2)
src/routes/docs/products/databases/timestamp-overrides/+page.markdoc (2)

176-198: Dart samples: good use of toIso8601String() and escaping $.

These look correct and consistent with the server SDK.

Also applies to: 318-339, 532-563, 713-738


350-368: Bulk samples read well; placeholders and IDs are consistent.

No issues beyond the language-specific fixes above.

Also applies to: 370-388, 389-419, 421-460, 495-531, 533-563

ebenezerdon and others added 5 commits September 1, 2025 12:26
…arkdoc

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…arkdoc

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…arkdoc

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
src/routes/docs/products/databases/legacy/documents/+page.markdoc (1)

411-411: LGTM: fixed legacy bulk-operations link.

The “Learn more” link now targets the non-legacy page; previous feedback is addressed.

🧹 Nitpick comments (1)
src/routes/docs/products/databases/legacy/documents/+page.markdoc (1)

393-409: Confirm consistency with earlier “legacy” links in this doc.

This “Next steps” section links to non-legacy “Queries” and “Pagination,” while earlier sections still point to /legacy/queries (Line 141) and /legacy/pagination (Line 144). If the intent is to move off legacy, consider updating those earlier links in a follow-up.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 5e36cb3 and 25a25e2.

📒 Files selected for processing (2)
  • src/routes/docs/products/databases/legacy/documents/+page.markdoc (1 hunks)
  • src/routes/docs/products/databases/timestamp-overrides/+page.markdoc (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/routes/docs/products/databases/timestamp-overrides/+page.markdoc
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: tests
🔇 Additional comments (1)
src/routes/docs/products/databases/legacy/documents/+page.markdoc (1)

402-404: LGTM: bulk-operations card links to the non-legacy guide.

Link is correct and consistent with the new docs structure.

@stnguyen90 stnguyen90 self-requested a review September 3, 2025 20:44
Comment on lines +17 to +20
## Single document operations {% #single-document-operations %}

### Create with custom timestamps {% #create-custom %}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add some text here because it looks weird without:
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ebenezerdon this hasn't been addressed.

[Learn about configuring permissions](/docs/products/databases/legacy/permissions).

# Bulk operations {% #bulk-operations %}
# Next steps {% #next-steps %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's also add this to the new Rows page.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see a next steps section in the rows docs

@stnguyen90 stnguyen90 self-requested a review September 6, 2025 00:10
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
src/routes/docs/products/databases/timestamp-overrides/+page.markdoc (2)

267-290: Ruby update example: require 'time' before using Time.parse.

Without requiring the stdlib, Time.parse will be undefined and the snippet will error.

 ```server-ruby
 require 'appwrite'
+require 'time'
 
 include Appwrite

459-492: Ruby bulk create example: add require 'time'.

Time.parse is used but time isn’t required; the sample will fail at runtime.

 ```server-ruby
 require 'appwrite'
+require 'time'
 
 include Appwrite
🧹 Nitpick comments (1)
src/routes/docs/products/databases/legacy/documents/+page.markdoc (1)

389-412: “Next steps” looks good; minor redundancy with extra bulk-ops link.

You already link Bulk operations via a card; the standalone link on Line 411 repeats it. Consider removing to reduce noise.

-[Learn more about bulk operations](/docs/products/databases/bulk-operations).
+
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 25a25e2 and f6aff3e.

📒 Files selected for processing (2)
  • src/routes/docs/products/databases/legacy/documents/+page.markdoc (1 hunks)
  • src/routes/docs/products/databases/timestamp-overrides/+page.markdoc (1 hunks)
🔇 Additional comments (1)
src/routes/docs/products/databases/timestamp-overrides/+page.markdoc (1)

154-159: Nice fix: .SetEndpoint spelling is now correct across .NET samples.

Previous SetEndPoint typo would not compile; this is resolved.

Also applies to: 296-300, 498-502, 686-690

@ebenezerdon ebenezerdon requested a review from Copilot September 10, 2025 21:59
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +17 to +20
## Single document operations {% #single-document-operations %}

### Create with custom timestamps {% #create-custom %}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ebenezerdon this hasn't been addressed.

[Learn about configuring permissions](/docs/products/databases/legacy/permissions).

# Bulk operations {% #bulk-operations %}
# Next steps {% #next-steps %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see a next steps section in the rows docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants