// Code generated by cmd/codegen. DO NOT EDIT.
// Source: internal/bootstrap/system_tables.json
// Generated at: 2026-01-01T00:00:00Z

//go:generate go run ../../../cmd/codegen

package models

import (
	"encoding/json"
	"time"
)

// Ensure imports are used
var (
	_ json.RawMessage
	_ time.Time
)

// AppMenuItem represents the AppMenuItem table (generated).
// Navigation items for App Launcher
type AppMenuItem struct {
	ID               string    `json:"Id"`
	Label            string    `json:"Label"`
	Description      *string   `json:"Description,omitempty"`
	StartURL         string    `json:"StartUrl"`
	Type             string    `json:"Type"`
	IsVisible        bool      `json:"IsVisible"`
	SortOrder        int       `json:"SortOrder"`
	AppID            string    `json:"AppId"`
	Icon             string    `json:"Icon"`
	Color            string    `json:"Color"`
	IsDeleted        bool      `json:"IsDeleted"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for AppMenuItem.
func (AppMenuItem) GetTableName() string {
	return "AppMenuItem"
}

// Dashboard represents the Dashboard table (generated).
// Dashboard Definitions
type Dashboard struct {
	ID               string     `json:"Id"`
	Name             string     `json:"Name"`
	DeveloperName    string     `json:"DeveloperName"`
	Description      *string    `json:"Description,omitempty"`
	FolderID         *string    `json:"FolderId,omitempty"`
	LayoutType       string     `json:"LayoutType"`
	FilterMode       *string    `json:"FilterMode,omitempty"`
	LayoutMode       *string    `json:"LayoutMode,omitempty"`
	StartDate        *time.Time `json:"StartDate,omitempty"`
	EndDate          *time.Time `json:"EndDate,omitempty"`
	DateRangeType    *string    `json:"DateRangeType,omitempty"`
	DashboardType    *string    `json:"DashboardType,omitempty"`
	RunningUserID    *string    `json:"RunningUserId,omitempty"`
	IsDeleted        bool       `json:"IsDeleted"`
	CreatedDate      time.Time  `json:"CreatedDate"`
	LastModifiedDate time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for Dashboard.
func (Dashboard) GetTableName() string {
	return "Dashboard"
}

// DashboardComponent represents the DashboardComponent table (generated).
// Dashboard Widgets
type DashboardComponent struct {
	ID               string          `json:"Id"`
	DashboardID      string          `json:"DashboardId"`
	ReportID         *string         `json:"ReportId,omitempty"`
	Type             string          `json:"Type"`
	Title            *string         `json:"Title,omitempty"`
	Config           json.RawMessage `json:"Config,omitempty"`
	IsDeleted        bool            `json:"IsDeleted"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for DashboardComponent.
func (DashboardComponent) GetTableName() string {
	return "DashboardComponent"
}

// FieldPermissions represents the FieldPermissions table (generated).
// Field permissions for profiles
type FieldPermissions struct {
	ID               string    `json:"Id"`
	ParentID         string    `json:"ParentId"`
	SobjectType      string    `json:"SobjectType"`
	Field            string    `json:"Field"`
	PermissionsRead  bool      `json:"PermissionsRead"`
	PermissionsEdit  bool      `json:"PermissionsEdit"`
	IsDeleted        bool      `json:"IsDeleted"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for FieldPermissions.
func (FieldPermissions) GetTableName() string {
	return "FieldPermissions"
}

// FolderShare represents the FolderShare table (generated).
// Folder sharing permissions (Salesforce Analytics Folders API)
type FolderShare struct {
	ID               string    `json:"Id"`
	FolderID         string    `json:"FolderId"`
	SharedToID       string    `json:"SharedToId"`
	SharedToType     string    `json:"SharedToType"`
	AccessLevel      string    `json:"AccessLevel"`
	CreatedByID      *string   `json:"CreatedById,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for FolderShare.
func (FolderShare) GetTableName() string {
	return "FolderShare"
}

// Group represents the Group table (generated).
// Groups and Queues
type Group struct {
	ID               string    `json:"Id"`
	Name             string    `json:"Name"`
	DeveloperName    *string   `json:"DeveloperName,omitempty"`
	Label            string    `json:"Label"`
	Type             string    `json:"Type"`
	Email            *string   `json:"Email,omitempty"`
	UserRoleID       *string   `json:"UserRoleId,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for Group.
func (Group) GetTableName() string {
	return "Group"
}

// GroupMember represents the GroupMember table (generated).
// Group membership
type GroupMember struct {
	ID               string    `json:"Id"`
	GroupID          string    `json:"GroupId"`
	UserOrGroupID    string    `json:"UserOrGroupId"`
	CreatedDate      time.Time `json:"CreatedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for GroupMember.
func (GroupMember) GetTableName() string {
	return "GroupMember"
}

// MutingPermissionSet represents the MutingPermissionSet table (generated).
// Permission set that revokes permissions from a group
type MutingPermissionSet struct {
	ID               string    `json:"Id"`
	APIName          string    `json:"ApiName"`
	Label            string    `json:"Label"`
	Description      *string   `json:"Description,omitempty"`
	GroupID          string    `json:"GroupId"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for MutingPermissionSet.
func (MutingPermissionSet) GetTableName() string {
	return "MutingPermissionSet"
}

// Notification represents the Notification table (generated).
// User notifications
type Notification struct {
	ID               string    `json:"Id"`
	RecipientID      string    `json:"recipient_id"`
	Title            string    `json:"title"`
	Body             string    `json:"body"`
	Link             string    `json:"link"`
	IsRead           bool      `json:"is_read"`
	NotificationType string    `json:"notification_type"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
	CreatedDate      time.Time `json:"CreatedDate"`
}

// GetTableName returns the database table name for Notification.
func (Notification) GetTableName() string {
	return "Notification"
}

// ObjectPermissions represents the ObjectPermissions table (generated).
// Object permissions for profiles
type ObjectPermissions struct {
	ID                          string    `json:"Id"`
	ParentID                    string    `json:"ParentId"`
	SobjectType                 string    `json:"SobjectType"`
	PermissionsRead             bool      `json:"PermissionsRead"`
	PermissionsCreate           bool      `json:"PermissionsCreate"`
	PermissionsEdit             bool      `json:"PermissionsEdit"`
	PermissionsDelete           bool      `json:"PermissionsDelete"`
	PermissionsViewAllRecords   bool      `json:"PermissionsViewAllRecords"`
	PermissionsModifyAllRecords bool      `json:"PermissionsModifyAllRecords"`
	IsDeleted                   bool      `json:"IsDeleted"`
	CreatedDate                 time.Time `json:"CreatedDate"`
	LastModifiedDate            time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for ObjectPermissions.
func (ObjectPermissions) GetTableName() string {
	return "ObjectPermissions"
}

// PermissionSet represents the PermissionSet table (generated).
// Additive permission sets
type PermissionSet struct {
	ID               string    `json:"Id"`
	Name             string    `json:"Name"`
	Label            string    `json:"Label"`
	Description      *string   `json:"Description,omitempty"`
	IsActive         bool      `json:"IsActive"`
	IsCustom         bool      `json:"IsCustom"`
	CreatedDate      time.Time `json:"CreatedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
	ProfileID        *string   `json:"ProfileId,omitempty"`
	IsOwnedByProfile bool      `json:"IsOwnedByProfile"`
	OwnerPack        *string   `json:"OwnerPack,omitempty"`
}

// GetTableName returns the database table name for PermissionSet.
func (PermissionSet) GetTableName() string {
	return "PermissionSet"
}

// PermissionSetAppVisibility represents the PermissionSetAppVisibility table (generated).
// App visibility per permission set
type PermissionSetAppVisibility struct {
	ID               string    `json:"Id"`
	PermissionSetID  string    `json:"PermissionSetId"`
	AppID            string    `json:"AppId"`
	IsVisible        bool      `json:"IsVisible"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for PermissionSetAppVisibility.
func (PermissionSetAppVisibility) GetTableName() string {
	return "PermissionSetAppVisibility"
}

// PermissionSetAssignment represents the PermissionSetAssignment table (generated).
// Assignment of permission sets to users
type PermissionSetAssignment struct {
	ID               string    `json:"Id"`
	AssigneeID       string    `json:"AssigneeId"`
	PermissionSetID  string    `json:"PermissionSetId"`
	CreatedDate      time.Time `json:"CreatedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for PermissionSetAssignment.
func (PermissionSetAssignment) GetTableName() string {
	return "PermissionSetAssignment"
}

// PermissionSetCustomPermission represents the PermissionSetCustomPermission table (generated).
// Junction: Permission Set -> Custom Permission
type PermissionSetCustomPermission struct {
	ID                 string    `json:"Id"`
	PermissionSetID    string    `json:"PermissionSetId"`
	CustomPermissionID string    `json:"CustomPermissionId"`
	CreatedDate        time.Time `json:"CreatedDate"`
	LastModifiedDate   time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for PermissionSetCustomPermission.
func (PermissionSetCustomPermission) GetTableName() string {
	return "PermissionSetCustomPermission"
}

// PermissionSetRecordTypeVisibility represents the PermissionSetRecordTypeVisibility table (generated).
// Record type visibility per permission set
type PermissionSetRecordTypeVisibility struct {
	ID               string    `json:"Id"`
	PermissionSetID  string    `json:"PermissionSetId"`
	RecordTypeID     string    `json:"RecordTypeId"`
	IsVisible        bool      `json:"IsVisible"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for PermissionSetRecordTypeVisibility.
func (PermissionSetRecordTypeVisibility) GetTableName() string {
	return "PermissionSetRecordTypeVisibility"
}

// PermissionSetGroup represents the PermissionSetGroup table (generated).
// Group of permission sets (Salesforce PermissionSetGroup)
type PermissionSetGroup struct {
	ID               string    `json:"Id"`
	APIName          string    `json:"ApiName"`
	Label            string    `json:"Label"`
	Description      *string   `json:"Description,omitempty"`
	IsActive         bool      `json:"IsActive"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
}

// GetTableName returns the database table name for PermissionSetGroup.
func (PermissionSetGroup) GetTableName() string {
	return "PermissionSetGroup"
}

// PermissionSetGroupAssignment represents the PermissionSetGroupAssignment table (generated).
// Junction: User -> Permission Set Group
type PermissionSetGroupAssignment struct {
	ID               string    `json:"Id"`
	AssigneeID       string    `json:"AssigneeId"`
	GroupID          string    `json:"GroupId"`
	CreatedDate      time.Time `json:"CreatedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for PermissionSetGroupAssignment.
func (PermissionSetGroupAssignment) GetTableName() string {
	return "PermissionSetGroupAssignment"
}

// PermissionSetGroupComponent represents the PermissionSetGroupComponent table (generated).
// Junction: Group -> Permission Set
type PermissionSetGroupComponent struct {
	ID               string    `json:"Id"`
	GroupID          string    `json:"GroupId"`
	PermissionSetID  string    `json:"PermissionSetId"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for PermissionSetGroupComponent.
func (PermissionSetGroupComponent) GetTableName() string {
	return "PermissionSetGroupComponent"
}

// PermissionSetTabSetting represents the PermissionSetTabSetting table (generated).
// Tab visibility per permission set
type PermissionSetTabSetting struct {
	ID               string    `json:"Id"`
	PermissionSetID  string    `json:"PermissionSetId"`
	TabName          string    `json:"TabName"`
	Visibility       string    `json:"Visibility"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for PermissionSetTabSetting.
func (PermissionSetTabSetting) GetTableName() string {
	return "PermissionSetTabSetting"
}

// Profile represents the Profile table (generated).
// User profiles and permission sets
type Profile struct {
	ID               string    `json:"Id"`
	Name             string    `json:"Name"`
	Description      *string   `json:"Description,omitempty"`
	IsActive         bool      `json:"IsActive"`
	IsSystem         bool      `json:"IsSystem"`
	UserType         string    `json:"UserType"`
	IsDeleted        bool      `json:"IsDeleted"`
	OwnerID          *string   `json:"OwnerId,omitempty"`
	CreatedByID      *string   `json:"CreatedById,omitempty"`
	LastModifiedByID *string   `json:"LastModifiedById,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for Profile.
func (Profile) GetTableName() string {
	return "Profile"
}

// ProfileAppVisibility represents the ProfileAppVisibility table (generated).
// App visibility per profile
type ProfileAppVisibility struct {
	ID               string    `json:"Id"`
	ProfileID        string    `json:"ProfileId"`
	AppID            string    `json:"AppId"`
	IsVisible        bool      `json:"IsVisible"`
	IsDefault        bool      `json:"IsDefault"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for ProfileAppVisibility.
func (ProfileAppVisibility) GetTableName() string {
	return "ProfileAppVisibility"
}

// ProfileCustomPermission represents the ProfileCustomPermission table (generated).
// Junction: Profile -> Custom Permission
type ProfileCustomPermission struct {
	ID                 string    `json:"Id"`
	ProfileID          string    `json:"ProfileId"`
	CustomPermissionID string    `json:"CustomPermissionId"`
	CreatedDate        time.Time `json:"CreatedDate"`
	LastModifiedDate   time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for ProfileCustomPermission.
func (ProfileCustomPermission) GetTableName() string {
	return "ProfileCustomPermission"
}

// ProfileLayout represents the ProfileLayout table (generated).
// Profile to layout assignments
type ProfileLayout struct {
	ID               string    `json:"Id"`
	ProfileID        string    `json:"ProfileId"`
	ObjectAPIName    string    `json:"ObjectApiName"`
	LayoutID         string    `json:"LayoutId"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for ProfileLayout.
func (ProfileLayout) GetTableName() string {
	return "ProfileLayout"
}

// ProfileTabSetting represents the ProfileTabSetting table (generated).
// Tab visibility per profile
type ProfileTabSetting struct {
	ID               string    `json:"Id"`
	ProfileID        string    `json:"ProfileId"`
	TabName          string    `json:"TabName"`
	Visibility       string    `json:"Visibility"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for ProfileTabSetting.
func (ProfileTabSetting) GetTableName() string {
	return "ProfileTabSetting"
}

// QueueSobject represents the QueueSobject table (generated).
// Mapping of Queues to supported Object types
type QueueSobject struct {
	ID               string    `json:"Id"`
	QueueID          string    `json:"QueueId"`
	SobjectType      string    `json:"SobjectType"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for QueueSobject.
func (QueueSobject) GetTableName() string {
	return "QueueSobject"
}

// Report represents the Report table (generated).
// Report definitions
type Report struct {
	ID                 string          `json:"Id"`
	FolderID           *string         `json:"FolderId,omitempty"`
	Name               string          `json:"Name"`
	DeveloperName      string          `json:"DeveloperName"`
	Description        *string         `json:"Description,omitempty"`
	SourceObject       string          `json:"SourceObject"`
	SourceRef          *string         `json:"SourceRef,omitempty"`
	ReportType         string          `json:"ReportType"`
	DisplayMode        *string         `json:"DisplayMode,omitempty"`
	Columns            json.RawMessage `json:"Columns,omitempty"`
	Filters            json.RawMessage `json:"Filters,omitempty"`
	StandardDateFilter json.RawMessage `json:"StandardDateFilter,omitempty"`
	Grouping           json.RawMessage `json:"Grouping,omitempty"`
	Aggregates         json.RawMessage `json:"Aggregates,omitempty"`
	CreatedByID        *string         `json:"CreatedById,omitempty"`
	CreatedDate        time.Time       `json:"CreatedDate"`
	LastModifiedByID   *string         `json:"LastModifiedById,omitempty"`
	LastModifiedDate   time.Time       `json:"LastModifiedDate"`
	IsDeleted          bool            `json:"IsDeleted"`
	Scope              *string         `json:"Scope,omitempty"`
	BooleanFilter      *string         `json:"BooleanFilter,omitempty"`
}

// GetTableName returns the database table name for Report.
func (Report) GetTableName() string {
	return "Report"
}

// ReportFolder represents the ReportFolder table (generated).
// Folders for organizing reports and dashboards (Salesforce Analytics Folders API)
type ReportFolder struct {
	ID               string    `json:"Id"`
	Name             string    `json:"Name"`
	DeveloperName    string    `json:"DeveloperName"`
	Description      *string   `json:"Description,omitempty"`
	Type             string    `json:"Type"`
	AccessType       string    `json:"AccessType"`
	ParentID         *string   `json:"ParentId,omitempty"`
	OwnerID          *string   `json:"OwnerId,omitempty"`
	CreatedByID      *string   `json:"CreatedById,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedByID *string   `json:"LastModifiedById,omitempty"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
}

// GetTableName returns the database table name for ReportFolder.
func (ReportFolder) GetTableName() string {
	return "ReportFolder"
}

// SharingRule represents the SharingRule table (generated).
// Record sharing rules
type SharingRule struct {
	ID                string    `json:"Id"`
	ObjectAPIName     string    `json:"ObjectApiName"`
	Name              string    `json:"Name"`
	Criteria          string    `json:"Criteria"`
	AccessLevel       string    `json:"AccessLevel"`
	SharedFromRoleID  *string   `json:"SharedFromRoleId,omitempty"`
	SharedFromGroupID *string   `json:"SharedFromGroupId,omitempty"`
	ShareWithRoleID   *string   `json:"ShareWithRoleId,omitempty"`
	ShareWithGroupID  *string   `json:"ShareWithGroupId,omitempty"`
	IsDeleted         bool      `json:"IsDeleted"`
	OwnerID           *string   `json:"OwnerId,omitempty"`
	CreatedByID       *string   `json:"CreatedById,omitempty"`
	LastModifiedByID  *string   `json:"LastModifiedById,omitempty"`
	CreatedDate       time.Time `json:"CreatedDate"`
	LastModifiedDate  time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SharingRule.
func (SharingRule) GetTableName() string {
	return "SharingRule"
}

// User represents the User table (generated).
// System users
type User struct {
	ID                  string     `json:"Id"`
	Username            string     `json:"Username"`
	Email               string     `json:"Email"`
	Password            string     `json:"-"`
	FirstName           string     `json:"FirstName"`
	LastName            string     `json:"LastName"`
	Phone               *string    `json:"Phone,omitempty"`
	ProfileID           string     `json:"ProfileId"`
	UserRoleID          *string    `json:"UserRoleId,omitempty"`
	ManagerID           *string    `json:"ManagerId,omitempty"`
	Title               *string    `json:"Title,omitempty"`
	Department          *string    `json:"Department,omitempty"`
	Division            *string    `json:"Division,omitempty"`
	Company             *string    `json:"Company,omitempty"`
	MiddleName          *string    `json:"MiddleName,omitempty"`
	Suffix              *string    `json:"Suffix,omitempty"`
	Alias               *string    `json:"Alias,omitempty"`
	CommunityNickname   *string    `json:"CommunityNickname,omitempty"`
	MobilePhone         *string    `json:"MobilePhone,omitempty"`
	TimeZoneSidKey      *string    `json:"TimeZoneSidKey,omitempty"`
	LocaleSidKey        *string    `json:"LocaleSidKey,omitempty"`
	LanguageLocaleKey   *string    `json:"LanguageLocaleKey,omitempty"`
	EmailEncodingKey    *string    `json:"EmailEncodingKey,omitempty"`
	CurrencyIsoCode     *string    `json:"CurrencyIsoCode,omitempty"`
	Street              *string    `json:"Street,omitempty"`
	City                *string    `json:"City,omitempty"`
	State               *string    `json:"State,omitempty"`
	PostalCode          *string    `json:"PostalCode,omitempty"`
	Country             *string    `json:"Country,omitempty"`
	IsActive            bool       `json:"IsActive"`
	IsDeleted           bool       `json:"IsDeleted"`
	OwnerID             *string    `json:"OwnerId,omitempty"`
	CreatedByID         *string    `json:"CreatedById,omitempty"`
	LastModifiedByID    *string    `json:"LastModifiedById,omitempty"`
	FailedLoginAttempts int        `json:"FailedLoginAttempts"`
	LockedUntil         *time.Time `json:"LockedUntil,omitempty"`
	LastLoginDate       *time.Time `json:"LastLoginDate,omitempty"`
	CreatedDate         time.Time  `json:"CreatedDate"`
	LastModifiedDate    time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for User.
func (User) GetTableName() string {
	return "User"
}

// UserRole represents the UserRole table (generated).
// Role hierarchy for access control
type UserRole struct {
	ID                string    `json:"Id"`
	Name              string    `json:"Name"`
	RollupDescription *string   `json:"RollupDescription,omitempty"`
	ParentRoleID      *string   `json:"ParentRoleId,omitempty"`
	IsDeleted         bool      `json:"IsDeleted"`
	OwnerID           *string   `json:"OwnerId,omitempty"`
	CreatedByID       *string   `json:"CreatedById,omitempty"`
	LastModifiedByID  *string   `json:"LastModifiedById,omitempty"`
	CreatedDate       time.Time `json:"CreatedDate"`
	LastModifiedDate  time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for UserRole.
func (UserRole) GetTableName() string {
	return "UserRole"
}

// SystemAction represents the _System_Action table (generated).
// UI action definitions
type SystemAction struct {
	ID               string          `json:"Id"`
	ObjectAPIName    string          `json:"ObjectApiName"`
	Name             string          `json:"Name"`
	Label            string          `json:"Label"`
	Type             string          `json:"Type"`
	Icon             *string         `json:"Icon,omitempty"`
	TargetObject     *string         `json:"TargetObject,omitempty"`
	Config           json.RawMessage `json:"Config,omitempty"`
	OwnerPack        *string         `json:"OwnerPack,omitempty"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
	IsDeleted        bool            `json:"IsDeleted"`
}

// GetTableName returns the database table name for SystemAction.
func (SystemAction) GetTableName() string {
	return "_System_Action"
}

// SystemActionFieldDefault represents the _System_ActionFieldDefault table (generated).
// Default-value formulas applied by a standard action AFTER Flow inputAssignments run, and only to fields still absent from the record map (stage 3 of the recordCreate pipeline documented in executor_record_ops.go). Priority resolves conflicts when multiple rows match within (TargetObject, FieldAPIName); higher Priority wins.
type SystemActionFieldDefault struct {
	ID               string    `json:"Id"`
	StandardActionID string    `json:"StandardActionId"`
	TargetObject     string    `json:"TargetObject"`
	FieldAPIName     string    `json:"FieldAPIName"`
	ValueFormula     string    `json:"ValueFormula"`
	Condition        *string   `json:"Condition,omitempty"`
	Priority         int       `json:"Priority"`
	IsCustomized     bool      `json:"IsCustomized"`
	IsActive         bool      `json:"IsActive"`
	IsDeleted        bool      `json:"IsDeleted"`
	CreatedByID      *string   `json:"CreatedById,omitempty"`
	LastModifiedByID *string   `json:"LastModifiedById,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemActionFieldDefault.
func (SystemActionFieldDefault) GetTableName() string {
	return "_System_ActionFieldDefault"
}

// SystemActionInputGuard represents the _System_ActionInputGuard table (generated).
// Conditional permission and object CRUD guards evaluated by the generic standard-action dispatcher before invoking the Flow. Replaces hardcoded per-action permission branching.
type SystemActionInputGuard struct {
	ID                 string    `json:"Id"`
	StandardActionID   string    `json:"StandardActionId"`
	Condition          string    `json:"Condition"`
	GuardKey           string    `json:"GuardKey"`
	RequiredPermission *string   `json:"RequiredPermission,omitempty"`
	RequiredObject     *string   `json:"RequiredObject,omitempty"`
	RequiredOperation  *string   `json:"RequiredOperation,omitempty"`
	ErrorMessage       *string   `json:"ErrorMessage,omitempty"`
	GatedInput         *string   `json:"GatedInput,omitempty"`
	SortOrder          int       `json:"SortOrder"`
	IsCustomized       bool      `json:"IsCustomized"`
	OwnerPack          string    `json:"OwnerPack"`
	IsActive           bool      `json:"IsActive"`
	IsDeleted          bool      `json:"IsDeleted"`
	CreatedByID        *string   `json:"CreatedById,omitempty"`
	LastModifiedByID   *string   `json:"LastModifiedById,omitempty"`
	CreatedDate        time.Time `json:"CreatedDate"`
	LastModifiedDate   time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemActionInputGuard.
func (SystemActionInputGuard) GetTableName() string {
	return "_System_ActionInputGuard"
}

// SystemActionSchema represents the _System_ActionSchema table (generated).
// Input and output field descriptors for rows in _System_StandardAction. Mirrors the shape of the Salesforce InvocableAction input/output sObject.
type SystemActionSchema struct {
	ID                  string    `json:"Id"`
	StandardActionID    string    `json:"StandardActionId"`
	Direction           string    `json:"Direction"`
	APIName             string    `json:"APIName"`
	DataType            string    `json:"DataType"`
	ReferenceTo         *string   `json:"ReferenceTo,omitempty"`
	Label               *string   `json:"Label,omitempty"`
	UISection           *string   `json:"UISection,omitempty"`
	UIMode              *string   `json:"UIMode,omitempty"`
	TargetObject        *string   `json:"TargetObject,omitempty"`
	TargetFieldAPIName  *string   `json:"TargetFieldAPIName,omitempty"`
	RequiredPicklistTag *string   `json:"RequiredPicklistTag,omitempty"`
	MappingSourceObject *string   `json:"MappingSourceObject,omitempty"`
	MappingActionType   *string   `json:"MappingActionType,omitempty"`
	IsCollection        bool      `json:"IsCollection"`
	IsRequired          bool      `json:"IsRequired"`
	Description         *string   `json:"Description,omitempty"`
	SortOrder           int       `json:"SortOrder"`
	IsCustomized        bool      `json:"IsCustomized"`
	IsActive            bool      `json:"IsActive"`
	IsDeleted           bool      `json:"IsDeleted"`
	CreatedByID         *string   `json:"CreatedById,omitempty"`
	LastModifiedByID    *string   `json:"LastModifiedById,omitempty"`
	CreatedDate         time.Time `json:"CreatedDate"`
	LastModifiedDate    time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemActionSchema.
func (SystemActionSchema) GetTableName() string {
	return "_System_ActionSchema"
}

// SystemFlowActionCallHandler represents the _System_FlowActionCallHandler table (generated).
// Owner-scoped app-pack declarations for Flow actionCall handler types. Runtime engines read this as metadata; handler implementations are resolved through opaque capability references.
type SystemFlowActionCallHandler struct {
	ID               string    `json:"Id"`
	OwnerPack        string    `json:"OwnerPack"`
	ActionType       string    `json:"ActionType"`
	HandlerRef       string    `json:"HandlerRef"`
	AtomicPolicy     string    `json:"AtomicPolicy"`
	PreviewPolicy    string    `json:"PreviewPolicy"`
	RequiresContext  string    `json:"RequiresContext"`
	SendsEmail       bool      `json:"SendsEmail"`
	IsActive         bool      `json:"IsActive"`
	IsDeleted        bool      `json:"IsDeleted"`
	CreatedByID      *string   `json:"CreatedById,omitempty"`
	LastModifiedByID *string   `json:"LastModifiedById,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemFlowActionCallHandler.
func (SystemFlowActionCallHandler) GetTableName() string {
	return "_System_FlowActionCallHandler"
}

// SystemApp represents the _System_App table (generated).
// Application configurations
type SystemApp struct {
	ID               string          `json:"Id"`
	Name             string          `json:"Name"`
	Label            string          `json:"Label"`
	Description      *string         `json:"Description,omitempty"`
	NamespacePrefix  *string         `json:"NamespacePrefix,omitempty"`
	Icon             string          `json:"Icon"`
	Color            string          `json:"Color"`
	FrontendAppID    *string         `json:"FrontendAppId,omitempty"`
	NavigationItems  json.RawMessage `json:"NavigationItems"`
	UtilityItems     json.RawMessage `json:"UtilityItems"`
	AssignedProfiles json.RawMessage `json:"AssignedProfiles"`
	IsDefault        bool            `json:"IsDefault"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemApp.
func (SystemApp) GetTableName() string {
	return "_System_App"
}

// SystemApprovalPageLayout represents the _System_ApprovalPageLayout table (generated).
// UI Page Layout definitions for approval processes - allows admins to customize which fields appear on the approval response page
type SystemApprovalPageLayout struct {
	ID                string          `json:"Id"`
	ObjectAPIName     string          `json:"ObjectApiName"`
	LayoutName        string          `json:"LayoutName"`
	Type              *string         `json:"Type,omitempty"`
	IsDefault         bool            `json:"IsDefault"`
	IsDeleted         bool            `json:"IsDeleted"`
	Config            json.RawMessage `json:"Config"`
	CreatedDate       time.Time       `json:"CreatedDate"`
	LastModifiedDate  time.Time       `json:"LastModifiedDate"`
	IsCustomized      bool            `json:"IsCustomized"`
	LayoutVersion     int             `json:"LayoutVersion"`
	Source            string          `json:"Source"`
	GenerationVersion int             `json:"GenerationVersion"`
}

// GetTableName returns the database table name for SystemApprovalPageLayout.
func (SystemApprovalPageLayout) GetTableName() string {
	return "_System_ApprovalPageLayout"
}

// SystemApprovalProcess represents the _System_ApprovalProcess table (generated).
// Approval process definitions
type SystemApprovalProcess struct {
	ID               string     `json:"Id"`
	Name             string     `json:"Name"`
	ObjectAPIName    string     `json:"ObjectApiName"`
	Description      *string    `json:"Description,omitempty"`
	EntryCriteria    *string    `json:"EntryCriteria,omitempty"`
	ApproverType     string     `json:"ApproverType"`
	ApproverID       *string    `json:"ApproverId,omitempty"`
	IsActive         bool       `json:"IsActive"`
	OwnerID          *string    `json:"OwnerId,omitempty"`
	CreatedByID      *string    `json:"CreatedById,omitempty"`
	CreatedDate      time.Time  `json:"CreatedDate"`
	LastModifiedByID *string    `json:"LastModifiedById,omitempty"`
	LastModifiedDate *time.Time `json:"LastModifiedDate,omitempty"`
	IsDeleted        bool       `json:"IsDeleted"`
}

// GetTableName returns the database table name for SystemApprovalProcess.
func (SystemApprovalProcess) GetTableName() string {
	return "_System_ApprovalProcess"
}

// SystemApprovalWorkItem represents the _System_ApprovalWorkItem table (generated).
// Pending approval work items
type SystemApprovalWorkItem struct {
	ID               string     `json:"Id"`
	ProcessID        string     `json:"ProcessId"`
	FlowInstanceID   *string    `json:"FlowInstanceId,omitempty"`
	FlowStepID       *string    `json:"FlowStepId,omitempty"`
	ObjectAPIName    string     `json:"ObjectApiName"`
	RecordID         string     `json:"RecordId"`
	Status           string     `json:"Status"`
	SubmittedByID    *string    `json:"SubmittedById,omitempty"`
	SubmittedDate    time.Time  `json:"SubmittedDate"`
	ApproverID       *string    `json:"ApproverId,omitempty"`
	ApprovedByID     *string    `json:"ApprovedById,omitempty"`
	ApprovedDate     *time.Time `json:"ApprovedDate,omitempty"`
	Comments         *string    `json:"Comments,omitempty"`
	OwnerID          *string    `json:"OwnerId,omitempty"`
	CreatedByID      *string    `json:"CreatedById,omitempty"`
	CreatedDate      time.Time  `json:"CreatedDate"`
	LastModifiedByID *string    `json:"LastModifiedById,omitempty"`
	LastModifiedDate *time.Time `json:"LastModifiedDate,omitempty"`
	IsDeleted        bool       `json:"IsDeleted"`
}

// GetTableName returns the database table name for SystemApprovalWorkItem.
func (SystemApprovalWorkItem) GetTableName() string {
	return "_System_ApprovalWorkItem"
}

// SystemAuditLog represents the _System_AuditLog table (generated).
// Field history tracking
type SystemAuditLog struct {
	ID                   string     `json:"Id"`
	ObjectAPIName        string     `json:"ObjectApiName"`
	RecordID             string     `json:"RecordId"`
	FieldName            string     `json:"FieldName"`
	OldValue             *string    `json:"OldValue,omitempty"`
	NewValue             *string    `json:"NewValue,omitempty"`
	ChangedByID          string     `json:"ChangedById"`
	ChangedAt            time.Time  `json:"ChangedAt"`
	EventAt              *time.Time `json:"EventAt,omitempty"`
	HistorySequence      *int64     `json:"HistorySequence,omitempty"`
	FieldHistoryEligible *bool      `json:"FieldHistoryEligible,omitempty"`
	CreatedDate          time.Time  `json:"CreatedDate"`
	LastModifiedDate     time.Time  `json:"LastModifiedDate"`
	Entrypoint           *string    `json:"Entrypoint,omitempty"`
	Action               *string    `json:"Action,omitempty"`
	ChangesJSON          *string    `json:"ChangesJSON,omitempty"`
	TraceID              *string    `json:"TraceId,omitempty"`
	ClientIP             *string    `json:"ClientIp,omitempty"`
	SessionID            *string    `json:"SessionId,omitempty"`
	OutboxRowID          *int64     `json:"OutboxRowId,omitempty"`
	EntrypointDetail     *string    `json:"EntrypointDetail,omitempty"`
	RequestID            *string    `json:"RequestId,omitempty"`
	ParentRequestID      *string    `json:"ParentRequestId,omitempty"`
	ActualUserID         *string    `json:"ActualUserId,omitempty"`
	UserAgent            *string    `json:"UserAgent,omitempty"`
	Outcome              *string    `json:"Outcome,omitempty"`
	ErrorCode            *string    `json:"ErrorCode,omitempty"`
}

// GetTableName returns the database table name for SystemAuditLog.
func (SystemAuditLog) GetTableName() string {
	return "_System_AuditLog"
}

// SystemAuditOutbox represents the _System_AuditOutbox table (generated).
// Async audit field-diff fan-out queue. Sync path writes a header row to _System_AuditLog + a payload row here inside the business txn; a background worker expands Payload into N field-level _System_AuditLog rows (design doc §2.4). No consumers in C2 — outbox writer lands in C5, worker in C6.
type SystemAuditOutbox struct {
	ID               int64           `json:"Id"`
	Payload          json.RawMessage `json:"Payload"`
	EnqueuedAt       time.Time       `json:"EnqueuedAt"`
	ProcessedAt      *time.Time      `json:"ProcessedAt,omitempty"`
	Attempts         int             `json:"Attempts"`
	LeaseHolderID    *string         `json:"LeaseHolderId,omitempty"`
	LeaseExpiresAt   *time.Time      `json:"LeaseExpiresAt,omitempty"`
	LastError        *string         `json:"LastError,omitempty"`
	PoisonClass      *string         `json:"PoisonClass,omitempty"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemAuditOutbox.
func (SystemAuditOutbox) GetTableName() string {
	return "_System_AuditOutbox"
}

// SystemAutoNumberCounter represents the _System_AutoNumberCounter table (generated).
// Autonumber Engine v2 counter table. PRD §4.4. Per-(field_id, scope_key) monotonic sequence — scope_key is ” for global scope, 'YYYY-MM-DD' for per_day scope, or the rendered non-counter format prefix for per_prefix scope. Follows the established _System_AutoNumber pattern: synthetic Id PK + UNIQUE (FieldId, ScopeKey). VARCHAR widths align with the system_tables VARCHAR whitelist.
type SystemAutoNumberCounter struct {
	ID               string    `json:"Id"`
	FieldID          string    `json:"FieldId"`
	ScopeKey         string    `json:"ScopeKey"`
	NextValue        int64     `json:"NextValue"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemAutoNumberCounter.
func (SystemAutoNumberCounter) GetTableName() string {
	return "_System_AutoNumberCounter"
}

// SystemBulkBatch represents the _System_BulkBatch table (generated).
// Internal batch tracking for Bulk API Jobs
type SystemBulkBatch struct {
	ID                     string    `json:"Id"`
	JobID                  string    `json:"JobId"`
	State                  string    `json:"State"`
	RecordsProcessed       int       `json:"RecordsProcessed"`
	RecordsFailed          int       `json:"RecordsFailed"`
	TotalRecords           int       `json:"TotalRecords"`
	ObjectKey              *string   `json:"ObjectKey,omitempty"`
	StorageProvider        *string   `json:"StorageProvider,omitempty"`
	StorageBucket          *string   `json:"StorageBucket,omitempty"`
	StorageAuthorityDigest *string   `json:"StorageAuthorityDigest,omitempty"`
	ContentSHA256          *string   `json:"ContentSHA256,omitempty"`
	ContentLength          int64     `json:"ContentLength"`
	NextRowOffset          int64     `json:"NextRowOffset"`
	LastError              *string   `json:"LastError,omitempty"`
	CreatedDate            time.Time `json:"CreatedDate"`
	LastModifiedDate       time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemBulkBatch.
func (SystemBulkBatch) GetTableName() string {
	return "_System_BulkBatch"
}

// SystemBulkJob represents the _System_BulkJob table (generated).
// Salesforce Bulk API v2 Job
type SystemBulkJob struct {
	ID                      string     `json:"Id"`
	Object                  string     `json:"Object"`
	Operation               string     `json:"Operation"`
	State                   string     `json:"State"`
	ConcurrencyMode         string     `json:"ConcurrencyMode"`
	ContentType             string     `json:"ContentType"`
	ColumnDelimiter         string     `json:"ColumnDelimiter"`
	LineEnding              string     `json:"LineEnding"`
	APIVersion              float64    `json:"ApiVersion"`
	ExternalIDFieldName     *string    `json:"ExternalIdFieldName,omitempty"`
	ErrorMessage            *string    `json:"ErrorMessage,omitempty"`
	TotalProcessingTime     int64      `json:"TotalProcessingTime"`
	APIActiveProcessingTime int64      `json:"ApiActiveProcessingTime"`
	ApexProcessingTime      int64      `json:"ApexProcessingTime"`
	NumberRecordsProcessed  int64      `json:"NumberRecordsProcessed"`
	NumberRecordsFailed     int64      `json:"NumberRecordsFailed"`
	CreatedByID             *string    `json:"CreatedById,omitempty"`
	CreatedDate             time.Time  `json:"CreatedDate"`
	LastModifiedDate        time.Time  `json:"LastModifiedDate"`
	JobType                 *string    `json:"JobType,omitempty"`
	ContentURL              *string    `json:"ContentUrl,omitempty"`
	WorkBinding             *string    `json:"WorkBinding,omitempty"`
	AvailableAt             *time.Time `json:"AvailableAt,omitempty"`
	ClaimOwner              *string    `json:"ClaimOwner,omitempty"`
	ClaimToken              *string    `json:"ClaimToken,omitempty"`
	ClaimOwnershipEpoch     *uint64    `json:"ClaimOwnershipEpoch,omitempty"`
	LeaseExpiresAt          *time.Time `json:"LeaseExpiresAt,omitempty"`
	RetryCount              int        `json:"RetryCount"`
	LastFailure             *string    `json:"LastFailure,omitempty"`
	IsDeleted               bool       `json:"IsDeleted"`
}

// GetTableName returns the database table name for SystemBulkJob.
func (SystemBulkJob) GetTableName() string {
	return "_System_BulkJob"
}

// SystemBulkWorkGeneration represents the _System_BulkWorkGeneration table (generated).
// Platform-owned Bulk work wake cursor; BulkJob and BulkBatch remain the only work authority
type SystemBulkWorkGeneration struct {
	SingletonKey     int       `json:"SingletonKey"`
	Generation       uint64    `json:"Generation"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

func (SystemBulkWorkGeneration) GetTableName() string { return "_System_BulkWorkGeneration" }

// SystemComment represents the _System_Comment table (generated).
// User comments on records
type SystemComment struct {
	ID               string    `json:"Id"`
	ObjectAPIName    string    `json:"ObjectApiName"`
	RecordID         string    `json:"RecordId"`
	Body             string    `json:"Body"`
	CreatedByID      string    `json:"CreatedById"`
	CreatedDate      time.Time `json:"CreatedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
	ParentCommentID  *string   `json:"ParentCommentId,omitempty"`
	IsResolved       bool      `json:"IsResolved"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemComment.
func (SystemComment) GetTableName() string {
	return "_System_Comment"
}

// SystemConfig represents the _System_Config table (generated).
// System configuration settings
type SystemConfig struct {
	KeyName          string    `json:"KeyName"`
	Value            string    `json:"Value"`
	IsSecret         bool      `json:"IsSecret"`
	Description      *string   `json:"Description,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemConfig.
func (SystemConfig) GetTableName() string {
	return "_System_Config"
}

// SystemApiToken represents the _System_ApiToken table (generated).
// Personal access tokens for programmatic API / MCP access (self-service, per-user)
type SystemApiToken struct {
	ID               string     `json:"Id"`
	OwnerID          string     `json:"OwnerId"`
	Name             string     `json:"Name"`
	TokenHash        string     `json:"TokenHash"`
	TokenPrefix      string     `json:"TokenPrefix"`
	Scopes           *string    `json:"Scopes,omitempty"`
	ExpiresAt        *time.Time `json:"ExpiresAt,omitempty"`
	LastUsedDate     *time.Time `json:"LastUsedDate,omitempty"`
	IsRevoked        bool       `json:"IsRevoked"`
	CreatedDate      time.Time  `json:"CreatedDate"`
	LastModifiedDate time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemApiToken.
func (SystemApiToken) GetTableName() string {
	return "_System_ApiToken"
}

// SystemOAuthRefreshToken represents the _System_OAuthRefreshToken table (generated).
// OAuth refresh tokens (hashed, rotating) issued to Connected App sessions
type SystemOAuthRefreshToken struct {
	ID               string    `json:"Id"`
	TokenHash        string    `json:"TokenHash"`
	UserID           string    `json:"UserId"`
	ConnectedAppID   *string   `json:"ConnectedAppId,omitempty"`
	FamilyID         *string   `json:"FamilyId,omitempty"`
	ConsentID        *string   `json:"ConsentId,omitempty"`
	Scope            *string   `json:"Scope,omitempty"`
	ExpiresAt        time.Time `json:"ExpiresAt"`
	IsRevoked        bool      `json:"IsRevoked"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemOAuthRefreshToken.
func (SystemOAuthRefreshToken) GetTableName() string {
	return "_System_OAuthRefreshToken"
}

// SystemConnectedApp represents the _System_ConnectedApp table (generated).
// OAuth Connected Apps
type SystemConnectedApp struct {
	ID                      string    `json:"Id"`
	Name                    string    `json:"Name"`
	ConsumerKey             string    `json:"ConsumerKey"`
	ConsumerSecret          string    `json:"ConsumerSecret"`
	ConsumerSecretHash      *string   `json:"ConsumerSecretHash,omitempty"`
	CallbackURL             *string   `json:"CallbackUrl,omitempty"`
	RedirectURIs            *string   `json:"RedirectUris,omitempty"`
	Scopes                  *string   `json:"Scopes,omitempty"`
	IsActive                bool      `json:"IsActive"`
	ClientType              *string   `json:"ClientType,omitempty"`
	RequirePkce             bool      `json:"RequirePkce"`
	TokenEndpointAuthMethod *string   `json:"TokenEndpointAuthMethod,omitempty"`
	AllowedGrantTypes       *string   `json:"AllowedGrantTypes,omitempty"`
	ConsentPolicy           *string   `json:"ConsentPolicy,omitempty"`
	ConsentVersion          int       `json:"ConsentVersion"`
	IssueRefreshTokens      bool      `json:"IssueRefreshTokens"`
	PublisherName           *string   `json:"PublisherName,omitempty"`
	SupportURL              *string   `json:"SupportUrl,omitempty"`
	RunAsUserID             *string   `json:"RunAsUserId,omitempty"`
	PermittedUsers          *string   `json:"PermittedUsers,omitempty"`
	SessionIssuerClass      *string   `json:"SessionIssuerClass,omitempty"`
	DailyAPILimit           *int      `json:"DailyApiLimit,omitempty"`
	HourlyAPILimit          *int      `json:"HourlyApiLimit,omitempty"`
	SourcePackName          *string   `json:"SourcePackName,omitempty"`
	CreatedDate             time.Time `json:"CreatedDate"`
	LastModifiedDate        time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemConnectedApp.
func (SystemConnectedApp) GetTableName() string {
	return "_System_ConnectedApp"
}

// SystemConnectedAppAccess represents the _System_ConnectedAppAccess table (generated).
// Connected App access grants - which profiles/permsets can use which apps
type SystemConnectedAppAccess struct {
	ID               string    `json:"Id"`
	ConnectedAppID   string    `json:"ConnectedAppId"`
	ProfileID        *string   `json:"ProfileId,omitempty"`
	PermissionSetID  *string   `json:"PermissionSetId,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemConnectedAppAccess.
func (SystemConnectedAppAccess) GetTableName() string {
	return "_System_ConnectedAppAccess"
}

// SystemConnectorSchedulerLease represents the _System_ConnectorSchedulerLease table (generated).
// Durable cross-process scheduler ownership row for one active connector scheduler per InstalledPackId and generation. Runtime code owns acquire, renew, fencing, and expiry semantics.
type SystemConnectorSchedulerLease struct {
	InstalledPackID  string    `json:"InstalledPackId"`
	Generation       int64     `json:"Generation"`
	OwnerID          string    `json:"OwnerId"`
	FencingToken     string    `json:"FencingToken"`
	LeaseUntil       time.Time `json:"LeaseUntil"`
	RenewedAt        time.Time `json:"RenewedAt"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemConnectorSchedulerLease.
func (SystemConnectorSchedulerLease) GetTableName() string {
	return "_System_ConnectorSchedulerLease"
}

// SystemConnectorWorkItem represents the _System_ConnectorWorkItem table (generated).
// Executable L0 connector work queue state split from the immutable connector event ledger. Owns post-materialization claim, retry, and identity-convergence dependency state, fencing, sanitized failure and terminal operator facts, replay lineage, scheduler lanes, source-projection generation identity, and worker leases for WorkItem-claim generations.
type SystemConnectorWorkItem struct {
	WorkID                          string     `json:"WorkId"`
	EventID                         string     `json:"EventId"`
	InstalledPackID                 string     `json:"InstalledPackId"`
	WorkType                        string     `json:"WorkType"`
	QueueClass                      string     `json:"QueueClass"`
	State                           string     `json:"State"`
	RunAfter                        time.Time  `json:"RunAfter"`
	Attempt                         int        `json:"Attempt"`
	OwnershipEpoch                  int64      `json:"OwnershipEpoch"`
	FailureCount                    int        `json:"FailureCount"`
	FailureClass                    *string    `json:"FailureClass,omitempty"`
	FailureSummary                  *string    `json:"FailureSummary,omitempty"`
	LastFailureAt                   *time.Time `json:"LastFailureAt,omitempty"`
	TerminalAt                      *time.Time `json:"TerminalAt,omitempty"`
	ReplayedAt                      *time.Time `json:"ReplayedAt,omitempty"`
	ReplayOfWorkID                  *string    `json:"ReplayOfWorkId,omitempty"`
	LaneOrdinal                     int64      `json:"LaneOrdinal"`
	LeaseOwner                      *string    `json:"LeaseOwner,omitempty"`
	LeaseToken                      *string    `json:"LeaseToken,omitempty"`
	LeaseUntil                      *time.Time `json:"LeaseUntil,omitempty"`
	SourceLaneKey                   *string    `json:"SourceLaneKey,omitempty"`
	TargetMutationLaneKey           *string    `json:"TargetMutationLaneKey,omitempty"`
	Generation                      int64      `json:"Generation"`
	ProjectionKey                   *string    `json:"ProjectionKey,omitempty"`
	ProjectionActiveKey             *string    `json:"ProjectionActiveKey,omitempty"`
	DependencyKind                  *string    `json:"DependencyKind,omitempty"`
	DependencyObjectAPIName         *string    `json:"DependencyObjectAPIName,omitempty"`
	DependencyRecordID              *string    `json:"DependencyRecordId,omitempty"`
	DependencyKeyHash               *string    `json:"DependencyKeyHash,omitempty"`
	DependencyConnectorOwnerKey     *string    `json:"DependencyConnectorOwnerKey,omitempty"`
	DependencyConnectorNamespace    *string    `json:"DependencyConnectorNamespace,omitempty"`
	DependencyConnectorSourceObject *string    `json:"DependencyConnectorSourceObject,omitempty"`
	DependencyDestinationSlotID     *string    `json:"DependencyDestinationSlotId,omitempty"`
	DependencyConnectorRemoteID     *string    `json:"DependencyConnectorRemoteId,omitempty"`
	DependencyBlockedAt             *time.Time `json:"DependencyBlockedAt,omitempty"`
	DependencyProbeAfter            *time.Time `json:"DependencyProbeAfter,omitempty"`
	CreatedDate                     time.Time  `json:"CreatedDate"`
	LastModifiedDate                time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemConnectorWorkItem.
func (SystemConnectorWorkItem) GetTableName() string {
	return "_System_ConnectorWorkItem"
}

// SystemCustomPermission represents the _System_CustomPermission table (generated).
// User-defined permissions (for use in Flows/validation rules)
type SystemCustomPermission struct {
	ID               string    `json:"Id"`
	APIName          string    `json:"ApiName"`
	Label            string    `json:"Label"`
	Description      *string   `json:"Description,omitempty"`
	IsActive         bool      `json:"IsActive"`
	ConnectedAppID   *string   `json:"ConnectedAppId,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
	IsCustomized     bool      `json:"IsCustomized"`
	OwnerPack        string    `json:"OwnerPack"`
}

// GetTableName returns the database table name for SystemCustomPermission.
func (SystemCustomPermission) GetTableName() string {
	return "_System_CustomPermission"
}

// SystemEmailTemplate represents the _System_EmailTemplate table (generated).
// Email templates for notifications
type SystemEmailTemplate struct {
	ID               string    `json:"Id"`
	Name             string    `json:"Name"`
	Subject          string    `json:"Subject"`
	HTMLValue        string    `json:"HtmlValue"`
	Body             string    `json:"Body"`
	FolderID         *string   `json:"FolderId,omitempty"`
	Description      *string   `json:"Description,omitempty"`
	TemplateType     string    `json:"TemplateType"`
	DeveloperName    string    `json:"DeveloperName"`
	OwnerPack        *string   `json:"OwnerPack,omitempty"`
	IsActive         bool      `json:"IsActive"`
	IsDeleted        bool      `json:"IsDeleted"`
	CreatedByID      *string   `json:"CreatedById,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemEmailTemplate.
func (SystemEmailTemplate) GetTableName() string {
	return "_System_EmailTemplate"
}

// SystemFeedItem represents the _System_FeedItem table (generated).
// Feed items for chatter and notifications
type SystemFeedItem struct {
	ID               string    `json:"Id"`
	ParentID         string    `json:"ParentId"`
	Type             string    `json:"Type"`
	Body             string    `json:"Body"`
	CreatedByID      string    `json:"CreatedById"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemFeedItem.
func (SystemFeedItem) GetTableName() string {
	return "_System_FeedItem"
}

// SystemField represents the _System_Field table (generated).
// Field metadata definitions
type SystemField struct {
	ID                           string          `json:"Id"`
	ObjectID                     string          `json:"ObjectId"`
	APIName                      string          `json:"ApiName"`
	Label                        string          `json:"Label"`
	PhysicalName                 *string         `json:"PhysicalName,omitempty"`
	Type                         string          `json:"Type"`
	Required                     bool            `json:"Required"`
	IsUnique                     bool            `json:"IsUnique"`
	IsSystem                     bool            `json:"IsSystem"`
	IsNameField                  bool            `json:"IsNameField"`
	Createable                   bool            `json:"Createable"`
	Updateable                   bool            `json:"Updateable"`
	Indexed                      bool            `json:"Indexed"`
	Options                      json.RawMessage `json:"Options,omitempty"`
	ReferenceTo                  json.RawMessage `json:"ReferenceTo,omitempty"`
	WritableReferenceTo          json.RawMessage `json:"WritableReferenceTo,omitempty"`
	DeleteRule                   *string         `json:"DeleteRule,omitempty"`
	Formula                      *string         `json:"Formula,omitempty"`
	ReturnType                   *string         `json:"ReturnType,omitempty"`
	FormulaMode                  *string         `json:"FormulaMode,omitempty"`
	ProjectionConfig             json.RawMessage `json:"ProjectionConfig,omitempty"`
	DefaultValue                 *string         `json:"DefaultValue,omitempty"`
	SiblingMaxParentField        *string         `json:"sibling_max_parent_field,omitempty"`
	HelpText                     *string         `json:"HelpText,omitempty"`
	Description                  *string         `json:"Description,omitempty"`
	TrackHistory                 bool            `json:"TrackHistory"`
	MinValue                     *float64        `json:"MinValue,omitempty"`
	MaxValue                     *float64        `json:"MaxValue,omitempty"`
	MinLength                    *int            `json:"MinLength,omitempty"`
	MaxLength                    *int            `json:"MaxLength,omitempty"`
	Regex                        *string         `json:"Regex,omitempty"`
	RegexMessage                 *string         `json:"RegexMessage,omitempty"`
	Validator                    *string         `json:"Validator,omitempty"`
	ControllingField             *string         `json:"ControllingField,omitempty"`
	PicklistDependency           json.RawMessage `json:"PicklistDependency,omitempty"`
	RollupConfig                 json.RawMessage `json:"RollupConfig,omitempty"`
	IsMasterDetail               bool            `json:"IsMasterDetail"`
	IsPolymorphic                bool            `json:"IsPolymorphic"`
	RelationshipName             *string         `json:"RelationshipName,omitempty"`
	ChildRelationshipName        *string         `json:"ChildRelationshipName,omitempty"`
	IsDeleted                    bool            `json:"IsDeleted"`
	OwnerID                      *string         `json:"OwnerId,omitempty"`
	CreatedByID                  *string         `json:"CreatedById,omitempty"`
	LastModifiedByID             *string         `json:"LastModifiedById,omitempty"`
	CreatedDate                  time.Time       `json:"CreatedDate"`
	LastModifiedDate             time.Time       `json:"LastModifiedDate"`
	IsCustomized                 bool            `json:"IsCustomized"`
	OwnerKind                    string          `json:"OwnerKind"`
	OwnerPack                    *string         `json:"OwnerPack,omitempty"`
	WriteProtectionPolicy        *string         `json:"WriteProtectionPolicy,omitempty"`
	ReadProtectionPolicy         *string         `json:"ReadProtectionPolicy,omitempty"`
	AutoNumberFormat             *string         `json:"auto_number_format,omitempty"`
	AutoNumberScope              *string         `json:"auto_number_scope,omitempty"`
	AutoNumberStart              *int64          `json:"auto_number_start,omitempty"`
	AutoNumberTokenRefs          json.RawMessage `json:"auto_number_token_refs,omitempty"`
	AutoNumberCanonicalHash      *string         `json:"auto_number_canonical_hash,omitempty"`
	AutoNumberCounterResetPolicy *string         `json:"auto_number_counter_reset_policy,omitempty"`
}

// GetTableName returns the database table name for SystemField.
func (SystemField) GetTableName() string {
	return "_System_Field"
}

// SystemFieldHistorySequence represents per-field history serialization authority.
type SystemFieldHistorySequence struct {
	FieldID          string    `json:"FieldId"`
	CurrentSequence  int64     `json:"CurrentSequence"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

func (SystemFieldHistorySequence) GetTableName() string {
	return "_System_FieldHistorySequence"
}

// SystemFieldHistoryTrackingInterval represents a strict temporal history eligibility interval.
type SystemFieldHistoryTrackingInterval struct {
	ID               string     `json:"Id"`
	FieldID          string     `json:"FieldId"`
	OpenFieldID      *string    `json:"OpenFieldId,omitempty"`
	StartedSequence  int64      `json:"StartedSequence"`
	EndedSequence    *int64     `json:"EndedSequence,omitempty"`
	StartedAt        time.Time  `json:"StartedAt"`
	EndedAt          *time.Time `json:"EndedAt,omitempty"`
	CreatedDate      time.Time  `json:"CreatedDate"`
	LastModifiedDate time.Time  `json:"LastModifiedDate"`
}

func (SystemFieldHistoryTrackingInterval) GetTableName() string {
	return "_System_FieldHistoryTrackingInterval"
}

// SystemFieldDependency represents the _System_FieldDependency table (generated).
// Field dependency rules
type SystemFieldDependency struct {
	ID                 string          `json:"Id"`
	ControllingFieldID string          `json:"ControllingFieldId"`
	DependentFieldID   string          `json:"DependentFieldId"`
	ControllingValue   string          `json:"ControllingValue"`
	DependentValues    json.RawMessage `json:"DependentValues"`
	CreatedDate        time.Time       `json:"CreatedDate"`
	LastModifiedDate   time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemFieldDependency.
func (SystemFieldDependency) GetTableName() string {
	return "_System_FieldDependency"
}

// SystemFile represents the _System_File table (generated).
// File attachments
type SystemFile struct {
	ID                      string     `json:"Id"`
	ParentID                string     `json:"ParentId"`
	ParentObjectAPIName     string     `json:"ParentObjectApiName"`
	Name                    string     `json:"Name"`
	OriginalFileName        string     `json:"OriginalFileName"`
	Extension               *string    `json:"Extension,omitempty"`
	MimeType                string     `json:"MimeType"`
	SizeBytes               int64      `json:"SizeBytes"`
	StoragePath             string     `json:"StoragePath"`
	StorageProvider         string     `json:"StorageProvider"`
	StorageBucket           string     `json:"StorageBucket"`
	StorageKey              string     `json:"StorageKey"`
	Status                  string     `json:"Status"`
	SourceType              string     `json:"SourceType"`
	SourceContentDocumentID *string    `json:"SourceContentDocumentId,omitempty"`
	SourceContentVersionID  *string    `json:"SourceContentVersionId,omitempty"`
	AttachmentKind          string     `json:"AttachmentKind"`
	SlotKey                 *string    `json:"SlotKey,omitempty"`
	Checksum                *string    `json:"Checksum,omitempty"`
	Description             *string    `json:"Description,omitempty"`
	DeletedByID             *string    `json:"DeletedById,omitempty"`
	DeletedDate             *time.Time `json:"DeletedDate,omitempty"`
	CreatedByID             string     `json:"CreatedById"`
	CreatedDate             time.Time  `json:"CreatedDate"`
	LastModifiedDate        time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemFile.
func (SystemFile) GetTableName() string {
	return "_System_File"
}

// SystemFileUploadOperation represents the _System_FileUploadOperation table (generated).
// Durable upload operation state for file-service idempotency and recovery
type SystemFileUploadOperation struct {
	ID                  string     `json:"Id"`
	IDempotencyKey      string     `json:"IdempotencyKey"`
	RequestHash         string     `json:"RequestHash"`
	State               string     `json:"State"`
	OwnerToken          string     `json:"OwnerToken"`
	ObjectKey           *string    `json:"ObjectKey,omitempty"`
	SystemFileID        *string    `json:"SystemFileId,omitempty"`
	ParentID            string     `json:"ParentId"`
	ParentObjectAPIName string     `json:"ParentObjectApiName"`
	ErrorCode           *string    `json:"ErrorCode,omitempty"`
	ErrorMessage        *string    `json:"ErrorMessage,omitempty"`
	ExpiresAt           *time.Time `json:"ExpiresAt,omitempty"`
	CreatedDate         time.Time  `json:"CreatedDate"`
	LastModifiedDate    time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemFileUploadOperation.
func (SystemFileUploadOperation) GetTableName() string {
	return "_System_FileUploadOperation"
}

// SystemLayoutAssignment represents the _System_LayoutAssignment table (generated).
// Layout routing rules — maps (Role x Profile x RecordType) to a PageLayout. Replaces ProfileLayout with multi-dimensional specificity-based resolution.
type SystemLayoutAssignment struct {
	ID               string    `json:"Id"`
	ObjectAPIName    string    `json:"ObjectApiName"`
	LayoutID         string    `json:"LayoutId"`
	RoleID           *string   `json:"RoleId,omitempty"`
	ProfileID        *string   `json:"ProfileId,omitempty"`
	RecordTypeID     *string   `json:"RecordTypeId,omitempty"`
	Specificity      int       `json:"Specificity"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
	CreatedByID      *string   `json:"CreatedById,omitempty"`
	RouteSource      *string   `json:"-"`
}

// GetTableName returns the database table name for SystemLayoutAssignment.
func (SystemLayoutAssignment) GetTableName() string {
	return "_System_LayoutAssignment"
}

// SystemListView represents the _System_ListView table (generated).
// List view configurations
type SystemListView struct {
	ID               string          `json:"Id"`
	ObjectAPIName    string          `json:"ObjectApiName"`
	Label            string          `json:"Label"`
	FilterExpr       *string         `json:"FilterExpr,omitempty"`
	FilterLogic      *string         `json:"FilterLogic,omitempty"`
	SortField        *string         `json:"SortField,omitempty"`
	SortDirection    *string         `json:"SortDirection,omitempty"`
	Fields           json.RawMessage `json:"Fields"`
	OwnerID          *string         `json:"OwnerId,omitempty"`
	Visibility       *string         `json:"Visibility,omitempty"`
	DeveloperName    *string         `json:"DeveloperName,omitempty"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemListView.
func (SystemListView) GetTableName() string {
	return "_System_ListView"
}

// SystemLog represents the _System_Log table (generated).
// System event logs
type SystemLog struct {
	ID               string    `json:"Id"`
	Timestamp        time.Time `json:"Timestamp"`
	Level            string    `json:"Level"`
	Source           string    `json:"Source"`
	Message          string    `json:"Message"`
	Details          *string   `json:"Details,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemLog.
func (SystemLog) GetTableName() string {
	return "_System_Log"
}

// SystemLoginHistory represents the _System_LoginHistory table (generated).
// Login history for user authentication events
type SystemLoginHistory struct {
	ID                   string     `json:"Id"`
	UserID               string     `json:"UserId"`
	LoginTime            time.Time  `json:"LoginTime"`
	LoginType            *string    `json:"LoginType,omitempty"`
	SourceIP             *string    `json:"SourceIp,omitempty"`
	Browser              *string    `json:"Browser,omitempty"`
	Platform             *string    `json:"Platform,omitempty"`
	Status               string     `json:"Status"`
	Application          *string    `json:"Application,omitempty"`
	SessionID            *string    `json:"SessionId,omitempty"`
	LogoutTime           *time.Time `json:"LogoutTime,omitempty"`
	LogoutReason         *string    `json:"LogoutReason,omitempty"`
	AuthenticationMethod *string    `json:"AuthenticationMethod,omitempty"`
	CreatedDate          time.Time  `json:"CreatedDate"`
	LastModifiedDate     time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemLoginHistory.
func (SystemLoginHistory) GetTableName() string {
	return "_System_LoginHistory"
}

// SystemMigration represents the _System_Migration table (generated).
// Tracks applied data migrations. Used to ensure idempotent one-time migrations.
type SystemMigration struct {
	ID               string    `json:"Id"`
	Version          int       `json:"Version"`
	AppliedAt        time.Time `json:"AppliedAt"`
	Description      *string   `json:"Description,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemMigration.
func (SystemMigration) GetTableName() string {
	return "_System_Migration"
}

// SystemMutingPermissionSetPermission represents the _System_MutingPermissionSetPermission table (generated).
// Permissions to mute (revoke) from the group
type SystemMutingPermissionSetPermission struct {
	ID                    string    `json:"Id"`
	MutingPermissionSetID string    `json:"MutingPermissionSetId"`
	PermissionAPIName     string    `json:"PermissionApiName"`
	CreatedDate           time.Time `json:"CreatedDate"`
	LastModifiedDate      time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemMutingPermissionSetPermission.
func (SystemMutingPermissionSetPermission) GetTableName() string {
	return "_System_MutingPermissionSetPermission"
}

// SystemOAuthAuthorizeRequest represents the _System_OAuthAuthorizeRequest table (generated).
// Pre-login OAuth authorize request snapshots for browser login/resume
type SystemOAuthAuthorizeRequest struct {
	ID                  string    `json:"Id"`
	HandleHash          string    `json:"HandleHash"`
	ClientID            string    `json:"ClientId"`
	RedirectUri         string    `json:"RedirectUri"`
	Scope               *string   `json:"Scope,omitempty"`
	State               *string   `json:"State,omitempty"`
	CodeChallenge       string    `json:"CodeChallenge"`
	CodeChallengeMethod string    `json:"CodeChallengeMethod"`
	Issuer              string    `json:"Issuer"`
	Resource            *string   `json:"Resource,omitempty"`
	ExpiresAt           time.Time `json:"ExpiresAt"`
	Used                bool      `json:"Used"`
	CreatedDate         time.Time `json:"CreatedDate"`
	LastModifiedDate    time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemOAuthAuthorizeRequest.
func (SystemOAuthAuthorizeRequest) GetTableName() string {
	return "_System_OAuthAuthorizeRequest"
}

// SystemOAuthCode represents the _System_OAuthCode table (generated).
// OAuth Authorization Codes for the OAuth 2.0 flow
type SystemOAuthCode struct {
	ID                  string     `json:"Id"`
	Code                *string    `json:"Code,omitempty"`
	CodeHash            *string    `json:"CodeHash,omitempty"`
	ClientID            string     `json:"ClientId"`
	RedirectUri         string     `json:"RedirectUri"`
	Scope               *string    `json:"Scope,omitempty"`
	UserID              string     `json:"UserId"`
	Nonce               *string    `json:"Nonce,omitempty"`
	ExpiresAt           time.Time  `json:"ExpiresAt"`
	Used                bool       `json:"Used"`
	CodeChallenge       *string    `json:"CodeChallenge,omitempty"`
	CodeChallengeMethod *string    `json:"CodeChallengeMethod,omitempty"`
	AuthTime            *time.Time `json:"AuthTime,omitempty"`
	Issuer              *string    `json:"Issuer,omitempty"`
	ConsentID           *string    `json:"ConsentId,omitempty"`
	ClientTypeAtIssue   *string    `json:"ClientTypeAtIssue,omitempty"`
	Resource            *string    `json:"Resource,omitempty"`
	CreatedDate         time.Time  `json:"CreatedDate"`
	LastModifiedDate    time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemOAuthCode.
func (SystemOAuthCode) GetTableName() string {
	return "_System_OAuthCode"
}

// SystemOAuthConsent represents the _System_OAuthConsent table (generated).
// OAuth delegated-user consent grants
type SystemOAuthConsent struct {
	ID               string     `json:"Id"`
	UserID           string     `json:"UserId"`
	ConnectedAppID   string     `json:"ConnectedAppId"`
	Scope            string     `json:"Scope"`
	ConsentVersion   int        `json:"ConsentVersion"`
	ApprovedAt       time.Time  `json:"ApprovedAt"`
	LastUsedAt       *time.Time `json:"LastUsedAt,omitempty"`
	RevokedAt        *time.Time `json:"RevokedAt,omitempty"`
	RevokedBy        *string    `json:"RevokedBy,omitempty"`
	CreatedDate      time.Time  `json:"CreatedDate"`
	LastModifiedDate time.Time  `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemOAuthConsent.
func (SystemOAuthConsent) GetTableName() string {
	return "_System_OAuthConsent"
}

// SystemOAuthCustomScope represents the _System_OAuthCustomScope table (generated).
// Custom OAuth scope definitions mapped to custom permissions
type SystemOAuthCustomScope struct {
	ID                 string    `json:"Id"`
	Name               string    `json:"Name"`
	Description        *string   `json:"Description,omitempty"`
	CustomPermissionID *string   `json:"CustomPermissionId,omitempty"`
	AllowedClientTypes *string   `json:"AllowedClientTypes,omitempty"`
	AllowedMethods     *string   `json:"AllowedMethods,omitempty"`
	RoutePatterns      *string   `json:"RoutePatterns,omitempty"`
	ResourceLinks      *string   `json:"ResourceLinks,omitempty"`
	OwnerPack          *string   `json:"OwnerPack,omitempty"`
	IsActive           bool      `json:"IsActive"`
	CreatedDate        time.Time `json:"CreatedDate"`
	LastModifiedDate   time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemOAuthCustomScope.
func (SystemOAuthCustomScope) GetTableName() string {
	return "_System_OAuthCustomScope"
}

// SystemObject represents the _System_Object table (generated).
// Object metadata definitions
type SystemObject struct {
	ID                        string          `json:"Id"`
	APIName                   string          `json:"ApiName"`
	TableType                 string          `json:"TableType"`
	Label                     string          `json:"Label"`
	PluralLabel               *string         `json:"PluralLabel,omitempty"`
	AppID                     *string         `json:"AppId,omitempty"`
	Icon                      *string         `json:"Icon,omitempty"`
	Description               *string         `json:"Description,omitempty"`
	ThemeColor                *string         `json:"ThemeColor,omitempty"`
	IsCustom                  bool            `json:"IsCustom"`
	Searchable                bool            `json:"Searchable"`
	SharingModel              string          `json:"SharingModel"`
	IsCustomized              bool            `json:"IsCustomized"`
	EnableHierarchySharing    bool            `json:"EnableHierarchySharing,omitempty"`
	RequiredWritePermission   *string         `json:"RequiredWritePermission,omitempty"`
	RequiredReadPermission    *string         `json:"RequiredReadPermission,omitempty"`
	AccessPolicy              json.RawMessage `json:"AccessPolicy,omitempty"`
	DeleteMode                *string         `json:"DeleteMode,omitempty"`
	PathField                 *string         `json:"PathField,omitempty"`
	DisplayNameField          *string         `json:"DisplayNameField,omitempty"`
	LockRule                  *string         `json:"LockRule,omitempty"`
	ListFields                json.RawMessage `json:"ListFields,omitempty"`
	ListFieldsCustomized      bool            `json:"ListFieldsCustomized"`
	ChildCloneRules           json.RawMessage `json:"ChildCloneRules,omitempty"`
	ChildCloneRulesCustomized bool            `json:"ChildCloneRulesCustomized"`
	IsDeleted                 bool            `json:"IsDeleted"`
	OwnerID                   *string         `json:"OwnerId,omitempty"`
	CreatedByID               *string         `json:"CreatedById,omitempty"`
	LastModifiedByID          *string         `json:"LastModifiedById,omitempty"`
	CreatedDate               time.Time       `json:"CreatedDate"`
	LastModifiedDate          time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemObject.
func (SystemObject) GetTableName() string {
	return "_System_Object"
}

// SystemObjectFieldMapping represents the _System_ObjectFieldMapping table (generated).
// Cross-object field mapping rules for metadata-authored record conversion operations
type SystemObjectFieldMapping struct {
	ID                  string    `json:"Id"`
	SourceObject        string    `json:"SourceObject"`
	TargetObject        string    `json:"TargetObject"`
	ActionType          string    `json:"ActionType"`
	SourceField         string    `json:"SourceField"`
	TargetField         string    `json:"TargetField"`
	SourceLookupField   *string   `json:"SourceLookupField,omitempty"`
	DefaultValue        *string   `json:"DefaultValue,omitempty"`
	ValueMap            *string   `json:"ValueMap,omitempty"`
	SortOrder           int       `json:"SortOrder"`
	IsCustomized        bool      `json:"IsCustomized"`
	Source              string    `json:"Source"`
	Direction           string    `json:"Direction"`
	TransformExpression *string   `json:"TransformExpression,omitempty"`
	ConflictPolicy      *string   `json:"ConflictPolicy,omitempty"`
	IsActive            bool      `json:"IsActive"`
	IsDeleted           bool      `json:"IsDeleted"`
	CreatedByID         *string   `json:"CreatedById,omitempty"`
	LastModifiedByID    *string   `json:"LastModifiedById,omitempty"`
	CreatedDate         time.Time `json:"CreatedDate"`
	LastModifiedDate    time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemObjectFieldMapping.
func (SystemObjectFieldMapping) GetTableName() string {
	return "_System_ObjectFieldMapping"
}

// SystemOutboxEvent represents the _System_OutboxEvent table (generated).
// Transactional event outbox for guaranteed delivery
type SystemOutboxEvent struct {
	ID               string          `json:"Id"`
	EventType        string          `json:"EventType"`
	Payload          json.RawMessage `json:"Payload"`
	Status           string          `json:"Status"`
	RetryCount       int             `json:"RetryCount"`
	RecordKey        *string         `json:"RecordKey,omitempty"`
	ErrorMessage     *string         `json:"ErrorMessage,omitempty"`
	ProcessedDate    *time.Time      `json:"ProcessedDate,omitempty"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
	MetadataJSON     json.RawMessage `json:"metadata_json,omitempty"`
}

// GetTableName returns the database table name for SystemOutboxEvent.
func (SystemOutboxEvent) GetTableName() string {
	return "_System_OutboxEvent"
}

// SystemPageLayout represents the _System_PageLayout table (generated).
// UI Page Layout definitions
type SystemPageLayout struct {
	ID                string          `json:"Id"`
	ObjectAPIName     string          `json:"ObjectApiName"`
	LayoutName        string          `json:"LayoutName"`
	Type              *string         `json:"Type,omitempty"`
	IsDefault         bool            `json:"IsDefault"`
	IsDeleted         bool            `json:"IsDeleted"`
	Config            json.RawMessage `json:"Config"`
	CreatedDate       time.Time       `json:"CreatedDate"`
	LastModifiedDate  time.Time       `json:"LastModifiedDate"`
	IsCustomized      bool            `json:"IsCustomized"`
	LayoutVersion     int             `json:"LayoutVersion"`
	Source            string          `json:"Source"`
	GenerationVersion int             `json:"GenerationVersion"`
}

// GetTableName returns the database table name for SystemPageLayout.
func (SystemPageLayout) GetTableName() string {
	return "_System_PageLayout"
}

// SystemPageLayoutHistory represents the _System_PageLayoutHistory table (generated).
// Content version history for page layouts. Append-only audit trail supporting undo/rollback.
type SystemPageLayoutHistory struct {
	ID               string          `json:"Id"`
	LayoutID         string          `json:"LayoutId"`
	VersionNumber    int             `json:"VersionNumber"`
	Config           json.RawMessage `json:"Config"`
	ChangedByID      *string         `json:"ChangedById,omitempty"`
	ChangeReason     *string         `json:"ChangeReason,omitempty"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemPageLayoutHistory.
func (SystemPageLayoutHistory) GetTableName() string {
	return "_System_PageLayoutHistory"
}

// SystemPermission represents the _System_Permission table (generated).
// Discrete system permissions (Salesforce UserPermissions equivalent)
type SystemPermission struct {
	ID                 string    `json:"Id"`
	APIName            string    `json:"ApiName"`
	Label              string    `json:"Label"`
	Category           string    `json:"Category"`
	Description        *string   `json:"Description,omitempty"`
	IsSystem           bool      `json:"IsSystem"`
	IsActive           bool      `json:"IsActive"`
	RequiresPermission *string   `json:"RequiresPermission,omitempty"`
	OwnerPack          *string   `json:"OwnerPack,omitempty"`
	CreatedDate        time.Time `json:"CreatedDate"`
	LastModifiedDate   time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemPermission.
func (SystemPermission) GetTableName() string {
	return "_System_Permission"
}

// SystemPermissionSetPermission represents the _System_PermissionSetPermission table (generated).
// Junction table linking permission sets to system permissions
type SystemPermissionSetPermission struct {
	ID                string    `json:"Id"`
	PermissionSetID   string    `json:"PermissionSetId"`
	PermissionAPIName string    `json:"PermissionApiName"`
	IsEnabled         bool      `json:"IsEnabled"`
	CreatedDate       time.Time `json:"CreatedDate"`
	LastModifiedDate  time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemPermissionSetPermission.
func (SystemPermissionSetPermission) GetTableName() string {
	return "_System_PermissionSetPermission"
}

// SystemProfilePermission represents the _System_ProfilePermission table (generated).
// Junction table linking profiles to system permissions
type SystemProfilePermission struct {
	ID                string    `json:"Id"`
	ProfileID         string    `json:"ProfileId"`
	PermissionAPIName string    `json:"PermissionApiName"`
	IsEnabled         bool      `json:"IsEnabled"`
	CreatedDate       time.Time `json:"CreatedDate"`
	LastModifiedDate  time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemProfilePermission.
func (SystemProfilePermission) GetTableName() string {
	return "_System_ProfilePermission"
}

// SystemRecent represents the _System_Recent table (generated).
// Recently viewed records
type SystemRecent struct {
	ID               string    `json:"Id"`
	UserID           string    `json:"UserId"`
	ObjectAPIName    string    `json:"ObjectApiName"`
	RecordID         string    `json:"RecordId"`
	RecordName       string    `json:"RecordName"`
	Timestamp        time.Time `json:"Timestamp"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemRecent.
func (SystemRecent) GetTableName() string {
	return "_System_Recent"
}

// SystemRecordShare represents the _System_RecordShare table (generated).
// Manual record sharing with users or groups
type SystemRecordShare struct {
	ID               string     `json:"Id"`
	ObjectAPIName    string     `json:"ObjectApiName"`
	RecordID         string     `json:"RecordId"`
	ShareWithUserID  *string    `json:"ShareWithUserId,omitempty"`
	ShareWithGroupID *string    `json:"ShareWithGroupId,omitempty"`
	AccessLevel      string     `json:"AccessLevel"`
	Reason           string     `json:"Reason"`
	CreatedByID      *string    `json:"CreatedById,omitempty"`
	CreatedDate      time.Time  `json:"CreatedDate"`
	LastModifiedByID *string    `json:"LastModifiedById,omitempty"`
	LastModifiedDate *time.Time `json:"LastModifiedDate,omitempty"`
	IsDeleted        bool       `json:"IsDeleted"`
}

// GetTableName returns the database table name for SystemRecordShare.
func (SystemRecordShare) GetTableName() string {
	return "_System_RecordShare"
}

// SystemRecordType represents the _System_RecordType table (generated).
// Record type configurations
type SystemRecordType struct {
	ID                 string    `json:"Id"`
	ObjectID           string    `json:"ObjectId"`
	Name               string    `json:"Name"`
	DeveloperName      *string   `json:"DeveloperName,omitempty"`
	CatalogNamespaceID *string   `json:"CatalogNamespaceId,omitempty"`
	CatalogLocalKey    *string   `json:"CatalogLocalKey,omitempty"`
	RecordTypeCode     *string   `json:"record_type_code,omitempty"`
	Description        *string   `json:"Description,omitempty"`
	IsActive           bool      `json:"IsActive"`
	IsMaster           bool      `json:"IsMaster"`
	BusinessProcessID  *string   `json:"BusinessProcessId,omitempty"`
	IsDeleted          bool      `json:"IsDeleted"`
	OwnerPack          string    `json:"OwnerPack"`
	CreatedDate        time.Time `json:"CreatedDate"`
	LastModifiedDate   time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemRecordType.
func (SystemRecordType) GetTableName() string {
	return "_System_RecordType"
}

// SystemRecordTypePicklistValue represents the _System_RecordTypePicklistValue table (generated).
// Record-type-scoped picklist value availability and defaults
type SystemRecordTypePicklistValue struct {
	ID               string    `json:"Id"`
	RecordTypeID     string    `json:"RecordTypeId"`
	FieldID          string    `json:"FieldId"`
	Value            string    `json:"Value"`
	IsActive         bool      `json:"IsActive"`
	IsDefault        bool      `json:"IsDefault"`
	SortOrder        int       `json:"SortOrder"`
	OwnerPack        string    `json:"OwnerPack"`
	IsCustomized     bool      `json:"IsCustomized"`
	IsDeleted        bool      `json:"IsDeleted"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemRecordTypePicklistValue.
func (SystemRecordTypePicklistValue) GetTableName() string {
	return "_System_RecordTypePicklistValue"
}

// SystemRecycleBin represents the _System_RecycleBin table (generated).
// Recycle bin for soft-deleted records
type SystemRecycleBin struct {
	ID                         string    `json:"Id"`
	RecordID                   string    `json:"RecordId"`
	ObjectAPIName              string    `json:"ObjectApiName"`
	RecordName                 string    `json:"RecordName"`
	DeletedBy                  string    `json:"DeletedBy"`
	DeletedByID                *string   `json:"DeletedById,omitempty"`
	DeletedDate                time.Time `json:"DeletedDate"`
	DeleteOperationID          *string   `json:"DeleteOperationId,omitempty"`
	DeleteRootObjectAPIName    *string   `json:"DeleteRootObjectApiName,omitempty"`
	DeleteRootRecordID         *string   `json:"DeleteRootRecordId,omitempty"`
	CascadeParentObjectAPIName *string   `json:"CascadeParentObjectApiName,omitempty"`
	CascadeParentRecordID      *string   `json:"CascadeParentRecordId,omitempty"`
	CascadeFieldAPIName        *string   `json:"CascadeFieldApiName,omitempty"`
	CascadeDepth               *int      `json:"CascadeDepth,omitempty"`
	CreatedDate                time.Time `json:"CreatedDate"`
	LastModifiedDate           time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemRecycleBin.
func (SystemRecycleBin) GetTableName() string {
	return "_System_RecycleBin"
}

// SystemRelationship represents the _System_Relationship table (generated).
// Object relationship definitions
type SystemRelationship struct {
	ID                  string    `json:"Id"`
	ChildObjectAPIName  string    `json:"ChildObjectApiName"`
	ParentObjectAPIName string    `json:"ParentObjectApiName"`
	FieldAPIName        string    `json:"FieldApiName"`
	RelationshipName    string    `json:"RelationshipName"`
	RelationshipType    string    `json:"RelationshipType"`
	IsSharingParent     bool      `json:"IsSharingParent"`
	CascadeDelete       bool      `json:"CascadeDelete"`
	RestrictedDelete    bool      `json:"RestrictedDelete"`
	RelatedListLabel    string    `json:"RelatedListLabel"`
	RelatedListFields   string    `json:"RelatedListFields"`
	CreatedDate         time.Time `json:"CreatedDate"`
	LastModifiedDate    time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemRelationship.
func (SystemRelationship) GetTableName() string {
	return "_System_Relationship"
}

// SystemRequestCapture represents the _System_RequestCapture table (generated).
// Replay/capture of inbound HTTP requests for behavior-equivalence validation (design §14.2). Joined to _System_AuditLog by RequestId. Bodies are always scrubbed per §14.3 before insert (no raw PII stored). No middleware writer in C13 — capture middleware lands in C14; default-off response-body capture is Phase 2C. §14.2 specifies LONGBLOB + composite PK + partitioning; C13 ships LONGTEXT + single-column PK (RequestId is a UUID) as a pragmatic subset matching the current DDL validator. Binary-body handling per §14.3 already substitutes a text sentinel, so LONGTEXT does not lose information.
type SystemRequestCapture struct {
	RequestID        string          `json:"RequestId"`
	ReceivedAt       time.Time       `json:"ReceivedAt"`
	Method           string          `json:"Method"`
	Path             string          `json:"Path"`
	Query            *string         `json:"Query,omitempty"`
	Headers          json.RawMessage `json:"Headers,omitempty"`
	Body             *string         `json:"Body,omitempty"`
	BodySize         int             `json:"BodySize"`
	BodyTruncated    bool            `json:"BodyTruncated"`
	ResponseStatus   int             `json:"ResponseStatus"`
	ResponseBody     *string         `json:"ResponseBody,omitempty"`
	UserID           *string         `json:"UserId,omitempty"`
	SessionID        *string         `json:"SessionId,omitempty"`
	ClientIP         *string         `json:"ClientIp,omitempty"`
	Entrypoint       string          `json:"Entrypoint"`
	LatencyMs        int             `json:"LatencyMs"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemRequestCapture.
func (SystemRequestCapture) GetTableName() string {
	return "_System_RequestCapture"
}

// SystemSession represents the _System_Session table (generated).
// User authentication sessions
type SystemSession struct {
	ID               string    `json:"Id"`
	UserID           string    `json:"UserId"`
	Token            string    `json:"Token"`
	ExpiresAt        time.Time `json:"ExpiresAt"`
	LastActivity     time.Time `json:"LastActivity"`
	IPAddress        string    `json:"IpAddress"`
	UserAgent        string    `json:"UserAgent"`
	IsRevoked        bool      `json:"IsRevoked"`
	AuthEpoch        uint64    `json:"AuthEpoch"`
	ControlProofHash *string   `json:"ControlProofHash,omitempty"`
	Scope            *string   `json:"Scope,omitempty"`
	ConnectedAppID   *string   `json:"ConnectedAppId,omitempty"`
	GrantType        *string   `json:"GrantType,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemSession.
func (SystemSession) GetTableName() string {
	return "_System_Session"
}

// SystemSetupAuditTrail represents the _System_SetupAuditTrail table (generated).
// Admin setup configuration change audit trail
type SystemSetupAuditTrail struct {
	ID                         string    `json:"Id"`
	Action                     string    `json:"Action"`
	Section                    string    `json:"Section"`
	Display                    *string   `json:"Display,omitempty"`
	CreatedByID                *string   `json:"CreatedById,omitempty"`
	CreatedDate                time.Time `json:"CreatedDate"`
	DelegateUser               *string   `json:"DelegateUser,omitempty"`
	ResponsibleNamespacePrefix *string   `json:"ResponsibleNamespacePrefix,omitempty"`
	LastModifiedDate           time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemSetupAuditTrail.
func (SystemSetupAuditTrail) GetTableName() string {
	return "_System_SetupAuditTrail"
}

// SystemSetupPage represents the _System_SetupPage table (generated).
// Setup page definitions
type SystemSetupPage struct {
	ID                 string    `json:"Id"`
	Label              string    `json:"Label"`
	Icon               *string   `json:"Icon,omitempty"`
	ComponentName      string    `json:"ComponentName"`
	Category           string    `json:"Category"`
	PageOrder          int       `json:"PageOrder"`
	PermissionRequired *string   `json:"PermissionRequired,omitempty"`
	IsEnabled          bool      `json:"IsEnabled"`
	Description        *string   `json:"Description,omitempty"`
	Path               *string   `json:"Path,omitempty"`
	CreatedDate        time.Time `json:"CreatedDate"`
	LastModifiedDate   time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemSetupPage.
func (SystemSetupPage) GetTableName() string {
	return "_System_SetupPage"
}

// SystemStandardAction represents the _System_StandardAction table (generated).
// Registry of standard invocable actions (Salesforce-compatible actions/standard/:name). Each row points at a seeded Flow that implements the action.
type SystemStandardAction struct {
	ID                     string    `json:"Id"`
	Name                   string    `json:"Name"`
	Label                  string    `json:"Label"`
	Description            *string   `json:"Description,omitempty"`
	FlowDeveloperName      string    `json:"FlowDeveloperName"`
	Category               *string   `json:"Category,omitempty"`
	RequiredPermissions    *string   `json:"RequiredPermissions,omitempty"`
	IsAtomic               bool      `json:"IsAtomic"`
	SortOrder              int       `json:"SortOrder"`
	IsCustomized           bool      `json:"IsCustomized"`
	IsActive               bool      `json:"IsActive"`
	IsDeleted              bool      `json:"IsDeleted"`
	CreatedByID            *string   `json:"CreatedById,omitempty"`
	TargetObjects          *string   `json:"TargetObjects,omitempty"`
	RendererID             *string   `json:"RendererId,omitempty"`
	HeaderFallbackEligible bool      `json:"HeaderFallbackEligible"`
	LastModifiedByID       *string   `json:"LastModifiedById,omitempty"`
	CreatedDate            time.Time `json:"CreatedDate"`
	LastModifiedDate       time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemStandardAction.
func (SystemStandardAction) GetTableName() string {
	return "_System_StandardAction"
}

// SystemStandardActionInternalAccessScope represents the _System_StandardActionInternalAccessScope table (generated).
// Metadata-owned access scopes for standard-action bookkeeping reads and writes. The generic dispatcher stamps active rows on the action context; query and persistence paths may widen read/RLS visibility or bypass user object CRUD/FLS only for the matching action, object, and operation.
type SystemStandardActionInternalAccessScope struct {
	ID               string    `json:"Id"`
	StandardActionID string    `json:"StandardActionId"`
	ObjectAPIName    string    `json:"ObjectApiName"`
	Operation        string    `json:"Operation"`
	Reason           *string   `json:"Reason,omitempty"`
	IsActive         bool      `json:"IsActive"`
	IsDeleted        bool      `json:"IsDeleted"`
	CreatedByID      *string   `json:"CreatedById,omitempty"`
	LastModifiedByID *string   `json:"LastModifiedById,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemStandardActionInternalAccessScope.
func (SystemStandardActionInternalAccessScope) GetTableName() string {
	return "_System_StandardActionInternalAccessScope"
}

// SystemSystemLog represents the _System_SystemLog table (generated).
// System operation logs
type SystemSystemLog struct {
	ID               string    `json:"Id"`
	Timestamp        time.Time `json:"Timestamp"`
	Level            string    `json:"Level"`
	Source           string    `json:"Source"`
	Message          string    `json:"Message"`
	Details          *string   `json:"Details,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemSystemLog.
func (SystemSystemLog) GetTableName() string {
	return "_System_SystemLog"
}

// SystemTable represents the _System_Table table (generated).
// Meta-metadata registry cataloging all tables
type SystemTable struct {
	ID               string    `json:"Id"`
	TableName        string    `json:"TableName"`
	TableType        string    `json:"TableType"`
	Category         string    `json:"Category"`
	Description      *string   `json:"Description,omitempty"`
	IsManaged        bool      `json:"IsManaged"`
	SchemaVersion    string    `json:"SchemaVersion"`
	CreatedBy        string    `json:"CreatedBy"`
	CreatedDate      time.Time `json:"CreatedDate"`
	IsDeleted        bool      `json:"IsDeleted"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemTable.
func (SystemTable) GetTableName() string {
	return "_System_Table"
}

// SystemTeamMember represents the _System_TeamMember table (generated).
// Generic record team members
type SystemTeamMember struct {
	ID               string     `json:"Id"`
	ObjectAPIName    string     `json:"ObjectApiName"`
	RecordID         string     `json:"RecordId"`
	UserID           string     `json:"UserId"`
	TeamRole         string     `json:"TeamRole"`
	AccessLevel      string     `json:"AccessLevel"`
	CreatedByID      *string    `json:"CreatedById,omitempty"`
	CreatedDate      time.Time  `json:"CreatedDate"`
	LastModifiedByID *string    `json:"LastModifiedById,omitempty"`
	LastModifiedDate *time.Time `json:"LastModifiedDate,omitempty"`
	IsDeleted        bool       `json:"IsDeleted"`
}

// GetTableName returns the database table name for SystemTeamMember.
func (SystemTeamMember) GetTableName() string {
	return "_System_TeamMember"
}

// SystemTheme represents the _System_Theme table (generated).
// Visual theme configurations
type SystemTheme struct {
	ID               string          `json:"Id"`
	Name             string          `json:"Name"`
	IsActive         bool            `json:"IsActive"`
	Colors           json.RawMessage `json:"Colors"`
	Density          string          `json:"Density"`
	LogoURL          *string         `json:"LogoUrl,omitempty"`
	CreatedDate      time.Time       `json:"CreatedDate"`
	LastModifiedDate time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemTheme.
func (SystemTheme) GetTableName() string {
	return "_System_Theme"
}

// SystemUIComponent represents the _System_UIComponent table (generated).
// Registered UI components
type SystemUIComponent struct {
	ID               string    `json:"Id"`
	Name             string    `json:"Name"`
	Type             string    `json:"Type"`
	IsEmbeddable     bool      `json:"IsEmbeddable"`
	Description      *string   `json:"Description,omitempty"`
	ComponentPath    *string   `json:"ComponentPath,omitempty"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemUIComponent.
func (SystemUIComponent) GetTableName() string {
	return "_System_UIComponent"
}

// SystemUserObjectInteraction represents the _System_UserObjectInteraction table (generated).
// Tracks user object interaction frequency for search scope ordering
type SystemUserObjectInteraction struct {
	ID               string    `json:"Id"`
	UserID           string    `json:"UserId"`
	ObjectAPIName    string    `json:"ObjectApiName"`
	InteractionCount int       `json:"InteractionCount"`
	LastAccessedAt   time.Time `json:"LastAccessedAt"`
	IsPinned         bool      `json:"IsPinned"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemUserObjectInteraction.
func (SystemUserObjectInteraction) GetTableName() string {
	return "_System_UserObjectInteraction"
}

// SystemUserRecentItem represents the _System_UserRecentItem table (generated).
// Tracks user recent items for relevantItems API (MRU)
type SystemUserRecentItem struct {
	ID               string    `json:"Id"`
	UserID           string    `json:"UserId"`
	ObjectAPIName    string    `json:"ObjectApiName"`
	RecordID         string    `json:"RecordId"`
	AccessedAt       time.Time `json:"AccessedAt"`
	UpdateCounter    int64     `json:"UpdateCounter"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemUserRecentItem.
func (SystemUserRecentItem) GetTableName() string {
	return "_System_UserRecentItem"
}

// SystemValidationRule represents the _System_ValidationRule table (generated).
// Validation rule definitions
type SystemValidationRule struct {
	ID                string          `json:"Id"`
	ObjectAPIName     string          `json:"ObjectApiName"`
	Name              string          `json:"Name"`
	Description       *string         `json:"Description,omitempty"`
	Active            bool            `json:"Active"`
	Condition         string          `json:"Condition"`
	ErrorMessage      string          `json:"ErrorMessage"`
	ErrorDisplayField *string         `json:"ErrorDisplayField,omitempty"`
	RecordSetBindings json.RawMessage `json:"RecordSetBindings,omitempty"`
	IsCustomized      bool            `json:"IsCustomized"`
	OwnerPack         string          `json:"OwnerPack"`
	CreatedDate       time.Time       `json:"CreatedDate"`
	LastModifiedDate  time.Time       `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemValidationRule.
func (SystemValidationRule) GetTableName() string {
	return "_System_ValidationRule"
}

// SystemWebhook represents the _System_Webhook table (generated).
// External webhook configurations
type SystemWebhook struct {
	ID               string    `json:"Id"`
	Name             string    `json:"Name"`
	URL              string    `json:"Url"`
	Method           string    `json:"Method"`
	Headers          string    `json:"Headers"`
	AuthType         string    `json:"AuthType"`
	AuthConfig       string    `json:"AuthConfig"`
	IsActive         bool      `json:"IsActive"`
	CreatedDate      time.Time `json:"CreatedDate"`
	LastModifiedDate time.Time `json:"LastModifiedDate"`
}

// GetTableName returns the database table name for SystemWebhook.
func (SystemWebhook) GetTableName() string {
	return "_System_Webhook"
}

// PushTopic represents the push_topic table (generated).
// Salesforce Streaming API PushTopic
type PushTopic struct {
	ID                         string    `json:"Id"`
	Name                       string    `json:"Name"`
	Query                      string    `json:"Query"`
	APIVersion                 float64   `json:"ApiVersion"`
	NotifyForFields            string    `json:"NotifyForFields"`
	NotifyForOperationCreate   bool      `json:"NotifyForOperationCreate"`
	NotifyForOperationUpdate   bool      `json:"NotifyForOperationUpdate"`
	NotifyForOperationDelete   bool      `json:"NotifyForOperationDelete"`
	NotifyForOperationUndelete bool      `json:"NotifyForOperationUndelete"`
	IsActive                   bool      `json:"IsActive"`
	Description                *string   `json:"Description,omitempty"`
	CreatedByID                *string   `json:"CreatedById,omitempty"`
	CreatedDate                time.Time `json:"CreatedDate"`
	LastModifiedDate           time.Time `json:"LastModifiedDate"`
	IsDeleted                  bool      `json:"IsDeleted"`
}

// GetTableName returns the database table name for PushTopic.
func (PushTopic) GetTableName() string {
	return "push_topic"
}
