services/ui_backend_service/data/db/models/step_row.py (63 lines of code) (raw):

from .base_row import BaseRow import time from services.data.db_utils import get_exposed_run_id class StepRow(BaseRow): flow_id: str = None run_number: int = None run_id: str = None step_name: str = None user_name: str = None ts_epoch: int = 0 duration: int = 0 tags = None system_tags = None def __init__( self, flow_id, run_number, run_id, user_name, step_name, ts_epoch=None, duration=None, tags=None, system_tags=None, **kwargs ): self.flow_id = flow_id self.run_number = run_number if run_id is None: run_id = str(run_number) self.run_id = run_id self.step_name = step_name self.user_name = user_name if ts_epoch is None: ts_epoch = int(round(time.time() * 1000)) self.ts_epoch = ts_epoch self.duration = duration self.tags = tags self.system_tags = system_tags def serialize(self, expanded: bool = False): if expanded: return { "flow_id": self.flow_id, "run_number": self.run_number, "run_id": self.run_id, "step_name": self.step_name, "user_name": self.user_name, "ts_epoch": self.ts_epoch, "duration": self.duration, "tags": self.tags, "system_tags": self.system_tags, } else: return { "flow_id": self.flow_id, "run_number": str(get_exposed_run_id(self.run_number, self.run_id)), "step_name": self.step_name, "user_name": self.user_name, "ts_epoch": self.ts_epoch, "duration": self.duration, "tags": self.tags, "system_tags": self.system_tags, }