48 lines
1.7 KiB
C#
48 lines
1.7 KiB
C#
namespace PrivaPub.ClientModels.User
|
|||
|
|
{
|
||
|
|
// A persona's archive (owner decision 2026-10-07): made for it to take away, in Mastodon's account-archive layout, and
|
||
|
|
// restored into it. States: none, queued, running, ready (export) or done (import), failed, stopped.
|
||
|
|
public class ViewPersonaArchive
|
||
|
|
{
|
||
|
|
public string ExportState { get; set; }
|
||
|
|
public DateTime? ExportAskedAt { get; set; }
|
||
|
|
public DateTime? ExportReadyAt { get; set; }
|
||
|
|
public DateTime? ExportExpiresAt { get; set; }
|
||
|
|
public long ExportBytes { get; set; }
|
||
|
|
public string ExportError { get; set; }
|
||
|
|
|
||
|
|
public string ImportState { get; set; }
|
||
|
|
public DateTime? ImportAskedAt { get; set; }
|
||
|
|
public DateTime? ImportEndedAt { get; set; }
|
||
|
|
public List<string> ImportParts { get; set; } = [];
|
||
|
|
public long ImportDone { get; set; }
|
||
|
|
public long ImportTotal { get; set; }
|
||
|
|
public Dictionary<string, int> ImportCounts { get; set; } = [];//what was imported and what skipped, by why
|
||
|
|
public string ImportError { get; set; }
|
||
|
|
public string ImportFrom { get; set; }//the archive's actor
|
||
|
|
public bool ImportSameActor { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
// the parts of an archive to import: posts (with their media), profile, follows, blocks, mutes, domainblocks, lists,
|
||
|
|
// bookmarks, filters, tags, notificationpolicy, pins; and only when asked, located, scheduled, likes (which tell their
|
||
|
|
// authors)
|
||
|
|
public class ImportPersonaArchiveForm
|
||
|
|
{
|
||
|
|
public string UploadId { get; set; }
|
||
|
|
public List<string> Parts { get; set; } = [];
|
||
|
|
}
|
||
|
|
|
||
|
|
public class ViewArchiveTicket
|
||
|
|
{
|
||
|
|
public string Url { get; set; }
|
||
|
|
public DateTime ExpiresAt { get; set; }
|
||
|
|
public long Bytes { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
public class ViewArchiveUpload
|
||
|
|
{
|
||
|
|
public string Id { get; set; }
|
||
|
|
public long Received { get; set; }
|
||
|
|
public long ChunkBytes { get; set; }
|
||
|
|
}
|
||
|
|
}
|