refactor: ♻️ rewrite migrations frontend/backend (#841)

* refactor(frontend): ♻️ rewrite migrations UI

* refactor(backend): ♻️ rewrite recipe migrations

* remove vue-demi

Co-authored-by: hay-kot <hay-kot@pm.me>
This commit is contained in:
Hayden
2021-11-26 22:37:06 -09:00
committed by GitHub
parent afae0ef0f5
commit 2ce195a0d4
41 changed files with 1010 additions and 464 deletions

View File

@@ -0,0 +1,12 @@
import enum
from fastapi_camelcase import CamelModel
class SupportedMigrations(str, enum.Enum):
nextcloud = "nextcloud"
chowdown = "chowdown"
class DataMigrationCreate(CamelModel):
source_type: SupportedMigrations

View File

@@ -0,0 +1 @@
from .reports import *

View File

@@ -0,0 +1,53 @@
import datetime
import enum
from fastapi_camelcase import CamelModel
from pydantic import Field
from pydantic.types import UUID4
class ReportCategory(str, enum.Enum):
backup = "backup"
restore = "restore"
migration = "migration"
class ReportSummaryStatus(str, enum.Enum):
in_progress = "in-progress"
success = "success"
failure = "failure"
partial = "partial"
class ReportEntryCreate(CamelModel):
report_id: UUID4
timestamp: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
success: bool = True
message: str
exception: str = ""
class ReportEntryOut(ReportEntryCreate):
id: UUID4
class Config:
orm_mode = True
class ReportCreate(CamelModel):
timestamp: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
category: ReportCategory
group_id: int
name: str
status: ReportSummaryStatus = ReportSummaryStatus.in_progress
class ReportSummary(ReportCreate):
id: UUID4
class ReportOut(ReportSummary):
entries: list[ReportEntryOut] = []
class Config:
orm_mode = True