// Package service add by blacknc <blacknc@163.com> at 2023/09/21 15:45:59
package service

import (
	"context"
	"dataservices/internal/entity"
	"dataservices/internal/repository"
	"encoding/json"
)

func CreateSampleDataAppTask(ctx context.Context, dataappID uint64, createdBy string) error {
	return createCommonTask(ctx, entity.CommonTaskTypeSampleData, dataappID, nil, createdBy)
}

func createCommonTask(ctx context.Context, taskType string, eventID uint64, content any, createdBy string) error {
	var contentBytes []byte
	if content != nil {
		contentBytes, _ = json.Marshal(content)
	}
	task := entity.CommonTask{
		TaskType:  taskType,
		EventID:   eventID,
		Content:   string(contentBytes),
		Status:    entity.CommonTaskStatusPending,
		CreatedBy: createdBy,
	}
	return repository.CreateCommonTask(ctx, &task)
}
