about summary refs log tree commit diff
path: root/src/lib/embeds.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/embeds.ts')
-rw-r--r--src/lib/embeds.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/embeds.ts b/src/lib/embeds.ts
new file mode 100644
index 000000000..a758987b2
--- /dev/null
+++ b/src/lib/embeds.ts
@@ -0,0 +1,24 @@
+import {
+  AppBskyFeedDefs,
+  AppBskyEmbedRecord,
+  AppBskyEmbedRecordWithMedia,
+} from '@atproto/api'
+
+export function isEmbedByEmbedder(
+  embed: AppBskyFeedDefs.PostView['embed'],
+  did: string,
+): boolean {
+  if (!embed) {
+    return false
+  }
+  if (AppBskyEmbedRecord.isViewRecord(embed.record)) {
+    return embed.record.author.did === did
+  }
+  if (
+    AppBskyEmbedRecordWithMedia.isView(embed) &&
+    AppBskyEmbedRecord.isViewRecord(embed.record.record)
+  ) {
+    return embed.record.record.author.did === did
+  }
+  return true
+}