File
Blob: src/client/islands/repo-admin/types.ts
| 1 | import type { PackRefIndexStatus } from "@/shared/git/types"; |
| 2 | |
| 3 | export type { PackRefIndexStatus }; |
| 4 | |
| 5 | export type PackStat = { |
| 6 | key: string; |
| 7 | kind: "receive" | "compact" | "legacy"; |
| 8 | state: "active" | "superseded"; |
| 9 | tier: number; |
| 10 | seqLo: number; |
| 11 | seqHi: number; |
| 12 | objectCount: number; |
| 13 | packSize: number; |
| 14 | indexSize: number; |
| 15 | hasIndex: boolean; |
| 16 | refIndexStatus?: PackRefIndexStatus; |
| 17 | refIndexSize?: number; |
| 18 | createdAt: number; |
| 19 | supersededBy?: string | null; |
| 20 | }; |
| 21 | |
| 22 | export type CompactionData = { |
| 23 | running?: boolean; |
| 24 | startedAt?: number; |
| 25 | queued?: boolean; |
| 26 | wantedAt?: number; |
| 27 | }; |
| 28 | |
| 29 | export type AdminState = { |
| 30 | packStats?: PackStat[]; |
| 31 | meta?: { doId?: string }; |
| 32 | packCatalogVersion?: number; |
| 33 | activePacks?: PackStat[]; |
| 34 | supersededPacks?: PackStat[]; |
| 35 | receiveLease?: { |
| 36 | createdAt: number; |
| 37 | expiresAt: number; |
| 38 | }; |
| 39 | compaction?: CompactionData; |
| 40 | looseR2SampleBytes?: number; |
| 41 | looseR2SampleCount?: number; |
| 42 | looseR2Truncated?: boolean; |
| 43 | dbSizeBytes?: number; |
| 44 | }; |
| 45 | |
| 46 | export type RepoAdminProps = { |
| 47 | owner: string; |
| 48 | repo: string; |
| 49 | refEnc: string; |
| 50 | head?: { target?: string; unborn?: boolean }; |
| 51 | refs: Array<{ name: string; oid: string }>; |
| 52 | storageSize: string; |
| 53 | packCount: number; |
| 54 | packList: string[]; |
| 55 | state: AdminState; |
| 56 | defaultBranch: string; |
| 57 | compactionStatus: string; |
| 58 | compactionStartedAt?: string | null; |
| 59 | compactionData?: CompactionData; |
| 60 | supersededPackCount: number; |
| 61 | }; |