database

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2025 License: AGPL-3.0, AGPL-3.0-or-later Imports: 7 Imported by: 0

Documentation

Overview

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-License-Identifier: AGPL-3.0-or-later

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitDB

func InitDB(ctx context.Context, config Config) (*sql.DB, error)

Types

type AdminRepository

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

AdminRepository provides read-only access for admin operations

func NewAdminRepository

func NewAdminRepository(db *sql.DB) *AdminRepository

func (*AdminRepository) Close

func (r *AdminRepository) Close() error

Close closes the database connection

func (*AdminRepository) ListDocumentsWithCounts

func (r *AdminRepository) ListDocumentsWithCounts(ctx context.Context) ([]DocumentAgg, error)

ListDocumentsWithCounts returns all documents with their signature counts

func (*AdminRepository) ListSignaturesByDoc

func (r *AdminRepository) ListSignaturesByDoc(ctx context.Context, docID string) ([]*models.Signature, error)

ListSignaturesByDoc returns all signatures for a specific document

func (*AdminRepository) VerifyDocumentChainIntegrity

func (r *AdminRepository) VerifyDocumentChainIntegrity(ctx context.Context, docID string) (*ChainIntegrityResult, error)

VerifyDocumentChainIntegrity vérifie l'intégrité de la chaîne pour un document donné

type ChainIntegrityResult

type ChainIntegrityResult struct {
	IsValid     bool     `json:"is_valid"`
	TotalSigs   int      `json:"total_signatures"`
	ValidSigs   int      `json:"valid_signatures"`
	InvalidSigs int      `json:"invalid_signatures"`
	Errors      []string `json:"errors,omitempty"`
	DocID       string   `json:"doc_id"`
}

ChainIntegrityResult contient le résultat de la vérification d'intégrité

type Config

type Config struct {
	DSN string
}

type DocumentAgg

type DocumentAgg struct {
	DocID string `json:"doc_id"`
	Count int    `json:"count"`
}

type SignatureRepository

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

func NewSignatureRepository

func NewSignatureRepository(db *sql.DB) *SignatureRepository

func (*SignatureRepository) CheckUserSignatureStatus

func (r *SignatureRepository) CheckUserSignatureStatus(ctx context.Context, docID, userIdentifier string) (bool, error)

func (*SignatureRepository) Create

func (r *SignatureRepository) Create(ctx context.Context, signature *models.Signature) error

func (*SignatureRepository) ExistsByDocAndUser

func (r *SignatureRepository) ExistsByDocAndUser(ctx context.Context, docID, userSub string) (bool, error)

func (*SignatureRepository) GetAllSignaturesOrdered

func (r *SignatureRepository) GetAllSignaturesOrdered(ctx context.Context) ([]*models.Signature, error)

func (*SignatureRepository) GetByDoc

func (r *SignatureRepository) GetByDoc(ctx context.Context, docID string) ([]*models.Signature, error)

func (*SignatureRepository) GetByDocAndUser

func (r *SignatureRepository) GetByDocAndUser(ctx context.Context, docID, userSub string) (*models.Signature, error)

func (*SignatureRepository) GetByUser

func (r *SignatureRepository) GetByUser(ctx context.Context, userSub string) ([]*models.Signature, error)

func (*SignatureRepository) GetLastSignature

func (r *SignatureRepository) GetLastSignature(ctx context.Context, docID string) (*models.Signature, error)

func (*SignatureRepository) UpdatePrevHash

func (r *SignatureRepository) UpdatePrevHash(ctx context.Context, id int64, prevHash *string) error

Jump to

Keyboard shortcuts

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