// 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 PublicreportReports = Table[
	publicreportReportColumns,
	publicreportReportIndexes,
	publicreportReportForeignKeys,
	publicreportReportUniques,
	publicreportReportChecks,
]{
	Schema: "publicreport",
	Name:   "report",
	Columns: publicreportReportColumns{
		AddressRaw: column{
			Name:      "address_raw",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AddressID: column{
			Name:      "address_id",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Created: column{
			Name:      "created",
			DBType:    "timestamp without time zone",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Location: column{
			Name:      "location",
			DBType:    "geometry",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		H3cell: column{
			Name:      "h3cell",
			DBType:    "h3index",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ID: column{
			Name:      "id",
			DBType:    "integer",
			Default:   "nextval('publicreport.report_id_seq'::regclass)",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		LatlngAccuracyType: column{
			Name:      "latlng_accuracy_type",
			DBType:    "publicreport.accuracytype",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		LatlngAccuracyValue: column{
			Name:      "latlng_accuracy_value",
			DBType:    "real",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		MapZoom: column{
			Name:      "map_zoom",
			DBType:    "real",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		OrganizationID: column{
			Name:      "organization_id",
			DBType:    "integer",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		PublicID: column{
			Name:      "public_id",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterName: column{
			Name:      "reporter_name",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterEmail: column{
			Name:      "reporter_email",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterPhone: column{
			Name:      "reporter_phone",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterContactConsent: column{
			Name:      "reporter_contact_consent",
			DBType:    "boolean",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ReportType: column{
			Name:      "report_type",
			DBType:    "publicreport.reporttype",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Reviewed: column{
			Name:      "reviewed",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ReviewerID: column{
			Name:      "reviewer_id",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Status: column{
			Name:      "status",
			DBType:    "publicreport.reportstatustype",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AddressGid: column{
			Name:      "address_gid",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		ClientUUID: column{
			Name:      "client_uuid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterPhoneCanSMS: column{
			Name:      "reporter_phone_can_sms",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
	},
	Indexes: publicreportReportIndexes{
		ReportPkey: index{
			Type: "btree",
			Name: "report_pkey",
			Columns: []indexColumn{
				{
					Name:         "id",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
		ReportPublicIDKey: index{
			Type: "btree",
			Name: "report_public_id_key",
			Columns: []indexColumn{
				{
					Name:         "public_id",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
	},
	PrimaryKey: &constraint{
		Name:    "report_pkey",
		Columns: []string{"id"},
		Comment: "",
	},
	ForeignKeys: publicreportReportForeignKeys{
		PublicreportReportReportAddressIDFkey: foreignKey{
			constraint: constraint{
				Name:    "publicreport.report.report_address_id_fkey",
				Columns: []string{"address_id"},
				Comment: "",
			},
			ForeignTable:   "address",
			ForeignColumns: []string{"id"},
		},
		PublicreportReportReportClientUUIDFkey: foreignKey{
			constraint: constraint{
				Name:    "publicreport.report.report_client_uuid_fkey",
				Columns: []string{"client_uuid"},
				Comment: "",
			},
			ForeignTable:   "publicreport.client",
			ForeignColumns: []string{"uuid"},
		},
		PublicreportReportReportOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "publicreport.report.report_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
		PublicreportReportReportReviewerIDFkey: foreignKey{
			constraint: constraint{
				Name:    "publicreport.report.report_reviewer_id_fkey",
				Columns: []string{"reviewer_id"},
				Comment: "",
			},
			ForeignTable:   "user_",
			ForeignColumns: []string{"id"},
		},
	},
	Uniques: publicreportReportUniques{
		ReportPublicIDKey: constraint{
			Name:    "report_public_id_key",
			Columns: []string{"public_id"},
			Comment: "",
		},
	},

	Comment: "",
}

type publicreportReportColumns struct {
	AddressRaw             column
	AddressID              column
	Created                column
	Location               column
	H3cell                 column
	ID                     column
	LatlngAccuracyType     column
	LatlngAccuracyValue    column
	MapZoom                column
	OrganizationID         column
	PublicID               column
	ReporterName           column
	ReporterEmail          column
	ReporterPhone          column
	ReporterContactConsent column
	ReportType             column
	Reviewed               column
	ReviewerID             column
	Status                 column
	AddressGid             column
	ClientUUID             column
	ReporterPhoneCanSMS    column
}

func (c publicreportReportColumns) AsSlice() []column {
	return []column{
		c.AddressRaw, c.AddressID, c.Created, c.Location, c.H3cell, c.ID, c.LatlngAccuracyType, c.LatlngAccuracyValue, c.MapZoom, c.OrganizationID, c.PublicID, c.ReporterName, c.ReporterEmail, c.ReporterPhone, c.ReporterContactConsent, c.ReportType, c.Reviewed, c.ReviewerID, c.Status, c.AddressGid, c.ClientUUID, c.ReporterPhoneCanSMS,
	}
}

type publicreportReportIndexes struct {
	ReportPkey        index
	ReportPublicIDKey index
}

func (i publicreportReportIndexes) AsSlice() []index {
	return []index{
		i.ReportPkey, i.ReportPublicIDKey,
	}
}

type publicreportReportForeignKeys struct {
	PublicreportReportReportAddressIDFkey      foreignKey
	PublicreportReportReportClientUUIDFkey     foreignKey
	PublicreportReportReportOrganizationIDFkey foreignKey
	PublicreportReportReportReviewerIDFkey     foreignKey
}

func (f publicreportReportForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.PublicreportReportReportAddressIDFkey, f.PublicreportReportReportClientUUIDFkey, f.PublicreportReportReportOrganizationIDFkey, f.PublicreportReportReportReviewerIDFkey,
	}
}

type publicreportReportUniques struct {
	ReportPublicIDKey constraint
}

func (u publicreportReportUniques) AsSlice() []constraint {
	return []constraint{
		u.ReportPublicIDKey,
	}
}

type publicreportReportChecks struct{}

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