services

package
v0.0.0-...-6d1408b Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2022 License: MIT Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CheckoutSessionConfig

type CheckoutSessionConfig struct {
	User       *ent.User
	Tier       string
	SuccessURL string
	CancelURL  string
}

type CustomValidator

type CustomValidator struct {
	Validator *validator.Validate
}

func (*CustomValidator) Validate

func (cv *CustomValidator) Validate(i interface{}) error

type DatabaseService

type DatabaseService struct {
	*ent.Client
}

func NewDatabaseService

func NewDatabaseService(driver string, dataSourceName string) (*DatabaseService, error)

func (*DatabaseService) AutoMigrate

func (s *DatabaseService) AutoMigrate() error

func (*DatabaseService) Close

func (s *DatabaseService) Close() error

type GithubAccessTokenResponseBody

type GithubAccessTokenResponseBody struct {
	AccessToken string `json:"access_token"`
	Scope       string `json:"scope"`
	TokenType   string `json:"token_type"`
}

type GithubClient

type GithubClient struct {
	// contains filtered or unexported fields
}

func (*GithubClient) GetEmails

func (c *GithubClient) GetEmails() []*github.UserEmail

func (*GithubClient) GetUser

func (c *GithubClient) GetUser() (*github.User, error)

type GithubService

type GithubService struct {
	ClientId string
	// contains filtered or unexported fields
}

func NewGithubService

func NewGithubService(clientId string, clientSecret string) (*GithubService, error)

func (*GithubService) GenerateAccessTokenFromCode

func (s *GithubService) GenerateAccessTokenFromCode(code string) (*GithubAccessTokenResponseBody, error)

func (*GithubService) NewClient

func (s *GithubService) NewClient(accessToken string) *GithubClient

type GitlabAccessTokenResponseBody

type GitlabAccessTokenResponseBody struct {
	AccessToken  string `json:"access_token"`
	TokenType    string `json:"token_type"`
	ExpiresIn    int64  `json:"expires_in"`
	RefreshToken string `json:"refresh_token"`
	CreatedAt    int64  `json:"created_at"`

	Error string `json:"error_description"`
}

type GitlabClient

type GitlabClient struct {
	// contains filtered or unexported fields
}

func (*GitlabClient) GetUser

func (c *GitlabClient) GetUser() (*gitlab.User, error)

type GitlabService

type GitlabService struct {
	ClientId string
	// contains filtered or unexported fields
}

func NewGitlabService

func NewGitlabService(clientId string, clientSecret string) (*GitlabService, error)

func (*GitlabService) GenerateAccessTokenFromCode

func (s *GitlabService) GenerateAccessTokenFromCode(code string, redirectUri string) (*GitlabAccessTokenResponseBody, error)

func (*GitlabService) NewClient

func (s *GitlabService) NewClient(accessToken string) (*GitlabClient, error)

type LanguagePairDetails

type LanguagePairDetails struct {
	SourceLanguageFileExtension string
	TargetLanguageFileExtension string
}

type PortalSessionConfig

type PortalSessionConfig struct {
	ReturnURL string
}

type StorageService

type StorageService struct {
	// contains filtered or unexported fields
}

func NewStorageService

func NewStorageService(endpoint string, accessKey string, secretKey string, bucket string, secure bool) (*StorageService, error)

func (*StorageService) DeleteSubmission

func (s *StorageService) DeleteSubmission(id string) error

func (*StorageService) GetObject

func (s *StorageService) GetObject(path string) (*minio.Object, error)

func (*StorageService) GetObjects

func (s *StorageService) GetObjects(path string) <-chan *s3.GetObjectsResult

func (*StorageService) ListSubmissionFiles

func (s *StorageService) ListSubmissionFiles(submissionID string) <-chan *s3.GetObjectsResult

func (*StorageService) PutSubmissionObject

func (s *StorageService) PutSubmissionObject(submissionId string, path string, reader io.Reader, size int64) (info minio.UploadInfo, err error)

func (*StorageService) ScheduleForDeletion

func (s *StorageService) ScheduleForDeletion(id string) error

Set a tag for the objects to be deleted by Lifecycle later on

func (*StorageService) SizeofObjects

func (s *StorageService) SizeofObjects(prefix string) int64

type SubmissionMessage

type SubmissionMessage struct {
	ID             string `json:"id"`
	SourceLanguage string `json:"source_language"`
	TargetLanguage string `json:"target_language"`
}

type SubmissionService

type SubmissionService struct {
	// contains filtered or unexported fields
}

func NewSubmissionService

func NewSubmissionService(queueService *queue.QueueService, databaseService *DatabaseService, storageService *StorageService) *SubmissionService

func (*SubmissionService) GetLanguagePairDetails

func (s *SubmissionService) GetLanguagePairDetails(sourceLanguage string, targetLanguage string) (*LanguagePairDetails, error)

func (*SubmissionService) HandleSubmissionStatus

func (s *SubmissionService) HandleSubmissionStatus(msg SubmissionStatusMessage) error

func (*SubmissionService) PublishSubmissionToTranspile

func (s *SubmissionService) PublishSubmissionToTranspile(sub SubmissionMessage) error

type SubmissionStatusMessage

type SubmissionStatusMessage struct {
	ID        string            `json:"id"`
	Status    submission.Status `json:"status"`
	Reason    string            `json:"reason"`
	Timestamp int64             `json:"timestamp"`
}

type SubscriptionService

type SubscriptionService struct {
	// contains filtered or unexported fields
}

func NewSubscriptionService

func NewSubscriptionService(
	stripeSecretKey string,
	stripeProTierPrices TierPrices,
	stripeEnterpriseTierPrices TierPrices,
	databaseService *DatabaseService,
) *SubscriptionService

func (*SubscriptionService) CancelStripeSubscription

func (s *SubscriptionService) CancelStripeSubscription(stripeSubscriptionId string) error

func (*SubscriptionService) CancelSubscriptionFromStripeCustomerId

func (s *SubscriptionService) CancelSubscriptionFromStripeCustomerId(stripeCustomerId string, expiresAt time.Time) error

func (*SubscriptionService) CancelUserSubscription

func (s *SubscriptionService) CancelUserSubscription(userId uuid.UUID, expiresAt time.Time) error

func (*SubscriptionService) ConstructWebhookEvent

func (s *SubscriptionService) ConstructWebhookEvent(w http.ResponseWriter, req *http.Request, endpointSecret string) (stripe.Event, error)

func (*SubscriptionService) CreateCheckoutSession

func (s *SubscriptionService) CreateCheckoutSession(stripeCustomer *stripe.Customer, config *CheckoutSessionConfig) (*stripe.CheckoutSession, error)

func (*SubscriptionService) CreatePortalSession

func (s *SubscriptionService) CreatePortalSession(currentUserSubscription *ent.Subscription, config *PortalSessionConfig) (*stripe.BillingPortalSession, error)

func (*SubscriptionService) GetActiveSubscriptions

func (s *SubscriptionService) GetActiveSubscriptions(offset int, limit int) ([]*ent.Subscription, error)

func (*SubscriptionService) GetCurrentUserSubscription

func (s *SubscriptionService) GetCurrentUserSubscription(userID uuid.UUID) (*ent.Subscription, error)

func (*SubscriptionService) GetLastUserSubscription

func (s *SubscriptionService) GetLastUserSubscription(userID uuid.UUID) (*ent.Subscription, error)

func (*SubscriptionService) GetOrCreateStripeCustomer

func (s *SubscriptionService) GetOrCreateStripeCustomer(subscribingUser *ent.User, lastUserSubscription *ent.Subscription) (*stripe.Customer, *ent.Subscription, error)

func (*SubscriptionService) GetTierFromPriceId

func (s *SubscriptionService) GetTierFromPriceId(priceId string) string

func (*SubscriptionService) GetTierPrices

func (s *SubscriptionService) GetTierPrices(tier string) TierPrices

func (*SubscriptionService) GetTiers

func (s *SubscriptionService) GetTiers() []string

func (*SubscriptionService) HasTier

func (s *SubscriptionService) HasTier(tier string) bool

func (*SubscriptionService) IsActive

func (s *SubscriptionService) IsActive(subscription *ent.Subscription) bool

func (*SubscriptionService) RemoveSubscriptionsFromStripeCustomerId

func (s *SubscriptionService) RemoveSubscriptionsFromStripeCustomerId(stripeCustomerId string) error

func (*SubscriptionService) UpdateStripeSubscription

func (s *SubscriptionService) UpdateStripeSubscription(stripeSubscriptionId string, targetTier string) (*stripe.Subscription, error)

func (*SubscriptionService) UpdateSubscription

func (s *SubscriptionService) UpdateSubscription(stripeSubscription *stripe.Subscription) error

type TierPrices

type TierPrices struct {
	BasePriceId    string
	MeteredPriceId string
}

type TokenService

type TokenService struct {
	// contains filtered or unexported fields
}

func NewTokenService

func NewTokenService(databaseService *DatabaseService) *TokenService

func (*TokenService) GenerateToken

func (s *TokenService) GenerateToken(userId uuid.UUID) (uuid.UUID, error)

func (*TokenService) GetTokenFromContext

func (s *TokenService) GetTokenFromContext(c echo.Context) (uuid.UUID, error)

func (*TokenService) GetUser

func (s *TokenService) GetUser(tokenId uuid.UUID) (*ent.User, error)

func (*TokenService) GetUserFromContext

func (s *TokenService) GetUserFromContext(c echo.Context) (*ent.User, error)

Return a *echo.HTTPError if failing

func (*TokenService) VaidateTokenFromContext

func (s *TokenService) VaidateTokenFromContext(c echo.Context) (bool, error)

Return a *echo.HTTPError if failing

func (*TokenService) ValidateToken

func (s *TokenService) ValidateToken(tokenId uuid.UUID) (bool, error)

type TranspilerDetails

type TranspilerDetails struct {
	FileExtension string
	Targets       map[string]*TranspilerDetailsTarget
}

type TranspilerDetailsTarget

type TranspilerDetailsTarget struct {
	FileExtension string
	QueueName     string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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