dbtools

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package dbtools provides tools to help with interacting with the database, including all of our utilities for database integration testing

Index

Constants

This section is empty.

Variables

View Source
var ErrDBGetNotificationPreferences = errors.New("an error occurred while fetching the user notification preferences")

ErrDBGetNotificationPreferences is returned when there's an error occurred while fetching the user notification preferences on database

View Source
var ErrDBUpdateNotificationPreferences = errors.New("an error occurred while updating the user notification preferences")

ErrDBUpdateNotificationPreferences is returned when there's an error occurred while updating the user notification preferences on database

View Source
var ErrUnknownRequestKind = errors.New("request kind is unrecognized")

ErrUnknownRequestKind is returned a request kind is unknown

Functions

func AuditApplicationCreated

func AuditApplicationCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.Application) (*models.AuditEvent, error)

AuditApplicationCreated inserts an event representing an application being created

func AuditApplicationDeleted

func AuditApplicationDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.Application) (*models.AuditEvent, error)

AuditApplicationDeleted inserts an event representing an application being deleted

func AuditApplicationTypeCreated

func AuditApplicationTypeCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.ApplicationType) (*models.AuditEvent, error)

AuditApplicationTypeCreated inserts an event representing an application type being created

func AuditApplicationTypeDeleted

func AuditApplicationTypeDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.ApplicationType) (*models.AuditEvent, error)

AuditApplicationTypeDeleted inserts an event representing an application type being deleted

func AuditApplicationTypeUpdated

func AuditApplicationTypeUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, a *models.ApplicationType) (*models.AuditEvent, error)

AuditApplicationTypeUpdated inserts an event representing application type update into the events table

func AuditApplicationUpdated

func AuditApplicationUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, a *models.Application) (*models.AuditEvent, error)

AuditApplicationUpdated inserts an event representing application update into the events table

func AuditExtensionCreated added in v0.2.0

func AuditExtensionCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.Extension) (*models.AuditEvent, error)

AuditExtensionCreated inserts an event representing a extension being created

func AuditExtensionDeleted added in v0.2.0

func AuditExtensionDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.Extension) (*models.AuditEvent, error)

AuditExtensionDeleted inserts an event representing an extension being deleted

func AuditExtensionResourceDefinitionCreated added in v0.2.0

func AuditExtensionResourceDefinitionCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, erd *models.ExtensionResourceDefinition) (*models.AuditEvent, error)

AuditExtensionResourceDefinitionCreated inserts an event representing a extension being created

func AuditExtensionResourceDefinitionDeleted added in v0.2.0

func AuditExtensionResourceDefinitionDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, erd *models.ExtensionResourceDefinition) (*models.AuditEvent, error)

AuditExtensionResourceDefinitionDeleted inserts an event representing a extension being created

func AuditExtensionResourceDefinitionUpdated added in v0.2.0

func AuditExtensionResourceDefinitionUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, a *models.ExtensionResourceDefinition) (*models.AuditEvent, error)

AuditExtensionResourceDefinitionUpdated inserts an event representing a extension being created

func AuditExtensionUpdated added in v0.2.0

func AuditExtensionUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, a *models.Extension) (*models.AuditEvent, error)

AuditExtensionUpdated inserts an event representing a extension being created

func AuditGroupApplicationApproved

func AuditGroupApplicationApproved(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupApplication) ([]*models.AuditEvent, error)

AuditGroupApplicationApproved inserts an event representing group application approval into the events table

func AuditGroupApplicationCreated

func AuditGroupApplicationCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupApplication) (*models.AuditEvent, error)

AuditGroupApplicationCreated inserts an event representing group linking an application into the events table

func AuditGroupApplicationDeleted

func AuditGroupApplicationDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupApplication) (*models.AuditEvent, error)

AuditGroupApplicationDeleted inserts an event representing group unlinking an application into the events table

func AuditGroupApplicationDenied

func AuditGroupApplicationDenied(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, r *models.GroupApplicationRequest) (*models.AuditEvent, error)

AuditGroupApplicationDenied inserts an event representing group application denial into the events table

func AuditGroupApplicationRequestCreated

func AuditGroupApplicationRequestCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, r *models.GroupApplicationRequest) (*models.AuditEvent, error)

AuditGroupApplicationRequestCreated inserts an event representing a group application request into the events table

func AuditGroupApplicationRequestRevoked

func AuditGroupApplicationRequestRevoked(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, r *models.GroupApplicationRequest) (*models.AuditEvent, error)

AuditGroupApplicationRequestRevoked inserts an event representing group application request revokation into the events table

func AuditGroupCreated

func AuditGroupCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, g *models.Group) (*models.AuditEvent, error)

AuditGroupCreated inserts an event representing group creation into the events table

func AuditGroupDeleted

func AuditGroupDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, g *models.Group) (*models.AuditEvent, error)

AuditGroupDeleted inserts an event representing group deletion into the events table

func AuditGroupHierarchyCreated added in v0.1.3

func AuditGroupHierarchyCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupHierarchy) (*models.AuditEvent, error)

AuditGroupHierarchyCreated inserts an event representing group hierarchy creation into the events table

func AuditGroupHierarchyDeleted added in v0.1.3

func AuditGroupHierarchyDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupHierarchy) (*models.AuditEvent, error)

AuditGroupHierarchyDeleted inserts an event representing group hierarchy deletion into the events table

func AuditGroupHierarchyUpdated added in v0.1.3

func AuditGroupHierarchyUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupHierarchy) (*models.AuditEvent, error)

AuditGroupHierarchyUpdated inserts an event representing group hierarchy update into the events table

func AuditGroupMemberDemoted

func AuditGroupMemberDemoted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupMembership) (*models.AuditEvent, error)

AuditGroupMemberDemoted inserts an event representing group member being demoted from admin into the events table

func AuditGroupMemberPromoted

func AuditGroupMemberPromoted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupMembership) (*models.AuditEvent, error)

AuditGroupMemberPromoted inserts an event representing group member being promoted to admin into the events table

func AuditGroupMembershipApproved

func AuditGroupMembershipApproved(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupMembership, kind string) ([]*models.AuditEvent, error)

AuditGroupMembershipApproved inserts an event representing group membership approval into the events table

func AuditGroupMembershipCreated

func AuditGroupMembershipCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupMembership) (*models.AuditEvent, error)

AuditGroupMembershipCreated inserts an event representing group membership creation into the events table

func AuditGroupMembershipDeleted

func AuditGroupMembershipDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupMembership) (*models.AuditEvent, error)

AuditGroupMembershipDeleted inserts an event representing group membership deletion into the events table

func AuditGroupMembershipDenied

func AuditGroupMembershipDenied(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, r *models.GroupMembershipRequest) (*models.AuditEvent, error)

AuditGroupMembershipDenied inserts an event representing group membership denial into the events table

func AuditGroupMembershipRequestCreated

func AuditGroupMembershipRequestCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, r *models.GroupMembershipRequest) (*models.AuditEvent, error)

AuditGroupMembershipRequestCreated inserts an event representing a group membership request into the events table

func AuditGroupMembershipRevoked

func AuditGroupMembershipRevoked(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, r *models.GroupMembershipRequest) (*models.AuditEvent, error)

AuditGroupMembershipRevoked inserts an event representing group membership revokation into the events table

func AuditGroupMembershipUpdated

func AuditGroupMembershipUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, original, m *models.GroupMembership) (*models.AuditEvent, error)

AuditGroupMembershipUpdated inserts an event representing group membership update into the events table

func AuditGroupOrganizationCreated

func AuditGroupOrganizationCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupOrganization) (*models.AuditEvent, error)

AuditGroupOrganizationCreated inserts an event representing group linking an organization into the events table

func AuditGroupOrganizationDeleted

func AuditGroupOrganizationDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, m *models.GroupOrganization) (*models.AuditEvent, error)

AuditGroupOrganizationDeleted inserts an event representing group unlinking an organization into the events table

func AuditGroupUpdated

func AuditGroupUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, g *models.Group) (*models.AuditEvent, error)

AuditGroupUpdated inserts an event representing group update into the events table

func AuditNotificationPreferencesUpdated added in v0.1.5

func AuditNotificationPreferencesUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, userID string, o, a UserNotificationPreferences) (*models.AuditEvent, error)

AuditNotificationPreferencesUpdated inserts an event representing notification preferences update into the events table

func AuditNotificationTargetCreated added in v0.1.5

func AuditNotificationTargetCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.NotificationTarget) (*models.AuditEvent, error)

AuditNotificationTargetCreated inserts an event representing a notification target being created

func AuditNotificationTargetDeleted added in v0.1.5

func AuditNotificationTargetDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.NotificationTarget) (*models.AuditEvent, error)

AuditNotificationTargetDeleted inserts an event representing an notification target being deleted

func AuditNotificationTargetUpdated added in v0.1.5

func AuditNotificationTargetUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, a *models.NotificationTarget) (*models.AuditEvent, error)

AuditNotificationTargetUpdated inserts an event representing notification target update into the events table

func AuditNotificationTypeCreated added in v0.1.5

func AuditNotificationTypeCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.NotificationType) (*models.AuditEvent, error)

AuditNotificationTypeCreated inserts an event representing a notification type being created

func AuditNotificationTypeDeleted added in v0.1.5

func AuditNotificationTypeDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.NotificationType) (*models.AuditEvent, error)

AuditNotificationTypeDeleted inserts an event representing an notification type being deleted

func AuditNotificationTypeUpdated added in v0.1.5

func AuditNotificationTypeUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, a *models.NotificationType) (*models.AuditEvent, error)

AuditNotificationTypeUpdated inserts an event representing notification type update into the events table

func AuditOrganizationCreated

func AuditOrganizationCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o *models.Organization) (*models.AuditEvent, error)

AuditOrganizationCreated inserts an event representing an organization being created

func AuditOrganizationDeleted

func AuditOrganizationDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o *models.Organization) (*models.AuditEvent, error)

AuditOrganizationDeleted inserts an event representing an organization being deleted

func AuditSystemExtensionResourceCreated added in v0.2.0

func AuditSystemExtensionResourceCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.SystemExtensionResource) (*models.AuditEvent, error)

AuditSystemExtensionResourceCreated inserts an event representing an extension resource being created

func AuditSystemExtensionResourceDeleted added in v0.2.0

func AuditSystemExtensionResourceDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.SystemExtensionResource) (*models.AuditEvent, error)

AuditSystemExtensionResourceDeleted inserts an event representing an extension being deleted

func AuditSystemExtensionResourceUpdated added in v0.2.0

func AuditSystemExtensionResourceUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, a *models.SystemExtensionResource) (*models.AuditEvent, error)

AuditSystemExtensionResourceUpdated inserts an event representing a extension being created

func AuditUserCreatedWithActor

func AuditUserCreatedWithActor(ctx context.Context, exec boil.ContextExecutor, pID string, actor, u *models.User) (*models.AuditEvent, error)

AuditUserCreatedWithActor inserts an event representing user creation into the event table

func AuditUserDeleted

func AuditUserDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor, original, new *models.User) (*models.AuditEvent, error)

AuditUserDeleted inserts an event representing user delete into the event table

func AuditUserExtensionResourceCreated added in v0.2.0

func AuditUserExtensionResourceCreated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.UserExtensionResource) (*models.AuditEvent, error)

AuditUserExtensionResourceCreated inserts an event representing an extension resource being created

func AuditUserExtensionResourceDeleted added in v0.2.0

func AuditUserExtensionResourceDeleted(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, a *models.UserExtensionResource) (*models.AuditEvent, error)

AuditUserExtensionResourceDeleted inserts an event representing an extension being deleted

func AuditUserExtensionResourceUpdated added in v0.2.0

func AuditUserExtensionResourceUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor *models.User, o, a *models.UserExtensionResource) (*models.AuditEvent, error)

AuditUserExtensionResourceUpdated inserts an event representing a extension being created

func AuditUserUpdated

func AuditUserUpdated(ctx context.Context, exec boil.ContextExecutor, pID string, actor, original, new *models.User) (*models.AuditEvent, error)

AuditUserUpdated inserts an event representing a user update request into the events table

func CreateOrUpdateNotificationPreferences added in v0.1.5

func CreateOrUpdateNotificationPreferences(
	ctx context.Context,
	user *models.User,
	notificationPreferences UserNotificationPreferences,
	ex boil.ContextExecutor,
	auditID string,
	actor *models.User,
) (*models.AuditEvent, error)

CreateOrUpdateNotificationPreferences updates a user's notification preferences, or creates the preferences if not exists

func HierarchyWouldCreateCycle added in v0.1.3

func HierarchyWouldCreateCycle(ctx context.Context, db boil.ContextExecutor, parentGroupID, memberGroupID string) (bool, error)

HierarchyWouldCreateCycle returns true if a given new parent->member relationship would create a cycle in the database

func RefreshNotificationDefaults added in v0.1.5

func RefreshNotificationDefaults(ctx context.Context, ex boil.ContextExecutor) (err error)

RefreshNotificationDefaults refreshes the notification_defaults materialized view

func RegisterHooks

func RegisterHooks()

RegisterHooks adds any hooks that are configured to the models library

func SetApplicationSlug

func SetApplicationSlug(a *models.Application)

SetApplicationSlug assigns an Application model a slug from the Application name

func SetApplicationTypeSlug

func SetApplicationTypeSlug(a *models.ApplicationType)

SetApplicationTypeSlug assigns an ApplicationType model a slug from the ApplicationType name

func SetGroupSlug

func SetGroupSlug(g *models.Group)

SetGroupSlug assigns a Group model a slug from the Group name

func SetOrganizationSlug

func SetOrganizationSlug(o *models.Organization)

SetOrganizationSlug assigns an Organization model a slug from the Organization name

Types

type EnumeratedMembership added in v0.1.1

type EnumeratedMembership struct {
	GroupID        string
	Group          *models.Group
	UserID         string
	User           *models.User
	IsAdmin        bool
	ExpiresAt      null.Time
	AdminExpiresAt null.Time
	Direct         bool
}

EnumeratedMembership represents a single user-to-group membership, which may be direct or indirect

func FindMemberDiff added in v0.1.3

func FindMemberDiff(before, after []EnumeratedMembership) []EnumeratedMembership

FindMemberDiff finds members present in the second EnumeratedMembership which are not present in the first

func GetAllGroupMemberships added in v0.1.1

func GetAllGroupMemberships(ctx context.Context, db boil.ContextExecutor, shouldPopulateAllModels bool) ([]EnumeratedMembership, error)

GetAllGroupMemberships returns a fully enumerated list of all memberships in the database, optionally with sqlboiler's generated models populated (use with caution, potentially lots of data)

func GetMembersOfGroup added in v0.1.1

func GetMembersOfGroup(ctx context.Context, db boil.ContextExecutor, groupID string, shouldPopulateAllModels bool) ([]EnumeratedMembership, error)

GetMembersOfGroup returns a fully enumerated list of memberships in a group, optionally with sqlboiler's generated models populated

func GetMembershipsForUser added in v0.1.1

func GetMembershipsForUser(ctx context.Context, db boil.ContextExecutor, userID string, shouldPopulateAllModels bool) ([]EnumeratedMembership, error)

GetMembershipsForUser returns a fully enumerated list of memberships for a user, optionally with sqlboiler's generated models populated

type UserNotificationPreference added in v0.1.5

type UserNotificationPreference struct {
	NotificationType string `json:"notification_type" boil:"notification_type"`
	Enabled          *bool  `json:"enabled"`

	NotificationTargets UserNotificationPreferenceTargets `json:"notification_targets"`
}

UserNotificationPreference is the user notification preference response

type UserNotificationPreferenceTarget added in v0.1.5

type UserNotificationPreferenceTarget struct {
	Target  string `json:"target"`
	Enabled *bool  `json:"enabled"`
}

UserNotificationPreferenceTarget is the user notification target response

type UserNotificationPreferenceTargets added in v0.1.5

type UserNotificationPreferenceTargets []*UserNotificationPreferenceTarget

UserNotificationPreferenceTargets is an alias for user notification target slice

type UserNotificationPreferences added in v0.1.5

type UserNotificationPreferences []*UserNotificationPreference

UserNotificationPreferences is an alias for user notification preference slice

func GetNotificationPreferences added in v0.1.5

func GetNotificationPreferences(ctx context.Context, uid string, ex boil.ContextExecutor, withDefaults bool) (UserNotificationPreferences, error)

GetNotificationPreferences fetch a user's notification preferences from the governor DB, this function only gets rules the user had modified if `withDefaults` is false

Jump to

Keyboard shortcuts

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