رفتن به محتوای اصلی

یادآورها

هر یادآور (Reminder) دقیقاً یک والد دارد: یک رویداد یا یک وظیفه — نه هر دو و نه هیچ‌کدام. قید SQL reminders_parent_xor همین را در سطح دیتابیس تضمین می‌کند.

فیلدهای اصلی: value فاصلهٔ زمانی اعلان، type واحد آن (MINUTE/HOUR/DAY/WEEK) و isEnabled وضعیت فعال بودن. value عدد صحیح مثبت Int32 در بازهٔ 1..2147483647 است؛ مقدار نامعتبر، خطای همان آیتم sync است (invalid_item)، نه خطای 500 عمومی.

در sync:

  • ساخت، والدِ زنده می‌خواهد؛ فرستادن بدون هیچ والد با invalid_item رد می‌شود.
  • patch مقدارها: فیلدهای والد را نفرستید تا پیوند فعلی حفظ شود.
  • جابه‌جایی والد: در همان patch، والد جدید را بفرستید — مثلاً eventUid جدید و taskUid: null (یا برعکس). بعد از ترکیب، داشتن دو والد یا هیچ والد، invalid_item است.
  • restore یادآوری که والدش حذف شده، parent_deleted می‌گیرد؛ اول والد را احیا کنید یا در همان restore والد جدید بدهید.

providerId عدد صحیح امن اختیاری/nullable در بازهٔ -9007199254740991..9007199254740991 است؛ ذخیره و pull می‌شود، غیبت در patch حفظ و null پاک می‌کند. این فیلد اتصال provider یا تحویل اعلان را تضمین نمی‌کند.

نکتهٔ مرز قابلیت: ذخیره و sync یادآور، اثباتِ اجرای زمان‌بندی یا تحویل اعلان نیست — وضعیت زمان‌بندی در اندروید توضیح داده شده.

مرجع فیلدها: packages/contracts/src/sync.ts.