Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrProjectDoesNotExist = errors.New("project does not exist") ErrProjectIDMissing = errors.New("project id is missing") )
errors
Functions ¶
func Configure ¶
func Configure(api *operations.ClaAPI, service Service, eventsService events.Service, gerritService gerrits.Service, repositoryService repositories.Service, signatureService signatures.SignatureService)
Configure establishes the middleware handlers for the project service
Types ¶
type DBProjectDocumentModel ¶ added in v1.0.11
type DBProjectDocumentModel struct {
DocumentName string `dynamodbav:"document_name"`
DocumentFileID string `dynamodbav:"document_file_id"`
DocumentPreamble string `dynamodbav:"document_preamble"`
DocumentLegalEntityName string `dynamodbav:"document_legal_entity_name"`
DocumentAuthorName string `dynamodbav:"document_author_name"`
DocumentContentType string `dynamodbav:"document_content_type"`
DocumentS3URL string `dynamodbav:"document_s3_url"`
DocumentMajorVersion string `dynamodbav:"document_major_version"`
DocumentMinorVersion string `dynamodbav:"document_minor_version"`
DocumentCreationDate string `dynamodbav:"document_creation_date"`
}
DBProjectDocumentModel is a data model for the CLA Group Project documents
type DBProjectModel ¶ added in v1.0.8
type DBProjectModel struct {
DateCreated string `dynamodbav:"date_created"`
DateModified string `dynamodbav:"date_modified"`
ProjectExternalID string `dynamodbav:"project_external_id"`
ProjectID string `dynamodbav:"project_id"`
ProjectName string `dynamodbav:"project_name"`
ProjectNameLower string `dynamodbav:"project_name_lower"`
Version string `dynamodbav:"version"`
ProjectCclaEnabled bool `dynamodbav:"project_ccla_enabled"`
ProjectCclaRequiresIclaSignature bool `dynamodbav:"project_ccla_requires_icla_signature"`
ProjectIclaEnabled bool `dynamodbav:"project_icla_enabled"`
ProjectCorporateDocuments []DBProjectDocumentModel `dynamodbav:"project_corporate_documents"`
ProjectIndividualDocuments []DBProjectDocumentModel `dynamodbav:"project_individual_documents"`
ProjectMemberDocuments []DBProjectDocumentModel `dynamodbav:"project_member_documents"`
ProjectACL []string `dynamodbav:"project_acl"`
}
DBProjectModel data model
type ProjectRepository ¶ added in v1.0.13
type ProjectRepository interface {
CreateProject(project *models.Project) (*models.Project, error)
GetProjectByID(projectID string) (*models.Project, error)
GetProjectsByExternalID(params *project.GetProjectsByExternalIDParams) (*models.Projects, error)
GetProjectByName(projectName string) (*models.Project, error)
GetExternalProject(projectExternalID string) (*models.Project, error)
GetProjects(params *project.GetProjectsParams) (*models.Projects, error)
DeleteProject(projectID string) error
UpdateProject(projectModel *models.Project) (*models.Project, error)
// contains filtered or unexported methods
}
ProjectRepository defines functions of Project repository
func NewRepository ¶
func NewRepository(awsSession *session.Session, stage string, ghRepo repositories.Repository, gerritRepo gerrits.Repository) ProjectRepository
NewRepository creates instance of project repository
type Service ¶
type Service interface {
CreateProject(project *models.Project) (*models.Project, error)
GetProjects(params *project.GetProjectsParams) (*models.Projects, error)
GetProjectByID(projectID string) (*models.Project, error)
GetProjectsByExternalID(params *project.GetProjectsByExternalIDParams) (*models.Projects, error)
GetProjectByName(projectName string) (*models.Project, error)
DeleteProject(projectID string) error
UpdateProject(projectModel *models.Project) (*models.Project, error)
}
Service interface defines the project service methods/functions
func NewService ¶
func NewService(projectRepo ProjectRepository, repositoriesRepo repositories.Repository, gerritRepo gerrits.Repository) Service
NewService returns an instance of the project service
Click to show internal directories.
Click to hide internal directories.