store

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 16, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TARGET_TYPE_USER     = "User"
	TARGET_TYPE_TEAM     = "Team"
	TARGET_TYPE_SCHEDULE = "OnCallSchedule"
)

Variables

This section is empty.

Functions

func WithContext

func WithContext(ctx context.Context) context.Context

func WithContextAndDSN

func WithContextAndDSN(ctx context.Context, dsn string) context.Context

Types

type Connection

type Connection interface {
	DBTX

	Begin() (*sql.Tx, error)
	Close() error
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}

type ExtEscalationPolicy

type ExtEscalationPolicy struct {
	ID                string         `json:"id"`
	Name              string         `json:"name"`
	Description       string         `json:"description"`
	TeamID            sql.NullString `json:"team_id"`
	RepeatLimit       int64          `json:"repeat_limit"`
	RepeatInterval    sql.NullString `json:"repeat_interval"`
	HandoffTargetType string         `json:"handoff_target_type"`
	HandoffTargetID   string         `json:"handoff_target_id"`
	Annotations       string         `json:"annotations"`
	ToImport          int64          `json:"to_import"`
}

func (*ExtEscalationPolicy) TFSlug

func (r *ExtEscalationPolicy) TFSlug() string

type ExtEscalationPolicyStep

type ExtEscalationPolicyStep struct {
	ID                 string `json:"id"`
	EscalationPolicyID string `json:"escalation_policy_id"`
	Position           int64  `json:"position"`
	Timeout            string `json:"timeout"`
}

type ExtEscalationPolicyStepTarget

type ExtEscalationPolicyStepTarget struct {
	EscalationPolicyStepID string `json:"escalation_policy_step_id"`
	TargetType             string `json:"target_type"`
	TargetID               string `json:"target_id"`
}

type ExtMembership

type ExtMembership struct {
	UserID string `json:"user_id"`
	TeamID string `json:"team_id"`
}

type ExtSchedule

type ExtSchedule struct {
	ID            string `json:"id"`
	Name          string `json:"name"`
	Description   string `json:"description"`
	Timezone      string `json:"timezone"`
	Strategy      string `json:"strategy"`
	ShiftDuration string `json:"shift_duration"`
	StartTime     string `json:"start_time"`
	HandoffTime   string `json:"handoff_time"`
	HandoffDay    string `json:"handoff_day"`
}

func (*ExtSchedule) TFSlug

func (s *ExtSchedule) TFSlug() string

type ExtScheduleMember

type ExtScheduleMember struct {
	ScheduleID string `json:"schedule_id"`
	UserID     string `json:"user_id"`
}

type ExtScheduleRestriction

type ExtScheduleRestriction struct {
	ScheduleID       string `json:"schedule_id"`
	RestrictionIndex string `json:"restriction_index"`
	StartTime        string `json:"start_time"`
	StartDay         string `json:"start_day"`
	EndTime          string `json:"end_time"`
	EndDay           string `json:"end_day"`
}

type ExtScheduleTeam

type ExtScheduleTeam struct {
	ScheduleID string `json:"schedule_id"`
	TeamID     string `json:"team_id"`
}

type ExtTeam

type ExtTeam struct {
	ID          string         `json:"id"`
	Name        string         `json:"name"`
	Slug        string         `json:"slug"`
	FhTeamID    sql.NullString `json:"fh_team_id"`
	IsGroup     int64          `json:"is_group"`
	ToImport    int64          `json:"to_import"`
	Annotations string         `json:"annotations"`
}

func (*ExtTeam) TFSlug

func (t *ExtTeam) TFSlug() string

type ExtTeamGroup

type ExtTeamGroup struct {
	GroupTeamID  string `json:"group_team_id"`
	MemberTeamID string `json:"member_team_id"`
}

type ExtUser

type ExtUser struct {
	ID          string         `json:"id"`
	Name        string         `json:"name"`
	Email       string         `json:"email"`
	FhUserID    sql.NullString `json:"fh_user_id"`
	Annotations string         `json:"annotations"`
}

func (*ExtUser) FamilyName added in v0.3.0

func (u *ExtUser) FamilyName() string

func (*ExtUser) GivenName added in v0.3.0

func (u *ExtUser) GivenName() string

func (*ExtUser) PrimaryEmail added in v0.3.0

func (u *ExtUser) PrimaryEmail() string

func (*ExtUser) Username added in v0.3.0

func (u *ExtUser) Username() string

type FhTeam

type FhTeam struct {
	ID   string `json:"id"`
	Name string `json:"name"`
	Slug string `json:"slug"`
}

func (*FhTeam) TFSlug

func (t *FhTeam) TFSlug() string

type FhUser

type FhUser struct {
	ID    string `json:"id"`
	Name  string `json:"name"`
	Email string `json:"email"`
}

func (*FhUser) TFSlug

func (u *FhUser) TFSlug() string

type InsertExtEscalationPolicyParams

type InsertExtEscalationPolicyParams struct {
	ID                string         `json:"id"`
	Name              string         `json:"name"`
	Description       string         `json:"description"`
	TeamID            sql.NullString `json:"team_id"`
	RepeatInterval    sql.NullString `json:"repeat_interval"`
	RepeatLimit       int64          `json:"repeat_limit"`
	HandoffTargetType string         `json:"handoff_target_type"`
	HandoffTargetID   string         `json:"handoff_target_id"`
	Annotations       string         `json:"annotations"`
	ToImport          int64          `json:"to_import"`
}

type InsertExtEscalationPolicyStepParams

type InsertExtEscalationPolicyStepParams struct {
	ID                 string `json:"id"`
	EscalationPolicyID string `json:"escalation_policy_id"`
	Position           int64  `json:"position"`
	Timeout            string `json:"timeout"`
}

type InsertExtEscalationPolicyStepTargetParams

type InsertExtEscalationPolicyStepTargetParams struct {
	EscalationPolicyStepID string `json:"escalation_policy_step_id"`
	TargetType             string `json:"target_type"`
	TargetID               string `json:"target_id"`
}

type InsertExtMembershipParams

type InsertExtMembershipParams struct {
	UserID string `json:"user_id"`
	TeamID string `json:"team_id"`
}

type InsertExtScheduleMemberParams

type InsertExtScheduleMemberParams struct {
	ScheduleID string `json:"schedule_id"`
	UserID     string `json:"user_id"`
}

type InsertExtScheduleParams

type InsertExtScheduleParams struct {
	ID            string `json:"id"`
	Name          string `json:"name"`
	Description   string `json:"description"`
	Timezone      string `json:"timezone"`
	Strategy      string `json:"strategy"`
	ShiftDuration string `json:"shift_duration"`
	StartTime     string `json:"start_time"`
	HandoffTime   string `json:"handoff_time"`
	HandoffDay    string `json:"handoff_day"`
}

type InsertExtScheduleRestrictionParams

type InsertExtScheduleRestrictionParams struct {
	ScheduleID       string `json:"schedule_id"`
	RestrictionIndex string `json:"restriction_index"`
	StartTime        string `json:"start_time"`
	StartDay         string `json:"start_day"`
	EndTime          string `json:"end_time"`
	EndDay           string `json:"end_day"`
}

type InsertExtScheduleTeamParams

type InsertExtScheduleTeamParams struct {
	ScheduleID string `json:"schedule_id"`
	TeamID     string `json:"team_id"`
}

type InsertExtTeamGroupParams

type InsertExtTeamGroupParams struct {
	GroupTeamID  string `json:"group_team_id"`
	MemberTeamID string `json:"member_team_id"`
}

type InsertExtTeamParams

type InsertExtTeamParams struct {
	ID          string         `json:"id"`
	Name        string         `json:"name"`
	Slug        string         `json:"slug"`
	IsGroup     int64          `json:"is_group"`
	FhTeamID    sql.NullString `json:"fh_team_id"`
	Annotations string         `json:"annotations"`
}

type InsertExtUserParams

type InsertExtUserParams struct {
	ID          string         `json:"id"`
	Name        string         `json:"name"`
	Email       string         `json:"email"`
	FhUserID    sql.NullString `json:"fh_user_id"`
	Annotations string         `json:"annotations"`
}

type InsertFhTeamParams

type InsertFhTeamParams struct {
	ID   string `json:"id"`
	Name string `json:"name"`
	Slug string `json:"slug"`
}

type InsertFhUserParams

type InsertFhUserParams struct {
	ID    string `json:"id"`
	Name  string `json:"name"`
	Email string `json:"email"`
}

type LinkExtTeamParams

type LinkExtTeamParams struct {
	FhTeamID sql.NullString `json:"fh_team_id"`
	ID       string         `json:"id"`
}

type LinkExtUserParams

type LinkExtUserParams struct {
	FhUserID sql.NullString `json:"fh_user_id"`
	ID       string         `json:"id"`
}

type LinkedTeam

type LinkedTeam struct {
	ID          string         `json:"id"`
	Name        string         `json:"name"`
	Slug        string         `json:"slug"`
	FhTeamID    sql.NullString `json:"fh_team_id"`
	IsGroup     int64          `json:"is_group"`
	ToImport    int64          `json:"to_import"`
	Annotations string         `json:"annotations"`
	FhName      sql.NullString `json:"fh_name"`
	FhSlug      sql.NullString `json:"fh_slug"`
}

func (*LinkedTeam) ExtTeam

func (r *LinkedTeam) ExtTeam() *ExtTeam

func (*LinkedTeam) FhTeam

func (r *LinkedTeam) FhTeam() *FhTeam

func (*LinkedTeam) TFSlug

func (r *LinkedTeam) TFSlug() string

func (*LinkedTeam) ValidName

func (r *LinkedTeam) ValidName() string

type LinkedUser

type LinkedUser struct {
	ID          string         `json:"id"`
	Name        string         `json:"name"`
	Email       string         `json:"email"`
	FhUserID    sql.NullString `json:"fh_user_id"`
	Annotations string         `json:"annotations"`
	FhName      sql.NullString `json:"fh_name"`
	FhEmail     sql.NullString `json:"fh_email"`
}

func (*LinkedUser) TFSlug

func (u *LinkedUser) TFSlug() string

type ListExtTeamMembershipsRow

type ListExtTeamMembershipsRow struct {
	ExtTeam ExtTeam `json:"ext_team"`
	ExtUser ExtUser `json:"ext_user"`
}

type ListGroupExtTeamMembershipsRow

type ListGroupExtTeamMembershipsRow struct {
	ExtTeam ExtTeam `json:"ext_team"`
	ExtUser ExtUser `json:"ext_user"`
}

type ListUsersJoinByEmailRow

type ListUsersJoinByEmailRow struct {
	ExtUser ExtUser `json:"ext_user"`
	FhUser  FhUser  `json:"fh_user"`
}

type Queries

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

func New

func New(db DBTX) *Queries

func UseQueries

func UseQueries(ctx context.Context) *Queries

func (*Queries) DeleteExtEscalationPolicyUnimported

func (q *Queries) DeleteExtEscalationPolicyUnimported(ctx context.Context) error

func (*Queries) DeleteExtTeamUnimported added in v0.5.0

func (q *Queries) DeleteExtTeamUnimported(ctx context.Context) error

func (*Queries) DeleteUnmatchedExtUsers added in v0.3.0

func (q *Queries) DeleteUnmatchedExtUsers(ctx context.Context) error

func (*Queries) GetExtSchedule

func (q *Queries) GetExtSchedule(ctx context.Context, id string) (ExtSchedule, error)

func (*Queries) GetExtTeamAnnotation

func (q *Queries) GetExtTeamAnnotation(ctx context.Context, id string) (string, error)

func (*Queries) GetFhUserByEmail

func (q *Queries) GetFhUserByEmail(ctx context.Context, email string) (FhUser, error)

func (*Queries) GetTeamByExtID

func (q *Queries) GetTeamByExtID(ctx context.Context, id string) (LinkedTeam, error)

func (*Queries) GetUserByExtID

func (q *Queries) GetUserByExtID(ctx context.Context, id string) (LinkedUser, error)

func (*Queries) InsertExtEscalationPolicy

func (q *Queries) InsertExtEscalationPolicy(ctx context.Context, arg InsertExtEscalationPolicyParams) error

func (*Queries) InsertExtEscalationPolicyStep

func (q *Queries) InsertExtEscalationPolicyStep(ctx context.Context, arg InsertExtEscalationPolicyStepParams) error

func (*Queries) InsertExtEscalationPolicyStepTarget

func (q *Queries) InsertExtEscalationPolicyStepTarget(ctx context.Context, arg InsertExtEscalationPolicyStepTargetParams) error

func (*Queries) InsertExtMembership

func (q *Queries) InsertExtMembership(ctx context.Context, arg InsertExtMembershipParams) error

func (*Queries) InsertExtSchedule

func (q *Queries) InsertExtSchedule(ctx context.Context, arg InsertExtScheduleParams) error

func (*Queries) InsertExtScheduleMember

func (q *Queries) InsertExtScheduleMember(ctx context.Context, arg InsertExtScheduleMemberParams) error

func (*Queries) InsertExtScheduleRestriction

func (q *Queries) InsertExtScheduleRestriction(ctx context.Context, arg InsertExtScheduleRestrictionParams) error

func (*Queries) InsertExtScheduleTeam

func (q *Queries) InsertExtScheduleTeam(ctx context.Context, arg InsertExtScheduleTeamParams) error

func (*Queries) InsertExtTeam

func (q *Queries) InsertExtTeam(ctx context.Context, arg InsertExtTeamParams) error

func (*Queries) InsertExtTeamGroup

func (q *Queries) InsertExtTeamGroup(ctx context.Context, arg InsertExtTeamGroupParams) error

func (*Queries) InsertExtUser

func (q *Queries) InsertExtUser(ctx context.Context, arg InsertExtUserParams) error

func (*Queries) InsertFhTeam

func (q *Queries) InsertFhTeam(ctx context.Context, arg InsertFhTeamParams) error

func (*Queries) InsertFhUser

func (q *Queries) InsertFhUser(ctx context.Context, arg InsertFhUserParams) error

func (*Queries) LinkExtTeam

func (q *Queries) LinkExtTeam(ctx context.Context, arg LinkExtTeamParams) error

func (*Queries) LinkExtUser

func (q *Queries) LinkExtUser(ctx context.Context, arg LinkExtUserParams) error

func (*Queries) ListExtEscalationPolicies

func (q *Queries) ListExtEscalationPolicies(ctx context.Context) ([]ExtEscalationPolicy, error)

func (*Queries) ListExtEscalationPolicyStepTargets

func (q *Queries) ListExtEscalationPolicyStepTargets(ctx context.Context, escalationPolicyStepID string) ([]ExtEscalationPolicyStepTarget, error)

func (*Queries) ListExtEscalationPolicySteps

func (q *Queries) ListExtEscalationPolicySteps(ctx context.Context, escalationPolicyID string) ([]ExtEscalationPolicyStep, error)

func (*Queries) ListExtScheduleRestrictionsByExtScheduleID

func (q *Queries) ListExtScheduleRestrictionsByExtScheduleID(ctx context.Context, scheduleID string) ([]ExtScheduleRestriction, error)

func (*Queries) ListExtSchedules

func (q *Queries) ListExtSchedules(ctx context.Context) ([]ExtSchedule, error)

func (*Queries) ListExtSchedulesLikeID

func (q *Queries) ListExtSchedulesLikeID(ctx context.Context, id string) ([]ExtSchedule, error)

func (*Queries) ListExtTeamMemberships

func (q *Queries) ListExtTeamMemberships(ctx context.Context) ([]ListExtTeamMembershipsRow, error)

func (*Queries) ListExtTeams

func (q *Queries) ListExtTeams(ctx context.Context) ([]ExtTeam, error)

func (*Queries) ListExtUsers

func (q *Queries) ListExtUsers(ctx context.Context) ([]ExtUser, error)

func (*Queries) ListFhMembersByExtScheduleID

func (q *Queries) ListFhMembersByExtScheduleID(ctx context.Context, scheduleID string) ([]FhUser, error)

func (*Queries) ListFhMembersByExtTeamID

func (q *Queries) ListFhMembersByExtTeamID(ctx context.Context, id string) ([]FhUser, error)

func (*Queries) ListFhTeams

func (q *Queries) ListFhTeams(ctx context.Context) ([]FhTeam, error)

func (*Queries) ListFhUserAnnotations

func (q *Queries) ListFhUserAnnotations(ctx context.Context, fhUserID sql.NullString) ([]string, error)

func (*Queries) ListFhUsers

func (q *Queries) ListFhUsers(ctx context.Context) ([]FhUser, error)

func (*Queries) ListGroupExtTeamMemberships

func (q *Queries) ListGroupExtTeamMemberships(ctx context.Context) ([]ListGroupExtTeamMembershipsRow, error)

func (*Queries) ListGroupExtTeams

func (q *Queries) ListGroupExtTeams(ctx context.Context) ([]ExtTeam, error)

func (*Queries) ListMemberExtTeams

func (q *Queries) ListMemberExtTeams(ctx context.Context, groupTeamID string) ([]ExtTeam, error)

func (*Queries) ListNonGroupExtTeams

func (q *Queries) ListNonGroupExtTeams(ctx context.Context) ([]ExtTeam, error)

func (*Queries) ListTeams

func (q *Queries) ListTeams(ctx context.Context) ([]LinkedTeam, error)

func (*Queries) ListTeamsByExtScheduleID

func (q *Queries) ListTeamsByExtScheduleID(ctx context.Context, scheduleID string) ([]LinkedTeam, error)

func (*Queries) ListTeamsToImport

func (q *Queries) ListTeamsToImport(ctx context.Context) ([]LinkedTeam, error)

func (*Queries) ListUnmatchedExtUsers

func (q *Queries) ListUnmatchedExtUsers(ctx context.Context) ([]ExtUser, error)

func (*Queries) ListUsersJoinByEmail

func (q *Queries) ListUsersJoinByEmail(ctx context.Context) ([]ListUsersJoinByEmailRow, error)

func (*Queries) MarkAllExtEscalationPolicyToImport

func (q *Queries) MarkAllExtEscalationPolicyToImport(ctx context.Context) error

func (*Queries) MarkExtEscalationPolicyToImport

func (q *Queries) MarkExtEscalationPolicyToImport(ctx context.Context, id string) error

func (*Queries) MarkExtTeamToImport

func (q *Queries) MarkExtTeamToImport(ctx context.Context, id string) error

func (*Queries) UpdateExtEscalationPolicyTeam added in v0.5.0

func (q *Queries) UpdateExtEscalationPolicyTeam(ctx context.Context, arg UpdateExtEscalationPolicyTeamParams) error

func (*Queries) WithTx

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

type Store

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

func FromContext

func FromContext(ctx context.Context) *Store

func NewMemoryStore

func NewMemoryStore() *Store

func NewStore

func NewStore(dsn string) *Store

func (*Store) Close

func (s *Store) Close() error

func (*Store) ExecContext

func (s *Store) ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)

func (*Store) PrepareContext

func (s *Store) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)

func (*Store) QueryContext

func (s *Store) QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error)

func (*Store) QueryRowContext

func (s *Store) QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row

type UpdateExtEscalationPolicyTeamParams added in v0.5.0

type UpdateExtEscalationPolicyTeamParams struct {
	TeamID sql.NullString `json:"team_id"`
	ID     string         `json:"id"`
}

Jump to

Keyboard shortcuts

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