18 lines
887 B
C#
18 lines
887 B
C#
namespace MastodonBackupFilter
|
|
{
|
|
public record struct PostRecipients {
|
|
public required bool ToPublic {get; init;}
|
|
public required bool CcPublic {get; init;}
|
|
public required bool ToFollowers {get; init;}
|
|
public required bool CcFollowers {get; init;}
|
|
|
|
public Visibility AsVisibility() => this switch {
|
|
{ToPublic: false, CcPublic: true, ToFollowers: true, CcFollowers: false} => Visibility.Unlisted,
|
|
{ToPublic: true, CcPublic: false, ToFollowers: false, CcFollowers: true} => Visibility.Public,
|
|
{ToPublic: false, CcPublic: false, ToFollowers: true, CcFollowers: false} => Visibility.Private,
|
|
{ToPublic: false, CcPublic: false, ToFollowers: false, CcFollowers: false} => Visibility.DM,
|
|
_ => throw new InvalidDataException($"Unable to determine visibility for {this}")
|
|
};
|
|
|
|
}
|
|
} |