Documentation
¶
Overview ¶
nolint
Index ¶
- Constants
- Variables
- func Configure(api *operations.ClaAPI, service Service)
- type CCLAWhitelistRequestCreatedEventData
- type CCLAWhitelistRequestDeletedEventData
- type CLATemplateCreatedEventData
- type ClaManagerAccessRequestAddedEventData
- type ClaManagerAccessRequestDeletedEventData
- type CombinedRepo
- type CompanyACLRequestAddedEventData
- type CompanyACLRequestDeletedEventData
- type CompanyACLUserAddedEventData
- type DBProjectDocumentModel
- type DBProjectModel
- type DBUser
- type Event
- type EventData
- type GerritProjectDeletedEventData
- type GithubOrganizationAddedEventData
- type GithubOrganizationDeletedEventData
- type GithubProjectDeletedEventData
- type GithubRepositoryAddedEventData
- type GithubRepositoryDeletedEventData
- type LogEventArgs
- type MockRepository
- type ProjectCreatedEventData
- type ProjectDeletedEventData
- type ProjectUpdatedEventData
- type Repository
- type Service
- type SignatureProjectInvalidatedEventData
- type UserCreatedEventData
- type UserDeletedEventData
- type UserUpdatedEventData
- type WhitelistGithubOrganizationAddedEventData
- type WhitelistGithubOrganizationDeletedEventData
Constants ¶
const ( // CreateTemplate event type CreateTemplate = "Create Template" // AddGithubOrgToWL event type AddGithubOrgToWL = "Add GH Org To WL" // DeleteGithubOrgFromWL event type DeleteGithubOrgFromWL = "Delete GH Org From WL" // CreateCCLAWhitelistRequest event type CreateCCLAWhitelistRequest = "Create CCLA WL Request" // DeleteCCLAWhitelistRequest event type DeleteCCLAWhitelistRequest = "Delete CCLA WL Request" // DeletePendingInvite event type AddGithubOrganization = "Add Github Organization" DeleteGithubOrganization = "Delete Github Organization" )
event types
const ( CLATemplateCreated = "cla_template.created" UserCreated = "user.created" UserUpdated = "user.updated" UserDeleted = "user.deleted" GithubRepositoryAdded = "github_repository.added" GithubRepositoryDeleted = "github_repository.deleted" GerritRepositoryAdded = "gerrit_repository.addded" GerritRepositoryDeleted = "gerrit_repository.deleted" GithubOrganizationAdded = "github_organization.added" GithubOrganizationDeleted = "github_organization.deleted" CompanyACLUserAdded = "company_acl.user_added" CompanyACLRequestAdded = "company_acl.request_added" CompanyACLRequestDeleted = "company_acl.request_deleted" CCLAWhitelistRequestCreated = "ccla_whitelist_request.created" CCLAWhitelistRequestDeleted = "ccla_whitelist_request.deleted" WhitelistGithubOrganizationAdded = "whitelist.github_organization_added" WhitelistGithubOrganizationDeleted = "whitelist.github_organization_deleted" ClaManagerAccessRequestAdded = "cla_manager.access_request_added" ClaManagerAccessRequestDeleted = "cla_manager.access_request_deleted" ProjectCreated = "project.created" ProjectUpdated = "project.updated" ProjectDeleted = "project.deleted" InvalidatedSignature = "signature.invalidated" )
events naming convention : <resource>.<action>
Variables ¶
var ( ErrUserIDRequired = errors.New("UserID cannot be empty") //nolint ErrEventTypeRequired = errors.New("EventType cannot be empty") //nolint )
errors
Functions ¶
func Configure ¶
func Configure(api *operations.ClaAPI, service Service)
Configure setups handlers on api with service
Types ¶
type CCLAWhitelistRequestCreatedEventData ¶ added in v1.0.13
type CCLAWhitelistRequestCreatedEventData struct {
RequestID string
}
func (*CCLAWhitelistRequestCreatedEventData) GetEventString ¶ added in v1.0.13
func (ed *CCLAWhitelistRequestCreatedEventData) GetEventString(args *LogEventArgs) (string, bool)
type CCLAWhitelistRequestDeletedEventData ¶ added in v1.0.13
type CCLAWhitelistRequestDeletedEventData struct {
RequestID string
}
func (*CCLAWhitelistRequestDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *CCLAWhitelistRequestDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type CLATemplateCreatedEventData ¶ added in v1.0.13
type CLATemplateCreatedEventData struct{}
func (*CLATemplateCreatedEventData) GetEventString ¶ added in v1.0.13
func (ed *CLATemplateCreatedEventData) GetEventString(args *LogEventArgs) (string, bool)
type ClaManagerAccessRequestAddedEventData ¶ added in v1.0.13
func (*ClaManagerAccessRequestAddedEventData) GetEventString ¶ added in v1.0.13
func (ed *ClaManagerAccessRequestAddedEventData) GetEventString(args *LogEventArgs) (string, bool)
type ClaManagerAccessRequestDeletedEventData ¶ added in v1.0.13
type ClaManagerAccessRequestDeletedEventData struct {
RequestID string
}
func (*ClaManagerAccessRequestDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *ClaManagerAccessRequestDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type CombinedRepo ¶ added in v1.0.13
type CombinedRepo interface {
GetProjectByID(projectID string) (*models.Project, error)
GetCompany(companyID string) (*models.Company, error)
GetUserByUserName(userName string, fullMatch bool) (*models.User, error)
GetUser(userID string) (*models.User, error)
}
CombinedRepo contains the various methods of other repositories
type CompanyACLRequestAddedEventData ¶ added in v1.0.13
type CompanyACLRequestAddedEventData struct {
UserID string
}
func (*CompanyACLRequestAddedEventData) GetEventString ¶ added in v1.0.13
func (ed *CompanyACLRequestAddedEventData) GetEventString(args *LogEventArgs) (string, bool)
type CompanyACLRequestDeletedEventData ¶ added in v1.0.13
type CompanyACLRequestDeletedEventData struct {
UserLFID string
}
func (*CompanyACLRequestDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *CompanyACLRequestDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type CompanyACLUserAddedEventData ¶ added in v1.0.13
type CompanyACLUserAddedEventData struct {
UserLFID string
}
func (*CompanyACLUserAddedEventData) GetEventString ¶ added in v1.0.13
func (ed *CompanyACLUserAddedEventData) GetEventString(args *LogEventArgs) (string, bool)
type DBProjectDocumentModel ¶ added in v1.0.13
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.13
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 DBUser ¶ added in v1.0.11
type DBUser struct {
UserID string `json:"user_id"`
UserExternalID string `json:"user_external_id"`
LFEmail string `json:"lf_email"`
Admin bool `json:"admin"`
LFUsername string `json:"lf_username"`
DateCreated string `json:"date_created"`
DateModified string `json:"date_modified"`
UserName string `json:"user_name"`
Version string `json:"version"`
UserEmails []string `json:"user_emails"`
UserGithubID string `json:"user_github_id"`
UserCompanyID string `json:"user_company_id"`
UserGithubUsername string `json:"user_github_username"`
Note string `json:"note"`
}
DBUser data model
type Event ¶
type Event struct {
EventID string `dynamodbav:"event_id"`
EventType string `dynamodbav:"event_type"`
UserID string `dynamodbav:"user_id"`
UserName string `dynamodbav:"user_name"`
EventProjectID string `dynamodbav:"event_project_id"`
EventProjectExternalID string `dynamodbav:"event_project_external_id"`
EventProjectName string `dynamodbav:"event_project_name"`
EventCompanyID string `dynamodbav:"event_company_id"`
EventCompanyName string `dynamodbav:"event_company_name"`
EventTime string `dynamodbav:"event_time"`
EventTimeEpoch int64 `dynamodbav:"event_time_epoch"`
EventData string `dynamodbav:"event_data"`
}
Event data model
type EventData ¶ added in v1.0.13
type EventData interface {
GetEventString(args *LogEventArgs) (eventData string, containsPII bool)
}
EventData returns event data string which is used for event logging and containsPII field
type GerritProjectDeletedEventData ¶ added in v1.0.13
type GerritProjectDeletedEventData struct{}
func (*GerritProjectDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *GerritProjectDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type GithubOrganizationAddedEventData ¶ added in v1.0.13
type GithubOrganizationAddedEventData struct {
GithubOrganizationName string
}
func (*GithubOrganizationAddedEventData) GetEventString ¶ added in v1.0.13
func (ed *GithubOrganizationAddedEventData) GetEventString(args *LogEventArgs) (string, bool)
type GithubOrganizationDeletedEventData ¶ added in v1.0.13
type GithubOrganizationDeletedEventData struct {
GithubOrganizationName string
}
func (*GithubOrganizationDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *GithubOrganizationDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type GithubProjectDeletedEventData ¶ added in v1.0.13
type GithubProjectDeletedEventData struct{}
func (*GithubProjectDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *GithubProjectDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type GithubRepositoryAddedEventData ¶ added in v1.0.13
type GithubRepositoryAddedEventData struct {
RepositoryName string
}
func (*GithubRepositoryAddedEventData) GetEventString ¶ added in v1.0.13
func (ed *GithubRepositoryAddedEventData) GetEventString(args *LogEventArgs) (string, bool)
type GithubRepositoryDeletedEventData ¶ added in v1.0.13
type GithubRepositoryDeletedEventData struct {
RepositoryName string
}
func (*GithubRepositoryDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *GithubRepositoryDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type LogEventArgs ¶ added in v1.0.13
type LogEventArgs struct {
EventType string
ProjectID string
ProjectModel *models.Project
CompanyID string
CompanyModel *models.Company
LfUsername string
UserID string
UserModel *models.User
ExternalProjectID string
EventData EventData
// contains filtered or unexported fields
}
LogEventArgs is argument to LogEvent function EventType, EventData are compulsory. One of LfUsername, UserID must be present
type MockRepository ¶ added in v1.0.8
type MockRepository interface {
CreateEvent(event *models.Event) error
SearchEvents(params *eventOps.SearchEventsParams, pageSize int64) (*models.EventList, error)
GetProjectByID(projectID string) (*models.Project, error)
GetCompany(companyID string) (*models.Company, error)
GetUserByUserName(userName string, fullMatch bool) (*models.User, error)
GetUser(userID string) (*models.User, error)
GetRecentEvents(pageSize int64) (*models.EventList, error)
}
MockRepository interface defines methods of event mock repository
func NewMockRepository ¶ added in v1.0.8
func NewMockRepository() MockRepository
NewMockRepository creates a new instance of the mock event repository
type ProjectCreatedEventData ¶ added in v1.0.13
type ProjectCreatedEventData struct{}
func (*ProjectCreatedEventData) GetEventString ¶ added in v1.0.13
func (ed *ProjectCreatedEventData) GetEventString(args *LogEventArgs) (string, bool)
type ProjectDeletedEventData ¶ added in v1.0.13
type ProjectDeletedEventData struct{}
func (*ProjectDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *ProjectDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type ProjectUpdatedEventData ¶ added in v1.0.13
type ProjectUpdatedEventData struct{}
func (*ProjectUpdatedEventData) GetEventString ¶ added in v1.0.13
func (ed *ProjectUpdatedEventData) GetEventString(args *LogEventArgs) (string, bool)
type Repository ¶
type Repository interface {
CreateEvent(event *models.Event) error
SearchEvents(params *eventOps.SearchEventsParams, pageSize int64) (*models.EventList, error)
GetRecentEvents(pageSize int64) (*models.EventList, error)
}
Repository interface defines methods of event repository service
func NewRepository ¶
func NewRepository(awsSession *session.Session, stage string) Repository
NewRepository creates a new instance of the event repository
type Service ¶
type Service interface {
LogEvent(args *LogEventArgs)
SearchEvents(params *eventOps.SearchEventsParams) (*models.EventList, error)
GetRecentEvents(paramPageSize *int64) (*models.EventList, error)
}
Service interface defines methods of event service
func NewService ¶
func NewService(repo Repository, combinedRepo CombinedRepo) Service
NewService creates new instance of event service
type SignatureProjectInvalidatedEventData ¶ added in v1.0.13
type SignatureProjectInvalidatedEventData struct{}
func (*SignatureProjectInvalidatedEventData) GetEventString ¶ added in v1.0.13
func (ed *SignatureProjectInvalidatedEventData) GetEventString(args *LogEventArgs) (string, bool)
type UserCreatedEventData ¶ added in v1.0.13
type UserCreatedEventData struct{}
func (*UserCreatedEventData) GetEventString ¶ added in v1.0.13
func (ed *UserCreatedEventData) GetEventString(args *LogEventArgs) (string, bool)
type UserDeletedEventData ¶ added in v1.0.13
type UserDeletedEventData struct {
DeletedUserID string
}
func (*UserDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *UserDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)
type UserUpdatedEventData ¶ added in v1.0.13
type UserUpdatedEventData struct{}
func (*UserUpdatedEventData) GetEventString ¶ added in v1.0.13
func (ed *UserUpdatedEventData) GetEventString(args *LogEventArgs) (string, bool)
type WhitelistGithubOrganizationAddedEventData ¶ added in v1.0.13
type WhitelistGithubOrganizationAddedEventData struct {
GithubOrganizationName string
}
func (*WhitelistGithubOrganizationAddedEventData) GetEventString ¶ added in v1.0.13
func (ed *WhitelistGithubOrganizationAddedEventData) GetEventString(args *LogEventArgs) (string, bool)
type WhitelistGithubOrganizationDeletedEventData ¶ added in v1.0.13
type WhitelistGithubOrganizationDeletedEventData struct {
GithubOrganizationName string
}
func (*WhitelistGithubOrganizationDeletedEventData) GetEventString ¶ added in v1.0.13
func (ed *WhitelistGithubOrganizationDeletedEventData) GetEventString(args *LogEventArgs) (string, bool)