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
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 ¶
- func InitDB(ctx context.Context, config Config) (*sql.DB, error)
- type AdminRepository
- func (r *AdminRepository) Close() error
- func (r *AdminRepository) ListDocumentsWithCounts(ctx context.Context) ([]DocumentAgg, error)
- func (r *AdminRepository) ListSignaturesByDoc(ctx context.Context, docID string) ([]*models.Signature, error)
- func (r *AdminRepository) VerifyDocumentChainIntegrity(ctx context.Context, docID string) (*ChainIntegrityResult, error)
- type ChainIntegrityResult
- type Config
- type DocumentAgg
- type DocumentRepository
- func (r *DocumentRepository) Create(ctx context.Context, docID string, input models.DocumentInput, ...) (*models.Document, error)
- func (r *DocumentRepository) CreateOrUpdate(ctx context.Context, docID string, input models.DocumentInput, ...) (*models.Document, error)
- func (r *DocumentRepository) Delete(ctx context.Context, docID string) error
- func (r *DocumentRepository) GetByDocID(ctx context.Context, docID string) (*models.Document, error)
- func (r *DocumentRepository) List(ctx context.Context, limit, offset int) ([]*models.Document, error)
- func (r *DocumentRepository) Update(ctx context.Context, docID string, input models.DocumentInput) (*models.Document, error)
- type ExpectedSignerRepository
- func (r *ExpectedSignerRepository) AddExpected(ctx context.Context, docID string, contacts []models.ContactInfo, ...) error
- func (r *ExpectedSignerRepository) GetStats(ctx context.Context, docID string) (*models.DocCompletionStats, error)
- func (r *ExpectedSignerRepository) IsExpected(ctx context.Context, docID, email string) (bool, error)
- func (r *ExpectedSignerRepository) ListByDocID(ctx context.Context, docID string) ([]*models.ExpectedSigner, error)
- func (r *ExpectedSignerRepository) ListWithStatusByDocID(ctx context.Context, docID string) ([]*models.ExpectedSignerWithStatus, error)
- func (r *ExpectedSignerRepository) Remove(ctx context.Context, docID, email string) error
- func (r *ExpectedSignerRepository) RemoveAllForDoc(ctx context.Context, docID string) error
- type ReminderRepository
- func (r *ReminderRepository) GetLastReminderByEmail(ctx context.Context, docID, email string) (*models.ReminderLog, error)
- func (r *ReminderRepository) GetReminderCount(ctx context.Context, docID, email string) (int, error)
- func (r *ReminderRepository) GetReminderHistory(ctx context.Context, docID string) ([]*models.ReminderLog, error)
- func (r *ReminderRepository) GetReminderStats(ctx context.Context, docID string) (*models.ReminderStats, error)
- func (r *ReminderRepository) LogReminder(ctx context.Context, log *models.ReminderLog) error
- type SignatureRepository
- func (r *SignatureRepository) CheckUserSignatureStatus(ctx context.Context, docID, userIdentifier string) (bool, error)
- func (r *SignatureRepository) Create(ctx context.Context, signature *models.Signature) error
- func (r *SignatureRepository) ExistsByDocAndUser(ctx context.Context, docID, userSub string) (bool, error)
- func (r *SignatureRepository) GetAllSignaturesOrdered(ctx context.Context) ([]*models.Signature, error)
- func (r *SignatureRepository) GetByDoc(ctx context.Context, docID string) ([]*models.Signature, error)
- func (r *SignatureRepository) GetByDocAndUser(ctx context.Context, docID, userSub string) (*models.Signature, error)
- func (r *SignatureRepository) GetByUser(ctx context.Context, userSub string) ([]*models.Signature, error)
- func (r *SignatureRepository) GetLastSignature(ctx context.Context, docID string) (*models.Signature, error)
- func (r *SignatureRepository) UpdatePrevHash(ctx context.Context, id int64, prevHash *string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 DocumentAgg ¶
type DocumentAgg struct {
DocID string `json:"doc_id"`
Count int `json:"count"` // Total signatures
ExpectedCount int `json:"expected_count"` // Nombre de signataires attendus
SignedCount int `json:"signed_count"` // Signatures attendues signées
UnexpectedCount int `json:"unexpected_count"` // Signatures non attendues
}
type DocumentRepository ¶ added in v1.1.3
type DocumentRepository struct {
// contains filtered or unexported fields
}
DocumentRepository handles document metadata persistence
func NewDocumentRepository ¶ added in v1.1.3
func NewDocumentRepository(db *sql.DB) *DocumentRepository
NewDocumentRepository creates a new DocumentRepository
func (*DocumentRepository) Create ¶ added in v1.1.3
func (r *DocumentRepository) Create(ctx context.Context, docID string, input models.DocumentInput, createdBy string) (*models.Document, error)
Create creates a new document metadata entry
func (*DocumentRepository) CreateOrUpdate ¶ added in v1.1.3
func (r *DocumentRepository) CreateOrUpdate(ctx context.Context, docID string, input models.DocumentInput, createdBy string) (*models.Document, error)
CreateOrUpdate creates or updates document metadata
func (*DocumentRepository) Delete ¶ added in v1.1.3
func (r *DocumentRepository) Delete(ctx context.Context, docID string) error
Delete deletes document metadata
func (*DocumentRepository) GetByDocID ¶ added in v1.1.3
func (r *DocumentRepository) GetByDocID(ctx context.Context, docID string) (*models.Document, error)
GetByDocID retrieves document metadata by document ID
type ExpectedSignerRepository ¶ added in v1.1.3
type ExpectedSignerRepository struct {
// contains filtered or unexported fields
}
ExpectedSignerRepository handles database operations for expected signers
func NewExpectedSignerRepository ¶ added in v1.1.3
func NewExpectedSignerRepository(db *sql.DB) *ExpectedSignerRepository
NewExpectedSignerRepository creates a new expected signer repository
func (*ExpectedSignerRepository) AddExpected ¶ added in v1.1.3
func (r *ExpectedSignerRepository) AddExpected(ctx context.Context, docID string, contacts []models.ContactInfo, addedBy string) error
AddExpected adds multiple expected signers for a document (batch insert with conflict handling)
func (*ExpectedSignerRepository) GetStats ¶ added in v1.1.3
func (r *ExpectedSignerRepository) GetStats(ctx context.Context, docID string) (*models.DocCompletionStats, error)
GetStats returns completion statistics for a document
func (*ExpectedSignerRepository) IsExpected ¶ added in v1.1.3
func (r *ExpectedSignerRepository) IsExpected(ctx context.Context, docID, email string) (bool, error)
IsExpected checks if an email is expected for a document
func (*ExpectedSignerRepository) ListByDocID ¶ added in v1.1.3
func (r *ExpectedSignerRepository) ListByDocID(ctx context.Context, docID string) ([]*models.ExpectedSigner, error)
ListByDocID returns all expected signers for a document
func (*ExpectedSignerRepository) ListWithStatusByDocID ¶ added in v1.1.3
func (r *ExpectedSignerRepository) ListWithStatusByDocID(ctx context.Context, docID string) ([]*models.ExpectedSignerWithStatus, error)
ListWithStatusByDocID returns expected signers with their signature status
func (*ExpectedSignerRepository) Remove ¶ added in v1.1.3
func (r *ExpectedSignerRepository) Remove(ctx context.Context, docID, email string) error
Remove removes an expected signer from a document
func (*ExpectedSignerRepository) RemoveAllForDoc ¶ added in v1.1.3
func (r *ExpectedSignerRepository) RemoveAllForDoc(ctx context.Context, docID string) error
RemoveAllForDoc removes all expected signers for a document
type ReminderRepository ¶ added in v1.1.3
type ReminderRepository struct {
// contains filtered or unexported fields
}
ReminderRepository handles database operations for reminder logs
func NewReminderRepository ¶ added in v1.1.3
func NewReminderRepository(db *sql.DB) *ReminderRepository
NewReminderRepository creates a new reminder repository
func (*ReminderRepository) GetLastReminderByEmail ¶ added in v1.1.3
func (r *ReminderRepository) GetLastReminderByEmail(ctx context.Context, docID, email string) (*models.ReminderLog, error)
GetLastReminderByEmail returns the last reminder sent to an email for a document
func (*ReminderRepository) GetReminderCount ¶ added in v1.1.3
func (r *ReminderRepository) GetReminderCount(ctx context.Context, docID, email string) (int, error)
GetReminderCount returns the count of successfully sent reminders for an email
func (*ReminderRepository) GetReminderHistory ¶ added in v1.1.3
func (r *ReminderRepository) GetReminderHistory(ctx context.Context, docID string) ([]*models.ReminderLog, error)
GetReminderHistory returns all reminder logs for a document
func (*ReminderRepository) GetReminderStats ¶ added in v1.1.3
func (r *ReminderRepository) GetReminderStats(ctx context.Context, docID string) (*models.ReminderStats, error)
GetReminderStats returns reminder statistics for a document
func (*ReminderRepository) LogReminder ¶ added in v1.1.3
func (r *ReminderRepository) LogReminder(ctx context.Context, log *models.ReminderLog) error
LogReminder logs a reminder email attempt
type SignatureRepository ¶
type SignatureRepository struct {
// contains filtered or unexported fields
}
func NewSignatureRepository ¶
func NewSignatureRepository(db *sql.DB) *SignatureRepository