// Code generated by BobGen psql v0.42.5. DO NOT EDIT.
// This file is meant to be re-generated in place and/or deleted at any time.

package dbinfo

import "github.com/aarondl/opt/null"

var FieldseekerTimecards = Table[
	fieldseekerTimecardColumns,
	fieldseekerTimecardIndexes,
	fieldseekerTimecardForeignKeys,
	fieldseekerTimecardUniques,
	fieldseekerTimecardChecks,
]{
	Schema: "fieldseeker",
	Name:   "timecard",
	Columns: fieldseekerTimecardColumns{
		Objectid: column{
			Name:      "objectid",
			DBType:    "bigint",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Activity: column{
			Name:      "activity",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ACTIVITY",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Startdatetime: column{
			Name:      "startdatetime",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is STARTDATETIME",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Enddatetime: column{
			Name:      "enddatetime",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ENDDATETIME",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Comments: column{
			Name:      "comments",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is COMMENTS",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Externalid: column{
			Name:      "externalid",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is EXTERNALID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Equiptype: column{
			Name:      "equiptype",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is EQUIPTYPE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Locationname: column{
			Name:      "locationname",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LOCATIONNAME",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Zone: column{
			Name:      "zone",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ZONE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Zone2: column{
			Name:      "zone2",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ZONE2",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Globalid: column{
			Name:      "globalid",
			DBType:    "uuid",
			Default:   "",
			Comment:   "Original attribute from ArcGIS API is GlobalID",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		CreatedUser: column{
			Name:      "created_user",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is created_user",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		CreatedDate: column{
			Name:      "created_date",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is created_date",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		LastEditedUser: column{
			Name:      "last_edited_user",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is last_edited_user",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		LastEditedDate: column{
			Name:      "last_edited_date",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is last_edited_date",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Linelocid: column{
			Name:      "linelocid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LINELOCID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Pointlocid: column{
			Name:      "pointlocid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is POINTLOCID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Polygonlocid: column{
			Name:      "polygonlocid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is POLYGONLOCID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Lclocid: column{
			Name:      "lclocid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LCLOCID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Samplelocid: column{
			Name:      "samplelocid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SAMPLELOCID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Srid: column{
			Name:      "srid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SRID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Traplocid: column{
			Name:      "traplocid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TRAPLOCID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Fieldtech: column{
			Name:      "fieldtech",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is FIELDTECH",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Creationdate: column{
			Name:      "creationdate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is CreationDate",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Creator: column{
			Name:      "creator",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Creator",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Editdate: column{
			Name:      "editdate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is EditDate",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Editor: column{
			Name:      "editor",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Editor",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Rodentlocid: column{
			Name:      "rodentlocid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is RODENTLOCID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Geometry: column{
			Name:      "geometry",
			DBType:    "jsonb",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Geospatial: column{
			Name:      "geospatial",
			DBType:    "geometry",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Version: column{
			Name:      "version",
			DBType:    "integer",
			Default:   "1",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		OrganizationID: column{
			Name:      "organization_id",
			DBType:    "integer",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
	},
	Indexes: fieldseekerTimecardIndexes{
		TimecardPkey: index{
			Type: "btree",
			Name: "timecard_pkey",
			Columns: []indexColumn{
				{
					Name:         "globalid",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
				{
					Name:         "version",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false, false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
	},
	PrimaryKey: &constraint{
		Name:    "timecard_pkey",
		Columns: []string{"globalid", "version"},
		Comment: "",
	},
	ForeignKeys: fieldseekerTimecardForeignKeys{
		FieldseekerTimecardTimecardOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "fieldseeker.timecard.timecard_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
	},

	Comment: "",
}

type fieldseekerTimecardColumns struct {
	Objectid       column
	Activity       column
	Startdatetime  column
	Enddatetime    column
	Comments       column
	Externalid     column
	Equiptype      column
	Locationname   column
	Zone           column
	Zone2          column
	Globalid       column
	CreatedUser    column
	CreatedDate    column
	LastEditedUser column
	LastEditedDate column
	Linelocid      column
	Pointlocid     column
	Polygonlocid   column
	Lclocid        column
	Samplelocid    column
	Srid           column
	Traplocid      column
	Fieldtech      column
	Creationdate   column
	Creator        column
	Editdate       column
	Editor         column
	Rodentlocid    column
	Geometry       column
	Geospatial     column
	Version        column
	OrganizationID column
}

func (c fieldseekerTimecardColumns) AsSlice() []column {
	return []column{
		c.Objectid, c.Activity, c.Startdatetime, c.Enddatetime, c.Comments, c.Externalid, c.Equiptype, c.Locationname, c.Zone, c.Zone2, c.Globalid, c.CreatedUser, c.CreatedDate, c.LastEditedUser, c.LastEditedDate, c.Linelocid, c.Pointlocid, c.Polygonlocid, c.Lclocid, c.Samplelocid, c.Srid, c.Traplocid, c.Fieldtech, c.Creationdate, c.Creator, c.Editdate, c.Editor, c.Rodentlocid, c.Geometry, c.Geospatial, c.Version, c.OrganizationID,
	}
}

type fieldseekerTimecardIndexes struct {
	TimecardPkey index
}

func (i fieldseekerTimecardIndexes) AsSlice() []index {
	return []index{
		i.TimecardPkey,
	}
}

type fieldseekerTimecardForeignKeys struct {
	FieldseekerTimecardTimecardOrganizationIDFkey foreignKey
}

func (f fieldseekerTimecardForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.FieldseekerTimecardTimecardOrganizationIDFkey,
	}
}

type fieldseekerTimecardUniques struct{}

func (u fieldseekerTimecardUniques) AsSlice() []constraint {
	return []constraint{}
}

type fieldseekerTimecardChecks struct{}

func (c fieldseekerTimecardChecks) AsSlice() []check {
	return []check{}
}
