Documentation ¶
Index ¶
- type JobApp
- type JobApprovalContext
- type JobDataBase
- type JobRemoteJobCreationRequest
- type JobStatusUpdateContext
- type ProjectApp
- func (app *ProjectApp) ListDataAssociationByProject(projectUUID string) (map[string]ProjectDataAssociation, error)
- func (app *ProjectApp) ListParticipantByProject(projectUUID string) (map[string]entity.ProjectParticipant, error)
- func (app *ProjectApp) ListProjectByParticipant(participantUUID string) (map[string]ProjectInfoWithStatus, error)
- func (app *ProjectApp) ProcessDataAssociation(projectUUID string, data *ProjectDataAssociation) error
- func (app *ProjectApp) ProcessDataDismissal(projectUUID string, baseData *ProjectDataAssociationBase) error
- func (app *ProjectApp) ProcessInvitation(req *ProjectInvitationRequest) error
- func (app *ProjectApp) ProcessInvitationResponse(invitationUUID string, accepted bool) error
- func (app *ProjectApp) ProcessInvitationRevocation(invitationUUID string) error
- func (app *ProjectApp) ProcessParticipantDismissal(projectUUID, siteUUID string) error
- func (app *ProjectApp) ProcessParticipantInfoUpdate(siteUUID string) error
- func (app *ProjectApp) ProcessParticipantLeaving(projectUUID, siteUUID string) error
- func (app *ProjectApp) ProcessParticipantUnregistration(siteUUID string) error
- func (app *ProjectApp) ProcessProjectClosing(projectUUID string) error
- type ProjectDataAssociation
- type ProjectDataAssociationBase
- type ProjectInfoWithStatus
- type ProjectInvitationRequest
- type SiteApp
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type JobApp ¶
type JobApp struct { SiteRepo repo.SiteRepository JobRepo repo.JobRepository ParticipantRepo repo.JobParticipantRepository ProjectRepo repo.ProjectRepository ProjectDataRepo repo.ProjectDataRepository }
JobApp provides functions to handle job related events
func (*JobApp) ProcessJobApprovalResponse ¶
func (app *JobApp) ProcessJobApprovalResponse(jobUUID string, context *JobApprovalContext) error
ProcessJobApprovalResponse calls the domain service to process the job approval response
func (*JobApp) ProcessJobCreationRequest ¶
func (app *JobApp) ProcessJobCreationRequest(request *JobRemoteJobCreationRequest) error
ProcessJobCreationRequest builds the creation requests and calls the domain service
func (*JobApp) ProcessJobStatusUpdate ¶
func (app *JobApp) ProcessJobStatusUpdate(jobUUID string, context *JobStatusUpdateContext) error
ProcessJobStatusUpdate calls the domain service to handle the job status update event
type JobApprovalContext ¶
type JobApprovalContext struct { SiteUUID string `json:"site_uuid"` Approved bool `json:"approved"` }
JobApprovalContext contains the issuing site and the approval result
type JobDataBase ¶
JobDataBase describes one data configuration for a job
type JobRemoteJobCreationRequest ¶
type JobRemoteJobCreationRequest struct { UUID string `json:"uuid"` ConfJson string `json:"conf_json"` DSLJson string `json:"dsl_json"` Name string `json:"name"` Description string `json:"description"` Type entity.JobType `json:"type"` ProjectUUID string `json:"project_uuid"` InitiatorData JobDataBase `json:"initiator_data"` OtherData []JobDataBase `json:"other_site_data"` ValidationEnabled bool `json:"training_validation_enabled"` ValidationSizePercent uint `json:"training_validation_percent"` ModelName string `json:"training_model_name"` AlgorithmType entity.JobAlgorithmType `json:"training_algorithm_type"` AlgorithmComponentName string `json:"algorithm_component_name"` EvaluateComponentName string `json:"evaluate_component_name"` ComponentsToDeploy []string `json:"training_component_list_to_deploy"` ModelUUID string `json:"predicting_model_uuid"` Username string `json:"username"` }
JobRemoteJobCreationRequest is the structure containing necessary info to create a job
type JobStatusUpdateContext ¶
type JobStatusUpdateContext struct { Status entity.JobStatus `json:"status"` StatusMessage string `json:"status_message"` FATEJobID string `json:"fate_job_id"` FATEJobStatus string `json:"fate_job_status"` FATEModelID string `json:"fate_model_id"` FATEModelVersion string `json:"fate_model_version"` ParticipantStatusMap map[string]entity.JobParticipantStatus `json:"participant_status_map"` }
JobStatusUpdateContext contain necessary info for updating job status, including status of the participants
type ProjectApp ¶
type ProjectApp struct { ProjectRepo repo.ProjectRepository ParticipantRepo repo.ProjectParticipantRepository SiteRepo repo.SiteRepository InvitationRepo repo.ProjectInvitationRepository ProjectDataRepo repo.ProjectDataRepository }
ProjectApp provides functions to handle project related events
func (*ProjectApp) ListDataAssociationByProject ¶
func (app *ProjectApp) ListDataAssociationByProject(projectUUID string) (map[string]ProjectDataAssociation, error)
ListDataAssociationByProject returns current associated data for certain project
func (*ProjectApp) ListParticipantByProject ¶
func (app *ProjectApp) ListParticipantByProject(projectUUID string) (map[string]entity.ProjectParticipant, error)
ListParticipantByProject returns participant list in a project
func (*ProjectApp) ListProjectByParticipant ¶
func (app *ProjectApp) ListProjectByParticipant(participantUUID string) (map[string]ProjectInfoWithStatus, error)
ListProjectByParticipant returns information of projects related to the specified site
func (*ProjectApp) ProcessDataAssociation ¶
func (app *ProjectApp) ProcessDataAssociation(projectUUID string, data *ProjectDataAssociation) error
ProcessDataAssociation handles new data association
func (*ProjectApp) ProcessDataDismissal ¶
func (app *ProjectApp) ProcessDataDismissal(projectUUID string, baseData *ProjectDataAssociationBase) error
ProcessDataDismissal handles data association dismissal
func (*ProjectApp) ProcessInvitation ¶
func (app *ProjectApp) ProcessInvitation(req *ProjectInvitationRequest) error
ProcessInvitation handles new invitation request
func (*ProjectApp) ProcessInvitationResponse ¶
func (app *ProjectApp) ProcessInvitationResponse(invitationUUID string, accepted bool) error
ProcessInvitationResponse handles invitation response
func (*ProjectApp) ProcessInvitationRevocation ¶
func (app *ProjectApp) ProcessInvitationRevocation(invitationUUID string) error
ProcessInvitationRevocation handles invitation revocation request
func (*ProjectApp) ProcessParticipantDismissal ¶
func (app *ProjectApp) ProcessParticipantDismissal(projectUUID, siteUUID string) error
ProcessParticipantDismissal handles participate dismissal
func (*ProjectApp) ProcessParticipantInfoUpdate ¶
func (app *ProjectApp) ProcessParticipantInfoUpdate(siteUUID string) error
ProcessParticipantInfoUpdate handles sites info update event
func (*ProjectApp) ProcessParticipantLeaving ¶
func (app *ProjectApp) ProcessParticipantLeaving(projectUUID, siteUUID string) error
ProcessParticipantLeaving handles participate leaving
func (*ProjectApp) ProcessParticipantUnregistration ¶
func (app *ProjectApp) ProcessParticipantUnregistration(siteUUID string) error
ProcessParticipantUnregistration handles participant unregistration event
func (*ProjectApp) ProcessProjectClosing ¶
func (app *ProjectApp) ProcessProjectClosing(projectUUID string) error
ProcessProjectClosing handles project closing event
type ProjectDataAssociation ¶
type ProjectDataAssociation struct { ProjectDataAssociationBase Name string `json:"name"` Description string `json:"description"` SiteName string `json:"site_name"` SiteUUID string `json:"site_uuid"` SitePartyID uint `json:"site_party_id"` TableName string `json:"table_name"` TableNamespace string `json:"table_namespace"` CreationTime time.Time `json:"creation_time"` UpdateTime time.Time `json:"update_time"` }
ProjectDataAssociation represents a data associated in a project
type ProjectDataAssociationBase ¶
type ProjectDataAssociationBase struct {
DataUUID string `json:"data_uuid"`
}
ProjectDataAssociationBase contains the basic info of a project data association
type ProjectInfoWithStatus ¶
type ProjectInfoWithStatus struct { ProjectUUID string `json:"project_uuid"` ProjectName string `json:"project_name"` ProjectDescription string `json:"project_description"` ProjectAutoApprovalEnabled bool `json:"project_auto_approval_enabled"` ProjectManager string `json:"project_manager"` ProjectManagingSiteName string `json:"project_managing_site_name"` ProjectManagingSitePartyID uint `json:"project_managing_site_party_id"` ProjectManagingSiteUUID string `json:"project_managing_site_uuid"` ProjectCreationTime time.Time `json:"project_creation_time"` ProjectStatus entity.ProjectStatus `json:"project_status"` }
ProjectInfoWithStatus contains project basic information and the status inferred for certain participant
type ProjectInvitationRequest ¶
type ProjectInvitationRequest struct { UUID string `json:"uuid"` SiteUUID string `json:"site_uuid"` SitePartyID uint `json:"site_party_id"` ProjectUUID string `json:"project_uuid"` ProjectName string `json:"project_name"` ProjectDescription string `json:"project_description"` ProjectAutoApprovalEnabled bool `json:"project_auto_approval_enabled"` ProjectManager string `json:"project_manager"` ProjectManagingSiteName string `json:"project_managing_site_name"` ProjectManagingSitePartyID uint `json:"project_managing_site_party_id"` ProjectManagingSiteUUID string `json:"project_managing_site_uuid"` ProjectCreationTime time.Time `json:"project_creation_time"` AssociatedData []ProjectDataAssociation `json:"associated_data"` }
ProjectInvitationRequest is an invitation for asking a site to join a project
type SiteApp ¶
type SiteApp struct { // SiteRepo is the repository for persisting site info SiteRepo repo.SiteRepository }
SiteApp provide functions to manage the sites
func (*SiteApp) GetSiteList ¶
GetSiteList returns all saved sites info
func (*SiteApp) RegisterSite ¶
RegisterSite creates or updates the site info
func (*SiteApp) UnregisterSite ¶
UnregisterSite remove a site from this manager