@remit/api-http-client 0.0.38 → 0.0.40
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/@tanstack/react-query.gen.ts +318 -2
- package/index.ts +2 -2
- package/package.json +1 -1
- package/sdk.gen.ts +206 -1
- package/types.gen.ts +1070 -15
package/types.gen.ts
CHANGED
|
@@ -38,6 +38,16 @@ export type MicrosoftOAuthStartResponse = {
|
|
|
38
38
|
authorizationUrl: string;
|
|
39
39
|
};
|
|
40
40
|
|
|
41
|
+
/**
|
|
42
|
+
* Body of `POST /calendar-suggestions/{suggestionId}/accept`. Names the collection the event is written into; there is no default, because filing someone else's invitation into a calendar the user did not pick is a decision the server does not get to make.
|
|
43
|
+
*/
|
|
44
|
+
export type RemitImapAcceptCalendarSuggestionInput = {
|
|
45
|
+
/**
|
|
46
|
+
* Collection the accepted event is written into.
|
|
47
|
+
*/
|
|
48
|
+
calendarId: Uuid;
|
|
49
|
+
};
|
|
50
|
+
|
|
41
51
|
/**
|
|
42
52
|
* Authentication mechanism used by an email account
|
|
43
53
|
*/
|
|
@@ -553,6 +563,345 @@ export type RemitImapBulkUpdateFlagsInput = {
|
|
|
553
563
|
starColor?: RemitImapStarColor;
|
|
554
564
|
};
|
|
555
565
|
|
|
566
|
+
/**
|
|
567
|
+
* Display color for a calendar collection. Positional rather than named: the palette is a client-side concern, so the store carries the slot and the client owns what it renders (issue #15).
|
|
568
|
+
*/
|
|
569
|
+
export type RemitImapCalendarColor = 'Cal1' | 'Cal2' | 'Cal3' | 'Cal4' | 'Cal5' | 'Cal6';
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* Which iCalendar components a collection accepts (RFC 4791 supported-calendar-component-set). Only VEVENT is stored today; VTODO and VJOURNAL collections would be separate members, so the value is a property of the collection rather than of each object.
|
|
573
|
+
*/
|
|
574
|
+
export type RemitImapCalendarComponentSet = 'VeventOnly';
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* One occurrence of an event, in the window the caller asked for (issue #15).
|
|
578
|
+
*
|
|
579
|
+
* Instances are expanded by the server. A client never reads an RRULE and never
|
|
580
|
+
* reconstructs a series: it renders what this returns, and addresses one
|
|
581
|
+
* occurrence by `calendarObjectId` plus `recurrenceId`.
|
|
582
|
+
*/
|
|
583
|
+
export type RemitImapCalendarEventInstance = {
|
|
584
|
+
/**
|
|
585
|
+
* Collection this occurrence belongs to
|
|
586
|
+
*/
|
|
587
|
+
calendarId: Uuid;
|
|
588
|
+
/**
|
|
589
|
+
* Resource this occurrence was expanded from
|
|
590
|
+
*/
|
|
591
|
+
calendarObjectId: Uuid;
|
|
592
|
+
/**
|
|
593
|
+
* RECURRENCE-ID of this occurrence as an ISO 8601 UTC instant, or `""` for a resource that does not recur. This is the value a scoped write passes back to name the occurrence it means.
|
|
594
|
+
*/
|
|
595
|
+
recurrenceId: String64;
|
|
596
|
+
/**
|
|
597
|
+
* The event's iCalendar UID, shared by every occurrence of the series
|
|
598
|
+
*/
|
|
599
|
+
icalUid: String512;
|
|
600
|
+
/**
|
|
601
|
+
* Projection of the VEVENT's SUMMARY. `""` when the event carries none.
|
|
602
|
+
*/
|
|
603
|
+
summary: String512;
|
|
604
|
+
/**
|
|
605
|
+
* When this occurrence starts, as an ISO 8601 date-time with zone offset, read in the collection's timezone. A business date, not an epoch instant: an all-day occurrence carries midnight of its civil date.
|
|
606
|
+
*/
|
|
607
|
+
start: String64;
|
|
608
|
+
/**
|
|
609
|
+
* When this occurrence ends, as an ISO 8601 date-time with zone offset. Exclusive for an all-day occurrence, per RFC 5545 3.6.1.
|
|
610
|
+
*/
|
|
611
|
+
end: String64;
|
|
612
|
+
/**
|
|
613
|
+
* Whether this occurrence is all-day
|
|
614
|
+
*/
|
|
615
|
+
allDay: boolean;
|
|
616
|
+
/**
|
|
617
|
+
* Projection of the occurrence's STATUS
|
|
618
|
+
*/
|
|
619
|
+
status: RemitImapCalendarEventStatus;
|
|
620
|
+
/**
|
|
621
|
+
* Projection of the occurrence's TRANSP — whether it consumes free/busy time
|
|
622
|
+
*/
|
|
623
|
+
transparency: RemitImapCalendarTransparency;
|
|
624
|
+
/**
|
|
625
|
+
* How the resource's start was placed on the clock. `Ambiguous` means the resource named a zone nothing could resolve, so this occurrence may be hours out; a client says so rather than presenting the guess as a fact.
|
|
626
|
+
*/
|
|
627
|
+
zoneCertainty: RemitImapZoneCertainty;
|
|
628
|
+
/**
|
|
629
|
+
* Entity tag of the resource this occurrence came from. Pass it as `If-Match` on a scoped write to refuse an edit built on a version somebody has since replaced.
|
|
630
|
+
*/
|
|
631
|
+
etag: String64;
|
|
632
|
+
/**
|
|
633
|
+
* Whether the resource this occurrence came from expands to more than one instance. A client showing the recurrence-scope prompt gates on this.
|
|
634
|
+
*/
|
|
635
|
+
hasRecurrence: boolean;
|
|
636
|
+
};
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* Expanded occurrences in the requested window, in start order.
|
|
640
|
+
*
|
|
641
|
+
* Includes an occurrence that began before `from` and runs into the window, up
|
|
642
|
+
* to a bounded lookback — a meeting that started last night is part of this
|
|
643
|
+
* morning. Unpaginated: the window is the bound.
|
|
644
|
+
*/
|
|
645
|
+
export type RemitImapCalendarEventListResponse = {
|
|
646
|
+
items: Array<RemitImapCalendarEventInstance>;
|
|
647
|
+
};
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* A stored calendar resource — the bytes behind one event, plus the columns projected from them. `icalData` is canonical; every other field is derived from it on write.
|
|
651
|
+
*/
|
|
652
|
+
export type RemitImapCalendarEventResponse = {
|
|
653
|
+
/**
|
|
654
|
+
* Primary identifier, derived from calendarId + resourceName
|
|
655
|
+
*/
|
|
656
|
+
calendarObjectId: Uuid;
|
|
657
|
+
/**
|
|
658
|
+
* Collection this resource belongs to
|
|
659
|
+
*/
|
|
660
|
+
calendarId: Uuid;
|
|
661
|
+
/**
|
|
662
|
+
* Last path segment of the resource's URL, e.g. "a1b2c3.ics". Unique within the collection and chosen by whoever wrote the resource, never derived from its contents — a client is free to rename a resource without changing the event it holds.
|
|
663
|
+
*/
|
|
664
|
+
resourceName: String256;
|
|
665
|
+
/**
|
|
666
|
+
* The VEVENT's UID property (RFC 5545 3.8.4.7). Identifies the event across collections and servers, which `resourceName` does not.
|
|
667
|
+
*/
|
|
668
|
+
icalUid: String512;
|
|
669
|
+
/**
|
|
670
|
+
* The complete VCALENDAR text, byte-for-byte as stored — CANONICAL. Line endings are CRLF and are never normalized; unknown properties and components are preserved verbatim.
|
|
671
|
+
*/
|
|
672
|
+
readonly icalData: string;
|
|
673
|
+
/**
|
|
674
|
+
* Strong entity tag over the stored `icalData` bytes, used for If-Match on a conditional write and for change detection on read.
|
|
675
|
+
*/
|
|
676
|
+
etag: String64;
|
|
677
|
+
/**
|
|
678
|
+
* The VEVENT's SEQUENCE property (RFC 5545 3.8.7.4) — the organizer's own revision counter, carried for scheduling comparisons. `0` when the event declares none, which is the RFC default.
|
|
679
|
+
*/
|
|
680
|
+
readonly sequence: number;
|
|
681
|
+
/**
|
|
682
|
+
* Value the owning collection's `syncSequence` held after the write that produced this row. Pages the `bySyncSequence` read.
|
|
683
|
+
*/
|
|
684
|
+
readonly syncSequence: number;
|
|
685
|
+
/**
|
|
686
|
+
* Projection of the VEVENT's SUMMARY (RFC 5545 3.8.1.12). `""` when the event carries none.
|
|
687
|
+
*/
|
|
688
|
+
summary: String512;
|
|
689
|
+
/**
|
|
690
|
+
* Projection of the master VEVENT's DTSTART as an ISO 8601 date-time with zone offset — a business date, not an epoch instant. An all-day event carries midnight in the event's own zone.
|
|
691
|
+
*/
|
|
692
|
+
dtStart: String64;
|
|
693
|
+
/**
|
|
694
|
+
* Projection of the master VEVENT's effective end as an ISO 8601 date-time with zone offset, resolved from DTEND or from DTSTART + DURATION. An event with neither ends when it starts (RFC 5545 3.6.1).
|
|
695
|
+
*/
|
|
696
|
+
dtEnd: String64;
|
|
697
|
+
/**
|
|
698
|
+
* Whether the master VEVENT's DTSTART is a DATE rather than a DATE-TIME (RFC 5545 3.3.4) — an all-day or multi-day event, whose end is exclusive.
|
|
699
|
+
*/
|
|
700
|
+
readonly allDay: boolean;
|
|
701
|
+
/**
|
|
702
|
+
* How the master VEVENT's DTSTART was placed on the clock. `Ambiguous` means the resource named a zone nothing could resolve, so `dtStart` and every occurrence expanded from it may be off by hours — a client shows the event and says so rather than presenting a guess as a fact.
|
|
703
|
+
*/
|
|
704
|
+
zoneCertainty: RemitImapZoneCertainty;
|
|
705
|
+
/**
|
|
706
|
+
* Projection of the master VEVENT's STATUS
|
|
707
|
+
*/
|
|
708
|
+
status: RemitImapCalendarEventStatus;
|
|
709
|
+
/**
|
|
710
|
+
* Projection of the master VEVENT's TRANSP
|
|
711
|
+
*/
|
|
712
|
+
transparency: RemitImapCalendarTransparency;
|
|
713
|
+
/**
|
|
714
|
+
* Whether the resource expands to more than its master instance — an RRULE, an RDATE, or an override VEVENT. Overrides count on their own: a client that edits one instance and then drops the rule leaves a resource with a master and its exceptions, and each of those is still an occurrence.
|
|
715
|
+
*/
|
|
716
|
+
readonly hasRecurrence: boolean;
|
|
717
|
+
/**
|
|
718
|
+
* ISO 8601 UTC instant through which `CalendarEventIndex` rows exist for this resource, when the series runs past the expansion horizon and the index is therefore incomplete. `""` when the index is exhaustive — a single event, or a series that ends inside the horizon. A later live-expansion pass reads this to find the resources whose instances it must compute rather than query.
|
|
719
|
+
*/
|
|
720
|
+
expandedThrough: String64;
|
|
721
|
+
readonly createdAt: number;
|
|
722
|
+
readonly updatedAt: number;
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Projection of a VEVENT's STATUS property (RFC 5545 3.8.1.11). A VEVENT with no STATUS projects as `Confirmed`, which is the value RFC 5545 gives an event whose status is unstated.
|
|
727
|
+
*/
|
|
728
|
+
export type RemitImapCalendarEventStatus = 'Confirmed' | 'Tentative' | 'Cancelled';
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Merged busy spans over the requested window, in start order. An event marked TRANSP:TRANSPARENT or STATUS:CANCELLED is not busy time and never appears here.
|
|
732
|
+
*/
|
|
733
|
+
export type RemitImapCalendarFreeBusyResponse = {
|
|
734
|
+
items: Array<RemitImapCalendarFreeBusySpan>;
|
|
735
|
+
};
|
|
736
|
+
|
|
737
|
+
/**
|
|
738
|
+
* One stretch of time the caller is busy in. Merged across every calendar they
|
|
739
|
+
* hold, so two overlapping meetings in two calendars are one span and a caller
|
|
740
|
+
* asking "is this slot free" never has to do the merging itself.
|
|
741
|
+
*/
|
|
742
|
+
export type RemitImapCalendarFreeBusySpan = {
|
|
743
|
+
/**
|
|
744
|
+
* When the busy stretch starts, as an ISO 8601 date-time with a `+00:00` offset. A busy span is an interval on the clock rather than a civil date, so it carries no calendar's local zone — the caller renders it in whichever zone it is drawing.
|
|
745
|
+
*/
|
|
746
|
+
start: String64;
|
|
747
|
+
/**
|
|
748
|
+
* When the busy stretch ends, as an ISO 8601 date-time with a `+00:00` offset
|
|
749
|
+
*/
|
|
750
|
+
end: String64;
|
|
751
|
+
};
|
|
752
|
+
|
|
753
|
+
/**
|
|
754
|
+
* The iTIP method a scheduling message carries (RFC 5546 3.2), read from the VCALENDAR's METHOD property. It says what the sender is asking for, which is not derivable from the VEVENT: a cancellation and an invitation differ by this property alone.
|
|
755
|
+
*/
|
|
756
|
+
export type RemitImapCalendarInviteMethod = 'Request' | 'Reply' | 'Cancel' | 'Counter' | 'Publish' | 'None';
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* Every calendar collection of the caller's account config, url segment first. Unpaginated: an account holds a handful of calendars, and a page boundary in a sidebar is a bug waiting to happen.
|
|
760
|
+
*/
|
|
761
|
+
export type RemitImapCalendarListResponse = {
|
|
762
|
+
items: Array<RemitImapCalendarResponse>;
|
|
763
|
+
};
|
|
764
|
+
|
|
765
|
+
/**
|
|
766
|
+
* A calendar collection as the API returns it.
|
|
767
|
+
*/
|
|
768
|
+
export type RemitImapCalendarResponse = {
|
|
769
|
+
/**
|
|
770
|
+
* Primary identifier, derived from accountConfigId + urlSegment
|
|
771
|
+
*/
|
|
772
|
+
calendarId: Uuid;
|
|
773
|
+
/**
|
|
774
|
+
* Owning account configuration
|
|
775
|
+
*/
|
|
776
|
+
accountConfigId: Uuid;
|
|
777
|
+
/**
|
|
778
|
+
* Path segment this collection is addressed by, unique within the account config. Stored case-folded, the same folding `calendarId` is derived from — a DAV path is matched case-insensitively, and storing the writer's casing would let a lookup by segment and a lookup by derived id disagree about one path. The default collection provisioned on first use holds "default".
|
|
779
|
+
*/
|
|
780
|
+
urlSegment: String64;
|
|
781
|
+
/**
|
|
782
|
+
* Human-readable collection name (display)
|
|
783
|
+
*/
|
|
784
|
+
displayName: String140;
|
|
785
|
+
/**
|
|
786
|
+
* Display color slot for this collection
|
|
787
|
+
*/
|
|
788
|
+
color: RemitImapCalendarColor;
|
|
789
|
+
/**
|
|
790
|
+
* Which iCalendar components this collection accepts
|
|
791
|
+
*/
|
|
792
|
+
componentSet: RemitImapCalendarComponentSet;
|
|
793
|
+
/**
|
|
794
|
+
* Where this collection came from
|
|
795
|
+
*/
|
|
796
|
+
source: RemitImapCalendarSource;
|
|
797
|
+
/**
|
|
798
|
+
* IANA time zone this collection's floating times are read in, e.g. "Europe/Amsterdam". `""` when none is set, which reads as UTC.
|
|
799
|
+
*/
|
|
800
|
+
timezone: String64;
|
|
801
|
+
/**
|
|
802
|
+
* Monotonic change counter for this collection. Bumped by every write to one of its objects; the value stamped on `CalendarObject.syncSequence` is the value this counter held after that write.
|
|
803
|
+
*/
|
|
804
|
+
readonly syncSequence: number;
|
|
805
|
+
readonly createdAt: number;
|
|
806
|
+
readonly updatedAt: number;
|
|
807
|
+
};
|
|
808
|
+
|
|
809
|
+
/**
|
|
810
|
+
* Where a calendar collection came from. `Default` is the one provisioned per account config on first use and is never deleted; `UserCreated` is one a person made; `MailDerived` is one populated from mail rather than by a person.
|
|
811
|
+
*/
|
|
812
|
+
export type RemitImapCalendarSource = 'Default' | 'UserCreated' | 'MailDerived';
|
|
813
|
+
|
|
814
|
+
/**
|
|
815
|
+
* A suggestion as the API returns it. The raw `icalData` is not surfaced: a client renders the projected fields, and the bytes exist so that accepting can write them into a calendar unchanged.
|
|
816
|
+
*/
|
|
817
|
+
export type RemitImapCalendarSuggestionResponse = {
|
|
818
|
+
/**
|
|
819
|
+
* Primary identifier, derived from messageId + bodyPartId + icalUid
|
|
820
|
+
*/
|
|
821
|
+
suggestionId: Uuid;
|
|
822
|
+
/**
|
|
823
|
+
* Owning account configuration
|
|
824
|
+
*/
|
|
825
|
+
accountConfigId: Uuid;
|
|
826
|
+
/**
|
|
827
|
+
* Message this suggestion was read out of. The card is offered beside this message and nowhere else.
|
|
828
|
+
*/
|
|
829
|
+
messageId: Uuid;
|
|
830
|
+
/**
|
|
831
|
+
* MIME part the iCalendar bytes came from. Part of the identity, so two invitations in one message stay two suggestions rather than overwriting each other.
|
|
832
|
+
*/
|
|
833
|
+
bodyPartId: Uuid;
|
|
834
|
+
/**
|
|
835
|
+
* The VEVENT's UID property (RFC 5545 3.8.4.7). What ties a revision, a cancellation and the original invitation together across three separate messages.
|
|
836
|
+
*/
|
|
837
|
+
icalUid: String512;
|
|
838
|
+
/**
|
|
839
|
+
* The VEVENT's SEQUENCE property (RFC 5545 3.8.7.4) — the organizer's revision counter. A later message carrying the same `icalUid` with a higher value supersedes this one. `0` when the event declares none, which is the RFC default.
|
|
840
|
+
*/
|
|
841
|
+
readonly sequence: number;
|
|
842
|
+
/**
|
|
843
|
+
* The iTIP method the VCALENDAR declared. `None` when it declared no METHOD.
|
|
844
|
+
*/
|
|
845
|
+
method: RemitImapCalendarInviteMethod;
|
|
846
|
+
/**
|
|
847
|
+
* Where in the message this was read from
|
|
848
|
+
*/
|
|
849
|
+
source: RemitImapCalendarSuggestionSource;
|
|
850
|
+
/**
|
|
851
|
+
* What has become of this suggestion. Only `Pending` asks the user for anything.
|
|
852
|
+
*/
|
|
853
|
+
state: RemitImapCalendarSuggestionState;
|
|
854
|
+
/**
|
|
855
|
+
* Projection of the VEVENT's SUMMARY. `""` when the event carries none.
|
|
856
|
+
*/
|
|
857
|
+
summary: String512;
|
|
858
|
+
/**
|
|
859
|
+
* Projection of the VEVENT's DTSTART as an ISO 8601 date-time with zone offset — a business date, not an epoch instant. An all-day event carries midnight in the event's own zone.
|
|
860
|
+
*/
|
|
861
|
+
dtStart: String64;
|
|
862
|
+
/**
|
|
863
|
+
* Projection of the VEVENT's effective end as an ISO 8601 date-time with zone offset, resolved from DTEND or from DTSTART + DURATION. An event with neither ends when it starts (RFC 5545 3.6.1).
|
|
864
|
+
*/
|
|
865
|
+
dtEnd: String64;
|
|
866
|
+
/**
|
|
867
|
+
* Whether DTSTART is a DATE rather than a DATE-TIME (RFC 5545 3.3.4) — an all-day or multi-day event, whose end is exclusive.
|
|
868
|
+
*/
|
|
869
|
+
readonly allDay: boolean;
|
|
870
|
+
/**
|
|
871
|
+
* Projection of the VEVENT's LOCATION. `""` when the event carries none.
|
|
872
|
+
*/
|
|
873
|
+
location: String512;
|
|
874
|
+
/**
|
|
875
|
+
* Mail address of the VEVENT's ORGANIZER, without the `mailto:` scheme. `""` when the event names none — which is what a `PUBLISH` typically looks like, and why dismissing with `muteSender` mutes the message's sender rather than this field.
|
|
876
|
+
*/
|
|
877
|
+
organizer: String256;
|
|
878
|
+
/**
|
|
879
|
+
* How the DTSTART above was placed on the clock. `Ambiguous` means the invitation named a zone nothing could resolve, so the time shown may be hours out — a card says so rather than presenting a guess as a fact.
|
|
880
|
+
*/
|
|
881
|
+
zoneCertainty: RemitImapZoneCertainty;
|
|
882
|
+
/**
|
|
883
|
+
* The `CalendarObject` that accepting this suggestion wrote. `""` until it is accepted — the named absent state, never a missing attribute — and the resource's id afterwards, so the card can link to the event it produced.
|
|
884
|
+
*/
|
|
885
|
+
readonly acceptedCalendarObjectId: string;
|
|
886
|
+
readonly createdAt: number;
|
|
887
|
+
readonly updatedAt: number;
|
|
888
|
+
};
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* Where in a message a suggestion was read from. It is what a card says to explain itself, and it is what separates a suggestion carrying real iCalendar from one inferred out of prose.
|
|
892
|
+
*/
|
|
893
|
+
export type RemitImapCalendarSuggestionSource = 'IcalendarPart' | 'IcalendarAttachment' | 'TextHeuristic';
|
|
894
|
+
|
|
895
|
+
/**
|
|
896
|
+
* What has become of a suggestion. `Pending` is the only state that asks a person for anything; every other value is a decision already taken, and nothing but an explicit act moves a suggestion out of `Pending`.
|
|
897
|
+
*/
|
|
898
|
+
export type RemitImapCalendarSuggestionState = 'Pending' | 'Accepted' | 'Declined' | 'Tentative' | 'Dismissed' | 'Superseded';
|
|
899
|
+
|
|
900
|
+
/**
|
|
901
|
+
* Projection of a VEVENT's TRANSP property (RFC 5545 3.8.2.7) — whether the event consumes free/busy time. A VEVENT with no TRANSP projects as `Opaque`, the RFC default.
|
|
902
|
+
*/
|
|
903
|
+
export type RemitImapCalendarTransparency = 'Opaque' | 'Transparent';
|
|
904
|
+
|
|
556
905
|
/**
|
|
557
906
|
* The fixed anchor set of canonical mailbox roles a user appoints to a folder (RFC 032 exclusive-folder-appointment, issue #976). Mirrors the IMAP SPECIAL-USE roles (RFC 6154). Each role resolves to at most one mailbox per account — see FolderAppointment.
|
|
558
907
|
*/
|
|
@@ -770,6 +1119,94 @@ export type RemitImapCreateAccountInput = {
|
|
|
770
1119
|
smtpPassword?: string;
|
|
771
1120
|
};
|
|
772
1121
|
|
|
1122
|
+
/**
|
|
1123
|
+
* Input for creating an event (issue #15). The server builds the VEVENT and
|
|
1124
|
+
* writes it through the single calendar write path, so an event created here,
|
|
1125
|
+
* one accepted from an invitation, and one PUT over CalDAV are the same bytes
|
|
1126
|
+
* written the same way.
|
|
1127
|
+
*
|
|
1128
|
+
* Times are ISO 8601 with zone offset — or a bare `YYYY-MM-DD` date when
|
|
1129
|
+
* `allDay` is set. The offset pins the instant; `timeZone` names the zone the
|
|
1130
|
+
* event is anchored in, which is what a recurring event needs to survive a DST
|
|
1131
|
+
* transition. An offset alone cannot: a weekly 09:00 meeting written as
|
|
1132
|
+
* `+02:00` becomes an 08:00 meeting in November.
|
|
1133
|
+
*/
|
|
1134
|
+
export type RemitImapCreateCalendarEventInput = {
|
|
1135
|
+
/**
|
|
1136
|
+
* Collection to write the event into
|
|
1137
|
+
*/
|
|
1138
|
+
calendarId: Uuid;
|
|
1139
|
+
/**
|
|
1140
|
+
* SUMMARY of the event
|
|
1141
|
+
*/
|
|
1142
|
+
summary: String512;
|
|
1143
|
+
/**
|
|
1144
|
+
* DESCRIPTION of the event. Absent writes none.
|
|
1145
|
+
*/
|
|
1146
|
+
description?: String2048;
|
|
1147
|
+
/**
|
|
1148
|
+
* LOCATION of the event. Absent writes none.
|
|
1149
|
+
*/
|
|
1150
|
+
location?: String512;
|
|
1151
|
+
/**
|
|
1152
|
+
* When the event starts: an ISO 8601 date-time with zone offset, or a `YYYY-MM-DD` date when `allDay` is set.
|
|
1153
|
+
*/
|
|
1154
|
+
start: String64;
|
|
1155
|
+
/**
|
|
1156
|
+
* When the event ends, in the same form as `start`. Exclusive for an all-day event, per RFC 5545 3.6.1.
|
|
1157
|
+
*/
|
|
1158
|
+
end: String64;
|
|
1159
|
+
/**
|
|
1160
|
+
* Whether this is an all-day event, whose times are civil dates rather than instants
|
|
1161
|
+
*/
|
|
1162
|
+
allDay?: boolean;
|
|
1163
|
+
/**
|
|
1164
|
+
* IANA time zone the event is anchored in, e.g. "Europe/Amsterdam", written as the DTSTART TZID. Absent anchors the event in UTC. Refused with 400 when the zone is one this server cannot resolve — a calendar that accepted an unknown zone would draw the event hours away from where it belongs.
|
|
1165
|
+
*/
|
|
1166
|
+
timeZone?: String64;
|
|
1167
|
+
/**
|
|
1168
|
+
* STATUS of the event
|
|
1169
|
+
*/
|
|
1170
|
+
status?: RemitImapCalendarEventStatus;
|
|
1171
|
+
/**
|
|
1172
|
+
* TRANSP of the event — whether it consumes free/busy time
|
|
1173
|
+
*/
|
|
1174
|
+
transparency?: RemitImapCalendarTransparency;
|
|
1175
|
+
/**
|
|
1176
|
+
* RRULE value for a recurring event, e.g. "FREQ=WEEKLY;BYDAY=MO" (RFC 5545 3.8.5.3), without the property name. `""` creates a single event. Refused with 400 when it is not a rule this server can read.
|
|
1177
|
+
*/
|
|
1178
|
+
recurrenceRule?: String512;
|
|
1179
|
+
};
|
|
1180
|
+
|
|
1181
|
+
/**
|
|
1182
|
+
* Input for creating a calendar collection (issue #15).
|
|
1183
|
+
*
|
|
1184
|
+
* `urlSegment` is supplied rather than derived from the display name: it is the
|
|
1185
|
+
* collection's identity — `calendarId` is a hash of it — and the path a CalDAV
|
|
1186
|
+
* client will later bookmark. Slugging a name would make two calendars called
|
|
1187
|
+
* "Work" one row, and a rename would either move a bookmarked path or leave a
|
|
1188
|
+
* segment that no longer matches anything a person recognises. The name is the
|
|
1189
|
+
* mutable overlay; this is the address.
|
|
1190
|
+
*/
|
|
1191
|
+
export type RemitImapCreateCalendarInput = {
|
|
1192
|
+
/**
|
|
1193
|
+
* Human-readable collection name (display)
|
|
1194
|
+
*/
|
|
1195
|
+
displayName: String140;
|
|
1196
|
+
/**
|
|
1197
|
+
* Path segment addressing this collection, unique within the account config. Case-folded on write, so "Work" and "work" name the same collection and the second create is refused rather than silently merged into the first.
|
|
1198
|
+
*/
|
|
1199
|
+
urlSegment: String64;
|
|
1200
|
+
/**
|
|
1201
|
+
* Display colour slot. Absent takes the collection's own default.
|
|
1202
|
+
*/
|
|
1203
|
+
color?: RemitImapCalendarColor;
|
|
1204
|
+
/**
|
|
1205
|
+
* IANA time zone this collection's floating times are read in. Absent reads them as UTC.
|
|
1206
|
+
*/
|
|
1207
|
+
timezone?: String64;
|
|
1208
|
+
};
|
|
1209
|
+
|
|
773
1210
|
/**
|
|
774
1211
|
* Response body for POST /me/export
|
|
775
1212
|
*/
|
|
@@ -991,6 +1428,16 @@ export type RemitImapDescribeMessageResponse = {
|
|
|
991
1428
|
references: Array<RemitImapMessageReferenceResponse>;
|
|
992
1429
|
};
|
|
993
1430
|
|
|
1431
|
+
/**
|
|
1432
|
+
* Body of `POST /calendar-suggestions/{suggestionId}/dismiss`.
|
|
1433
|
+
*/
|
|
1434
|
+
export type RemitImapDismissCalendarSuggestionInput = {
|
|
1435
|
+
/**
|
|
1436
|
+
* Also stop offering invitations from this message's sender, by writing a standing `Filter` rule. `false` dismisses this one card and nothing else.
|
|
1437
|
+
*/
|
|
1438
|
+
muteSender: boolean;
|
|
1439
|
+
};
|
|
1440
|
+
|
|
994
1441
|
/**
|
|
995
1442
|
* How the From display name relates to the From domain. `Corresponds` — the name is contained in the domain. `Lookalike` — the name is one or two characters away from a domain label. `ForeignAddress` — the name spells out an email address at a domain the sender does not send from. `Unrelated` — no relation. `NoClaim` — the name is empty, or is an address at the sending domain, so it claims no other identity.
|
|
996
1443
|
*/
|
|
@@ -2110,6 +2557,11 @@ export type RemitImapRawMessageResponse = {
|
|
|
2110
2557
|
raw: string;
|
|
2111
2558
|
};
|
|
2112
2559
|
|
|
2560
|
+
/**
|
|
2561
|
+
* Which occurrences of a recurring event a write applies to (issue #15). A request parameter, never a stored column: the resource records what the series is, and this records what the caller meant by editing one drawing of it.
|
|
2562
|
+
*/
|
|
2563
|
+
export type RemitImapRecurrenceScope = 'This' | 'Following' | 'All';
|
|
2564
|
+
|
|
2113
2565
|
/**
|
|
2114
2566
|
* Message reference types per RFC 2822 Section 3.6.4
|
|
2115
2567
|
*/
|
|
@@ -2704,22 +3156,66 @@ export type RemitImapUpdateAddressInput = {
|
|
|
2704
3156
|
};
|
|
2705
3157
|
|
|
2706
3158
|
/**
|
|
2707
|
-
* Input for updating
|
|
2708
|
-
*
|
|
2709
|
-
*
|
|
2710
|
-
* `state`/`hasAnchor`/`ruleChangedAt`/`actionChangedAt`/`filterId` are
|
|
2711
|
-
* server-derived too. A patch touching the predicate, the action, `scope`, or
|
|
2712
|
-
* `expiresAt` bumps `ruleChangedAt`; a name-only rename never does (RFC 034
|
|
2713
|
-
* Decision 3.2, reader #266). Only a patch touching the predicate or the
|
|
2714
|
-
* action bumps `actionChangedAt`, the narrower signal exclusive-move
|
|
2715
|
-
* precedence reads (reader #384) — a scope/expiresAt-only edit leaves it
|
|
2716
|
-
* untouched.
|
|
3159
|
+
* Input for updating an event. Every field is optional and absence means
|
|
3160
|
+
* untouched — a patch that carries only `summary` renames the event and moves
|
|
3161
|
+
* nothing.
|
|
2717
3162
|
*
|
|
2718
|
-
*
|
|
2719
|
-
* `
|
|
2720
|
-
*
|
|
2721
|
-
*
|
|
2722
|
-
|
|
3163
|
+
* What the patch applies to is the `scope` parameter's business: `All` rewrites
|
|
3164
|
+
* the master, `This` writes a RECURRENCE-ID override for one occurrence, and
|
|
3165
|
+
* `Following` splits the series at one occurrence and applies the patch to the
|
|
3166
|
+
* remainder.
|
|
3167
|
+
*/
|
|
3168
|
+
export type RemitImapUpdateCalendarEventInput = {
|
|
3169
|
+
summary?: String512;
|
|
3170
|
+
description?: String2048;
|
|
3171
|
+
location?: String512;
|
|
3172
|
+
start?: String64;
|
|
3173
|
+
end?: String64;
|
|
3174
|
+
allDay?: boolean;
|
|
3175
|
+
timeZone?: String64;
|
|
3176
|
+
status?: RemitImapCalendarEventStatus;
|
|
3177
|
+
transparency?: RemitImapCalendarTransparency;
|
|
3178
|
+
/**
|
|
3179
|
+
* RRULE value, or `""` to drop the rule. Only meaningful with `scope=All` or `scope=Following`: an override is one occurrence and carries no rule of its own.
|
|
3180
|
+
*/
|
|
3181
|
+
recurrenceRule?: String512;
|
|
3182
|
+
};
|
|
3183
|
+
|
|
3184
|
+
/**
|
|
3185
|
+
* Input for updating a calendar collection. The name, colour and timezone are the mutable overlay; `urlSegment` is not among them, because it is the collection's identity and the path a client has bookmarked.
|
|
3186
|
+
*/
|
|
3187
|
+
export type RemitImapUpdateCalendarInput = {
|
|
3188
|
+
/**
|
|
3189
|
+
* Human-readable collection name (display)
|
|
3190
|
+
*/
|
|
3191
|
+
displayName?: String140;
|
|
3192
|
+
/**
|
|
3193
|
+
* Display color slot for this collection
|
|
3194
|
+
*/
|
|
3195
|
+
color?: RemitImapCalendarColor;
|
|
3196
|
+
/**
|
|
3197
|
+
* IANA time zone this collection's floating times are read in, e.g. "Europe/Amsterdam". `""` when none is set, which reads as UTC.
|
|
3198
|
+
*/
|
|
3199
|
+
timezone?: String64;
|
|
3200
|
+
};
|
|
3201
|
+
|
|
3202
|
+
/**
|
|
3203
|
+
* Input for updating a filter (RFC 034, reader #266). The name, predicate,
|
|
3204
|
+
* action, scope, and expiresAt are all updatable; `ttl` is always
|
|
3205
|
+
* server-derived from `scope`/`expiresAt`, never client-supplied, and
|
|
3206
|
+
* `state`/`hasAnchor`/`ruleChangedAt`/`actionChangedAt`/`filterId` are
|
|
3207
|
+
* server-derived too. A patch touching the predicate, the action, `scope`, or
|
|
3208
|
+
* `expiresAt` bumps `ruleChangedAt`; a name-only rename never does (RFC 034
|
|
3209
|
+
* Decision 3.2, reader #266). Only a patch touching the predicate or the
|
|
3210
|
+
* action bumps `actionChangedAt`, the narrower signal exclusive-move
|
|
3211
|
+
* precedence reads (reader #384) — a scope/expiresAt-only edit leaves it
|
|
3212
|
+
* untouched.
|
|
3213
|
+
*
|
|
3214
|
+
* The semantic anchor has no field here at all — it is set once, from
|
|
3215
|
+
* `anchorMessageId`, only on `CreateFilterInput`. Repointing an anchor would
|
|
3216
|
+
* silently change what a saved filter matches with nothing visible changing;
|
|
3217
|
+
* that deserves a new filter, so the server rejects any attempt to smuggle an
|
|
3218
|
+
* anchor change through this body (reader #266).
|
|
2723
3219
|
*/
|
|
2724
3220
|
export type RemitImapUpdateFilterInput = {
|
|
2725
3221
|
/**
|
|
@@ -2920,6 +3416,11 @@ export type RemitImapWellknownFlagUpdate = RemitImapAddressFlagBaseUpdate & {
|
|
|
2920
3416
|
value?: boolean;
|
|
2921
3417
|
};
|
|
2922
3418
|
|
|
3419
|
+
/**
|
|
3420
|
+
* How confidently a stored time was placed on the clock. A calendar that cannot say this hides its worst failure: an event read in the wrong zone is off by hours and looks exactly like an event read correctly.
|
|
3421
|
+
*/
|
|
3422
|
+
export type RemitImapZoneCertainty = 'Local' | 'Explicit' | 'Ambiguous';
|
|
3423
|
+
|
|
2923
3424
|
export type String140 = string;
|
|
2924
3425
|
|
|
2925
3426
|
export type String2048 = string;
|
|
@@ -2981,6 +3482,31 @@ export type RemitImapBodyPartResponseWritable = {
|
|
|
2981
3482
|
contentUrl: string;
|
|
2982
3483
|
};
|
|
2983
3484
|
|
|
3485
|
+
/**
|
|
3486
|
+
* Every calendar collection of the caller's account config, url segment first. Unpaginated: an account holds a handful of calendars, and a page boundary in a sidebar is a bug waiting to happen.
|
|
3487
|
+
*/
|
|
3488
|
+
export type RemitImapCalendarListResponseWritable = {
|
|
3489
|
+
items: Array<RemitImapCalendarResponseWritable>;
|
|
3490
|
+
};
|
|
3491
|
+
|
|
3492
|
+
/**
|
|
3493
|
+
* A calendar collection as the API returns it.
|
|
3494
|
+
*/
|
|
3495
|
+
export type RemitImapCalendarResponseWritable = {
|
|
3496
|
+
/**
|
|
3497
|
+
* Human-readable collection name (display)
|
|
3498
|
+
*/
|
|
3499
|
+
displayName: String140;
|
|
3500
|
+
/**
|
|
3501
|
+
* Display color slot for this collection
|
|
3502
|
+
*/
|
|
3503
|
+
color: RemitImapCalendarColor;
|
|
3504
|
+
/**
|
|
3505
|
+
* IANA time zone this collection's floating times are read in, e.g. "Europe/Amsterdam". `""` when none is set, which reads as UTC.
|
|
3506
|
+
*/
|
|
3507
|
+
timezone: String64;
|
|
3508
|
+
};
|
|
3509
|
+
|
|
2984
3510
|
/**
|
|
2985
3511
|
* Full configuration description including accounts
|
|
2986
3512
|
*/
|
|
@@ -3831,6 +4357,502 @@ export type AddressDetailOperationsUpdateAddressResponses = {
|
|
|
3831
4357
|
|
|
3832
4358
|
export type AddressDetailOperationsUpdateAddressResponse = AddressDetailOperationsUpdateAddressResponses[keyof AddressDetailOperationsUpdateAddressResponses];
|
|
3833
4359
|
|
|
4360
|
+
export type CalendarEventOperationsListCalendarEventsData = {
|
|
4361
|
+
body?: never;
|
|
4362
|
+
path?: never;
|
|
4363
|
+
query: {
|
|
4364
|
+
/**
|
|
4365
|
+
* Start of the window, an ISO 8601 date-time with zone offset. Inclusive.
|
|
4366
|
+
*/
|
|
4367
|
+
from: string;
|
|
4368
|
+
/**
|
|
4369
|
+
* End of the window, an ISO 8601 date-time with zone offset. Exclusive.
|
|
4370
|
+
*/
|
|
4371
|
+
to: string;
|
|
4372
|
+
/**
|
|
4373
|
+
* Restrict to these collections, repeated once per calendar. Omitted means every calendar the caller holds.
|
|
4374
|
+
*/
|
|
4375
|
+
calendarId?: Array<Uuid>;
|
|
4376
|
+
};
|
|
4377
|
+
url: '/calendar-events';
|
|
4378
|
+
};
|
|
4379
|
+
|
|
4380
|
+
export type CalendarEventOperationsListCalendarEventsErrors = {
|
|
4381
|
+
/**
|
|
4382
|
+
* Validation error response
|
|
4383
|
+
*/
|
|
4384
|
+
400: ApiError;
|
|
4385
|
+
/**
|
|
4386
|
+
* Not found error response
|
|
4387
|
+
*/
|
|
4388
|
+
404: ApiError;
|
|
4389
|
+
};
|
|
4390
|
+
|
|
4391
|
+
export type CalendarEventOperationsListCalendarEventsError = CalendarEventOperationsListCalendarEventsErrors[keyof CalendarEventOperationsListCalendarEventsErrors];
|
|
4392
|
+
|
|
4393
|
+
export type CalendarEventOperationsListCalendarEventsResponses = {
|
|
4394
|
+
/**
|
|
4395
|
+
* The request has succeeded.
|
|
4396
|
+
*/
|
|
4397
|
+
200: RemitImapCalendarEventListResponse;
|
|
4398
|
+
};
|
|
4399
|
+
|
|
4400
|
+
export type CalendarEventOperationsListCalendarEventsResponse = CalendarEventOperationsListCalendarEventsResponses[keyof CalendarEventOperationsListCalendarEventsResponses];
|
|
4401
|
+
|
|
4402
|
+
export type CalendarEventOperationsCreateCalendarEventData = {
|
|
4403
|
+
body: RemitImapCreateCalendarEventInput;
|
|
4404
|
+
path?: never;
|
|
4405
|
+
query?: never;
|
|
4406
|
+
url: '/calendar-events';
|
|
4407
|
+
};
|
|
4408
|
+
|
|
4409
|
+
export type CalendarEventOperationsCreateCalendarEventErrors = {
|
|
4410
|
+
/**
|
|
4411
|
+
* Validation error response
|
|
4412
|
+
*/
|
|
4413
|
+
400: ApiError;
|
|
4414
|
+
/**
|
|
4415
|
+
* Not found error response
|
|
4416
|
+
*/
|
|
4417
|
+
404: ApiError;
|
|
4418
|
+
};
|
|
4419
|
+
|
|
4420
|
+
export type CalendarEventOperationsCreateCalendarEventError = CalendarEventOperationsCreateCalendarEventErrors[keyof CalendarEventOperationsCreateCalendarEventErrors];
|
|
4421
|
+
|
|
4422
|
+
export type CalendarEventOperationsCreateCalendarEventResponses = {
|
|
4423
|
+
/**
|
|
4424
|
+
* The request has succeeded.
|
|
4425
|
+
*/
|
|
4426
|
+
200: RemitImapCalendarEventResponse;
|
|
4427
|
+
};
|
|
4428
|
+
|
|
4429
|
+
export type CalendarEventOperationsCreateCalendarEventResponse = CalendarEventOperationsCreateCalendarEventResponses[keyof CalendarEventOperationsCreateCalendarEventResponses];
|
|
4430
|
+
|
|
4431
|
+
export type CalendarEventDetailOperationsDeleteCalendarEventData = {
|
|
4432
|
+
body?: never;
|
|
4433
|
+
headers?: {
|
|
4434
|
+
'If-Match'?: string;
|
|
4435
|
+
};
|
|
4436
|
+
path: {
|
|
4437
|
+
calendarObjectId: Uuid;
|
|
4438
|
+
};
|
|
4439
|
+
query: {
|
|
4440
|
+
/**
|
|
4441
|
+
* Collection the resource lives in
|
|
4442
|
+
*/
|
|
4443
|
+
calendarId: Uuid;
|
|
4444
|
+
/**
|
|
4445
|
+
* Which occurrences this delete applies to. Defaults to `All`.
|
|
4446
|
+
*/
|
|
4447
|
+
scope?: RemitImapRecurrenceScope;
|
|
4448
|
+
/**
|
|
4449
|
+
* RECURRENCE-ID of the occurrence the delete is anchored at. Required for `This` and `Following`.
|
|
4450
|
+
*/
|
|
4451
|
+
recurrenceId?: string;
|
|
4452
|
+
};
|
|
4453
|
+
url: '/calendar-events/{calendarObjectId}';
|
|
4454
|
+
};
|
|
4455
|
+
|
|
4456
|
+
export type CalendarEventDetailOperationsDeleteCalendarEventErrors = {
|
|
4457
|
+
/**
|
|
4458
|
+
* Validation error response
|
|
4459
|
+
*/
|
|
4460
|
+
400: ApiError;
|
|
4461
|
+
/**
|
|
4462
|
+
* Not found error response
|
|
4463
|
+
*/
|
|
4464
|
+
404: ApiError;
|
|
4465
|
+
/**
|
|
4466
|
+
* The condition the request stated is no longer true. Answered when an
|
|
4467
|
+
* `If-Match` names an etag the stored resource no longer carries: somebody else
|
|
4468
|
+
* wrote it in between, so applying this request would silently discard their
|
|
4469
|
+
* change. The client re-reads the resource and decides what to do with the
|
|
4470
|
+
* version it now has.
|
|
4471
|
+
*/
|
|
4472
|
+
412: ApiError;
|
|
4473
|
+
};
|
|
4474
|
+
|
|
4475
|
+
export type CalendarEventDetailOperationsDeleteCalendarEventError = CalendarEventDetailOperationsDeleteCalendarEventErrors[keyof CalendarEventDetailOperationsDeleteCalendarEventErrors];
|
|
4476
|
+
|
|
4477
|
+
export type CalendarEventDetailOperationsDeleteCalendarEventResponses = {
|
|
4478
|
+
/**
|
|
4479
|
+
* Nothing to return. The resource, or the occurrence, is gone.
|
|
4480
|
+
*/
|
|
4481
|
+
204: void;
|
|
4482
|
+
};
|
|
4483
|
+
|
|
4484
|
+
export type CalendarEventDetailOperationsDeleteCalendarEventResponse = CalendarEventDetailOperationsDeleteCalendarEventResponses[keyof CalendarEventDetailOperationsDeleteCalendarEventResponses];
|
|
4485
|
+
|
|
4486
|
+
export type CalendarEventDetailOperationsGetCalendarEventData = {
|
|
4487
|
+
body?: never;
|
|
4488
|
+
path: {
|
|
4489
|
+
calendarObjectId: Uuid;
|
|
4490
|
+
};
|
|
4491
|
+
query: {
|
|
4492
|
+
/**
|
|
4493
|
+
* Collection the resource lives in. A resource is addressed by its collection and its own id, which is what a client holds: every occurrence a listing returns carries both.
|
|
4494
|
+
*/
|
|
4495
|
+
calendarId: Uuid;
|
|
4496
|
+
};
|
|
4497
|
+
url: '/calendar-events/{calendarObjectId}';
|
|
4498
|
+
};
|
|
4499
|
+
|
|
4500
|
+
export type CalendarEventDetailOperationsGetCalendarEventErrors = {
|
|
4501
|
+
/**
|
|
4502
|
+
* Validation error response
|
|
4503
|
+
*/
|
|
4504
|
+
400: ApiError;
|
|
4505
|
+
/**
|
|
4506
|
+
* Not found error response
|
|
4507
|
+
*/
|
|
4508
|
+
404: ApiError;
|
|
4509
|
+
};
|
|
4510
|
+
|
|
4511
|
+
export type CalendarEventDetailOperationsGetCalendarEventError = CalendarEventDetailOperationsGetCalendarEventErrors[keyof CalendarEventDetailOperationsGetCalendarEventErrors];
|
|
4512
|
+
|
|
4513
|
+
export type CalendarEventDetailOperationsGetCalendarEventResponses = {
|
|
4514
|
+
/**
|
|
4515
|
+
* The request has succeeded.
|
|
4516
|
+
*/
|
|
4517
|
+
200: RemitImapCalendarEventResponse;
|
|
4518
|
+
};
|
|
4519
|
+
|
|
4520
|
+
export type CalendarEventDetailOperationsGetCalendarEventResponse = CalendarEventDetailOperationsGetCalendarEventResponses[keyof CalendarEventDetailOperationsGetCalendarEventResponses];
|
|
4521
|
+
|
|
4522
|
+
export type CalendarEventDetailOperationsUpdateCalendarEventData = {
|
|
4523
|
+
body: RemitImapUpdateCalendarEventInput;
|
|
4524
|
+
headers?: {
|
|
4525
|
+
'If-Match'?: string;
|
|
4526
|
+
};
|
|
4527
|
+
path: {
|
|
4528
|
+
calendarObjectId: Uuid;
|
|
4529
|
+
};
|
|
4530
|
+
query: {
|
|
4531
|
+
/**
|
|
4532
|
+
* Collection the resource lives in
|
|
4533
|
+
*/
|
|
4534
|
+
calendarId: Uuid;
|
|
4535
|
+
/**
|
|
4536
|
+
* Which occurrences this update applies to. Defaults to `All`.
|
|
4537
|
+
*/
|
|
4538
|
+
scope?: RemitImapRecurrenceScope;
|
|
4539
|
+
/**
|
|
4540
|
+
* RECURRENCE-ID of the occurrence the update is anchored at, as the ISO 8601 UTC instant a listing returned. Required for `This` and `Following`.
|
|
4541
|
+
*/
|
|
4542
|
+
recurrenceId?: string;
|
|
4543
|
+
};
|
|
4544
|
+
url: '/calendar-events/{calendarObjectId}';
|
|
4545
|
+
};
|
|
4546
|
+
|
|
4547
|
+
export type CalendarEventDetailOperationsUpdateCalendarEventErrors = {
|
|
4548
|
+
/**
|
|
4549
|
+
* Validation error response
|
|
4550
|
+
*/
|
|
4551
|
+
400: ApiError;
|
|
4552
|
+
/**
|
|
4553
|
+
* Not found error response
|
|
4554
|
+
*/
|
|
4555
|
+
404: ApiError;
|
|
4556
|
+
/**
|
|
4557
|
+
* The condition the request stated is no longer true. Answered when an
|
|
4558
|
+
* `If-Match` names an etag the stored resource no longer carries: somebody else
|
|
4559
|
+
* wrote it in between, so applying this request would silently discard their
|
|
4560
|
+
* change. The client re-reads the resource and decides what to do with the
|
|
4561
|
+
* version it now has.
|
|
4562
|
+
*/
|
|
4563
|
+
412: ApiError;
|
|
4564
|
+
};
|
|
4565
|
+
|
|
4566
|
+
export type CalendarEventDetailOperationsUpdateCalendarEventError = CalendarEventDetailOperationsUpdateCalendarEventErrors[keyof CalendarEventDetailOperationsUpdateCalendarEventErrors];
|
|
4567
|
+
|
|
4568
|
+
export type CalendarEventDetailOperationsUpdateCalendarEventResponses = {
|
|
4569
|
+
/**
|
|
4570
|
+
* The request has succeeded.
|
|
4571
|
+
*/
|
|
4572
|
+
200: RemitImapCalendarEventResponse;
|
|
4573
|
+
};
|
|
4574
|
+
|
|
4575
|
+
export type CalendarEventDetailOperationsUpdateCalendarEventResponse = CalendarEventDetailOperationsUpdateCalendarEventResponses[keyof CalendarEventDetailOperationsUpdateCalendarEventResponses];
|
|
4576
|
+
|
|
4577
|
+
export type CalendarFreeBusyOperationsListCalendarFreeBusyData = {
|
|
4578
|
+
body?: never;
|
|
4579
|
+
path?: never;
|
|
4580
|
+
query: {
|
|
4581
|
+
/**
|
|
4582
|
+
* Start of the window, an ISO 8601 date-time with zone offset. Inclusive.
|
|
4583
|
+
*/
|
|
4584
|
+
from: string;
|
|
4585
|
+
/**
|
|
4586
|
+
* End of the window, an ISO 8601 date-time with zone offset. Exclusive.
|
|
4587
|
+
*/
|
|
4588
|
+
to: string;
|
|
4589
|
+
};
|
|
4590
|
+
url: '/calendar-free-busy';
|
|
4591
|
+
};
|
|
4592
|
+
|
|
4593
|
+
export type CalendarFreeBusyOperationsListCalendarFreeBusyErrors = {
|
|
4594
|
+
/**
|
|
4595
|
+
* Validation error response
|
|
4596
|
+
*/
|
|
4597
|
+
400: ApiError;
|
|
4598
|
+
};
|
|
4599
|
+
|
|
4600
|
+
export type CalendarFreeBusyOperationsListCalendarFreeBusyError = CalendarFreeBusyOperationsListCalendarFreeBusyErrors[keyof CalendarFreeBusyOperationsListCalendarFreeBusyErrors];
|
|
4601
|
+
|
|
4602
|
+
export type CalendarFreeBusyOperationsListCalendarFreeBusyResponses = {
|
|
4603
|
+
/**
|
|
4604
|
+
* The request has succeeded.
|
|
4605
|
+
*/
|
|
4606
|
+
200: RemitImapCalendarFreeBusyResponse;
|
|
4607
|
+
};
|
|
4608
|
+
|
|
4609
|
+
export type CalendarFreeBusyOperationsListCalendarFreeBusyResponse = CalendarFreeBusyOperationsListCalendarFreeBusyResponses[keyof CalendarFreeBusyOperationsListCalendarFreeBusyResponses];
|
|
4610
|
+
|
|
4611
|
+
export type CalendarSuggestionOperationsListCalendarSuggestionsData = {
|
|
4612
|
+
body?: never;
|
|
4613
|
+
path?: never;
|
|
4614
|
+
query: {
|
|
4615
|
+
state: RemitImapCalendarSuggestionState;
|
|
4616
|
+
continuationToken?: string;
|
|
4617
|
+
};
|
|
4618
|
+
url: '/calendar-suggestions';
|
|
4619
|
+
};
|
|
4620
|
+
|
|
4621
|
+
export type CalendarSuggestionOperationsListCalendarSuggestionsErrors = {
|
|
4622
|
+
/**
|
|
4623
|
+
* Validation error response
|
|
4624
|
+
*/
|
|
4625
|
+
400: ApiError;
|
|
4626
|
+
};
|
|
4627
|
+
|
|
4628
|
+
export type CalendarSuggestionOperationsListCalendarSuggestionsError = CalendarSuggestionOperationsListCalendarSuggestionsErrors[keyof CalendarSuggestionOperationsListCalendarSuggestionsErrors];
|
|
4629
|
+
|
|
4630
|
+
export type CalendarSuggestionOperationsListCalendarSuggestionsResponses = {
|
|
4631
|
+
/**
|
|
4632
|
+
* The request has succeeded.
|
|
4633
|
+
*/
|
|
4634
|
+
200: {
|
|
4635
|
+
/**
|
|
4636
|
+
* Opaque, server-minted cursor: absent means the first (or last) page, present means resume from here. Echo it back unchanged to fetch the next page. Every listing endpoint that accepts it rejects a token it cannot decode with 400 ValidationError rather than silently restarting from the first page (#136, #172).
|
|
4637
|
+
*/
|
|
4638
|
+
continuationToken?: String800;
|
|
4639
|
+
items: Array<RemitImapCalendarSuggestionResponse>;
|
|
4640
|
+
};
|
|
4641
|
+
};
|
|
4642
|
+
|
|
4643
|
+
export type CalendarSuggestionOperationsListCalendarSuggestionsResponse = CalendarSuggestionOperationsListCalendarSuggestionsResponses[keyof CalendarSuggestionOperationsListCalendarSuggestionsResponses];
|
|
4644
|
+
|
|
4645
|
+
export type CalendarSuggestionActionOperationsAcceptCalendarSuggestionData = {
|
|
4646
|
+
body: RemitImapAcceptCalendarSuggestionInput;
|
|
4647
|
+
path: {
|
|
4648
|
+
suggestionId: Uuid;
|
|
4649
|
+
};
|
|
4650
|
+
query?: never;
|
|
4651
|
+
url: '/calendar-suggestions/{suggestionId}/accept';
|
|
4652
|
+
};
|
|
4653
|
+
|
|
4654
|
+
export type CalendarSuggestionActionOperationsAcceptCalendarSuggestionErrors = {
|
|
4655
|
+
/**
|
|
4656
|
+
* Validation error response
|
|
4657
|
+
*/
|
|
4658
|
+
400: ApiError;
|
|
4659
|
+
};
|
|
4660
|
+
|
|
4661
|
+
export type CalendarSuggestionActionOperationsAcceptCalendarSuggestionError = CalendarSuggestionActionOperationsAcceptCalendarSuggestionErrors[keyof CalendarSuggestionActionOperationsAcceptCalendarSuggestionErrors];
|
|
4662
|
+
|
|
4663
|
+
export type CalendarSuggestionActionOperationsAcceptCalendarSuggestionResponses = {
|
|
4664
|
+
/**
|
|
4665
|
+
* The request has succeeded.
|
|
4666
|
+
*/
|
|
4667
|
+
200: RemitImapCalendarSuggestionResponse;
|
|
4668
|
+
};
|
|
4669
|
+
|
|
4670
|
+
export type CalendarSuggestionActionOperationsAcceptCalendarSuggestionResponse = CalendarSuggestionActionOperationsAcceptCalendarSuggestionResponses[keyof CalendarSuggestionActionOperationsAcceptCalendarSuggestionResponses];
|
|
4671
|
+
|
|
4672
|
+
export type CalendarSuggestionActionOperationsDeclineCalendarSuggestionData = {
|
|
4673
|
+
body?: never;
|
|
4674
|
+
path: {
|
|
4675
|
+
suggestionId: Uuid;
|
|
4676
|
+
};
|
|
4677
|
+
query?: never;
|
|
4678
|
+
url: '/calendar-suggestions/{suggestionId}/decline';
|
|
4679
|
+
};
|
|
4680
|
+
|
|
4681
|
+
export type CalendarSuggestionActionOperationsDeclineCalendarSuggestionErrors = {
|
|
4682
|
+
/**
|
|
4683
|
+
* Validation error response
|
|
4684
|
+
*/
|
|
4685
|
+
400: ApiError;
|
|
4686
|
+
};
|
|
4687
|
+
|
|
4688
|
+
export type CalendarSuggestionActionOperationsDeclineCalendarSuggestionError = CalendarSuggestionActionOperationsDeclineCalendarSuggestionErrors[keyof CalendarSuggestionActionOperationsDeclineCalendarSuggestionErrors];
|
|
4689
|
+
|
|
4690
|
+
export type CalendarSuggestionActionOperationsDeclineCalendarSuggestionResponses = {
|
|
4691
|
+
/**
|
|
4692
|
+
* The request has succeeded.
|
|
4693
|
+
*/
|
|
4694
|
+
200: RemitImapCalendarSuggestionResponse;
|
|
4695
|
+
};
|
|
4696
|
+
|
|
4697
|
+
export type CalendarSuggestionActionOperationsDeclineCalendarSuggestionResponse = CalendarSuggestionActionOperationsDeclineCalendarSuggestionResponses[keyof CalendarSuggestionActionOperationsDeclineCalendarSuggestionResponses];
|
|
4698
|
+
|
|
4699
|
+
export type CalendarSuggestionActionOperationsDismissCalendarSuggestionData = {
|
|
4700
|
+
body: RemitImapDismissCalendarSuggestionInput;
|
|
4701
|
+
path: {
|
|
4702
|
+
suggestionId: Uuid;
|
|
4703
|
+
};
|
|
4704
|
+
query?: never;
|
|
4705
|
+
url: '/calendar-suggestions/{suggestionId}/dismiss';
|
|
4706
|
+
};
|
|
4707
|
+
|
|
4708
|
+
export type CalendarSuggestionActionOperationsDismissCalendarSuggestionErrors = {
|
|
4709
|
+
/**
|
|
4710
|
+
* Validation error response
|
|
4711
|
+
*/
|
|
4712
|
+
400: ApiError;
|
|
4713
|
+
};
|
|
4714
|
+
|
|
4715
|
+
export type CalendarSuggestionActionOperationsDismissCalendarSuggestionError = CalendarSuggestionActionOperationsDismissCalendarSuggestionErrors[keyof CalendarSuggestionActionOperationsDismissCalendarSuggestionErrors];
|
|
4716
|
+
|
|
4717
|
+
export type CalendarSuggestionActionOperationsDismissCalendarSuggestionResponses = {
|
|
4718
|
+
/**
|
|
4719
|
+
* The request has succeeded.
|
|
4720
|
+
*/
|
|
4721
|
+
200: RemitImapCalendarSuggestionResponse;
|
|
4722
|
+
};
|
|
4723
|
+
|
|
4724
|
+
export type CalendarSuggestionActionOperationsDismissCalendarSuggestionResponse = CalendarSuggestionActionOperationsDismissCalendarSuggestionResponses[keyof CalendarSuggestionActionOperationsDismissCalendarSuggestionResponses];
|
|
4725
|
+
|
|
4726
|
+
export type CalendarOperationsListCalendarsData = {
|
|
4727
|
+
body?: never;
|
|
4728
|
+
path?: never;
|
|
4729
|
+
query?: never;
|
|
4730
|
+
url: '/calendars';
|
|
4731
|
+
};
|
|
4732
|
+
|
|
4733
|
+
export type CalendarOperationsListCalendarsResponses = {
|
|
4734
|
+
/**
|
|
4735
|
+
* The request has succeeded.
|
|
4736
|
+
*/
|
|
4737
|
+
200: RemitImapCalendarListResponse;
|
|
4738
|
+
};
|
|
4739
|
+
|
|
4740
|
+
export type CalendarOperationsListCalendarsResponse = CalendarOperationsListCalendarsResponses[keyof CalendarOperationsListCalendarsResponses];
|
|
4741
|
+
|
|
4742
|
+
export type CalendarOperationsCreateCalendarData = {
|
|
4743
|
+
body: RemitImapCreateCalendarInput;
|
|
4744
|
+
path?: never;
|
|
4745
|
+
query?: never;
|
|
4746
|
+
url: '/calendars';
|
|
4747
|
+
};
|
|
4748
|
+
|
|
4749
|
+
export type CalendarOperationsCreateCalendarErrors = {
|
|
4750
|
+
/**
|
|
4751
|
+
* Validation error response
|
|
4752
|
+
*/
|
|
4753
|
+
400: ApiError;
|
|
4754
|
+
};
|
|
4755
|
+
|
|
4756
|
+
export type CalendarOperationsCreateCalendarError = CalendarOperationsCreateCalendarErrors[keyof CalendarOperationsCreateCalendarErrors];
|
|
4757
|
+
|
|
4758
|
+
export type CalendarOperationsCreateCalendarResponses = {
|
|
4759
|
+
/**
|
|
4760
|
+
* The request has succeeded.
|
|
4761
|
+
*/
|
|
4762
|
+
200: RemitImapCalendarResponse;
|
|
4763
|
+
};
|
|
4764
|
+
|
|
4765
|
+
export type CalendarOperationsCreateCalendarResponse = CalendarOperationsCreateCalendarResponses[keyof CalendarOperationsCreateCalendarResponses];
|
|
4766
|
+
|
|
4767
|
+
export type CalendarDetailOperationsDeleteCalendarData = {
|
|
4768
|
+
body?: never;
|
|
4769
|
+
path: {
|
|
4770
|
+
calendarId: Uuid;
|
|
4771
|
+
};
|
|
4772
|
+
query?: never;
|
|
4773
|
+
url: '/calendars/{calendarId}';
|
|
4774
|
+
};
|
|
4775
|
+
|
|
4776
|
+
export type CalendarDetailOperationsDeleteCalendarErrors = {
|
|
4777
|
+
/**
|
|
4778
|
+
* Validation error response
|
|
4779
|
+
*/
|
|
4780
|
+
400: ApiError;
|
|
4781
|
+
/**
|
|
4782
|
+
* Not found error response
|
|
4783
|
+
*/
|
|
4784
|
+
404: ApiError;
|
|
4785
|
+
};
|
|
4786
|
+
|
|
4787
|
+
export type CalendarDetailOperationsDeleteCalendarError = CalendarDetailOperationsDeleteCalendarErrors[keyof CalendarDetailOperationsDeleteCalendarErrors];
|
|
4788
|
+
|
|
4789
|
+
export type CalendarDetailOperationsDeleteCalendarResponses = {
|
|
4790
|
+
/**
|
|
4791
|
+
* Nothing to return. The resource, or the occurrence, is gone.
|
|
4792
|
+
*/
|
|
4793
|
+
204: void;
|
|
4794
|
+
};
|
|
4795
|
+
|
|
4796
|
+
export type CalendarDetailOperationsDeleteCalendarResponse = CalendarDetailOperationsDeleteCalendarResponses[keyof CalendarDetailOperationsDeleteCalendarResponses];
|
|
4797
|
+
|
|
4798
|
+
export type CalendarDetailOperationsGetCalendarData = {
|
|
4799
|
+
body?: never;
|
|
4800
|
+
path: {
|
|
4801
|
+
calendarId: Uuid;
|
|
4802
|
+
};
|
|
4803
|
+
query?: never;
|
|
4804
|
+
url: '/calendars/{calendarId}';
|
|
4805
|
+
};
|
|
4806
|
+
|
|
4807
|
+
export type CalendarDetailOperationsGetCalendarErrors = {
|
|
4808
|
+
/**
|
|
4809
|
+
* Not found error response
|
|
4810
|
+
*/
|
|
4811
|
+
404: ApiError;
|
|
4812
|
+
};
|
|
4813
|
+
|
|
4814
|
+
export type CalendarDetailOperationsGetCalendarError = CalendarDetailOperationsGetCalendarErrors[keyof CalendarDetailOperationsGetCalendarErrors];
|
|
4815
|
+
|
|
4816
|
+
export type CalendarDetailOperationsGetCalendarResponses = {
|
|
4817
|
+
/**
|
|
4818
|
+
* The request has succeeded.
|
|
4819
|
+
*/
|
|
4820
|
+
200: RemitImapCalendarResponse;
|
|
4821
|
+
};
|
|
4822
|
+
|
|
4823
|
+
export type CalendarDetailOperationsGetCalendarResponse = CalendarDetailOperationsGetCalendarResponses[keyof CalendarDetailOperationsGetCalendarResponses];
|
|
4824
|
+
|
|
4825
|
+
export type CalendarDetailOperationsUpdateCalendarData = {
|
|
4826
|
+
body: RemitImapUpdateCalendarInput;
|
|
4827
|
+
path: {
|
|
4828
|
+
calendarId: Uuid;
|
|
4829
|
+
};
|
|
4830
|
+
query?: never;
|
|
4831
|
+
url: '/calendars/{calendarId}';
|
|
4832
|
+
};
|
|
4833
|
+
|
|
4834
|
+
export type CalendarDetailOperationsUpdateCalendarErrors = {
|
|
4835
|
+
/**
|
|
4836
|
+
* Validation error response
|
|
4837
|
+
*/
|
|
4838
|
+
400: ApiError;
|
|
4839
|
+
/**
|
|
4840
|
+
* Not found error response
|
|
4841
|
+
*/
|
|
4842
|
+
404: ApiError;
|
|
4843
|
+
};
|
|
4844
|
+
|
|
4845
|
+
export type CalendarDetailOperationsUpdateCalendarError = CalendarDetailOperationsUpdateCalendarErrors[keyof CalendarDetailOperationsUpdateCalendarErrors];
|
|
4846
|
+
|
|
4847
|
+
export type CalendarDetailOperationsUpdateCalendarResponses = {
|
|
4848
|
+
/**
|
|
4849
|
+
* The request has succeeded.
|
|
4850
|
+
*/
|
|
4851
|
+
200: RemitImapCalendarResponse;
|
|
4852
|
+
};
|
|
4853
|
+
|
|
4854
|
+
export type CalendarDetailOperationsUpdateCalendarResponse = CalendarDetailOperationsUpdateCalendarResponses[keyof CalendarDetailOperationsUpdateCalendarResponses];
|
|
4855
|
+
|
|
3834
4856
|
export type ConfigOperationsGetConfigData = {
|
|
3835
4857
|
body?: never;
|
|
3836
4858
|
path?: never;
|
|
@@ -4220,6 +5242,39 @@ export type MessageOperationsDescribeMessageResponses = {
|
|
|
4220
5242
|
|
|
4221
5243
|
export type MessageOperationsDescribeMessageResponse = MessageOperationsDescribeMessageResponses[keyof MessageOperationsDescribeMessageResponses];
|
|
4222
5244
|
|
|
5245
|
+
export type MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsData = {
|
|
5246
|
+
body?: never;
|
|
5247
|
+
path: {
|
|
5248
|
+
messageId: Uuid;
|
|
5249
|
+
};
|
|
5250
|
+
query?: never;
|
|
5251
|
+
url: '/messages/{messageId}/calendar-suggestions';
|
|
5252
|
+
};
|
|
5253
|
+
|
|
5254
|
+
export type MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsErrors = {
|
|
5255
|
+
/**
|
|
5256
|
+
* Validation error response
|
|
5257
|
+
*/
|
|
5258
|
+
400: ApiError;
|
|
5259
|
+
};
|
|
5260
|
+
|
|
5261
|
+
export type MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsError = MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsErrors[keyof MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsErrors];
|
|
5262
|
+
|
|
5263
|
+
export type MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsResponses = {
|
|
5264
|
+
/**
|
|
5265
|
+
* The request has succeeded.
|
|
5266
|
+
*/
|
|
5267
|
+
200: {
|
|
5268
|
+
/**
|
|
5269
|
+
* Opaque, server-minted cursor: absent means the first (or last) page, present means resume from here. Echo it back unchanged to fetch the next page. Every listing endpoint that accepts it rejects a token it cannot decode with 400 ValidationError rather than silently restarting from the first page (#136, #172).
|
|
5270
|
+
*/
|
|
5271
|
+
continuationToken?: String800;
|
|
5272
|
+
items: Array<RemitImapCalendarSuggestionResponse>;
|
|
5273
|
+
};
|
|
5274
|
+
};
|
|
5275
|
+
|
|
5276
|
+
export type MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsResponse = MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsResponses[keyof MessageCalendarSuggestionOperationsListMessageCalendarSuggestionsResponses];
|
|
5277
|
+
|
|
4223
5278
|
export type MessageOperationsUpdateMessageFlagsData = {
|
|
4224
5279
|
body: RemitImapUpdateFlagsInput;
|
|
4225
5280
|
path: {
|