Help us shape the future of Go! Take the 2026 Go Developer Survey

postgres

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2026 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Store

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

func Open

func Open(dbURL string) (*Store, error)

func (*Store) AddReaction

func (s *Store) AddReaction(ctx context.Context, input store.CreateReactionInput) (store.Event, error)

func (*Store) AddWorkspaceMember

func (s *Store) AddWorkspaceMember(ctx context.Context, workspaceID, userID, role string) error

func (*Store) AddWorkspaceMemberByActor added in v0.3.0

func (s *Store) AddWorkspaceMemberByActor(ctx context.Context, input store.AddWorkspaceMemberInput) (store.AddWorkspaceMemberResult, error)

func (*Store) AttachUpload

func (s *Store) AttachUpload(ctx context.Context, input store.AttachUploadInput) (store.Event, error)

func (*Store) Backup

func (s *Store) Backup(ctx context.Context, outPath string) error

func (*Store) CanCreateUpload

func (s *Store) CanCreateUpload(ctx context.Context, workspaceID, userID string, byteSize int64) error

func (*Store) CanPublishEphemeral

func (s *Store) CanPublishEphemeral(ctx context.Context, workspaceID, channelID, directConversationID, userID string) error

func (*Store) ClaimBotSetupCode added in v0.2.0

func (s *Store) ClaimBotSetupCode(ctx context.Context, code string) (store.BotSetupCodeClaim, error)

func (*Store) Close

func (s *Store) Close() error

func (*Store) CompleteSlashCommandInvocation

func (s *Store) CompleteSlashCommandInvocation(ctx context.Context, invocationID string, status int, responseBody, invokeError string) (store.SlashCommandInvocation, error)

func (*Store) ConsumeDesktopOAuthGrant added in v0.2.0

func (s *Store) ConsumeDesktopOAuthGrant(ctx context.Context, grantHash, desktopChallenge string, current time.Time) (store.Session, error)
func (s *Store) ConsumeMagicLink(ctx context.Context, token string) (store.User, store.Session, error)

func (*Store) ConsumeOAuthTransaction added in v0.2.0

func (s *Store) ConsumeOAuthTransaction(ctx context.Context, stateHash, browserBindingHash string, current time.Time) (store.OAuthTransaction, error)

func (*Store) CreateAppInstallation

func (s *Store) CreateAppInstallation(ctx context.Context, input store.CreateAppInstallationInput) (store.AppInstallation, error)

func (*Store) CreateAuditLogEntry

func (s *Store) CreateAuditLogEntry(ctx context.Context, input store.CreateAuditLogEntryInput) (store.AuditLogEntry, error)

func (*Store) CreateBot

func (s *Store) CreateBot(ctx context.Context, input store.CreateBotInput) (store.User, store.BotToken, error)

func (*Store) CreateBotSetupCode added in v0.2.0

func (s *Store) CreateBotSetupCode(ctx context.Context, input store.CreateBotSetupCodeInput) (store.BotSetupCode, error)

func (*Store) CreateBotToken

func (s *Store) CreateBotToken(ctx context.Context, input store.CreateBotTokenInput) (store.BotToken, error)

func (*Store) CreateChannel

func (s *Store) CreateChannel(ctx context.Context, input store.CreateChannelInput) (store.Channel, store.Event, error)

func (*Store) CreateConnectedAccount

func (s *Store) CreateConnectedAccount(ctx context.Context, input store.CreateConnectedAccountInput) (store.ConnectedAccount, error)

func (*Store) CreateDesktopOAuthGrant added in v0.2.0

func (s *Store) CreateDesktopOAuthGrant(ctx context.Context, grant store.DesktopOAuthGrant) error

func (*Store) CreateDirectConversation

func (s *Store) CreateDirectConversation(ctx context.Context, input store.CreateDirectConversationInput) (store.DirectConversation, error)

func (*Store) CreateDirectMessage

func (s *Store) CreateDirectMessage(ctx context.Context, input store.CreateDirectMessageInput) (store.Message, store.Event, error)

func (*Store) CreateEventDeliveryAttempt

func (s *Store) CreateEventDeliveryAttempt(ctx context.Context, input store.CreateEventDeliveryAttemptInput) (store.EventDeliveryAttempt, error)

func (*Store) CreateEventSubscription

func (s *Store) CreateEventSubscription(ctx context.Context, input store.CreateEventSubscriptionInput) (store.EventSubscription, error)

func (*Store) CreateInvite

func (s *Store) CreateInvite(ctx context.Context, workspaceID, createdBy string) (store.Invite, error)
func (s *Store) CreateMagicLink(ctx context.Context, email, displayName string) (store.MagicLink, error)

func (*Store) CreateMessage

func (s *Store) CreateMessage(ctx context.Context, input store.CreateMessageInput) (store.Message, store.Event, error)

func (*Store) CreateOAuthTransaction added in v0.2.0

func (s *Store) CreateOAuthTransaction(ctx context.Context, transaction store.OAuthTransaction) error

func (*Store) CreateReservedUpload

func (s *Store) CreateReservedUpload(ctx context.Context, reservationID string, input store.CreateUploadInput) (store.Upload, error)

func (*Store) CreateSession

func (s *Store) CreateSession(ctx context.Context, userID string) (store.Session, error)

func (*Store) CreateSlashCommand

func (s *Store) CreateSlashCommand(ctx context.Context, input store.CreateSlashCommandInput) (store.SlashCommand, error)

func (*Store) CreateThreadReply

func (s *Store) CreateThreadReply(ctx context.Context, input store.CreateThreadReplyInput) (store.Message, store.ThreadState, []store.Event, error)

func (*Store) CreateTopic

func (s *Store) CreateTopic(ctx context.Context, input store.CreateTopicInput) (store.Topic, error)

func (*Store) CreateUpload

func (s *Store) CreateUpload(ctx context.Context, input store.CreateUploadInput) (store.Upload, error)

func (*Store) CreateUser

func (s *Store) CreateUser(ctx context.Context, input store.CreateUserInput) (store.User, error)

func (*Store) CreateWorkspace

func (s *Store) CreateWorkspace(ctx context.Context, input store.CreateWorkspaceInput, ownerID string) (store.Workspace, error)

func (*Store) DeleteBot added in v0.2.0

func (s *Store) DeleteBot(ctx context.Context, botUserID, requesterID string) (store.DeletedBot, error)

func (*Store) DeleteMessage

func (s *Store) DeleteMessage(ctx context.Context, input store.DeleteMessageInput) (store.Message, []store.Event, error)

func (*Store) DeletePendingUploadCleanup added in v0.2.0

func (s *Store) DeletePendingUploadCleanup(ctx context.Context, cleanupID string) error

func (*Store) DeleteWorkspace added in v0.2.0

func (s *Store) DeleteWorkspace(ctx context.Context, workspaceID, actorUserID string) ([]store.PendingUploadCleanup, error)

func (*Store) EnsureBootstrap

func (s *Store) EnsureBootstrap(ctx context.Context, name, email string) (store.User, error)

func (*Store) EnsureDefaultGuestWorkspaceMember

func (s *Store) EnsureDefaultGuestWorkspaceMember(ctx context.Context, userID, role string) (store.Workspace, error)

func (*Store) EnsureDefaultWorkspaceMember

func (s *Store) EnsureDefaultWorkspaceMember(ctx context.Context, userID string) (store.Workspace, error)

func (*Store) EnsureMessageRouteID added in v0.3.0

func (s *Store) EnsureMessageRouteID(ctx context.Context, userID, rootMessageID string) (store.Message, error)

func (*Store) EnsureThreadRouteID

func (s *Store) EnsureThreadRouteID(ctx context.Context, userID, rootMessageID string) (store.Message, error)

func (*Store) EventCursorExists added in v0.3.0

func (s *Store) EventCursorExists(ctx context.Context, workspaceID, userID, cursor string) (bool, error)

func (*Store) ExportJSON

func (s *Store) ExportJSON(ctx context.Context, writer io.Writer) error

func (*Store) FirstUser

func (s *Store) FirstUser(ctx context.Context) (store.User, error)

func (*Store) GetAppearancePreferences added in v0.3.0

func (s *Store) GetAppearancePreferences(ctx context.Context, userID string) (*store.AppearancePreferences, error)

func (*Store) GetBotTokenAuth

func (s *Store) GetBotTokenAuth(ctx context.Context, token string) (store.BotTokenAuth, error)

func (*Store) GetChannel

func (s *Store) GetChannel(ctx context.Context, channelID, userID string) (store.Channel, error)

func (*Store) GetChannelNotificationPreference added in v0.3.0

func (s *Store) GetChannelNotificationPreference(ctx context.Context, channelID, userID string) (string, error)

func (*Store) GetDirectConversation

func (s *Store) GetDirectConversation(ctx context.Context, conversationID, userID string) (store.DirectConversation, error)

func (*Store) GetMessage

func (s *Store) GetMessage(ctx context.Context, messageID, userID string) (store.Message, error)

func (*Store) GetMessageByNonce added in v0.2.0

func (s *Store) GetMessageByNonce(ctx context.Context, authorID, nonce string) (store.Message, error)

func (*Store) GetOrCreateUserByEmail added in v0.2.1

func (s *Store) GetOrCreateUserByEmail(ctx context.Context, provider, email, displayName string) (store.User, error)

func (*Store) GetSessionUser

func (s *Store) GetSessionUser(ctx context.Context, token string) (store.User, error)

func (*Store) GetSlashCommandForChannel

func (s *Store) GetSlashCommandForChannel(ctx context.Context, channelID, command, requesterID string) (store.SlashCommand, error)

func (*Store) GetThread

func (s *Store) GetThread(ctx context.Context, rootMessageID, userID string, limit int) (store.Message, []store.Message, store.ThreadState, error)

func (*Store) GetThreadLatest added in v0.2.0

func (s *Store) GetThreadLatest(ctx context.Context, rootMessageID, userID string, limit int) (store.Message, []store.Message, store.ThreadState, error)

func (*Store) GetUpload

func (s *Store) GetUpload(ctx context.Context, uploadID, userID string) (store.Upload, error)

func (*Store) GetUploadByNonce added in v0.2.0

func (s *Store) GetUploadByNonce(ctx context.Context, ownerID, nonce string) (store.Upload, error)

func (*Store) GetUser

func (s *Store) GetUser(ctx context.Context, id string) (store.User, error)

func (*Store) GetUserByEmail added in v0.3.0

func (s *Store) GetUserByEmail(ctx context.Context, email string) (store.User, error)

Identity rows keep the casing they were created with, so this folds both sides rather than assuming stored addresses are already normalized.

func (*Store) GetWorkspace

func (s *Store) GetWorkspace(ctx context.Context, workspaceID, userID string) (store.Workspace, error)

func (*Store) HideDirectConversation

func (s *Store) HideDirectConversation(ctx context.Context, conversationID, userID string) error

func (*Store) LatestEventCursor added in v0.2.0

func (s *Store) LatestEventCursor(ctx context.Context, workspaceID, userID string) (string, error)

func (*Store) ListAppInstallations

func (s *Store) ListAppInstallations(ctx context.Context, workspaceID, requesterID string) ([]store.AppInstallation, error)

func (*Store) ListAuditLogEntries

func (s *Store) ListAuditLogEntries(ctx context.Context, workspaceID, requesterID string, limit int) ([]store.AuditLogEntry, error)

func (*Store) ListBotCommands added in v0.2.0

func (s *Store) ListBotCommands(ctx context.Context, workspaceID, requesterID string) ([]store.WorkspaceBotCommand, error)

func (*Store) ListBotTokens

func (s *Store) ListBotTokens(ctx context.Context, botUserID, requesterID string) ([]store.BotToken, error)

func (*Store) ListBotTokensForWorkspace added in v0.2.0

func (s *Store) ListBotTokensForWorkspace(ctx context.Context, workspaceID, botUserID, requesterID string) ([]store.BotToken, error)

func (*Store) ListBots

func (s *Store) ListBots(ctx context.Context, workspaceID, requesterID string) ([]store.BotWithTokens, error)

func (*Store) ListBotsOwnedBy added in v0.2.0

func (s *Store) ListBotsOwnedBy(ctx context.Context, ownerUserID string) ([]store.OwnedBotEntry, error)

func (*Store) ListChannels

func (s *Store) ListChannels(ctx context.Context, workspaceID, userID string) ([]store.Channel, error)

func (*Store) ListConnectedAccounts

func (s *Store) ListConnectedAccounts(ctx context.Context, workspaceID, requesterID string) ([]store.ConnectedAccount, error)

func (*Store) ListDirectConversations

func (s *Store) ListDirectConversations(ctx context.Context, workspaceID, userID string) ([]store.DirectConversation, error)

func (*Store) ListDirectMessages

func (s *Store) ListDirectMessages(ctx context.Context, conversationID, userID string, page store.MessagePageRequest) (store.MessagePage, error)

func (*Store) ListEventDeliveryAttempts

func (s *Store) ListEventDeliveryAttempts(ctx context.Context, subscriptionID, requesterID string, limit int, before string) ([]store.EventDeliveryAttempt, error)

func (*Store) ListEventSubscriptions

func (s *Store) ListEventSubscriptions(ctx context.Context, workspaceID, requesterID string) ([]store.EventSubscription, error)

func (*Store) ListEventSubscriptionsForEvent

func (s *Store) ListEventSubscriptionsForEvent(ctx context.Context, event store.Event) ([]store.EventSubscription, error)

func (*Store) ListEventsAfter

func (s *Store) ListEventsAfter(ctx context.Context, workspaceID, userID, cursor string, limit int) ([]store.Event, error)

func (*Store) ListMessages

func (s *Store) ListMessages(ctx context.Context, channelID, userID string, page store.MessagePageRequest) (store.MessagePage, error)

func (*Store) ListPendingUploadCleanups added in v0.2.0

func (s *Store) ListPendingUploadCleanups(ctx context.Context, limit int) ([]store.PendingUploadCleanup, error)

func (*Store) ListPinnedMessages added in v0.3.0

func (s *Store) ListPinnedMessages(ctx context.Context, channelID, userID string, limit int) ([]store.Message, error)

func (*Store) ListPushNotificationRecipients

func (s *Store) ListPushNotificationRecipients(ctx context.Context, messageID string, mentionedUserIDs []string) ([]store.PushNotificationRecipient, error)

func (*Store) ListSlashCommands

func (s *Store) ListSlashCommands(ctx context.Context, workspaceID, requesterID string) ([]store.SlashCommand, error)

func (*Store) ListTopics

func (s *Store) ListTopics(ctx context.Context, workspaceID, requesterID string) ([]store.Topic, error)

func (*Store) ListWorkspaceMemberPage added in v0.2.0

func (s *Store) ListWorkspaceMemberPage(ctx context.Context, workspaceID, actorUserID string, page store.WorkspaceMemberPageRequest) (store.WorkspaceMemberPage, error)

func (*Store) ListWorkspaceMembers

func (s *Store) ListWorkspaceMembers(ctx context.Context, workspaceID, actorUserID string) ([]store.MemberModeration, error)

func (*Store) ListWorkspaces

func (s *Store) ListWorkspaces(ctx context.Context, userID string) ([]store.Workspace, error)

func (*Store) MarkChannelRead

func (s *Store) MarkChannelRead(ctx context.Context, channelID, userID string, seq int64) (store.ReadReceipt, store.Event, error)

MarkChannelRead upserts the user's read pointer for a channel and emits a `channel.read` event. The pointer is monotonic — calls with a smaller seq are no-ops and return the existing receipt.

func (*Store) MarkDirectRead

func (s *Store) MarkDirectRead(ctx context.Context, conversationID, userID string, seq int64) (store.ReadReceipt, store.Event, error)

MarkDirectRead is the DM analogue of MarkChannelRead.

func (*Store) Migrate

func (s *Store) Migrate(ctx context.Context) (err error)

func (*Store) PinMessage added in v0.3.0

func (s *Store) PinMessage(ctx context.Context, channelID, messageID, userID string) (store.PinnedMessage, store.Event, error)

func (*Store) Ping added in v0.2.0

func (s *Store) Ping(ctx context.Context) error

func (*Store) PruneEvents

func (s *Store) PruneEvents(ctx context.Context, workspaceID string, keepLatest int, before string) (int64, error)

PruneEvents deletes old durable events for a workspace while preserving the newest keepLatest events. At least one retention bound is required so callers cannot accidentally wipe the whole event log with default zero values.

func (*Store) RecordPendingUploadCleanupFailure added in v0.2.0

func (s *Store) RecordPendingUploadCleanupFailure(ctx context.Context, cleanupID, message string) error

func (*Store) ReleaseUploadQuotaReservation

func (s *Store) ReleaseUploadQuotaReservation(ctx context.Context, reservationID, userID string) error

func (*Store) RemoveBotFromWorkspace added in v0.2.0

func (s *Store) RemoveBotFromWorkspace(ctx context.Context, workspaceID, botUserID, requesterID string) error

func (*Store) RemoveReaction

func (s *Store) RemoveReaction(ctx context.Context, input store.CreateReactionInput) (store.Event, error)

func (*Store) ReopenDirectConversation

func (s *Store) ReopenDirectConversation(ctx context.Context, conversationID, userID string) (store.DirectConversation, error)

func (*Store) ReserveUploadQuota

func (s *Store) ReserveUploadQuota(ctx context.Context, workspaceID, userID, nonce string, byteSize int64) (store.UploadQuotaReservation, error)

func (*Store) ResolveLegacyRouteTarget

func (s *Store) ResolveLegacyRouteTarget(ctx context.Context, userID, workspaceID, targetID string) (store.RouteTarget, error)

func (*Store) ResolveRouteTarget

func (s *Store) ResolveRouteTarget(ctx context.Context, userID, workspaceRouteID, targetRouteID string) (store.RouteTarget, error)

func (*Store) RevokeAppInstallation

func (s *Store) RevokeAppInstallation(ctx context.Context, installationID, requesterID string, options store.RevokeAppInstallationOptions) (store.RevokeAppInstallationResult, error)

func (*Store) RevokeBotToken

func (s *Store) RevokeBotToken(ctx context.Context, tokenID, requesterID string) (store.BotToken, error)

func (*Store) RevokeConnectedAccount

func (s *Store) RevokeConnectedAccount(ctx context.Context, accountID, requesterID string) (store.ConnectedAccount, error)

func (*Store) RevokeEventSubscription

func (s *Store) RevokeEventSubscription(ctx context.Context, subscriptionID, requesterID string) (store.EventSubscription, error)

func (*Store) RevokeSlashCommand

func (s *Store) RevokeSlashCommand(ctx context.Context, commandID, requesterID string) (store.SlashCommand, error)

func (*Store) RotateEventSubscriptionSecret added in v0.2.0

func (s *Store) RotateEventSubscriptionSecret(ctx context.Context, subscriptionID, requesterID string) (store.EventSubscription, error)

func (*Store) RotateSlashCommandSecret added in v0.2.0

func (s *Store) RotateSlashCommandSecret(ctx context.Context, commandID, requesterID string) (store.SlashCommand, error)

func (*Store) SearchMessagePage added in v0.2.0

func (s *Store) SearchMessagePage(ctx context.Context, page store.SearchPageRequest) (store.SearchPage, error)

func (*Store) SetBotCommands added in v0.2.0

func (s *Store) SetBotCommands(ctx context.Context, workspaceID, botUserID string, commands []store.BotCommandInput) ([]store.BotCommand, error)

func (*Store) TransferWorkspaceOwnership added in v0.2.0

func (s *Store) TransferWorkspaceOwnership(ctx context.Context, input store.TransferWorkspaceOwnershipInput) (store.Workspace, store.Event, error)

func (*Store) UnpinMessage added in v0.3.0

func (s *Store) UnpinMessage(ctx context.Context, channelID, messageID, userID string) (store.Event, error)

func (*Store) UpdateAppearancePreferences added in v0.3.0

func (s *Store) UpdateAppearancePreferences(ctx context.Context, input store.UpdateAppearancePreferencesInput) (*store.AppearancePreferences, error)

func (*Store) UpdateChannel

func (s *Store) UpdateChannel(ctx context.Context, input store.UpdateChannelInput) (store.Channel, store.Event, error)

func (*Store) UpdateCurrentUser added in v0.3.0

func (s *Store) UpdateCurrentUser(ctx context.Context, input store.UpdateCurrentUserInput) (store.CurrentUserState, error)

func (*Store) UpdateMemberModeration

func (s *Store) UpdateMemberModeration(ctx context.Context, input store.UpdateMemberModerationInput) (store.MemberModeration, store.Event, error)

func (*Store) UpdateMessage

func (s *Store) UpdateMessage(ctx context.Context, input store.UpdateMessageInput) (store.Message, store.Event, error)

func (*Store) UpdateNotificationSettings

func (s *Store) UpdateNotificationSettings(ctx context.Context, input store.UpdateNotificationSettingsInput) (store.NotificationSettings, error)

func (*Store) UpdateUserProfile

func (s *Store) UpdateUserProfile(ctx context.Context, input store.UpdateUserProfileInput) (store.User, error)

func (*Store) UpdateUserProfileAndNotificationSettings

func (s *Store) UpdateUserProfileAndNotificationSettings(ctx context.Context, input store.UpdateUserProfileAndNotificationSettingsInput) (store.User, error)

func (*Store) UpdateWorkspace added in v0.2.0

func (s *Store) UpdateWorkspace(ctx context.Context, input store.UpdateWorkspaceInput) (store.Workspace, store.Event, error)

func (*Store) UploadHasDirectMessageAttachment

func (s *Store) UploadHasDirectMessageAttachment(ctx context.Context, uploadID string) (bool, error)

func (*Store) UploadHasOtherDirectMessageAttachment

func (s *Store) UploadHasOtherDirectMessageAttachment(ctx context.Context, uploadID, messageID string) (bool, error)

func (*Store) UploadQuota

func (s *Store) UploadQuota(ctx context.Context, workspaceID, userID string) (store.UploadQuota, error)

func (*Store) UpsertChannelNotificationSettings added in v0.3.0

func (s *Store) UpsertChannelNotificationSettings(ctx context.Context, input store.ChannelNotificationInput) error

func (*Store) UpsertIdentityUser

func (s *Store) UpsertIdentityUser(ctx context.Context, input store.UpsertIdentityUserInput) (store.User, error)

func (*Store) UserHasNonGuestMembership

func (s *Store) UserHasNonGuestMembership(ctx context.Context, userID string) (bool, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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