diff options
Diffstat (limited to 'src/lib/embeds.ts')
-rw-r--r-- | src/lib/embeds.ts | 24 |
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 +} |