Documentation
¶
Index ¶
- Constants
- type CiBuildMetadataService
- type CiBuildMetadataServiceImpl
- type FeedbackService
- type FeedbackServiceImpl
- type GoogleSheetsService
- type GoogleSheetsServiceImpl
- type ReleaseNoteService
- type ReleaseNoteServiceImpl
- func (impl *ReleaseNoteServiceImpl) GetModuleByName(name string) (*common.Module, error)
- func (impl *ReleaseNoteServiceImpl) GetModules() ([]*common.Module, error)
- func (impl *ReleaseNoteServiceImpl) GetModulesV2() ([]*common.Module, error)
- func (impl *ReleaseNoteServiceImpl) GetReleases(repository bean.Repository) ([]*common.Release, error)
- func (impl *ReleaseNoteServiceImpl) GetReleasesFromGithub(repository bean.Repository) ([]*common.Release, bool)
- func (impl *ReleaseNoteServiceImpl) GetReleasesFromGithubWithRetry(repository bean.Repository) ([]*common.Release, error)
- func (impl *ReleaseNoteServiceImpl) GetReleasesOnInitialisation(repository bean.Repository) error
- func (impl *ReleaseNoteServiceImpl) UpdateReleases(requestBodyBytes []byte) (bool, error)
- type S3UploadService
- type S3UploadServiceImpl
- type WebhookSecretValidator
- type WebhookSecretValidatorImpl
Constants ¶
const ( SECRET_VALIDATOR_SHA1 string = "SHA-1" SECRET_VALIDATOR_URL_APPEND string = "URL_APPEND" SECRET_VALIDATOR_PLAIN_TEXT string = "PLAIN_TEXT" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CiBuildMetadataService ¶
type CiBuildMetadataService interface {
GetDockerfileTemplateMetadata() *common.DockerfileTemplateMetadata
GetBuildpackMetadata() *common.BuildPackMetadata
}
type CiBuildMetadataServiceImpl ¶
type CiBuildMetadataServiceImpl struct {
Logger *zap.SugaredLogger
BuildPackMetadata *common.BuildPackMetadata
DockerfileTemplateMetadata *common.DockerfileTemplateMetadata
}
func NewCiBuildMetadataServiceImpl ¶
func NewCiBuildMetadataServiceImpl(logger *zap.SugaredLogger) *CiBuildMetadataServiceImpl
func (CiBuildMetadataServiceImpl) GetBuildpackMetadata ¶
func (impl CiBuildMetadataServiceImpl) GetBuildpackMetadata() *common.BuildPackMetadata
func (CiBuildMetadataServiceImpl) GetDockerfileTemplateMetadata ¶
func (impl CiBuildMetadataServiceImpl) GetDockerfileTemplateMetadata() *common.DockerfileTemplateMetadata
type FeedbackService ¶
type FeedbackService interface {
SubmitFeedback(feedbackData *common.FeedbackData) error
}
type FeedbackServiceImpl ¶
type FeedbackServiceImpl struct {
// contains filtered or unexported fields
}
func NewFeedbackServiceImpl ¶
func NewFeedbackServiceImpl( logger *zap.SugaredLogger, s3UploadService S3UploadService, googleSheetsService GoogleSheetsService, ) *FeedbackServiceImpl
func (*FeedbackServiceImpl) SubmitFeedback ¶
func (impl *FeedbackServiceImpl) SubmitFeedback(feedbackData *common.FeedbackData) error
SubmitFeedback orchestrates the feedback submission process: 1. Decompresses conversation text if compressed 2. Uploads conversation content to S3 3. Adds feedback data with S3 URL to Google Sheets
type GoogleSheetsService ¶
type GoogleSheetsService interface {
AddRow(data *common.FeedbackData) error
AddRowToSheet(sheetName string, data *common.FeedbackData) error
IsConfigured() bool
}
type GoogleSheetsServiceImpl ¶
type GoogleSheetsServiceImpl struct {
// contains filtered or unexported fields
}
func NewGoogleSheetsServiceImpl ¶
func NewGoogleSheetsServiceImpl(logger *zap.SugaredLogger, googleSheetsClient *util.GoogleSheetsClient) *GoogleSheetsServiceImpl
func (*GoogleSheetsServiceImpl) AddRow ¶
func (impl *GoogleSheetsServiceImpl) AddRow(data *common.FeedbackData) error
AddRow adds a new row to the default sheet in the configured spreadsheet
func (*GoogleSheetsServiceImpl) AddRowToSheet ¶
func (impl *GoogleSheetsServiceImpl) AddRowToSheet(sheetName string, data *common.FeedbackData) error
AddRowToSheet adds a new row to a specific sheet in the configured spreadsheet
func (*GoogleSheetsServiceImpl) IsConfigured ¶
func (impl *GoogleSheetsServiceImpl) IsConfigured() bool
IsConfigured returns true if Google Sheets is properly configured
type ReleaseNoteService ¶
type ReleaseNoteService interface {
GetModules() ([]*common.Module, error)
GetReleases(repository bean.Repository) ([]*common.Release, error)
UpdateReleases(requestBodyBytes []byte) (bool, error)
GetModulesV2() ([]*common.Module, error)
GetModuleByName(name string) (*common.Module, error)
GetReleasesOnInitialisation(repository bean.Repository) error
}
type ReleaseNoteServiceImpl ¶
type ReleaseNoteServiceImpl struct {
// contains filtered or unexported fields
}
func NewReleaseNoteServiceImpl ¶
func NewReleaseNoteServiceImpl(logger *zap.SugaredLogger, client *util.GitHubClient, moduleConfig *util.ModuleConfig, blobConfig *util.BlobConfigVariables, blobStorageService *blob_storage.BlobStorageServiceImpl) (*ReleaseNoteServiceImpl, error)
func (*ReleaseNoteServiceImpl) GetModuleByName ¶
func (impl *ReleaseNoteServiceImpl) GetModuleByName(name string) (*common.Module, error)
func (*ReleaseNoteServiceImpl) GetModules ¶
func (impl *ReleaseNoteServiceImpl) GetModules() ([]*common.Module, error)
func (*ReleaseNoteServiceImpl) GetModulesV2 ¶
func (impl *ReleaseNoteServiceImpl) GetModulesV2() ([]*common.Module, error)
func (*ReleaseNoteServiceImpl) GetReleases ¶
func (impl *ReleaseNoteServiceImpl) GetReleases(repository bean.Repository) ([]*common.Release, error)
func (*ReleaseNoteServiceImpl) GetReleasesFromGithub ¶
func (impl *ReleaseNoteServiceImpl) GetReleasesFromGithub(repository bean.Repository) ([]*common.Release, bool)
func (*ReleaseNoteServiceImpl) GetReleasesFromGithubWithRetry ¶
func (impl *ReleaseNoteServiceImpl) GetReleasesFromGithubWithRetry(repository bean.Repository) ([]*common.Release, error)
func (*ReleaseNoteServiceImpl) GetReleasesOnInitialisation ¶
func (impl *ReleaseNoteServiceImpl) GetReleasesOnInitialisation(repository bean.Repository) error
func (*ReleaseNoteServiceImpl) UpdateReleases ¶
func (impl *ReleaseNoteServiceImpl) UpdateReleases(requestBodyBytes []byte) (bool, error)
type S3UploadService ¶
type S3UploadServiceImpl ¶
type S3UploadServiceImpl struct {
// contains filtered or unexported fields
}
func NewS3UploadServiceImpl ¶
func NewS3UploadServiceImpl(logger *zap.SugaredLogger, blobConfig *util.BlobConfigVariables, googleSheetsClient *util.GoogleSheetsClient) (*S3UploadServiceImpl, error)
func (*S3UploadServiceImpl) IsConfigured ¶
func (impl *S3UploadServiceImpl) IsConfigured() bool
IsConfigured returns true if any storage client is configured
func (*S3UploadServiceImpl) UploadFile ¶
func (impl *S3UploadServiceImpl) UploadFile(content string, fileName string) (string, error)
UploadFile uploads content to the configured storage provider and returns the URL
type WebhookSecretValidator ¶
type WebhookSecretValidatorImpl ¶
type WebhookSecretValidatorImpl struct {
// contains filtered or unexported fields
}
func NewWebhookSecretValidatorImpl ¶
func NewWebhookSecretValidatorImpl(Logger *zap.SugaredLogger, client *util.GitHubClient) *WebhookSecretValidatorImpl
func (*WebhookSecretValidatorImpl) ValidateSecret ¶
func (impl *WebhookSecretValidatorImpl) ValidateSecret(r *http.Request, requestBodyBytes []byte) bool
Validate secret for some predefined algorithms : SHA1, URL_APPEND, PLAIN_TEXT URL_APPEND : Secret will come in URL (last path param of URL) PLAIN_TEXT : Plain text value in request header SHA1 : SHA1 encrypted text in request header