package persistence

import (
	"database/sql/driver"

	"github.com/nexuscrm/shared/pkg/constants"
)

func systemObjectRowValues(id, apiName string, readSource interface{}) []driver.Value {
	values := []driver.Value{
		id,
		apiName,
		string(constants.TableTypeStandardObject),
		apiName,
		apiName + "s",
		nil,
		nil,
		nil,
		nil,
		false,
		false,
		true,
		string(constants.SharingModelPrivate),
		false,
		nil,
		nil,
		nil,
		nil,
		nil,
		nil,
		nil, // DisplayNameField
		nil,
		false,
		nil,
		false,
		nil,
		false,
		nil,
		nil,
		nil,
		nil,
		nil,
		nil,
		nil,
		false,
		false,
		nil,
		false,
		readSource,
	}
	if len(values) != len(systemObjectColumns()) {
		panic("systemObjectRowValues out of sync with systemObjectColumns")
	}
	return values
}
