schema.go
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 // FeedsColumns holds the columns for the "feeds" table. 12 FeedsColumns = []*schema.Column{ 13 {Name: "id", Type: field.TypeUUID}, 14 {Name: "url", Type: field.TypeString}, 15 {Name: "username", Type: field.TypeString, Default: ""}, 16 {Name: "password", Type: field.TypeString, Default: ""}, 17 {Name: "feed_title", Type: field.TypeString}, 18 {Name: "feed_description", Type: field.TypeString}, 19 {Name: "feed_link", Type: field.TypeString}, 20 {Name: "feed_feed_link", Type: field.TypeString}, 21 {Name: "feed_updated", Type: field.TypeTime}, 22 {Name: "feed_published", Type: field.TypeTime}, 23 {Name: "feed_author_name", Type: field.TypeString, Nullable: true}, 24 {Name: "feed_author_email", Type: field.TypeString, Nullable: true}, 25 {Name: "feed_language", Type: field.TypeString}, 26 {Name: "feed_image_title", Type: field.TypeString, Nullable: true}, 27 {Name: "feed_image_url", Type: field.TypeString, Nullable: true}, 28 {Name: "feed_copyright", Type: field.TypeString}, 29 {Name: "feed_generator", Type: field.TypeString}, 30 {Name: "feed_categories", Type: field.TypeString}, 31 {Name: "created_at", Type: field.TypeTime}, 32 {Name: "updated_at", Type: field.TypeTime}, 33 {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, 34 } 35 // FeedsTable holds the schema information for the "feeds" table. 36 FeedsTable = &schema.Table{ 37 Name: "feeds", 38 Columns: FeedsColumns, 39 PrimaryKey: []*schema.Column{FeedsColumns[0]}, 40 Indexes: []*schema.Index{ 41 { 42 Name: "feed_url_username_password", 43 Unique: true, 44 Columns: []*schema.Column{FeedsColumns[1], FeedsColumns[2], FeedsColumns[3]}, 45 }, 46 }, 47 } 48 // ItemsColumns holds the columns for the "items" table. 49 ItemsColumns = []*schema.Column{ 50 {Name: "id", Type: field.TypeUUID}, 51 {Name: "item_guid", Type: field.TypeString, Unique: true}, 52 {Name: "item_title", Type: field.TypeString}, 53 {Name: "item_description", Type: field.TypeString}, 54 {Name: "item_content", Type: field.TypeString}, 55 {Name: "item_link", Type: field.TypeString}, 56 {Name: "item_updated", Type: field.TypeTime}, 57 {Name: "item_published", Type: field.TypeTime}, 58 {Name: "item_author_name", Type: field.TypeString, Nullable: true}, 59 {Name: "item_author_email", Type: field.TypeString, Nullable: true}, 60 {Name: "item_image_title", Type: field.TypeString, Nullable: true}, 61 {Name: "item_image_url", Type: field.TypeString, Nullable: true}, 62 {Name: "item_categories", Type: field.TypeString}, 63 {Name: "item_enclosures", Type: field.TypeString}, 64 {Name: "crawler_title", Type: field.TypeString, Nullable: true}, 65 {Name: "crawler_author", Type: field.TypeString, Nullable: true}, 66 {Name: "crawler_excerpt", Type: field.TypeString, Nullable: true}, 67 {Name: "crawler_site_name", Type: field.TypeString, Nullable: true}, 68 {Name: "crawler_image", Type: field.TypeString, Nullable: true}, 69 {Name: "crawler_content_html", Type: field.TypeString, Nullable: true}, 70 {Name: "crawler_content_text", Type: field.TypeString, Nullable: true}, 71 {Name: "created_at", Type: field.TypeTime}, 72 {Name: "updated_at", Type: field.TypeTime}, 73 {Name: "feed_items", Type: field.TypeUUID, Nullable: true}, 74 } 75 // ItemsTable holds the schema information for the "items" table. 76 ItemsTable = &schema.Table{ 77 Name: "items", 78 Columns: ItemsColumns, 79 PrimaryKey: []*schema.Column{ItemsColumns[0]}, 80 ForeignKeys: []*schema.ForeignKey{ 81 { 82 Symbol: "items_feeds_items", 83 Columns: []*schema.Column{ItemsColumns[23]}, 84 RefColumns: []*schema.Column{FeedsColumns[0]}, 85 OnDelete: schema.SetNull, 86 }, 87 }, 88 Indexes: []*schema.Index{ 89 { 90 Name: "item_item_guid", 91 Unique: true, 92 Columns: []*schema.Column{ItemsColumns[1]}, 93 }, 94 }, 95 } 96 // ReadsColumns holds the columns for the "reads" table. 97 ReadsColumns = []*schema.Column{ 98 {Name: "id", Type: field.TypeUUID}, 99 {Name: "created_at", Type: field.TypeTime}, 100 {Name: "user_id", Type: field.TypeUUID}, 101 {Name: "item_id", Type: field.TypeUUID}, 102 } 103 // ReadsTable holds the schema information for the "reads" table. 104 ReadsTable = &schema.Table{ 105 Name: "reads", 106 Columns: ReadsColumns, 107 PrimaryKey: []*schema.Column{ReadsColumns[0]}, 108 ForeignKeys: []*schema.ForeignKey{ 109 { 110 Symbol: "reads_users_user", 111 Columns: []*schema.Column{ReadsColumns[2]}, 112 RefColumns: []*schema.Column{UsersColumns[0]}, 113 OnDelete: schema.NoAction, 114 }, 115 { 116 Symbol: "reads_items_item", 117 Columns: []*schema.Column{ReadsColumns[3]}, 118 RefColumns: []*schema.Column{ItemsColumns[0]}, 119 OnDelete: schema.NoAction, 120 }, 121 }, 122 Indexes: []*schema.Index{ 123 { 124 Name: "read_user_id_item_id", 125 Unique: true, 126 Columns: []*schema.Column{ReadsColumns[2], ReadsColumns[3]}, 127 }, 128 }, 129 } 130 // SubscriptionsColumns holds the columns for the "subscriptions" table. 131 SubscriptionsColumns = []*schema.Column{ 132 {Name: "id", Type: field.TypeUUID}, 133 {Name: "name", Type: field.TypeString}, 134 {Name: "group", Type: field.TypeString}, 135 {Name: "created_at", Type: field.TypeTime}, 136 {Name: "user_id", Type: field.TypeUUID}, 137 {Name: "feed_id", Type: field.TypeUUID}, 138 } 139 // SubscriptionsTable holds the schema information for the "subscriptions" table. 140 SubscriptionsTable = &schema.Table{ 141 Name: "subscriptions", 142 Columns: SubscriptionsColumns, 143 PrimaryKey: []*schema.Column{SubscriptionsColumns[0]}, 144 ForeignKeys: []*schema.ForeignKey{ 145 { 146 Symbol: "subscriptions_users_user", 147 Columns: []*schema.Column{SubscriptionsColumns[4]}, 148 RefColumns: []*schema.Column{UsersColumns[0]}, 149 OnDelete: schema.NoAction, 150 }, 151 { 152 Symbol: "subscriptions_feeds_feed", 153 Columns: []*schema.Column{SubscriptionsColumns[5]}, 154 RefColumns: []*schema.Column{FeedsColumns[0]}, 155 OnDelete: schema.NoAction, 156 }, 157 }, 158 Indexes: []*schema.Index{ 159 { 160 Name: "subscription_user_id_feed_id", 161 Unique: true, 162 Columns: []*schema.Column{SubscriptionsColumns[4], SubscriptionsColumns[5]}, 163 }, 164 }, 165 } 166 // TokensColumns holds the columns for the "tokens" table. 167 TokensColumns = []*schema.Column{ 168 {Name: "id", Type: field.TypeUUID}, 169 {Name: "type", Type: field.TypeString, Default: "qat"}, 170 {Name: "name", Type: field.TypeString}, 171 {Name: "token", Type: field.TypeString, Unique: true}, 172 {Name: "created_at", Type: field.TypeTime}, 173 {Name: "updated_at", Type: field.TypeTime}, 174 {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, 175 {Name: "user_tokens", Type: field.TypeUUID, Nullable: true}, 176 } 177 // TokensTable holds the schema information for the "tokens" table. 178 TokensTable = &schema.Table{ 179 Name: "tokens", 180 Columns: TokensColumns, 181 PrimaryKey: []*schema.Column{TokensColumns[0]}, 182 ForeignKeys: []*schema.ForeignKey{ 183 { 184 Symbol: "tokens_users_tokens", 185 Columns: []*schema.Column{TokensColumns[7]}, 186 RefColumns: []*schema.Column{UsersColumns[0]}, 187 OnDelete: schema.SetNull, 188 }, 189 }, 190 } 191 // UsersColumns holds the columns for the "users" table. 192 UsersColumns = []*schema.Column{ 193 {Name: "id", Type: field.TypeUUID}, 194 {Name: "username", Type: field.TypeString, Unique: true}, 195 {Name: "password", Type: field.TypeString}, 196 {Name: "role", Type: field.TypeString, Default: "user"}, 197 {Name: "created_at", Type: field.TypeTime}, 198 {Name: "updated_at", Type: field.TypeTime}, 199 {Name: "deleted_at", Type: field.TypeTime, Nullable: true}, 200 } 201 // UsersTable holds the schema information for the "users" table. 202 UsersTable = &schema.Table{ 203 Name: "users", 204 Columns: UsersColumns, 205 PrimaryKey: []*schema.Column{UsersColumns[0]}, 206 } 207 // Tables holds all the tables in the schema. 208 Tables = []*schema.Table{ 209 FeedsTable, 210 ItemsTable, 211 ReadsTable, 212 SubscriptionsTable, 213 TokensTable, 214 UsersTable, 215 } 216 ) 217 218 func init() { 219 ItemsTable.ForeignKeys[0].RefTable = FeedsTable 220 ReadsTable.ForeignKeys[0].RefTable = UsersTable 221 ReadsTable.ForeignKeys[1].RefTable = ItemsTable 222 SubscriptionsTable.ForeignKeys[0].RefTable = UsersTable 223 SubscriptionsTable.ForeignKeys[1].RefTable = FeedsTable 224 TokensTable.ForeignKeys[0].RefTable = UsersTable 225 }