package mysql

import (
	"context"

	pchv1 "github.com/pingcap-inc/pchub/model/v1"
	"gorm.io/gorm"
)

type cloudResource struct {
	db *gorm.DB
}

func newCloudResource(ds *datastore) *cloudResource {
	return &cloudResource{db: ds.db}
}

func (c *cloudResource) ListAllProj(ctx context.Context) ([]pchv1.CloudResource, error) {
	var records []pchv1.CloudResource
	err := c.db.Preload("Owner").Preload("Department").Preload("Provider").Find(&records).Error
	return records, err
}

func (c *cloudResource) ListAllProjWithHistory(ctx context.Context) ([]pchv1.CloudResource, error) {
	var records []pchv1.CloudResource
	err := c.db.Unscoped().Preload("Owner").Preload("Department").Preload("Provider").Find(&records).Error
	return records, err
}
