retention

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package retention provides data retention policy management

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	MaxDays int `json:"max_days"`
}

type Manager

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

func NewManager

func NewManager(maxDays int) *Manager

func (*Manager) GetMaxDays

func (m *Manager) GetMaxDays() int

func (*Manager) SetMaxDays

func (m *Manager) SetMaxDays(days int)

type Policy

type Policy struct {
	ID                  string
	Name                string
	Description         string
	RetentionPeriod     time.Duration
	DataType            string
	AutoDelete          bool
	ArchiveBeforeDelete bool
	CreatedAt           time.Time
	UpdatedAt           time.Time
}

Policy represents a data retention policy

func StandardPolicies

func StandardPolicies() []*Policy

StandardPolicies returns standard retention policies

type RetentionItem

type RetentionItem struct {
	ID        string
	PolicyID  string
	CreatedAt time.Time
	Data      interface{}
}

RetentionItem represents an item subject to retention

type RetentionManager

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

RetentionManager manages data retention policies

func NewRetentionManager

func NewRetentionManager() *RetentionManager

NewRetentionManager creates a new retention manager

func (*RetentionManager) AddPolicy

func (rm *RetentionManager) AddPolicy(policy *Policy) error

AddPolicy adds a retention policy

func (*RetentionManager) GetExpiredItems

func (rm *RetentionManager) GetExpiredItems(items []RetentionItem) []RetentionItem

GetExpiredItems returns items that are expired

func (*RetentionManager) GetPolicy

func (rm *RetentionManager) GetPolicy(id string) (*Policy, error)

GetPolicy returns a policy by ID

func (*RetentionManager) IsExpired

func (rm *RetentionManager) IsExpired(policyID string, createdAt time.Time) (bool, error)

IsExpired checks if data is expired based on policy

Jump to

Keyboard shortcuts

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