diff --git a/src/FishyFlip.Xrpc/Lexicon/App/Bsky/Actor/ActorController.g.cs b/src/FishyFlip.Xrpc/Lexicon/App/Bsky/Actor/ActorController.g.cs
index 7e4cb7dd..b7529949 100644
--- a/src/FishyFlip.Xrpc/Lexicon/App/Bsky/Actor/ActorController.g.cs
+++ b/src/FishyFlip.Xrpc/Lexicon/App/Bsky/Actor/ActorController.g.cs
@@ -71,6 +71,7 @@ public abstract class ActorController : ControllerBase
/// (app.bsky.actor.defs#labelersPref)
/// (app.bsky.actor.defs#postInteractionSettingsPref)
/// (app.bsky.actor.defs#verificationPrefs)
+ /// (app.bsky.actor.defs#liveEventPreferences)
///
///
/// Result of
diff --git a/src/FishyFlip.Xrpc/Lexicon/App/Bsky/Draft/DraftController.g.cs b/src/FishyFlip.Xrpc/Lexicon/App/Bsky/Draft/DraftController.g.cs
new file mode 100644
index 00000000..641808db
--- /dev/null
+++ b/src/FishyFlip.Xrpc/Lexicon/App/Bsky/Draft/DraftController.g.cs
@@ -0,0 +1,58 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Xrpc.Lexicon.App.Bsky.Draft
+{
+
+ ///
+ /// app.bsky.draft XRPC Group.
+ ///
+ [ApiController]
+ public abstract class DraftController : ControllerBase
+ {
+
+ ///
+ /// Inserts a draft using private storage (stash). An upper limit of drafts might be enforced. Requires authentication.
+ ///
Possible Errors:
+ /// Trying to insert a new draft when the limit was already reached.
+ ///
+ /// A draft containing an array of draft posts.
+ ///
+ /// Result of
+ [HttpPost("/xrpc/app.bsky.draft.createDraft")]
+ public abstract Task, ATErrorResult>> CreateDraftAsync ([FromBody] FishyFlip.Lexicon.App.Bsky.Draft.CreateDraftInput input, CancellationToken cancellationToken);
+
+ ///
+ /// Deletes a draft by ID. Requires authentication.
+ ///
+ ///
+ ///
+ /// Result of
+ [HttpPost("/xrpc/app.bsky.draft.deleteDraft")]
+ public abstract Task> DeleteDraftAsync ([FromBody] FishyFlip.Lexicon.App.Bsky.Draft.DeleteDraftInput input, CancellationToken cancellationToken);
+
+ ///
+ /// Gets views of user drafts. Requires authentication.
+ ///
+ ///
+ ///
+ ///
+ /// Result of
+ [HttpGet("/xrpc/app.bsky.draft.getDrafts")]
+ public abstract Task, ATErrorResult>> GetDraftsAsync ([FromQuery] int? limit = 50, [FromQuery] string? cursor = default, CancellationToken cancellationToken = default);
+
+ ///
+ /// Updates a draft using private storage (stash). If the draft ID points to a non-existing ID, the update will be silently ignored. This is done because updates don't enforce draft limit, so it accepts all writes, but will ignore invalid ones. Requires authentication.
+ ///
+ /// A draft with an identifier, used to store drafts in private storage (stash).
+ ///
+ /// Result of
+ [HttpPost("/xrpc/app.bsky.draft.updateDraft")]
+ public abstract Task> UpdateDraftAsync ([FromBody] FishyFlip.Lexicon.App.Bsky.Draft.UpdateDraftInput input, CancellationToken cancellationToken);
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/ATErrorGenerator.g.cs b/src/FishyFlip/Lexicon/ATErrorGenerator.g.cs
index 88ce113d..19418fb0 100644
--- a/src/FishyFlip/Lexicon/ATErrorGenerator.g.cs
+++ b/src/FishyFlip/Lexicon/ATErrorGenerator.g.cs
@@ -62,6 +62,8 @@ public static FishyFlip.Models.ATError Generate(int statusCode, ErrorDetail deta
return new AccountTakedownError(statusCode, detail);
case "UnsupportedCollection":
return new UnsupportedCollectionError(statusCode, detail);
+ case "DraftLimitReached":
+ return new DraftLimitReachedError(statusCode, detail);
case "AuthFactorTokenRequired":
return new AuthFactorTokenRequiredError(statusCode, detail);
case "DuplicateTemplateName":
diff --git a/src/FishyFlip/Lexicon/ATObject.g.cs b/src/FishyFlip/Lexicon/ATObject.g.cs
index f778e424..25133769 100644
--- a/src/FishyFlip/Lexicon/ATObject.g.cs
+++ b/src/FishyFlip/Lexicon/ATObject.g.cs
@@ -198,6 +198,10 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ComAtprotoServerCreateAppPasswordInput);
case "app.bsky.bookmark.createBookmark#CreateBookmarkInput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyBookmarkCreateBookmarkInput);
+ case "app.bsky.draft.createDraft#CreateDraftInput":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftInput);
+ case "app.bsky.draft.createDraft#CreateDraftOutput":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftOutput);
case "com.atproto.server.createInviteCode#CreateInviteCodeInput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ComAtprotoServerCreateInviteCodeInput);
case "com.atproto.server.createInviteCode#CreateInviteCodeOutput":
@@ -228,6 +232,8 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyNotificationDeclaration);
case "chat.bsky.actor.declaration":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyActorDeclaration);
+ case "com.germnetwork.declaration":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ComGermnetworkDeclaration);
case "app.bsky.actor.defs#declaredAgePref":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorDeclaredAgePref);
case "com.atproto.repo.applyWrites#delete":
@@ -242,6 +248,8 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyBookmarkDeleteBookmarkInput);
case "chat.bsky.convo.defs#deletedMessageView":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyConvoDeletedMessageView);
+ case "app.bsky.draft.deleteDraft#DeleteDraftInput":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDeleteDraftInput);
case "tools.ozone.team.deleteMember#DeleteMemberInput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ToolsOzoneTeamDeleteMemberInput);
case "chat.bsky.convo.deleteMessageForSelf#DeleteMessageForSelfInput":
@@ -278,6 +286,26 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyContactDismissMatchInput);
case "app.bsky.contact.dismissMatch#DismissMatchOutput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyContactDismissMatchOutput);
+ case "app.bsky.draft.defs#draft":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraft);
+ case "app.bsky.draft.defs#draftEmbedCaption":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedCaption);
+ case "app.bsky.draft.defs#draftEmbedExternal":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedExternal);
+ case "app.bsky.draft.defs#draftEmbedImage":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedImage);
+ case "app.bsky.draft.defs#draftEmbedLocalRef":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedLocalRef);
+ case "app.bsky.draft.defs#draftEmbedRecord":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedRecord);
+ case "app.bsky.draft.defs#draftEmbedVideo":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedVideo);
+ case "app.bsky.draft.defs#draftPost":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftPost);
+ case "app.bsky.draft.defs#draftView":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftView);
+ case "app.bsky.draft.defs#draftWithId":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftWithId);
case "tools.ozone.hosting.getAccountHistory#emailConfirmed":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ToolsOzoneHostingEmailConfirmed);
case "tools.ozone.hosting.getAccountHistory#emailUpdated":
@@ -366,6 +394,8 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyConvoGetConvoForMembersOutput);
case "chat.bsky.convo.getConvo#GetConvoOutput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyConvoGetConvoOutput);
+ case "app.bsky.draft.getDrafts#GetDraftsOutput":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftGetDraftsOutput);
case "app.bsky.feed.getFeedGenerator#GetFeedGeneratorOutput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyFeedGetFeedGeneratorOutput);
case "app.bsky.feed.getFeedGenerators#GetFeedGeneratorsOutput":
@@ -634,6 +664,8 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyGraphListViewerState);
case "app.bsky.graph.getListsWithMembership#listWithMembership":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyGraphListWithMembership);
+ case "app.bsky.actor.defs#liveEventPreferences":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorLiveEventPreferences);
case "app.bsky.unspecced.getConfig#liveNowConfig":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyUnspeccedLiveNowConfig);
case "chat.bsky.convo.defs#logAcceptConvo":
@@ -668,6 +700,8 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyConvoMessageAndReactionView);
case "chat.bsky.convo.defs#messageInput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyConvoMessageInput);
+ case "com.germnetwork.declaration#messageMe":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ComGermnetworkMessageMe);
case "chat.bsky.convo.defs#messageRef":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyConvoMessageRef);
case "chat.bsky.convo.defs#messageView":
@@ -770,6 +804,8 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileAssociatedActivitySubscription);
case "app.bsky.actor.defs#profileAssociatedChat":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileAssociatedChat);
+ case "app.bsky.actor.defs#profileAssociatedGerm":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileAssociatedGerm);
case "app.bsky.actor.defs#profileView":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileView);
case "app.bsky.actor.defs#profileViewBasic":
@@ -1116,6 +1152,8 @@ public override string ToString()
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyConvoUpdateAllReadInput);
case "chat.bsky.convo.updateAllRead#UpdateAllReadOutput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ChatBskyConvoUpdateAllReadOutput);
+ case "app.bsky.draft.updateDraft#UpdateDraftInput":
+ return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftUpdateDraftInput);
case "com.atproto.server.updateEmail#UpdateEmailInput":
return JsonSerializer.Deserialize(data, (JsonTypeInfo)SourceGenerationContext.Default.ComAtprotoServerUpdateEmailInput);
case "com.atproto.identity.updateHandle#UpdateHandleInput":
diff --git a/src/FishyFlip/Lexicon/ATProtocol.g.cs b/src/FishyFlip/Lexicon/ATProtocol.g.cs
index d38a7225..cf523847 100644
--- a/src/FishyFlip/Lexicon/ATProtocol.g.cs
+++ b/src/FishyFlip/Lexicon/ATProtocol.g.cs
@@ -34,6 +34,11 @@ public sealed partial class ATProtocol
///
public FishyFlip.Lexicon.App.Bsky.Contact.BlueskyContact Contact => new (this);
+ ///
+ /// app.bsky.draft Endpoint Group.
+ ///
+ public FishyFlip.Lexicon.App.Bsky.Draft.BlueskyDraft Draft => new (this);
+
///
/// app.bsky.feed Endpoint Group.
///
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Actor/ActorEndpoints.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Actor/ActorEndpoints.g.cs
index 2f38912a..048ca759 100644
--- a/src/FishyFlip/Lexicon/App/Bsky/Actor/ActorEndpoints.g.cs
+++ b/src/FishyFlip/Lexicon/App/Bsky/Actor/ActorEndpoints.g.cs
@@ -139,6 +139,7 @@ public static class ActorEndpoints
/// (app.bsky.actor.defs#labelersPref)
/// (app.bsky.actor.defs#postInteractionSettingsPref)
/// (app.bsky.actor.defs#verificationPrefs)
+ /// (app.bsky.actor.defs#liveEventPreferences)
///
///
/// Result of
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Actor/BlueskyActor.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Actor/BlueskyActor.g.cs
index adfd70da..9c54411e 100644
--- a/src/FishyFlip/Lexicon/App/Bsky/Actor/BlueskyActor.g.cs
+++ b/src/FishyFlip/Lexicon/App/Bsky/Actor/BlueskyActor.g.cs
@@ -106,6 +106,7 @@ public GetSuggestionsOutputCollection GetSuggestionsCollectionAsync (int? limit
/// (app.bsky.actor.defs#labelersPref)
/// (app.bsky.actor.defs#postInteractionSettingsPref)
/// (app.bsky.actor.defs#verificationPrefs)
+ /// (app.bsky.actor.defs#liveEventPreferences)
///
///
public Task> PutPreferencesAsync (List preferences, CancellationToken cancellationToken = default)
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Actor/LiveEventPreferences.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Actor/LiveEventPreferences.g.cs
new file mode 100644
index 00000000..7d4e4f0a
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Actor/LiveEventPreferences.g.cs
@@ -0,0 +1,108 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Actor
+{
+ ///
+ /// Preferences for live events.
+ ///
+ public partial class LiveEventPreferences : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// A list of feed IDs that the user has hidden from live events.
+ /// Whether to hide all feeds from live events.
+ public LiveEventPreferences(List? hiddenFeedIds = default, bool? hideAllFeeds = default)
+ {
+ this.HiddenFeedIds = hiddenFeedIds;
+ this.HideAllFeeds = hideAllFeeds;
+ this.Type = "app.bsky.actor.defs#liveEventPreferences";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public LiveEventPreferences()
+ {
+ this.Type = "app.bsky.actor.defs#liveEventPreferences";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public LiveEventPreferences(CBORObject obj)
+ {
+ if (obj["hiddenFeedIds"] is not null) this.HiddenFeedIds = obj["hiddenFeedIds"].Values.Select(n =>n.AsString()).ToList();
+ if (obj["hideAllFeeds"] is not null) this.HideAllFeeds = obj["hideAllFeeds"].AsBoolean();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the hiddenFeedIds.
+ ///
A list of feed IDs that the user has hidden from live events.
+ ///
+ [JsonPropertyName("hiddenFeedIds")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public List? HiddenFeedIds { get; set; }
+
+ ///
+ /// Gets or sets the hideAllFeeds.
+ ///
Whether to hide all feeds from live events.
+ ///
+ [JsonPropertyName("hideAllFeeds")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public bool? HideAllFeeds { get; set; } = false;
+
+ public const string RecordType = "app.bsky.actor.defs#liveEventPreferences";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorLiveEventPreferences);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorLiveEventPreferences);
+ }
+
+ public static new LiveEventPreferences FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorLiveEventPreferences)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new LiveEventPreferences FromCBORObject(CBORObject obj)
+ {
+ return new LiveEventPreferences(obj);
+ }
+
+ ///
+ public static LiveEventPreferences Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorLiveEventPreferences)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out LiveEventPreferences result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorLiveEventPreferences);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Actor/ProfileAssociated.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Actor/ProfileAssociated.g.cs
index 0b34c8fa..a2560042 100644
--- a/src/FishyFlip/Lexicon/App/Bsky/Actor/ProfileAssociated.g.cs
+++ b/src/FishyFlip/Lexicon/App/Bsky/Actor/ProfileAssociated.g.cs
@@ -23,7 +23,10 @@ public partial class ProfileAssociated : ATObject, ICBOREncodable
/// (app.bsky.actor.defs#profileAssociatedActivitySubscription)
///
- public ProfileAssociated(long? lists = default, long? feedgens = default, long? starterPacks = default, bool? labeler = default, FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedChat? chat = default, FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedActivitySubscription? activitySubscription = default)
+ ///
+ /// (app.bsky.actor.defs#profileAssociatedGerm)
+ ///
+ public ProfileAssociated(long? lists = default, long? feedgens = default, long? starterPacks = default, bool? labeler = default, FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedChat? chat = default, FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedActivitySubscription? activitySubscription = default, FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedGerm? germ = default)
{
this.Lists = lists;
this.Feedgens = feedgens;
@@ -31,6 +34,7 @@ public ProfileAssociated(long? lists = default, long? feedgens = default, long?
this.Labeler = labeler;
this.Chat = chat;
this.ActivitySubscription = activitySubscription;
+ this.Germ = germ;
this.Type = "app.bsky.actor.defs#profileAssociated";
}
@@ -55,6 +59,7 @@ public ProfileAssociated(CBORObject obj)
if (obj["labeler"] is not null) this.Labeler = obj["labeler"].AsBoolean();
if (obj["chat"] is not null) this.Chat = new FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedChat(obj["chat"]);
if (obj["activitySubscription"] is not null) this.ActivitySubscription = new FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedActivitySubscription(obj["activitySubscription"]);
+ if (obj["germ"] is not null) this.Germ = new FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedGerm(obj["germ"]);
if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
}
@@ -102,6 +107,14 @@ public ProfileAssociated(CBORObject obj)
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedActivitySubscription? ActivitySubscription { get; set; }
+ ///
+ /// Gets or sets the germ.
+ ///
(app.bsky.actor.defs#profileAssociatedGerm)
+ ///
+ [JsonPropertyName("germ")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public FishyFlip.Lexicon.App.Bsky.Actor.ProfileAssociatedGerm? Germ { get; set; }
+
public const string RecordType = "app.bsky.actor.defs#profileAssociated";
public override string ToJson()
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Actor/ProfileAssociatedGerm.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Actor/ProfileAssociatedGerm.g.cs
new file mode 100644
index 00000000..fd66aaf0
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Actor/ProfileAssociatedGerm.g.cs
@@ -0,0 +1,110 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Actor
+{
+ public partial class ProfileAssociatedGerm : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ ///
+ ///
Known Values:
+ /// usersIFollow
+ /// everyone
+ ///
+ public ProfileAssociatedGerm(string messageMeUrl = default, string showButtonTo = default)
+ {
+ this.MessageMeUrl = messageMeUrl;
+ this.ShowButtonTo = showButtonTo;
+ this.Type = "app.bsky.actor.defs#profileAssociatedGerm";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ProfileAssociatedGerm()
+ {
+ this.Type = "app.bsky.actor.defs#profileAssociatedGerm";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ProfileAssociatedGerm(CBORObject obj)
+ {
+ if (obj["messageMeUrl"] is not null) this.MessageMeUrl = obj["messageMeUrl"].AsString();
+ if (obj["showButtonTo"] is not null) this.ShowButtonTo = obj["showButtonTo"].AsString();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the messageMeUrl.
+ ///
+ [JsonPropertyName("messageMeUrl")]
+ [JsonRequired]
+ public string MessageMeUrl { get; set; }
+
+ ///
+ /// Gets or sets the showButtonTo.
+ ///
Known Values:
+ /// usersIFollow
+ /// everyone
+ ///
+ [JsonPropertyName("showButtonTo")]
+ [JsonRequired]
+ public string ShowButtonTo { get; set; }
+
+ public const string RecordType = "app.bsky.actor.defs#profileAssociatedGerm";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileAssociatedGerm);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileAssociatedGerm);
+ }
+
+ public static new ProfileAssociatedGerm FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileAssociatedGerm)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new ProfileAssociatedGerm FromCBORObject(CBORObject obj)
+ {
+ return new ProfileAssociatedGerm(obj);
+ }
+
+ ///
+ public static ProfileAssociatedGerm Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileAssociatedGerm)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out ProfileAssociatedGerm result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyActorProfileAssociatedGerm);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/BlueskyDraft.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/BlueskyDraft.g.cs
new file mode 100644
index 00000000..d2bce29a
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/BlueskyDraft.g.cs
@@ -0,0 +1,93 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+
+ ///
+ /// app.bsky.draft Endpoint Class.
+ ///
+ public sealed class BlueskyDraft
+ {
+
+ private ATProtocol atp;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// .
+ internal BlueskyDraft(ATProtocol atp)
+ {
+ this.atp = atp;
+ }
+
+ ///
+ /// Gets the ATProtocol.
+ ///
+ internal ATProtocol ATProtocol => this.atp;
+
+
+ ///
+ /// Inserts a draft using private storage (stash). An upper limit of drafts might be enforced. Requires authentication.
+ ///
Possible Errors:
+ /// Trying to insert a new draft when the limit was already reached.
+ ///
+ /// A draft containing an array of draft posts.
+ ///
+ public Task> CreateDraftAsync (FishyFlip.Lexicon.App.Bsky.Draft.Draft draft, CancellationToken cancellationToken = default)
+ {
+ return atp.CreateDraftAsync(draft, cancellationToken);
+ }
+
+
+ ///
+ /// Deletes a draft by ID. Requires authentication.
+ ///
+ ///
+ ///
+ public Task> DeleteDraftAsync (string id, CancellationToken cancellationToken = default)
+ {
+ return atp.DeleteDraftAsync(id, cancellationToken);
+ }
+
+
+ ///
+ /// Gets views of user drafts. Requires authentication.
+ ///
+ ///
+ ///
+ ///
+ public Task> GetDraftsAsync (int? limit = 50, string? cursor = default, CancellationToken cancellationToken = default)
+ {
+ return atp.GetDraftsAsync(limit, cursor, cancellationToken);
+ }
+
+ ///
+ /// Gets views of user drafts. Requires authentication.
+ ///
+ ///
+ ///
+ ///
+ public GetDraftsOutputCollection GetDraftsCollectionAsync (int? limit = 50, string? cursor = default, CancellationToken cancellationToken = default)
+ {
+ return new GetDraftsOutputCollection(atp, limit, cursor, cancellationToken);
+ }
+
+
+ ///
+ /// Updates a draft using private storage (stash). If the draft ID points to a non-existing ID, the update will be silently ignored. This is done because updates don't enforce draft limit, so it accepts all writes, but will ignore invalid ones. Requires authentication.
+ ///
+ /// A draft with an identifier, used to store drafts in private storage (stash).
+ ///
+ public Task> UpdateDraftAsync (FishyFlip.Lexicon.App.Bsky.Draft.DraftWithId draft, CancellationToken cancellationToken = default)
+ {
+ return atp.UpdateDraftAsync(draft, cancellationToken);
+ }
+
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/CreateDraftInput.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/CreateDraftInput.g.cs
new file mode 100644
index 00000000..151cf09b
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/CreateDraftInput.g.cs
@@ -0,0 +1,96 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class CreateDraftInput : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ /// (app.bsky.draft.defs#draft)
+ ///
+ public CreateDraftInput(FishyFlip.Lexicon.App.Bsky.Draft.Draft draft = default)
+ {
+ this.Draft = draft;
+ this.Type = "app.bsky.draft.createDraft#CreateDraftInput";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public CreateDraftInput()
+ {
+ this.Type = "app.bsky.draft.createDraft#CreateDraftInput";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public CreateDraftInput(CBORObject obj)
+ {
+ if (obj["draft"] is not null) this.Draft = new FishyFlip.Lexicon.App.Bsky.Draft.Draft(obj["draft"]);
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the draft.
+ ///
(app.bsky.draft.defs#draft)
+ ///
+ [JsonPropertyName("draft")]
+ [JsonRequired]
+ public FishyFlip.Lexicon.App.Bsky.Draft.Draft Draft { get; set; }
+
+ public const string RecordType = "app.bsky.draft.createDraft#CreateDraftInput";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftInput);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftInput);
+ }
+
+ public static new CreateDraftInput FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftInput)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new CreateDraftInput FromCBORObject(CBORObject obj)
+ {
+ return new CreateDraftInput(obj);
+ }
+
+ ///
+ public static CreateDraftInput Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftInput)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out CreateDraftInput result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftInput);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/CreateDraftOutput.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/CreateDraftOutput.g.cs
new file mode 100644
index 00000000..0e05c1be
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/CreateDraftOutput.g.cs
@@ -0,0 +1,94 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class CreateDraftOutput : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The ID of the created draft.
+ public CreateDraftOutput(string id = default)
+ {
+ this.Id = id;
+ this.Type = "app.bsky.draft.createDraft#CreateDraftOutput";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public CreateDraftOutput()
+ {
+ this.Type = "app.bsky.draft.createDraft#CreateDraftOutput";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public CreateDraftOutput(CBORObject obj)
+ {
+ if (obj["id"] is not null) this.Id = obj["id"].AsString();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the id.
+ ///
The ID of the created draft.
+ ///
+ [JsonPropertyName("id")]
+ [JsonRequired]
+ public string Id { get; set; }
+
+ public const string RecordType = "app.bsky.draft.createDraft#CreateDraftOutput";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftOutput);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftOutput);
+ }
+
+ public static new CreateDraftOutput FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftOutput)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new CreateDraftOutput FromCBORObject(CBORObject obj)
+ {
+ return new CreateDraftOutput(obj);
+ }
+
+ ///
+ public static CreateDraftOutput Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftOutput)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out CreateDraftOutput result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftCreateDraftOutput);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/DeleteDraftInput.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/DeleteDraftInput.g.cs
new file mode 100644
index 00000000..5f71ad65
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/DeleteDraftInput.g.cs
@@ -0,0 +1,93 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class DeleteDraftInput : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ public DeleteDraftInput(string id = default)
+ {
+ this.Id = id;
+ this.Type = "app.bsky.draft.deleteDraft#DeleteDraftInput";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DeleteDraftInput()
+ {
+ this.Type = "app.bsky.draft.deleteDraft#DeleteDraftInput";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DeleteDraftInput(CBORObject obj)
+ {
+ if (obj["id"] is not null) this.Id = obj["id"].AsString();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the id.
+ ///
+ [JsonPropertyName("id")]
+ [JsonRequired]
+ public string Id { get; set; }
+
+ public const string RecordType = "app.bsky.draft.deleteDraft#DeleteDraftInput";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDeleteDraftInput);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDeleteDraftInput);
+ }
+
+ public static new DeleteDraftInput FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDeleteDraftInput)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new DeleteDraftInput FromCBORObject(CBORObject obj)
+ {
+ return new DeleteDraftInput(obj);
+ }
+
+ ///
+ public static DeleteDraftInput Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDeleteDraftInput)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out DeleteDraftInput result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDeleteDraftInput);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/Draft.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/Draft.g.cs
new file mode 100644
index 00000000..f7694efc
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/Draft.g.cs
@@ -0,0 +1,146 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ ///
+ /// A draft containing an array of draft posts.
+ ///
+ public partial class Draft : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Array of draft posts that compose this draft.
+ /// Indicates human language of posts primary text content.
+ /// Embedding rules for the postgates to be created when this draft is published.
+ ///
Union Types:
+ /// (app.bsky.feed.postgate#disableRule)
+ ///
+ /// Allow-rules for the threadgate to be created when this draft is published.
+ ///
Union Types:
+ /// (app.bsky.feed.threadgate#mentionRule)
+ /// (app.bsky.feed.threadgate#followerRule)
+ /// (app.bsky.feed.threadgate#followingRule)
+ /// (app.bsky.feed.threadgate#listRule)
+ ///
+ public Draft(List posts = default, List? langs = default, List? postgateEmbeddingRules = default, List? threadgateAllow = default)
+ {
+ this.Posts = posts;
+ this.Langs = langs;
+ this.PostgateEmbeddingRules = postgateEmbeddingRules;
+ this.ThreadgateAllow = threadgateAllow;
+ this.Type = "app.bsky.draft.defs#draft";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public Draft()
+ {
+ this.Type = "app.bsky.draft.defs#draft";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public Draft(CBORObject obj)
+ {
+ if (obj["posts"] is not null) this.Posts = obj["posts"].Values.Select(n =>new FishyFlip.Lexicon.App.Bsky.Draft.DraftPost(n)).ToList();
+ if (obj["langs"] is not null) this.Langs = obj["langs"].Values.Select(n =>n.AsString()).ToList();
+ if (obj["postgateEmbeddingRules"] is not null) this.PostgateEmbeddingRules = obj["postgateEmbeddingRules"].Values.Select(n =>new FishyFlip.Lexicon.App.Bsky.Feed.DisableRule(n)).ToList();
+ if (obj["threadgateAllow"] is not null) this.ThreadgateAllow = obj["threadgateAllow"].Values.Select(n =>n.ToATObject()).ToList();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the posts.
+ ///
Array of draft posts that compose this draft.
+ ///
+ [JsonPropertyName("posts")]
+ [JsonRequired]
+ public List Posts { get; set; }
+
+ ///
+ /// Gets or sets the langs.
+ ///
Indicates human language of posts primary text content.
+ ///
+ [JsonPropertyName("langs")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public List? Langs { get; set; }
+
+ ///
+ /// Gets or sets the postgateEmbeddingRules.
+ ///
Embedding rules for the postgates to be created when this draft is published.
+ ///
Union Types:
+ /// (app.bsky.feed.postgate#disableRule)
+ ///
+ [JsonPropertyName("postgateEmbeddingRules")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public List? PostgateEmbeddingRules { get; set; }
+
+ ///
+ /// Gets or sets the threadgateAllow.
+ ///
Allow-rules for the threadgate to be created when this draft is published.
+ ///
Union Types:
+ /// (app.bsky.feed.threadgate#mentionRule)
+ /// (app.bsky.feed.threadgate#followerRule)
+ /// (app.bsky.feed.threadgate#followingRule)
+ /// (app.bsky.feed.threadgate#listRule)
+ ///
+ [JsonPropertyName("threadgateAllow")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public List? ThreadgateAllow { get; set; }
+
+ public const string RecordType = "app.bsky.draft.defs#draft";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraft);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraft);
+ }
+
+ public static new Draft FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraft)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new Draft FromCBORObject(CBORObject obj)
+ {
+ return new Draft(obj);
+ }
+
+ ///
+ public static Draft Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraft)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out Draft result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraft);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedCaption.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedCaption.g.cs
new file mode 100644
index 00000000..1e8f75d7
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedCaption.g.cs
@@ -0,0 +1,103 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class DraftEmbedCaption : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ ///
+ public DraftEmbedCaption(string lang = default, string content = default)
+ {
+ this.Lang = lang;
+ this.Content = content;
+ this.Type = "app.bsky.draft.defs#draftEmbedCaption";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedCaption()
+ {
+ this.Type = "app.bsky.draft.defs#draftEmbedCaption";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedCaption(CBORObject obj)
+ {
+ if (obj["lang"] is not null) this.Lang = obj["lang"].AsString();
+ if (obj["content"] is not null) this.Content = obj["content"].AsString();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the lang.
+ ///
+ [JsonPropertyName("lang")]
+ [JsonRequired]
+ public string Lang { get; set; }
+
+ ///
+ /// Gets or sets the content.
+ ///
+ [JsonPropertyName("content")]
+ [JsonRequired]
+ public string Content { get; set; }
+
+ public const string RecordType = "app.bsky.draft.defs#draftEmbedCaption";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedCaption);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedCaption);
+ }
+
+ public static new DraftEmbedCaption FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedCaption)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new DraftEmbedCaption FromCBORObject(CBORObject obj)
+ {
+ return new DraftEmbedCaption(obj);
+ }
+
+ ///
+ public static DraftEmbedCaption Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedCaption)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out DraftEmbedCaption result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedCaption);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedExternal.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedExternal.g.cs
new file mode 100644
index 00000000..a3f99e86
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedExternal.g.cs
@@ -0,0 +1,93 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class DraftEmbedExternal : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ public DraftEmbedExternal(string uri = default)
+ {
+ this.Uri = uri;
+ this.Type = "app.bsky.draft.defs#draftEmbedExternal";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedExternal()
+ {
+ this.Type = "app.bsky.draft.defs#draftEmbedExternal";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedExternal(CBORObject obj)
+ {
+ if (obj["uri"] is not null) this.Uri = obj["uri"].AsString();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the uri.
+ ///
+ [JsonPropertyName("uri")]
+ [JsonRequired]
+ public string Uri { get; set; }
+
+ public const string RecordType = "app.bsky.draft.defs#draftEmbedExternal";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedExternal);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedExternal);
+ }
+
+ public static new DraftEmbedExternal FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedExternal)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new DraftEmbedExternal FromCBORObject(CBORObject obj)
+ {
+ return new DraftEmbedExternal(obj);
+ }
+
+ ///
+ public static DraftEmbedExternal Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedExternal)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out DraftEmbedExternal result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedExternal);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedImage.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedImage.g.cs
new file mode 100644
index 00000000..c741ebda
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedImage.g.cs
@@ -0,0 +1,106 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class DraftEmbedImage : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ /// (app.bsky.draft.defs#draftEmbedLocalRef)
+ ///
+ ///
+ public DraftEmbedImage(FishyFlip.Lexicon.App.Bsky.Draft.DraftEmbedLocalRef localRef = default, string? alt = default)
+ {
+ this.LocalRef = localRef;
+ this.Alt = alt;
+ this.Type = "app.bsky.draft.defs#draftEmbedImage";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedImage()
+ {
+ this.Type = "app.bsky.draft.defs#draftEmbedImage";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedImage(CBORObject obj)
+ {
+ if (obj["localRef"] is not null) this.LocalRef = new FishyFlip.Lexicon.App.Bsky.Draft.DraftEmbedLocalRef(obj["localRef"]);
+ if (obj["alt"] is not null) this.Alt = obj["alt"].AsString();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the localRef.
+ ///
(app.bsky.draft.defs#draftEmbedLocalRef)
+ ///
+ [JsonPropertyName("localRef")]
+ [JsonRequired]
+ public FishyFlip.Lexicon.App.Bsky.Draft.DraftEmbedLocalRef LocalRef { get; set; }
+
+ ///
+ /// Gets or sets the alt.
+ ///
+ [JsonPropertyName("alt")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public string? Alt { get; set; }
+
+ public const string RecordType = "app.bsky.draft.defs#draftEmbedImage";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedImage);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedImage);
+ }
+
+ public static new DraftEmbedImage FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedImage)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new DraftEmbedImage FromCBORObject(CBORObject obj)
+ {
+ return new DraftEmbedImage(obj);
+ }
+
+ ///
+ public static DraftEmbedImage Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedImage)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out DraftEmbedImage result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedImage);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedLocalRef.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedLocalRef.g.cs
new file mode 100644
index 00000000..0ec7a05f
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedLocalRef.g.cs
@@ -0,0 +1,94 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class DraftEmbedLocalRef : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Local, on-device ref to file to be embedded. Embeds are currently device-bound for drafts.
+ public DraftEmbedLocalRef(string path = default)
+ {
+ this.Path = path;
+ this.Type = "app.bsky.draft.defs#draftEmbedLocalRef";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedLocalRef()
+ {
+ this.Type = "app.bsky.draft.defs#draftEmbedLocalRef";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedLocalRef(CBORObject obj)
+ {
+ if (obj["path"] is not null) this.Path = obj["path"].AsString();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the path.
+ ///
Local, on-device ref to file to be embedded. Embeds are currently device-bound for drafts.
+ ///
+ [JsonPropertyName("path")]
+ [JsonRequired]
+ public string Path { get; set; }
+
+ public const string RecordType = "app.bsky.draft.defs#draftEmbedLocalRef";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedLocalRef);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedLocalRef);
+ }
+
+ public static new DraftEmbedLocalRef FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedLocalRef)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new DraftEmbedLocalRef FromCBORObject(CBORObject obj)
+ {
+ return new DraftEmbedLocalRef(obj);
+ }
+
+ ///
+ public static DraftEmbedLocalRef Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedLocalRef)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out DraftEmbedLocalRef result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedLocalRef);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedRecord.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedRecord.g.cs
new file mode 100644
index 00000000..71b2b254
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedRecord.g.cs
@@ -0,0 +1,96 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class DraftEmbedRecord : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ /// (com.atproto.repo.strongRef)
+ ///
+ public DraftEmbedRecord(Com.Atproto.Repo.StrongRef record = default)
+ {
+ this.Record = record;
+ this.Type = "app.bsky.draft.defs#draftEmbedRecord";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedRecord()
+ {
+ this.Type = "app.bsky.draft.defs#draftEmbedRecord";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedRecord(CBORObject obj)
+ {
+ if (obj["record"] is not null) this.Record = new FishyFlip.Lexicon.Com.Atproto.Repo.StrongRef(obj["record"]);
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the record.
+ ///
(com.atproto.repo.strongRef)
+ ///
+ [JsonPropertyName("record")]
+ [JsonRequired]
+ public Com.Atproto.Repo.StrongRef Record { get; set; }
+
+ public const string RecordType = "app.bsky.draft.defs#draftEmbedRecord";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedRecord);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedRecord);
+ }
+
+ public static new DraftEmbedRecord FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedRecord)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new DraftEmbedRecord FromCBORObject(CBORObject obj)
+ {
+ return new DraftEmbedRecord(obj);
+ }
+
+ ///
+ public static DraftEmbedRecord Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedRecord)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out DraftEmbedRecord result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedRecord);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedVideo.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedVideo.g.cs
new file mode 100644
index 00000000..5715b82b
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEmbedVideo.g.cs
@@ -0,0 +1,116 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+ public partial class DraftEmbedVideo : ATObject, ICBOREncodable, IJsonEncodable, IParsable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ /// (app.bsky.draft.defs#draftEmbedLocalRef)
+ ///
+ ///
+ ///
+ public DraftEmbedVideo(FishyFlip.Lexicon.App.Bsky.Draft.DraftEmbedLocalRef localRef = default, string? alt = default, List? captions = default)
+ {
+ this.LocalRef = localRef;
+ this.Alt = alt;
+ this.Captions = captions;
+ this.Type = "app.bsky.draft.defs#draftEmbedVideo";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedVideo()
+ {
+ this.Type = "app.bsky.draft.defs#draftEmbedVideo";
+ }
+
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public DraftEmbedVideo(CBORObject obj)
+ {
+ if (obj["localRef"] is not null) this.LocalRef = new FishyFlip.Lexicon.App.Bsky.Draft.DraftEmbedLocalRef(obj["localRef"]);
+ if (obj["alt"] is not null) this.Alt = obj["alt"].AsString();
+ if (obj["captions"] is not null) this.Captions = obj["captions"].Values.Select(n =>new FishyFlip.Lexicon.App.Bsky.Draft.DraftEmbedCaption(n)).ToList();
+ if (obj["$type"] is not null) this.Type = obj["$type"].AsString();
+ }
+
+ ///
+ /// Gets or sets the localRef.
+ ///
(app.bsky.draft.defs#draftEmbedLocalRef)
+ ///
+ [JsonPropertyName("localRef")]
+ [JsonRequired]
+ public FishyFlip.Lexicon.App.Bsky.Draft.DraftEmbedLocalRef LocalRef { get; set; }
+
+ ///
+ /// Gets or sets the alt.
+ ///
+ [JsonPropertyName("alt")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public string? Alt { get; set; }
+
+ ///
+ /// Gets or sets the captions.
+ ///
+ [JsonPropertyName("captions")]
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public List? Captions { get; set; }
+
+ public const string RecordType = "app.bsky.draft.defs#draftEmbedVideo";
+
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedVideo);
+ }
+
+ public override byte[] ToUtf8Json()
+ {
+ return JsonSerializer.SerializeToUtf8Bytes(this, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedVideo);
+ }
+
+ public static new DraftEmbedVideo FromJson(string json)
+ {
+ return JsonSerializer.Deserialize(json, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedVideo)!;
+ }
+
+ ///
+ public override CBORObject ToCBORObject()
+ {
+ using var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(this.ToJson()));
+ return CBORObject.ReadJSON(jsonStream);
+ }
+
+ ///
+ public static new DraftEmbedVideo FromCBORObject(CBORObject obj)
+ {
+ return new DraftEmbedVideo(obj);
+ }
+
+ ///
+ public static DraftEmbedVideo Parse(string s, IFormatProvider? provider)
+ {
+ return JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedVideo)!;
+ }
+
+ ///
+ public static bool TryParse(string? s, IFormatProvider? provider, out DraftEmbedVideo result)
+ {
+ result = JsonSerializer.Deserialize(s, (JsonTypeInfo)SourceGenerationContext.Default.AppBskyDraftDraftEmbedVideo);
+ return result != null;
+ }
+ }
+}
+
diff --git a/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEndpoints.g.cs b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEndpoints.g.cs
new file mode 100644
index 00000000..9ac47191
--- /dev/null
+++ b/src/FishyFlip/Lexicon/App/Bsky/Draft/DraftEndpoints.g.cs
@@ -0,0 +1,112 @@
+//
+// This file was generated by FFSourceGen.
+// Do not modify this file.
+
+#nullable enable annotations
+#nullable disable warnings
+
+namespace FishyFlip.Lexicon.App.Bsky.Draft
+{
+
+ ///
+ /// app.bsky.draft Endpoint Group.
+ ///
+ public static class DraftEndpoints
+ {
+
+ public const string GroupNamespace = "app.bsky.draft";
+
+ public const string CreateDraft = "/xrpc/app.bsky.draft.createDraft";
+
+ public const string DeleteDraft = "/xrpc/app.bsky.draft.deleteDraft";
+
+ public const string GetDrafts = "/xrpc/app.bsky.draft.getDrafts";
+
+ public const string UpdateDraft = "/xrpc/app.bsky.draft.updateDraft";
+
+
+ ///
+ /// Inserts a draft using private storage (stash). An upper limit of drafts might be enforced. Requires authentication.
+ ///
Possible Errors:
+ /// Trying to insert a new draft when the limit was already reached.
+ ///
+ ///
+ /// A draft containing an array of draft posts.
+ ///
+ /// Result of
+ public static Task> CreateDraftAsync (this FishyFlip.ATProtocol atp, FishyFlip.Lexicon.App.Bsky.Draft.Draft draft, CancellationToken cancellationToken = default)
+ {
+ var endpointUrl = CreateDraft.ToString();
+ var headers = new Dictionary();
+ var inputItem = new CreateDraftInput();
+ inputItem.Draft = draft;
+ return atp.Post(endpointUrl, atp.Options.SourceGenerationContext.AppBskyDraftCreateDraftInput!, atp.Options.SourceGenerationContext.AppBskyDraftCreateDraftOutput!, inputItem, cancellationToken, headers);
+ }
+
+
+ ///
+ /// Deletes a draft by ID. Requires authentication.
+ ///
+ ///
+ ///
+ ///
+ /// Result of
+ public static Task> DeleteDraftAsync (this FishyFlip.ATProtocol atp, string id, CancellationToken cancellationToken = default)
+ {
+ var endpointUrl = DeleteDraft.ToString();
+ var headers = new Dictionary();
+ var inputItem = new DeleteDraftInput();
+ inputItem.Id = id;
+ return atp.Post(endpointUrl, atp.Options.SourceGenerationContext.AppBskyDraftDeleteDraftInput!, atp.Options.SourceGenerationContext.Success!, inputItem, cancellationToken, headers);
+ }
+
+
+ ///
+ /// Gets views of user drafts. Requires authentication.
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// Result of