25 lines
635 B
Python
25 lines
635 B
Python
import uuid
|
|
from dataclasses import dataclass, field
|
|
from typing import Generic, Optional
|
|
|
|
from option import Option
|
|
|
|
from utils.utils import C, V
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class QTaskFactoryMetadata(Generic[C, V]):
|
|
name: Option[str] = Option.maybe(None)
|
|
description: Option[str] = Option.maybe(None)
|
|
id: uuid.UUID = uuid.uuid4()
|
|
|
|
@staticmethod
|
|
def from_values(
|
|
name: Optional[str] = None,
|
|
description: Optional[str] = None,
|
|
) -> "QTaskFactoryMetadata[C, V]":
|
|
return QTaskFactoryMetadata(
|
|
name=Option.maybe(name),
|
|
description=Option.maybe(description),
|
|
)
|