github.com/crowdsecurity/crowdsec@v1.6.1/pkg/database/ent/migrate/schema.go (about)

     1  // Code generated by ent, DO NOT EDIT.
     2  
     3  package migrate
     4  
     5  import (
     6  	"entgo.io/ent/dialect/sql/schema"
     7  	"entgo.io/ent/schema/field"
     8  )
     9  
    10  var (
    11  	// AlertsColumns holds the columns for the "alerts" table.
    12  	AlertsColumns = []*schema.Column{
    13  		{Name: "id", Type: field.TypeInt, Increment: true},
    14  		{Name: "created_at", Type: field.TypeTime, Nullable: true},
    15  		{Name: "updated_at", Type: field.TypeTime, Nullable: true},
    16  		{Name: "scenario", Type: field.TypeString},
    17  		{Name: "bucket_id", Type: field.TypeString, Nullable: true, Default: ""},
    18  		{Name: "message", Type: field.TypeString, Nullable: true, Default: ""},
    19  		{Name: "events_count", Type: field.TypeInt32, Nullable: true, Default: 0},
    20  		{Name: "started_at", Type: field.TypeTime, Nullable: true},
    21  		{Name: "stopped_at", Type: field.TypeTime, Nullable: true},
    22  		{Name: "source_ip", Type: field.TypeString, Nullable: true},
    23  		{Name: "source_range", Type: field.TypeString, Nullable: true},
    24  		{Name: "source_as_number", Type: field.TypeString, Nullable: true},
    25  		{Name: "source_as_name", Type: field.TypeString, Nullable: true},
    26  		{Name: "source_country", Type: field.TypeString, Nullable: true},
    27  		{Name: "source_latitude", Type: field.TypeFloat32, Nullable: true},
    28  		{Name: "source_longitude", Type: field.TypeFloat32, Nullable: true},
    29  		{Name: "source_scope", Type: field.TypeString, Nullable: true},
    30  		{Name: "source_value", Type: field.TypeString, Nullable: true},
    31  		{Name: "capacity", Type: field.TypeInt32, Nullable: true},
    32  		{Name: "leak_speed", Type: field.TypeString, Nullable: true},
    33  		{Name: "scenario_version", Type: field.TypeString, Nullable: true},
    34  		{Name: "scenario_hash", Type: field.TypeString, Nullable: true},
    35  		{Name: "simulated", Type: field.TypeBool, Default: false},
    36  		{Name: "uuid", Type: field.TypeString, Nullable: true},
    37  		{Name: "machine_alerts", Type: field.TypeInt, Nullable: true},
    38  	}
    39  	// AlertsTable holds the schema information for the "alerts" table.
    40  	AlertsTable = &schema.Table{
    41  		Name:       "alerts",
    42  		Columns:    AlertsColumns,
    43  		PrimaryKey: []*schema.Column{AlertsColumns[0]},
    44  		ForeignKeys: []*schema.ForeignKey{
    45  			{
    46  				Symbol:     "alerts_machines_alerts",
    47  				Columns:    []*schema.Column{AlertsColumns[24]},
    48  				RefColumns: []*schema.Column{MachinesColumns[0]},
    49  				OnDelete:   schema.SetNull,
    50  			},
    51  		},
    52  		Indexes: []*schema.Index{
    53  			{
    54  				Name:    "alert_id",
    55  				Unique:  false,
    56  				Columns: []*schema.Column{AlertsColumns[0]},
    57  			},
    58  		},
    59  	}
    60  	// BouncersColumns holds the columns for the "bouncers" table.
    61  	BouncersColumns = []*schema.Column{
    62  		{Name: "id", Type: field.TypeInt, Increment: true},
    63  		{Name: "created_at", Type: field.TypeTime, Nullable: true},
    64  		{Name: "updated_at", Type: field.TypeTime, Nullable: true},
    65  		{Name: "name", Type: field.TypeString, Unique: true},
    66  		{Name: "api_key", Type: field.TypeString},
    67  		{Name: "revoked", Type: field.TypeBool},
    68  		{Name: "ip_address", Type: field.TypeString, Nullable: true, Default: ""},
    69  		{Name: "type", Type: field.TypeString, Nullable: true},
    70  		{Name: "version", Type: field.TypeString, Nullable: true},
    71  		{Name: "until", Type: field.TypeTime, Nullable: true},
    72  		{Name: "last_pull", Type: field.TypeTime},
    73  		{Name: "auth_type", Type: field.TypeString, Default: "api-key"},
    74  	}
    75  	// BouncersTable holds the schema information for the "bouncers" table.
    76  	BouncersTable = &schema.Table{
    77  		Name:       "bouncers",
    78  		Columns:    BouncersColumns,
    79  		PrimaryKey: []*schema.Column{BouncersColumns[0]},
    80  	}
    81  	// ConfigItemsColumns holds the columns for the "config_items" table.
    82  	ConfigItemsColumns = []*schema.Column{
    83  		{Name: "id", Type: field.TypeInt, Increment: true},
    84  		{Name: "created_at", Type: field.TypeTime, Nullable: true},
    85  		{Name: "updated_at", Type: field.TypeTime, Nullable: true},
    86  		{Name: "name", Type: field.TypeString, Unique: true},
    87  		{Name: "value", Type: field.TypeString},
    88  	}
    89  	// ConfigItemsTable holds the schema information for the "config_items" table.
    90  	ConfigItemsTable = &schema.Table{
    91  		Name:       "config_items",
    92  		Columns:    ConfigItemsColumns,
    93  		PrimaryKey: []*schema.Column{ConfigItemsColumns[0]},
    94  	}
    95  	// DecisionsColumns holds the columns for the "decisions" table.
    96  	DecisionsColumns = []*schema.Column{
    97  		{Name: "id", Type: field.TypeInt, Increment: true},
    98  		{Name: "created_at", Type: field.TypeTime, Nullable: true},
    99  		{Name: "updated_at", Type: field.TypeTime, Nullable: true},
   100  		{Name: "until", Type: field.TypeTime, Nullable: true, SchemaType: map[string]string{"mysql": "datetime"}},
   101  		{Name: "scenario", Type: field.TypeString},
   102  		{Name: "type", Type: field.TypeString},
   103  		{Name: "start_ip", Type: field.TypeInt64, Nullable: true},
   104  		{Name: "end_ip", Type: field.TypeInt64, Nullable: true},
   105  		{Name: "start_suffix", Type: field.TypeInt64, Nullable: true},
   106  		{Name: "end_suffix", Type: field.TypeInt64, Nullable: true},
   107  		{Name: "ip_size", Type: field.TypeInt64, Nullable: true},
   108  		{Name: "scope", Type: field.TypeString},
   109  		{Name: "value", Type: field.TypeString},
   110  		{Name: "origin", Type: field.TypeString},
   111  		{Name: "simulated", Type: field.TypeBool, Default: false},
   112  		{Name: "uuid", Type: field.TypeString, Nullable: true},
   113  		{Name: "alert_decisions", Type: field.TypeInt, Nullable: true},
   114  	}
   115  	// DecisionsTable holds the schema information for the "decisions" table.
   116  	DecisionsTable = &schema.Table{
   117  		Name:       "decisions",
   118  		Columns:    DecisionsColumns,
   119  		PrimaryKey: []*schema.Column{DecisionsColumns[0]},
   120  		ForeignKeys: []*schema.ForeignKey{
   121  			{
   122  				Symbol:     "decisions_alerts_decisions",
   123  				Columns:    []*schema.Column{DecisionsColumns[16]},
   124  				RefColumns: []*schema.Column{AlertsColumns[0]},
   125  				OnDelete:   schema.Cascade,
   126  			},
   127  		},
   128  		Indexes: []*schema.Index{
   129  			{
   130  				Name:    "decision_start_ip_end_ip",
   131  				Unique:  false,
   132  				Columns: []*schema.Column{DecisionsColumns[6], DecisionsColumns[7]},
   133  			},
   134  			{
   135  				Name:    "decision_value",
   136  				Unique:  false,
   137  				Columns: []*schema.Column{DecisionsColumns[12]},
   138  			},
   139  			{
   140  				Name:    "decision_until",
   141  				Unique:  false,
   142  				Columns: []*schema.Column{DecisionsColumns[3]},
   143  			},
   144  			{
   145  				Name:    "decision_alert_decisions",
   146  				Unique:  false,
   147  				Columns: []*schema.Column{DecisionsColumns[16]},
   148  			},
   149  		},
   150  	}
   151  	// EventsColumns holds the columns for the "events" table.
   152  	EventsColumns = []*schema.Column{
   153  		{Name: "id", Type: field.TypeInt, Increment: true},
   154  		{Name: "created_at", Type: field.TypeTime, Nullable: true},
   155  		{Name: "updated_at", Type: field.TypeTime, Nullable: true},
   156  		{Name: "time", Type: field.TypeTime},
   157  		{Name: "serialized", Type: field.TypeString, Size: 8191},
   158  		{Name: "alert_events", Type: field.TypeInt, Nullable: true},
   159  	}
   160  	// EventsTable holds the schema information for the "events" table.
   161  	EventsTable = &schema.Table{
   162  		Name:       "events",
   163  		Columns:    EventsColumns,
   164  		PrimaryKey: []*schema.Column{EventsColumns[0]},
   165  		ForeignKeys: []*schema.ForeignKey{
   166  			{
   167  				Symbol:     "events_alerts_events",
   168  				Columns:    []*schema.Column{EventsColumns[5]},
   169  				RefColumns: []*schema.Column{AlertsColumns[0]},
   170  				OnDelete:   schema.Cascade,
   171  			},
   172  		},
   173  		Indexes: []*schema.Index{
   174  			{
   175  				Name:    "event_alert_events",
   176  				Unique:  false,
   177  				Columns: []*schema.Column{EventsColumns[5]},
   178  			},
   179  		},
   180  	}
   181  	// LocksColumns holds the columns for the "locks" table.
   182  	LocksColumns = []*schema.Column{
   183  		{Name: "id", Type: field.TypeInt, Increment: true},
   184  		{Name: "name", Type: field.TypeString, Unique: true},
   185  		{Name: "created_at", Type: field.TypeTime},
   186  	}
   187  	// LocksTable holds the schema information for the "locks" table.
   188  	LocksTable = &schema.Table{
   189  		Name:       "locks",
   190  		Columns:    LocksColumns,
   191  		PrimaryKey: []*schema.Column{LocksColumns[0]},
   192  	}
   193  	// MachinesColumns holds the columns for the "machines" table.
   194  	MachinesColumns = []*schema.Column{
   195  		{Name: "id", Type: field.TypeInt, Increment: true},
   196  		{Name: "created_at", Type: field.TypeTime, Nullable: true},
   197  		{Name: "updated_at", Type: field.TypeTime, Nullable: true},
   198  		{Name: "last_push", Type: field.TypeTime, Nullable: true},
   199  		{Name: "last_heartbeat", Type: field.TypeTime, Nullable: true},
   200  		{Name: "machine_id", Type: field.TypeString, Unique: true},
   201  		{Name: "password", Type: field.TypeString},
   202  		{Name: "ip_address", Type: field.TypeString},
   203  		{Name: "scenarios", Type: field.TypeString, Nullable: true, Size: 100000},
   204  		{Name: "version", Type: field.TypeString, Nullable: true},
   205  		{Name: "is_validated", Type: field.TypeBool, Default: false},
   206  		{Name: "status", Type: field.TypeString, Nullable: true},
   207  		{Name: "auth_type", Type: field.TypeString, Default: "password"},
   208  	}
   209  	// MachinesTable holds the schema information for the "machines" table.
   210  	MachinesTable = &schema.Table{
   211  		Name:       "machines",
   212  		Columns:    MachinesColumns,
   213  		PrimaryKey: []*schema.Column{MachinesColumns[0]},
   214  	}
   215  	// MetaColumns holds the columns for the "meta" table.
   216  	MetaColumns = []*schema.Column{
   217  		{Name: "id", Type: field.TypeInt, Increment: true},
   218  		{Name: "created_at", Type: field.TypeTime, Nullable: true},
   219  		{Name: "updated_at", Type: field.TypeTime, Nullable: true},
   220  		{Name: "key", Type: field.TypeString},
   221  		{Name: "value", Type: field.TypeString, Size: 4095},
   222  		{Name: "alert_metas", Type: field.TypeInt, Nullable: true},
   223  	}
   224  	// MetaTable holds the schema information for the "meta" table.
   225  	MetaTable = &schema.Table{
   226  		Name:       "meta",
   227  		Columns:    MetaColumns,
   228  		PrimaryKey: []*schema.Column{MetaColumns[0]},
   229  		ForeignKeys: []*schema.ForeignKey{
   230  			{
   231  				Symbol:     "meta_alerts_metas",
   232  				Columns:    []*schema.Column{MetaColumns[5]},
   233  				RefColumns: []*schema.Column{AlertsColumns[0]},
   234  				OnDelete:   schema.Cascade,
   235  			},
   236  		},
   237  		Indexes: []*schema.Index{
   238  			{
   239  				Name:    "meta_alert_metas",
   240  				Unique:  false,
   241  				Columns: []*schema.Column{MetaColumns[5]},
   242  			},
   243  		},
   244  	}
   245  	// Tables holds all the tables in the schema.
   246  	Tables = []*schema.Table{
   247  		AlertsTable,
   248  		BouncersTable,
   249  		ConfigItemsTable,
   250  		DecisionsTable,
   251  		EventsTable,
   252  		LocksTable,
   253  		MachinesTable,
   254  		MetaTable,
   255  	}
   256  )
   257  
   258  func init() {
   259  	AlertsTable.ForeignKeys[0].RefTable = MachinesTable
   260  	DecisionsTable.ForeignKeys[0].RefTable = AlertsTable
   261  	EventsTable.ForeignKeys[0].RefTable = AlertsTable
   262  	MetaTable.ForeignKeys[0].RefTable = AlertsTable
   263  }