repository

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package repository 는 알림 채널과 발송 이력의 Postgres 구현이다.

Index

Constants

This section is empty.

Variables

View Source
var ErrEncryptionKeyMissing = errors.New("ENCRYPTION_KEY 가 없거나 32바이트가 아닙니다 — 알림 채널의 비밀을 암호화할 수 없습니다")

ErrEncryptionKeyMissing 는 비밀을 저장·복원하려는데 ENCRYPTION_KEY 가 없거나 32바이트가 아닐 때다.

Functions

This section is empty.

Types

type MemoryChannelRepository

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

MemoryChannelRepository 는 DB 없이 도는 테스트용 채널 저장소다.

func NewMemoryChannelRepository

func NewMemoryChannelRepository() *MemoryChannelRepository

func (*MemoryChannelRepository) Create

func (*MemoryChannelRepository) Delete

func (r *MemoryChannelRepository) Delete(_ context.Context, orgID, id string) error

func (*MemoryChannelRepository) Get

func (*MemoryChannelRepository) List

func (*MemoryChannelRepository) Update

type MemoryDeliveryRepository

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

MemoryDeliveryRepository 는 DB 없이 도는 테스트용 발송 이력이다.

func NewMemoryDeliveryRepository

func NewMemoryDeliveryRepository() *MemoryDeliveryRepository

func (*MemoryDeliveryRepository) List

func (r *MemoryDeliveryRepository) List(_ context.Context, orgID string, limit int) ([]*domain.Delivery, error)

func (*MemoryDeliveryRepository) Record

type PostgresChannelRepository

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

PostgresChannelRepository 는 notification_configs 다. 비밀은 secret_encrypted 에 암호화해 둔다.

func NewPostgresChannelRepository

func NewPostgresChannelRepository(pool *pgxpool.Pool, encryptionKey []byte) *PostgresChannelRepository

func (*PostgresChannelRepository) Create

func (*PostgresChannelRepository) Delete

func (r *PostgresChannelRepository) Delete(ctx context.Context, orgID, id string) error

func (*PostgresChannelRepository) Get

func (r *PostgresChannelRepository) Get(ctx context.Context, orgID, id string) (*domain.Channel, error)

func (*PostgresChannelRepository) List

func (*PostgresChannelRepository) MigrateLegacySecrets

func (r *PostgresChannelRepository) MigrateLegacySecrets(ctx context.Context) (int, error)

MigrateLegacySecrets 는 000096 전에 config 에 평문으로 저장된 비밀을 secret_encrypted 로 옮겨 암호화하고 config 에서 지운다. 옮긴 행 수를 돌려준다. 키가 없으면 아무것도 하지 않는다.

func (*PostgresChannelRepository) Update

type PostgresDeliveryRepository

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

PostgresDeliveryRepository 는 notification_history 다.

func NewPostgresDeliveryRepository

func NewPostgresDeliveryRepository(pool *pgxpool.Pool) *PostgresDeliveryRepository

func (*PostgresDeliveryRepository) List

func (r *PostgresDeliveryRepository) List(ctx context.Context, orgID string, limit int) ([]*domain.Delivery, error)

func (*PostgresDeliveryRepository) Record

Jump to

Keyboard shortcuts

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