// Code generated by apbr generate. DO NOT EDIT.
// versions:
// 	apbr generate v1.2

//go:build !codeanalysis

package model

import "github.com/google/uuid"
import "time"

type CronJob struct {
	Id                 *uuid.UUID           `json:"id,omitempty"`
	Source             string               `json:"source,omitempty"`
	ContentFormat      CronJobContentFormat `json:"contentFormat,omitempty"`
	Annotations        map[string]string    `json:"annotations,omitempty"`
	LastExecutionTime  *time.Time           `json:"lastExecutionTime,omitempty"`
	LastExecutionError *string              `json:"lastExecutionError,omitempty"`
	Name               string               `json:"name,omitempty"`
	Expression         string               `json:"expression,omitempty"`
	Language           CronJobLanguage      `json:"language,omitempty"`
	Version            int32                `json:"version,omitempty"`
	AuditData          *CronJobAuditData    `json:"auditData,omitempty"`
}

func (s CronJob) GetId() *uuid.UUID {
	return s.Id
}
func (s CronJob) GetSource() string {
	return s.Source
}
func (s CronJob) GetContentFormat() CronJobContentFormat {
	return s.ContentFormat
}
func (s CronJob) GetAnnotations() map[string]string {
	return s.Annotations
}
func (s CronJob) GetLastExecutionTime() *time.Time {
	return s.LastExecutionTime
}
func (s CronJob) GetLastExecutionError() *string {
	return s.LastExecutionError
}
func (s CronJob) GetName() string {
	return s.Name
}
func (s CronJob) GetExpression() string {
	return s.Expression
}
func (s CronJob) GetLanguage() CronJobLanguage {
	return s.Language
}
func (s CronJob) GetVersion() int32 {
	return s.Version
}
func (s CronJob) GetAuditData() *CronJobAuditData {
	return s.AuditData
}

type CronJobAuditData struct {
	CreatedBy *string    `json:"createdBy,omitempty"`
	UpdatedBy *string    `json:"updatedBy,omitempty"`
	CreatedOn *time.Time `json:"createdOn,omitempty"`
	UpdatedOn *time.Time `json:"updatedOn,omitempty"`
}

func (s CronJobAuditData) GetCreatedBy() *string {
	return s.CreatedBy
}
func (s CronJobAuditData) GetUpdatedBy() *string {
	return s.UpdatedBy
}
func (s CronJobAuditData) GetCreatedOn() *time.Time {
	return s.CreatedOn
}
func (s CronJobAuditData) GetUpdatedOn() *time.Time {
	return s.UpdatedOn
}

type CronJobContentFormat string

const (
	CronJobContentFormat_TEXT  CronJobContentFormat = "TEXT"
	CronJobContentFormat_TAR   CronJobContentFormat = "TAR"
	CronJobContentFormat_TARGZ CronJobContentFormat = "TAR_GZ"
)

type CronJobLanguage string

const (
	CronJobLanguage_JAVASCRIPT CronJobLanguage = "JAVASCRIPT"
	CronJobLanguage_TYPESCRIPT CronJobLanguage = "TYPESCRIPT"
)
