project

package
v1.0.11 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2020 License: MIT Imports: 18 Imported by: 0

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)

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

type Repository interface {
	GetMetrics() (*models.ProjectMetrics, error)
	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
}

Repository defines functions of Project repository

func NewRepository

func NewRepository(awsSession *session.Session, stage string, ghRepo repositories.Repository, gerritRepo gerrits.Repository) Repository

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)
	GetMetrics() (*models.ProjectMetrics, error)
}

Service interface defines the project service methods/functions

func NewService

func NewService(projectRepo Repository, repositoriesRepo repositories.Repository, gerritRepo gerrits.Repository) Service

NewService returns an instance of the project service

Jump to

Keyboard shortcuts

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