db

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunMigration

func RunMigration(databaseUrl string)

Types

type CountUploadedFilesParams

type CountUploadedFilesParams struct {
	Column1 *int64
	Column2 *int64
	Column3 *string
	Column4 *string
	Column5 *string
	Column6 *string
}

type CreateSessionParams

type CreateSessionParams struct {
	FileSize  int64
	ChunkSize int64
	MaxChunk  int64
	FileName  pgtype.Text
	TempPath  pgtype.Text
	OwnerID   pgtype.Text
	Provider  pgtype.Text
}

type CreateUploadedFileParams

type CreateUploadedFileParams struct {
	FileName         string
	FilePath         string
	FileSize         int64
	FileType         pgtype.Text
	UploadedBy       string
	Checksum         pgtype.Text
	Description      pgtype.Text
	Provider         string
	ProviderMetadata []byte
}

type CreateUserParams

type CreateUserParams struct {
	Email    string
	Password string
}

type DBTX

type DBTX interface {
	Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
	Query(context.Context, string, ...interface{}) (pgx.Rows, error)
	QueryRow(context.Context, string, ...interface{}) pgx.Row
}

type DecrementFileCountAndSizeAndMimetypeParams

type DecrementFileCountAndSizeAndMimetypeParams struct {
	TotalFileCount  int64
	TotalFileSize   int64
	ID              uuid.UUID
	FilesByMimetype []byte
}

type DeleteDocumentsByIdsRow

type DeleteDocumentsByIdsRow struct {
	ID               uuid.UUID
	FileName         string
	FilePath         string
	FileSize         int64
	FileType         pgtype.Text
	UploadedBy       string
	UploadedAt       pgtype.Timestamp
	IsDeleted        pgtype.Bool
	Checksum         pgtype.Text
	Description      pgtype.Text
	Provider         string
	ProviderMetadata []byte
}

type FilterUploadParams

type FilterUploadParams struct {
	MaxFileSize *int64
	MinFileSize *int64
	FileType    *string
	Checksum    *string
	UploadedBy  *string
	Provider    *string
	Limit       *int32
	Offset      *int32
}

type FilterUploadResult

type FilterUploadResult struct {
	Files []UploadedFile
	Meta  Metadata
}

type FilterUploadedFilesParams

type FilterUploadedFilesParams struct {
	Column1 *int64
	Column2 *int64
	Column3 *string
	Column4 *string
	Column5 *string
	Column6 *string
	Limit   *int32
	Offset  *int32
}

type FindDuplicateFileNamesRow

type FindDuplicateFileNamesRow struct {
	FileName       pgtype.Text
	DuplicateCount int64
}

type FindDuplicateFilesByChecksumRow

type FindDuplicateFilesByChecksumRow struct {
	Checksum       pgtype.Text
	DuplicateCount int64
}

type GetMetricsByMimetypeParams

type GetMetricsByMimetypeParams struct {
	FilesByMimetype []byte
	ID              uuid.UUID
}

type IncrementFileCountAndSizeAndMimetypeParams

type IncrementFileCountAndSizeAndMimetypeParams struct {
	TotalFileCount int64
	TotalFileSize  int64
	ID             uuid.UUID
	Column4        interface{}
}

type InsertMetricsParams

type InsertMetricsParams struct {
	TotalFileSize     int64
	TotalFileCount    int64
	FilesByMimetype   []byte
	LargestFileSize   int64
	SmallestFileSize  int64
	AverageFileSize   pgtype.Numeric
	TotalDeletedFiles int64
}

type ListSessionDetailsRow

type ListSessionDetailsRow struct {
	ID        pgtype.UUID
	FileName  pgtype.Text
	OwnerID   pgtype.Text
	Provider  pgtype.Text
	CreatedAt pgtype.Timestamp
}

type Metadata

type Metadata struct {
	Page       int32
	Size       int32
	TotalPage  int
	TotalCount int
}

type Metric

type Metric struct {
	ID                uuid.UUID
	TotalFileSize     int64
	TotalFileCount    int64
	FilesByMimetype   []byte
	LargestFileSize   int64
	SmallestFileSize  int64
	AverageFileSize   pgtype.Numeric
	TotalDeletedFiles int64
	LastUpdated       pgtype.Timestamp
}

type PaginateSessionsParams

type PaginateSessionsParams struct {
	Limit  int32
	Offset int32
}

type PaginateUploadedFilesParams

type PaginateUploadedFilesParams struct {
	Limit  int32
	Offset int32
}

type PaginateUsersParams

type PaginateUsersParams struct {
	Limit  int32
	Offset int32
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) AverageChunkSize

func (q *Queries) AverageChunkSize(ctx context.Context) (float64, error)

func (*Queries) CheckEmailExists

func (q *Queries) CheckEmailExists(ctx context.Context, email string) (bool, error)

func (*Queries) CountFilesByUser

func (q *Queries) CountFilesByUser(ctx context.Context, uploadedBy string) (int64, error)

func (*Queries) CountSessions

func (q *Queries) CountSessions(ctx context.Context) (int64, error)

func (*Queries) CountTotalFiles

func (q *Queries) CountTotalFiles(ctx context.Context) (int64, error)

func (*Queries) CountTotalUsers

func (q *Queries) CountTotalUsers(ctx context.Context) (int64, error)

func (*Queries) CountUploadedFiles

func (q *Queries) CountUploadedFiles(ctx context.Context, arg CountUploadedFilesParams) (int64, error)

Number of rows to skip

func (*Queries) CountUsersAfterDate

func (q *Queries) CountUsersAfterDate(ctx context.Context, createdAt pgtype.Timestamp) (int64, error)

func (*Queries) CreateSession

func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)

func (*Queries) CreateUploadedFile

func (q *Queries) CreateUploadedFile(ctx context.Context, arg CreateUploadedFileParams) (UploadedFile, error)

func (*Queries) CreateUser

func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error)

func (*Queries) DecrementFileCountAndSizeAndMimetype

func (q *Queries) DecrementFileCountAndSizeAndMimetype(ctx context.Context, arg DecrementFileCountAndSizeAndMimetypeParams) error

func (*Queries) DeleteDocumentsByIds

func (q *Queries) DeleteDocumentsByIds(ctx context.Context, dollar_1 []uuid.UUID) ([]DeleteDocumentsByIdsRow, error)

Use ANY to match an array of IDs

func (*Queries) DeleteMetrics

func (q *Queries) DeleteMetrics(ctx context.Context, id uuid.UUID) error

func (*Queries) DeleteSession

func (q *Queries) DeleteSession(ctx context.Context, id pgtype.UUID) error

func (*Queries) DeleteUserByID

func (q *Queries) DeleteUserByID(ctx context.Context, id pgtype.UUID) error

func (*Queries) FilterUploadedFiles

func (q *Queries) FilterUploadedFiles(ctx context.Context, arg FilterUploadedFilesParams) ([]UploadedFile, error)

func (*Queries) FindDuplicateFileNames

func (q *Queries) FindDuplicateFileNames(ctx context.Context) ([]FindDuplicateFileNamesRow, error)

func (*Queries) FindDuplicateFilesByChecksum

func (q *Queries) FindDuplicateFilesByChecksum(ctx context.Context) ([]FindDuplicateFilesByChecksumRow, error)

func (*Queries) FindFilesAfterDate

func (q *Queries) FindFilesAfterDate(ctx context.Context, uploadedAt pgtype.Timestamp) ([]UploadedFile, error)

func (*Queries) FindFilesByMetadataKey

func (q *Queries) FindFilesByMetadataKey(ctx context.Context, providerMetadata []byte) ([]UploadedFile, error)

func (*Queries) FindFilesByProvider

func (q *Queries) FindFilesByProvider(ctx context.Context, provider string) ([]UploadedFile, error)

func (*Queries) FindFilesByUser

func (q *Queries) FindFilesByUser(ctx context.Context, uploadedBy string) ([]UploadedFile, error)

func (*Queries) FindLargeSessions

func (q *Queries) FindLargeSessions(ctx context.Context, fileSize int64) ([]Session, error)

func (*Queries) FindMissingTempPaths

func (q *Queries) FindMissingTempPaths(ctx context.Context) ([]Session, error)

func (*Queries) FindSessionById

func (q *Queries) FindSessionById(ctx context.Context, id pgtype.UUID) (Session, error)

func (*Queries) FindSessionsAfterDate

func (q *Queries) FindSessionsAfterDate(ctx context.Context, createdAt pgtype.Timestamp) ([]Session, error)

func (*Queries) FindSessionsByDate

func (q *Queries) FindSessionsByDate(ctx context.Context, createdAt pgtype.Timestamp) ([]Session, error)

Adjusted to work with PostgreSQL arrays

func (*Queries) FindSessionsByOwner

func (q *Queries) FindSessionsByOwner(ctx context.Context, ownerID pgtype.Text) ([]Session, error)

func (*Queries) FindSessionsByOwnerIndexed

func (q *Queries) FindSessionsByOwnerIndexed(ctx context.Context, ownerID pgtype.Text) ([]Session, error)

func (*Queries) FindSessionsByOwners

func (q *Queries) FindSessionsByOwners(ctx context.Context, ownerID pgtype.Text) ([]Session, error)

func (*Queries) FindUsersAfterDate

func (q *Queries) FindUsersAfterDate(ctx context.Context, createdAt pgtype.Timestamp) ([]User, error)

func (*Queries) GetFilteredUploads

func (db *Queries) GetFilteredUploads(params FilterUploadParams) (*FilterUploadResult, error)

func (*Queries) GetFirstCreatedMetrics

func (q *Queries) GetFirstCreatedMetrics(ctx context.Context) (Metric, error)

func (*Queries) GetInactiveUsers

func (q *Queries) GetInactiveUsers(ctx context.Context, lastLogin pgtype.Timestamp) ([]User, error)

func (*Queries) GetLargestFile

func (q *Queries) GetLargestFile(ctx context.Context) (UploadedFile, error)

func (*Queries) GetMetrics

func (q *Queries) GetMetrics(ctx context.Context, id uuid.UUID) (Metric, error)

func (*Queries) GetMetricsByMimetype

func (q *Queries) GetMetricsByMimetype(ctx context.Context, arg GetMetricsByMimetypeParams) (interface{}, error)

func (*Queries) GetRecentUsers

func (q *Queries) GetRecentUsers(ctx context.Context, limit int32) ([]User, error)

func (*Queries) GetUploadedFileByID

func (q *Queries) GetUploadedFileByID(ctx context.Context, id uuid.UUID) (UploadedFile, error)

func (*Queries) GetUserByEmail

func (q *Queries) GetUserByEmail(ctx context.Context, email string) (User, error)

func (*Queries) GetUserByID

func (q *Queries) GetUserByID(ctx context.Context, id pgtype.UUID) (User, error)

func (*Queries) HardDeleteUploadedFile

func (q *Queries) HardDeleteUploadedFile(ctx context.Context, id uuid.UUID) error

func (*Queries) IncrementFileCountAndSizeAndMimetype

func (q *Queries) IncrementFileCountAndSizeAndMimetype(ctx context.Context, arg IncrementFileCountAndSizeAndMimetypeParams) error

func (*Queries) InsertMetrics

func (q *Queries) InsertMetrics(ctx context.Context, arg InsertMetricsParams) (Metric, error)

func (*Queries) ListActiveFiles

func (q *Queries) ListActiveFiles(ctx context.Context) ([]UploadedFile, error)

func (*Queries) ListDeletedFiles

func (q *Queries) ListDeletedFiles(ctx context.Context) ([]UploadedFile, error)

func (*Queries) ListSessionDetails

func (q *Queries) ListSessionDetails(ctx context.Context) ([]ListSessionDetailsRow, error)

func (*Queries) ListSessions

func (q *Queries) ListSessions(ctx context.Context) ([]Session, error)

func (*Queries) ListUploadedFiles

func (q *Queries) ListUploadedFiles(ctx context.Context) ([]UploadedFile, error)

func (*Queries) ListUploadedFilesByIds

func (q *Queries) ListUploadedFilesByIds(ctx context.Context, dollar_1 []uuid.UUID) ([]UploadedFile, error)

func (*Queries) ListUsers

func (q *Queries) ListUsers(ctx context.Context) ([]User, error)

func (*Queries) PaginateSessions

func (q *Queries) PaginateSessions(ctx context.Context, arg PaginateSessionsParams) ([]Session, error)

func (*Queries) PaginateUploadedFiles

func (q *Queries) PaginateUploadedFiles(ctx context.Context, arg PaginateUploadedFilesParams) ([]UploadedFile, error)

func (*Queries) PaginateUsers

func (q *Queries) PaginateUsers(ctx context.Context, arg PaginateUsersParams) ([]User, error)

func (*Queries) SearchProviderMetadata

func (q *Queries) SearchProviderMetadata(ctx context.Context, providerMetadata []byte) ([]UploadedFile, error)

func (*Queries) SoftDeleteUploadedFile

func (q *Queries) SoftDeleteUploadedFile(ctx context.Context, id uuid.UUID) error

func (*Queries) TotalFileSize

func (q *Queries) TotalFileSize(ctx context.Context) (int64, error)

func (*Queries) TotalUploadFileSize

func (q *Queries) TotalUploadFileSize(ctx context.Context) (int64, error)

func (*Queries) UpdateAllMetrics

func (q *Queries) UpdateAllMetrics(ctx context.Context, arg UpdateAllMetricsParams) error

func (*Queries) UpdateAverageFileSize

func (q *Queries) UpdateAverageFileSize(ctx context.Context, arg UpdateAverageFileSizeParams) error

func (*Queries) UpdateFileSizeAndCount

func (q *Queries) UpdateFileSizeAndCount(ctx context.Context, arg UpdateFileSizeAndCountParams) error

func (*Queries) UpdateFileSizes

func (q *Queries) UpdateFileSizes(ctx context.Context, arg UpdateFileSizesParams) error

func (*Queries) UpdateFilesByMimetype

func (q *Queries) UpdateFilesByMimetype(ctx context.Context, arg UpdateFilesByMimetypeParams) error

func (*Queries) UpdateLastLogin

func (q *Queries) UpdateLastLogin(ctx context.Context, id pgtype.UUID) error

func (*Queries) UpdateSession

func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) error

func (*Queries) UpdateTotalDeletedFiles

func (q *Queries) UpdateTotalDeletedFiles(ctx context.Context, arg UpdateTotalDeletedFilesParams) error

func (*Queries) UpdateUploadedFileMetadata

func (q *Queries) UpdateUploadedFileMetadata(ctx context.Context, arg UpdateUploadedFileMetadataParams) error

func (*Queries) WithTx

func (q *Queries) WithTx(tx pgx.Tx) *Queries

type Session

type Session struct {
	ID           pgtype.UUID
	FileSize     int64
	ChunkSize    int64
	MaxChunk     int64
	FileName     pgtype.Text
	TempPath     pgtype.Text
	OwnerID      pgtype.Text
	CurrentChunk pgtype.Int8
	Provider     pgtype.Text
	CreatedAt    pgtype.Timestamp
}

type UpdateAllMetricsParams

type UpdateAllMetricsParams struct {
	TotalFileSize     int64
	TotalFileCount    int64
	FilesByMimetype   []byte
	LargestFileSize   int64
	SmallestFileSize  int64
	AverageFileSize   pgtype.Numeric
	TotalDeletedFiles int64
	ID                uuid.UUID
}

type UpdateAverageFileSizeParams

type UpdateAverageFileSizeParams struct {
	AverageFileSize pgtype.Numeric
	ID              uuid.UUID
}

type UpdateFileSizeAndCountParams

type UpdateFileSizeAndCountParams struct {
	TotalFileSize  int64
	TotalFileCount int64
	ID             uuid.UUID
}

type UpdateFileSizesParams

type UpdateFileSizesParams struct {
	LargestFileSize  int64
	SmallestFileSize int64
	ID               uuid.UUID
}

type UpdateFilesByMimetypeParams

type UpdateFilesByMimetypeParams struct {
	FilesByMimetype []byte
	ID              uuid.UUID
}

type UpdateSessionParams

type UpdateSessionParams struct {
	FileName     pgtype.Text
	TempPath     pgtype.Text
	CurrentChunk pgtype.Int8
	Provider     pgtype.Text
	ID           pgtype.UUID
}

type UpdateTotalDeletedFilesParams

type UpdateTotalDeletedFilesParams struct {
	TotalDeletedFiles int64
	ID                uuid.UUID
}

type UpdateUploadedFileMetadataParams

type UpdateUploadedFileMetadataParams struct {
	Description      pgtype.Text
	ProviderMetadata []byte
	ID               uuid.UUID
}

type UploadedFile

type UploadedFile struct {
	ID               uuid.UUID
	FileName         string
	FilePath         string
	FileSize         int64
	FileType         pgtype.Text
	UploadedBy       string
	UploadedAt       pgtype.Timestamp
	IsDeleted        pgtype.Bool
	Checksum         pgtype.Text
	Description      pgtype.Text
	Provider         string
	ProviderMetadata []byte
}

type User

type User struct {
	ID        pgtype.UUID
	Email     string
	Password  string
	CreatedAt pgtype.Timestamp
	LastLogin pgtype.Timestamp
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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