siteportal

package
v0.0.0-...-a23f117 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	// SendInvitation sends a project invitation to a target site
	SendInvitation(request *ProjectInvitationRequest) error
	// SendInvitationAcceptance sends invitation acceptance response to the site
	SendInvitationAcceptance(invitationUUID string) error
	// SendInvitationRejection sends invitation rejection to the site
	SendInvitationRejection(invitationUUID string) error
	// SendProjectParticipants sends a list of ProjectParticipant to the site
	SendProjectParticipants(projectUUID string, participants []ProjectParticipant) error
	// SendInvitationRevocation sends invitation revocation response to the site
	SendInvitationRevocation(invitationUUID string) error
	// SendParticipantInfoUpdateEvent sends site info update event to the site
	SendParticipantInfoUpdateEvent(event ProjectParticipantUpdateEvent) error
	// SendProjectDataAssociation sends new data association to the site
	SendProjectDataAssociation(projectUUID string, data []ProjectData) error
	// SendProjectDataDismissal sends data association dismissal to the site
	SendProjectDataDismissal(projectUUID string, data []string) error
	// SendJobCreationRequest asks the site portal to create a new job
	SendJobCreationRequest(request string) error
	// SendJobApprovalResponse sends the approval result of a job to the initiating site
	SendJobApprovalResponse(jobUUID string, context JobApprovalContext) error
	// SendJobStatusUpdate sends the job status update
	SendJobStatusUpdate(jobUUID string, context string) error
	// SendProjectParticipantLeaving sends the participant leaving event
	SendProjectParticipantLeaving(projectUUID string, siteUUID string) error
	// SendProjectParticipantDismissal sends the participant dismissal event
	SendProjectParticipantDismissal(projectUUID string, siteUUID string) error
	// SendProjectClosing sends the project closing event
	SendProjectClosing(projectUUID string) error
	// SendProjectParticipantUnregistration sends the participant unregistration event
	SendProjectParticipantUnregistration(siteUUID string) error
	// CheckSiteStatus checks the status of the site
	CheckSiteStatus() error
}

Client is an interface to work with certain site portal service

func NewSitePortalClient

func NewSitePortalClient(host string, port uint, https bool, serverName string) Client

NewSitePortalClient returns a site port Client instance

type JobApprovalContext

type JobApprovalContext struct {
	SiteUUID string `json:"site_uuid"`
	Approved bool   `json:"approved"`
}

JobApprovalContext is the struct containing job approval response

type JobStatusUpdateContext

type JobStatusUpdateContext struct {
	Status               uint8            `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]uint8 `json:"participant_status_map"`
}

JobStatusUpdateContext contains info of the updated job status

type ProjectData

type ProjectData struct {
	Name           string    `json:"name"`
	Description    string    `json:"description"`
	ProjectUUID    string    `json:"project_uuid"`
	DataUUID       string    `json:"data_uuid"`
	SiteUUID       string    `json:"site_uuid"`
	SiteName       string    `json:"site_name"`
	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"`
}

ProjectData represents a data association in a project

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"`
}

ProjectInvitationRequest is an invitation for asking a site to join a project

type ProjectParticipant

type ProjectParticipant struct {
	UUID            string `json:"uuid"`
	ProjectUUID     string `json:"project_uuid"`
	SiteUUID        string `json:"site_uuid"`
	SiteName        string `json:"site_name"`
	SitePartyID     uint   `json:"site_party_id"`
	SiteDescription string `json:"site_description"`
	Status          uint8  `json:"status"`
}

ProjectParticipant represents a site in a project

type ProjectParticipantUpdateEvent

type ProjectParticipantUpdateEvent struct {
	UUID        string `json:"uuid"`
	PartyID     uint   `json:"party_id"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

ProjectParticipantUpdateEvent represents a site info update event

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL