package repository

import (
	"context"

	"gorm.io/gorm"

	caasmmodel "security-center-backend/internal/modules/caasm/model"
)

type RelationshipRepository interface {
	ListAll(ctx context.Context) ([]caasmmodel.AssetRelationship, error)
}

type relationshipRepository struct {
	db *gorm.DB
}

func NewRelationshipRepository(db *gorm.DB) RelationshipRepository {
	return &relationshipRepository{db: db}
}

func (r *relationshipRepository) ListAll(ctx context.Context) ([]caasmmodel.AssetRelationship, error) {
	var items []caasmmodel.AssetRelationship
	err := r.db.WithContext(ctx).Find(&items).Error
	return items, err
}
