20220325170225_PlayerReadRules.Designer.cs 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086
  1. // <auto-generated />
  2. using System;
  3. using System.Net;
  4. using System.Text.Json;
  5. using Content.Server.Database;
  6. using Microsoft.EntityFrameworkCore;
  7. using Microsoft.EntityFrameworkCore.Infrastructure;
  8. using Microsoft.EntityFrameworkCore.Migrations;
  9. using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
  10. using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
  11. #nullable disable
  12. namespace Content.Server.Database.Migrations.Postgres
  13. {
  14. [DbContext(typeof(PostgresServerDbContext))]
  15. [Migration("20220325170225_PlayerReadRules")]
  16. partial class PlayerReadRules
  17. {
  18. protected override void BuildTargetModel(ModelBuilder modelBuilder)
  19. {
  20. #pragma warning disable 612, 618
  21. modelBuilder
  22. .HasAnnotation("ProductVersion", "6.0.0")
  23. .HasAnnotation("Relational:MaxIdentifierLength", 63);
  24. NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
  25. modelBuilder.Entity("Content.Server.Database.Admin", b =>
  26. {
  27. b.Property<Guid>("UserId")
  28. .ValueGeneratedOnAdd()
  29. .HasColumnType("uuid")
  30. .HasColumnName("user_id");
  31. b.Property<int?>("AdminRankId")
  32. .HasColumnType("integer")
  33. .HasColumnName("admin_rank_id");
  34. b.Property<string>("Title")
  35. .HasColumnType("text")
  36. .HasColumnName("title");
  37. b.HasKey("UserId")
  38. .HasName("PK_admin");
  39. b.HasIndex("AdminRankId")
  40. .HasDatabaseName("IX_admin_admin_rank_id");
  41. b.ToTable("admin", (string)null);
  42. });
  43. modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
  44. {
  45. b.Property<int>("Id")
  46. .ValueGeneratedOnAdd()
  47. .HasColumnType("integer")
  48. .HasColumnName("admin_flag_id");
  49. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  50. b.Property<Guid>("AdminId")
  51. .HasColumnType("uuid")
  52. .HasColumnName("admin_id");
  53. b.Property<string>("Flag")
  54. .IsRequired()
  55. .HasColumnType("text")
  56. .HasColumnName("flag");
  57. b.Property<bool>("Negative")
  58. .HasColumnType("boolean")
  59. .HasColumnName("negative");
  60. b.HasKey("Id")
  61. .HasName("PK_admin_flag");
  62. b.HasIndex("AdminId")
  63. .HasDatabaseName("IX_admin_flag_admin_id");
  64. b.HasIndex("Flag", "AdminId")
  65. .IsUnique();
  66. b.ToTable("admin_flag", (string)null);
  67. });
  68. modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
  69. {
  70. b.Property<int>("Id")
  71. .ValueGeneratedOnAdd()
  72. .HasColumnType("integer")
  73. .HasColumnName("admin_log_id");
  74. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  75. b.Property<int>("RoundId")
  76. .HasColumnType("integer")
  77. .HasColumnName("round_id");
  78. b.Property<DateTime>("Date")
  79. .HasColumnType("timestamp with time zone")
  80. .HasColumnName("date");
  81. b.Property<short>("Impact")
  82. .HasColumnType("smallint")
  83. .HasColumnName("impact");
  84. b.Property<JsonDocument>("Json")
  85. .IsRequired()
  86. .HasColumnType("jsonb")
  87. .HasColumnName("json");
  88. b.Property<string>("Message")
  89. .IsRequired()
  90. .HasColumnType("text")
  91. .HasColumnName("message");
  92. b.Property<int>("Type")
  93. .HasColumnType("integer")
  94. .HasColumnName("type");
  95. b.HasKey("Id", "RoundId")
  96. .HasName("PK_admin_log");
  97. b.HasIndex("Message")
  98. .HasAnnotation("Npgsql:TsVectorConfig", "english");
  99. b.HasIndex("RoundId")
  100. .HasDatabaseName("IX_admin_log_round_id");
  101. b.HasIndex("Type")
  102. .HasDatabaseName("IX_admin_log_type");
  103. b.ToTable("admin_log", (string)null);
  104. });
  105. modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
  106. {
  107. b.Property<int>("Uid")
  108. .ValueGeneratedOnAdd()
  109. .HasColumnType("integer")
  110. .HasColumnName("uid");
  111. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Uid"));
  112. b.Property<int?>("AdminLogId")
  113. .HasColumnType("integer")
  114. .HasColumnName("admin_log_id");
  115. b.Property<int?>("AdminLogRoundId")
  116. .HasColumnType("integer")
  117. .HasColumnName("admin_log_round_id");
  118. b.Property<string>("Name")
  119. .HasColumnType("text")
  120. .HasColumnName("name");
  121. b.HasKey("Uid")
  122. .HasName("PK_admin_log_entity");
  123. b.HasIndex("AdminLogId", "AdminLogRoundId")
  124. .HasDatabaseName("IX_admin_log_entity_admin_log_id_admin_log_round_id");
  125. b.ToTable("admin_log_entity", (string)null);
  126. });
  127. modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
  128. {
  129. b.Property<Guid>("PlayerUserId")
  130. .HasColumnType("uuid")
  131. .HasColumnName("player_user_id");
  132. b.Property<int>("LogId")
  133. .HasColumnType("integer")
  134. .HasColumnName("log_id");
  135. b.Property<int>("RoundId")
  136. .HasColumnType("integer")
  137. .HasColumnName("round_id");
  138. b.HasKey("PlayerUserId", "LogId", "RoundId")
  139. .HasName("PK_admin_log_player");
  140. b.HasIndex("LogId", "RoundId");
  141. b.ToTable("admin_log_player", (string)null);
  142. });
  143. modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
  144. {
  145. b.Property<int>("Id")
  146. .ValueGeneratedOnAdd()
  147. .HasColumnType("integer")
  148. .HasColumnName("admin_rank_id");
  149. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  150. b.Property<string>("Name")
  151. .IsRequired()
  152. .HasColumnType("text")
  153. .HasColumnName("name");
  154. b.HasKey("Id")
  155. .HasName("PK_admin_rank");
  156. b.ToTable("admin_rank", (string)null);
  157. });
  158. modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
  159. {
  160. b.Property<int>("Id")
  161. .ValueGeneratedOnAdd()
  162. .HasColumnType("integer")
  163. .HasColumnName("admin_rank_flag_id");
  164. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  165. b.Property<int>("AdminRankId")
  166. .HasColumnType("integer")
  167. .HasColumnName("admin_rank_id");
  168. b.Property<string>("Flag")
  169. .IsRequired()
  170. .HasColumnType("text")
  171. .HasColumnName("flag");
  172. b.HasKey("Id")
  173. .HasName("PK_admin_rank_flag");
  174. b.HasIndex("AdminRankId")
  175. .HasDatabaseName("IX_admin_rank_flag_admin_rank_id");
  176. b.HasIndex("Flag", "AdminRankId")
  177. .IsUnique();
  178. b.ToTable("admin_rank_flag", (string)null);
  179. });
  180. modelBuilder.Entity("Content.Server.Database.Antag", b =>
  181. {
  182. b.Property<int>("Id")
  183. .ValueGeneratedOnAdd()
  184. .HasColumnType("integer")
  185. .HasColumnName("antag_id");
  186. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  187. b.Property<string>("AntagName")
  188. .IsRequired()
  189. .HasColumnType("text")
  190. .HasColumnName("antag_name");
  191. b.Property<int>("ProfileId")
  192. .HasColumnType("integer")
  193. .HasColumnName("profile_id");
  194. b.HasKey("Id")
  195. .HasName("PK_antag");
  196. b.HasIndex("ProfileId", "AntagName")
  197. .IsUnique();
  198. b.ToTable("antag", (string)null);
  199. });
  200. modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
  201. {
  202. b.Property<int>("Id")
  203. .ValueGeneratedOnAdd()
  204. .HasColumnType("integer")
  205. .HasColumnName("assigned_user_id_id");
  206. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  207. b.Property<Guid>("UserId")
  208. .HasColumnType("uuid")
  209. .HasColumnName("user_id");
  210. b.Property<string>("UserName")
  211. .IsRequired()
  212. .HasColumnType("text")
  213. .HasColumnName("user_name");
  214. b.HasKey("Id")
  215. .HasName("PK_assigned_user_id");
  216. b.HasIndex("UserId")
  217. .IsUnique();
  218. b.HasIndex("UserName")
  219. .IsUnique();
  220. b.ToTable("assigned_user_id", (string)null);
  221. });
  222. modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
  223. {
  224. b.Property<int>("Id")
  225. .ValueGeneratedOnAdd()
  226. .HasColumnType("integer")
  227. .HasColumnName("connection_log_id");
  228. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  229. b.Property<IPAddress>("Address")
  230. .IsRequired()
  231. .HasColumnType("inet")
  232. .HasColumnName("address");
  233. b.Property<byte?>("Denied")
  234. .HasColumnType("smallint")
  235. .HasColumnName("denied");
  236. b.Property<byte[]>("HWId")
  237. .HasColumnType("bytea")
  238. .HasColumnName("hwid");
  239. b.Property<DateTime>("Time")
  240. .HasColumnType("timestamp with time zone")
  241. .HasColumnName("time");
  242. b.Property<Guid>("UserId")
  243. .HasColumnType("uuid")
  244. .HasColumnName("user_id");
  245. b.Property<string>("UserName")
  246. .IsRequired()
  247. .HasColumnType("text")
  248. .HasColumnName("user_name");
  249. b.HasKey("Id")
  250. .HasName("PK_connection_log");
  251. b.HasIndex("UserId");
  252. b.ToTable("connection_log", (string)null);
  253. b.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
  254. });
  255. modelBuilder.Entity("Content.Server.Database.Job", b =>
  256. {
  257. b.Property<int>("Id")
  258. .ValueGeneratedOnAdd()
  259. .HasColumnType("integer")
  260. .HasColumnName("job_id");
  261. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  262. b.Property<string>("JobName")
  263. .IsRequired()
  264. .HasColumnType("text")
  265. .HasColumnName("job_name");
  266. b.Property<int>("Priority")
  267. .HasColumnType("integer")
  268. .HasColumnName("priority");
  269. b.Property<int>("ProfileId")
  270. .HasColumnType("integer")
  271. .HasColumnName("profile_id");
  272. b.HasKey("Id")
  273. .HasName("PK_job");
  274. b.HasIndex("ProfileId")
  275. .HasDatabaseName("IX_job_profile_id");
  276. b.HasIndex("ProfileId", "JobName")
  277. .IsUnique();
  278. b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
  279. .IsUnique()
  280. .HasFilter("priority = 3");
  281. b.ToTable("job", (string)null);
  282. });
  283. modelBuilder.Entity("Content.Server.Database.Player", b =>
  284. {
  285. b.Property<int>("Id")
  286. .ValueGeneratedOnAdd()
  287. .HasColumnType("integer")
  288. .HasColumnName("player_id");
  289. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  290. b.Property<DateTime>("FirstSeenTime")
  291. .HasColumnType("timestamp with time zone")
  292. .HasColumnName("first_seen_time");
  293. b.Property<DateTime?>("LastReadRules")
  294. .HasColumnType("timestamp with time zone")
  295. .HasColumnName("last_read_rules");
  296. b.Property<IPAddress>("LastSeenAddress")
  297. .IsRequired()
  298. .HasColumnType("inet")
  299. .HasColumnName("last_seen_address");
  300. b.Property<byte[]>("LastSeenHWId")
  301. .HasColumnType("bytea")
  302. .HasColumnName("last_seen_hwid");
  303. b.Property<DateTime>("LastSeenTime")
  304. .HasColumnType("timestamp with time zone")
  305. .HasColumnName("last_seen_time");
  306. b.Property<string>("LastSeenUserName")
  307. .IsRequired()
  308. .HasColumnType("text")
  309. .HasColumnName("last_seen_user_name");
  310. b.Property<Guid>("UserId")
  311. .HasColumnType("uuid")
  312. .HasColumnName("user_id");
  313. b.HasKey("Id")
  314. .HasName("PK_player");
  315. b.HasAlternateKey("UserId")
  316. .HasName("ak_player_user_id");
  317. b.HasIndex("LastSeenUserName");
  318. b.HasIndex("UserId")
  319. .IsUnique();
  320. b.ToTable("player", (string)null);
  321. b.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
  322. });
  323. modelBuilder.Entity("Content.Server.Database.Preference", b =>
  324. {
  325. b.Property<int>("Id")
  326. .ValueGeneratedOnAdd()
  327. .HasColumnType("integer")
  328. .HasColumnName("preference_id");
  329. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  330. b.Property<string>("AdminOOCColor")
  331. .IsRequired()
  332. .HasColumnType("text")
  333. .HasColumnName("admin_ooc_color");
  334. b.Property<int>("SelectedCharacterSlot")
  335. .HasColumnType("integer")
  336. .HasColumnName("selected_character_slot");
  337. b.Property<Guid>("UserId")
  338. .HasColumnType("uuid")
  339. .HasColumnName("user_id");
  340. b.HasKey("Id")
  341. .HasName("PK_preference");
  342. b.HasIndex("UserId")
  343. .IsUnique();
  344. b.ToTable("preference", (string)null);
  345. });
  346. modelBuilder.Entity("Content.Server.Database.Profile", b =>
  347. {
  348. b.Property<int>("Id")
  349. .ValueGeneratedOnAdd()
  350. .HasColumnType("integer")
  351. .HasColumnName("profile_id");
  352. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  353. b.Property<int>("Age")
  354. .HasColumnType("integer")
  355. .HasColumnName("age");
  356. b.Property<string>("Backpack")
  357. .IsRequired()
  358. .HasColumnType("text")
  359. .HasColumnName("backpack");
  360. b.Property<string>("CharacterName")
  361. .IsRequired()
  362. .HasColumnType("text")
  363. .HasColumnName("char_name");
  364. b.Property<string>("Clothing")
  365. .IsRequired()
  366. .HasColumnType("text")
  367. .HasColumnName("clothing");
  368. b.Property<string>("EyeColor")
  369. .IsRequired()
  370. .HasColumnType("text")
  371. .HasColumnName("eye_color");
  372. b.Property<string>("FacialHairColor")
  373. .IsRequired()
  374. .HasColumnType("text")
  375. .HasColumnName("facial_hair_color");
  376. b.Property<string>("FacialHairName")
  377. .IsRequired()
  378. .HasColumnType("text")
  379. .HasColumnName("facial_hair_name");
  380. b.Property<string>("Gender")
  381. .IsRequired()
  382. .HasColumnType("text")
  383. .HasColumnName("gender");
  384. b.Property<string>("HairColor")
  385. .IsRequired()
  386. .HasColumnType("text")
  387. .HasColumnName("hair_color");
  388. b.Property<string>("HairName")
  389. .IsRequired()
  390. .HasColumnType("text")
  391. .HasColumnName("hair_name");
  392. b.Property<int>("PreferenceId")
  393. .HasColumnType("integer")
  394. .HasColumnName("preference_id");
  395. b.Property<int>("PreferenceUnavailable")
  396. .HasColumnType("integer")
  397. .HasColumnName("pref_unavailable");
  398. b.Property<string>("Sex")
  399. .IsRequired()
  400. .HasColumnType("text")
  401. .HasColumnName("sex");
  402. b.Property<string>("SkinColor")
  403. .IsRequired()
  404. .HasColumnType("text")
  405. .HasColumnName("skin_color");
  406. b.Property<int>("Slot")
  407. .HasColumnType("integer")
  408. .HasColumnName("slot");
  409. b.Property<string>("Species")
  410. .IsRequired()
  411. .HasColumnType("text")
  412. .HasColumnName("species");
  413. b.HasKey("Id")
  414. .HasName("PK_profile");
  415. b.HasIndex("PreferenceId")
  416. .HasDatabaseName("IX_profile_preference_id");
  417. b.HasIndex("Slot", "PreferenceId")
  418. .IsUnique();
  419. b.ToTable("profile", (string)null);
  420. });
  421. modelBuilder.Entity("Content.Server.Database.Round", b =>
  422. {
  423. b.Property<int>("Id")
  424. .ValueGeneratedOnAdd()
  425. .HasColumnType("integer")
  426. .HasColumnName("round_id");
  427. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  428. b.Property<int>("ServerId")
  429. .HasColumnType("integer")
  430. .HasColumnName("server_id");
  431. b.HasKey("Id")
  432. .HasName("PK_round");
  433. b.HasIndex("ServerId")
  434. .HasDatabaseName("IX_round_server_id");
  435. b.ToTable("round", (string)null);
  436. });
  437. modelBuilder.Entity("Content.Server.Database.Server", b =>
  438. {
  439. b.Property<int>("Id")
  440. .ValueGeneratedOnAdd()
  441. .HasColumnType("integer")
  442. .HasColumnName("server_id");
  443. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  444. b.Property<string>("Name")
  445. .IsRequired()
  446. .HasColumnType("text")
  447. .HasColumnName("name");
  448. b.HasKey("Id")
  449. .HasName("PK_server");
  450. b.ToTable("server", (string)null);
  451. });
  452. modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
  453. {
  454. b.Property<int>("Id")
  455. .ValueGeneratedOnAdd()
  456. .HasColumnType("integer")
  457. .HasColumnName("server_ban_id");
  458. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  459. b.Property<ValueTuple<IPAddress, int>?>("Address")
  460. .HasColumnType("inet")
  461. .HasColumnName("address");
  462. b.Property<DateTime>("BanTime")
  463. .HasColumnType("timestamp with time zone")
  464. .HasColumnName("ban_time");
  465. b.Property<Guid?>("BanningAdmin")
  466. .HasColumnType("uuid")
  467. .HasColumnName("banning_admin");
  468. b.Property<DateTime?>("ExpirationTime")
  469. .HasColumnType("timestamp with time zone")
  470. .HasColumnName("expiration_time");
  471. b.Property<byte[]>("HWId")
  472. .HasColumnType("bytea")
  473. .HasColumnName("hwid");
  474. b.Property<string>("Reason")
  475. .IsRequired()
  476. .HasColumnType("text")
  477. .HasColumnName("reason");
  478. b.Property<Guid?>("UserId")
  479. .HasColumnType("uuid")
  480. .HasColumnName("user_id");
  481. b.HasKey("Id")
  482. .HasName("PK_server_ban");
  483. b.HasIndex("Address");
  484. b.HasIndex("UserId");
  485. b.ToTable("server_ban", (string)null);
  486. b.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
  487. b.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
  488. });
  489. modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
  490. {
  491. b.Property<int>("Id")
  492. .ValueGeneratedOnAdd()
  493. .HasColumnType("integer")
  494. .HasColumnName("server_ban_hit_id");
  495. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  496. b.Property<int>("BanId")
  497. .HasColumnType("integer")
  498. .HasColumnName("ban_id");
  499. b.Property<int>("ConnectionId")
  500. .HasColumnType("integer")
  501. .HasColumnName("connection_id");
  502. b.HasKey("Id")
  503. .HasName("PK_server_ban_hit");
  504. b.HasIndex("BanId")
  505. .HasDatabaseName("IX_server_ban_hit_ban_id");
  506. b.HasIndex("ConnectionId")
  507. .HasDatabaseName("IX_server_ban_hit_connection_id");
  508. b.ToTable("server_ban_hit", (string)null);
  509. });
  510. modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
  511. {
  512. b.Property<int>("Id")
  513. .ValueGeneratedOnAdd()
  514. .HasColumnType("integer")
  515. .HasColumnName("server_role_ban_id");
  516. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  517. b.Property<ValueTuple<IPAddress, int>?>("Address")
  518. .HasColumnType("inet")
  519. .HasColumnName("address");
  520. b.Property<DateTime>("BanTime")
  521. .HasColumnType("timestamp with time zone")
  522. .HasColumnName("ban_time");
  523. b.Property<Guid?>("BanningAdmin")
  524. .HasColumnType("uuid")
  525. .HasColumnName("banning_admin");
  526. b.Property<DateTime?>("ExpirationTime")
  527. .HasColumnType("timestamp with time zone")
  528. .HasColumnName("expiration_time");
  529. b.Property<byte[]>("HWId")
  530. .HasColumnType("bytea")
  531. .HasColumnName("hwid");
  532. b.Property<string>("Reason")
  533. .IsRequired()
  534. .HasColumnType("text")
  535. .HasColumnName("reason");
  536. b.Property<string>("RoleId")
  537. .IsRequired()
  538. .HasColumnType("text")
  539. .HasColumnName("role_id");
  540. b.Property<Guid?>("UserId")
  541. .HasColumnType("uuid")
  542. .HasColumnName("user_id");
  543. b.HasKey("Id")
  544. .HasName("PK_server_role_ban");
  545. b.HasIndex("Address");
  546. b.HasIndex("UserId");
  547. b.ToTable("server_role_ban", (string)null);
  548. b.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
  549. b.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
  550. });
  551. modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
  552. {
  553. b.Property<int>("Id")
  554. .ValueGeneratedOnAdd()
  555. .HasColumnType("integer")
  556. .HasColumnName("role_unban_id");
  557. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  558. b.Property<int>("BanId")
  559. .HasColumnType("integer")
  560. .HasColumnName("ban_id");
  561. b.Property<DateTime>("UnbanTime")
  562. .HasColumnType("timestamp with time zone")
  563. .HasColumnName("unban_time");
  564. b.Property<Guid?>("UnbanningAdmin")
  565. .HasColumnType("uuid")
  566. .HasColumnName("unbanning_admin");
  567. b.HasKey("Id")
  568. .HasName("PK_server_role_unban");
  569. b.HasIndex("BanId")
  570. .IsUnique();
  571. b.ToTable("server_role_unban", (string)null);
  572. });
  573. modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
  574. {
  575. b.Property<int>("Id")
  576. .ValueGeneratedOnAdd()
  577. .HasColumnType("integer")
  578. .HasColumnName("unban_id");
  579. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  580. b.Property<int>("BanId")
  581. .HasColumnType("integer")
  582. .HasColumnName("ban_id");
  583. b.Property<DateTime>("UnbanTime")
  584. .HasColumnType("timestamp with time zone")
  585. .HasColumnName("unban_time");
  586. b.Property<Guid?>("UnbanningAdmin")
  587. .HasColumnType("uuid")
  588. .HasColumnName("unbanning_admin");
  589. b.HasKey("Id")
  590. .HasName("PK_server_unban");
  591. b.HasIndex("BanId")
  592. .IsUnique();
  593. b.ToTable("server_unban", (string)null);
  594. });
  595. modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
  596. {
  597. b.Property<Guid>("UserId")
  598. .ValueGeneratedOnAdd()
  599. .HasColumnType("uuid")
  600. .HasColumnName("user_id");
  601. b.HasKey("UserId")
  602. .HasName("PK_whitelist");
  603. b.ToTable("whitelist", (string)null);
  604. });
  605. modelBuilder.Entity("PlayerRound", b =>
  606. {
  607. b.Property<int>("PlayersId")
  608. .HasColumnType("integer")
  609. .HasColumnName("players_id");
  610. b.Property<int>("RoundsId")
  611. .HasColumnType("integer")
  612. .HasColumnName("rounds_id");
  613. b.HasKey("PlayersId", "RoundsId")
  614. .HasName("PK_player_round");
  615. b.HasIndex("RoundsId")
  616. .HasDatabaseName("IX_player_round_rounds_id");
  617. b.ToTable("player_round", (string)null);
  618. });
  619. modelBuilder.Entity("Content.Server.Database.Admin", b =>
  620. {
  621. b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
  622. .WithMany("Admins")
  623. .HasForeignKey("AdminRankId")
  624. .OnDelete(DeleteBehavior.SetNull)
  625. .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
  626. b.Navigation("AdminRank");
  627. });
  628. modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
  629. {
  630. b.HasOne("Content.Server.Database.Admin", "Admin")
  631. .WithMany("Flags")
  632. .HasForeignKey("AdminId")
  633. .OnDelete(DeleteBehavior.Cascade)
  634. .IsRequired()
  635. .HasConstraintName("FK_admin_flag_admin_admin_id");
  636. b.Navigation("Admin");
  637. });
  638. modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
  639. {
  640. b.HasOne("Content.Server.Database.Round", "Round")
  641. .WithMany("AdminLogs")
  642. .HasForeignKey("RoundId")
  643. .OnDelete(DeleteBehavior.Cascade)
  644. .IsRequired()
  645. .HasConstraintName("FK_admin_log_round_round_id");
  646. b.Navigation("Round");
  647. });
  648. modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
  649. {
  650. b.HasOne("Content.Server.Database.AdminLog", null)
  651. .WithMany("Entities")
  652. .HasForeignKey("AdminLogId", "AdminLogRoundId")
  653. .HasConstraintName("FK_admin_log_entity_admin_log_admin_log_id_admin_log_round_id");
  654. });
  655. modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
  656. {
  657. b.HasOne("Content.Server.Database.Player", "Player")
  658. .WithMany("AdminLogs")
  659. .HasForeignKey("PlayerUserId")
  660. .HasPrincipalKey("UserId")
  661. .OnDelete(DeleteBehavior.Cascade)
  662. .IsRequired()
  663. .HasConstraintName("FK_admin_log_player_player_player_user_id");
  664. b.HasOne("Content.Server.Database.AdminLog", "Log")
  665. .WithMany("Players")
  666. .HasForeignKey("LogId", "RoundId")
  667. .OnDelete(DeleteBehavior.Cascade)
  668. .IsRequired()
  669. .HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
  670. b.Navigation("Log");
  671. b.Navigation("Player");
  672. });
  673. modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
  674. {
  675. b.HasOne("Content.Server.Database.AdminRank", "Rank")
  676. .WithMany("Flags")
  677. .HasForeignKey("AdminRankId")
  678. .OnDelete(DeleteBehavior.Cascade)
  679. .IsRequired()
  680. .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
  681. b.Navigation("Rank");
  682. });
  683. modelBuilder.Entity("Content.Server.Database.Antag", b =>
  684. {
  685. b.HasOne("Content.Server.Database.Profile", "Profile")
  686. .WithMany("Antags")
  687. .HasForeignKey("ProfileId")
  688. .OnDelete(DeleteBehavior.Cascade)
  689. .IsRequired()
  690. .HasConstraintName("FK_antag_profile_profile_id");
  691. b.Navigation("Profile");
  692. });
  693. modelBuilder.Entity("Content.Server.Database.Job", b =>
  694. {
  695. b.HasOne("Content.Server.Database.Profile", "Profile")
  696. .WithMany("Jobs")
  697. .HasForeignKey("ProfileId")
  698. .OnDelete(DeleteBehavior.Cascade)
  699. .IsRequired()
  700. .HasConstraintName("FK_job_profile_profile_id");
  701. b.Navigation("Profile");
  702. });
  703. modelBuilder.Entity("Content.Server.Database.Profile", b =>
  704. {
  705. b.HasOne("Content.Server.Database.Preference", "Preference")
  706. .WithMany("Profiles")
  707. .HasForeignKey("PreferenceId")
  708. .OnDelete(DeleteBehavior.Cascade)
  709. .IsRequired()
  710. .HasConstraintName("FK_profile_preference_preference_id");
  711. b.Navigation("Preference");
  712. });
  713. modelBuilder.Entity("Content.Server.Database.Round", b =>
  714. {
  715. b.HasOne("Content.Server.Database.Server", "Server")
  716. .WithMany("Rounds")
  717. .HasForeignKey("ServerId")
  718. .OnDelete(DeleteBehavior.Cascade)
  719. .IsRequired()
  720. .HasConstraintName("FK_round_server_server_id");
  721. b.Navigation("Server");
  722. });
  723. modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
  724. {
  725. b.HasOne("Content.Server.Database.ServerBan", "Ban")
  726. .WithMany("BanHits")
  727. .HasForeignKey("BanId")
  728. .OnDelete(DeleteBehavior.Cascade)
  729. .IsRequired()
  730. .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
  731. b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
  732. .WithMany("BanHits")
  733. .HasForeignKey("ConnectionId")
  734. .OnDelete(DeleteBehavior.Cascade)
  735. .IsRequired()
  736. .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
  737. b.Navigation("Ban");
  738. b.Navigation("Connection");
  739. });
  740. modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
  741. {
  742. b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
  743. .WithOne("Unban")
  744. .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
  745. .OnDelete(DeleteBehavior.Cascade)
  746. .IsRequired()
  747. .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
  748. b.Navigation("Ban");
  749. });
  750. modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
  751. {
  752. b.HasOne("Content.Server.Database.ServerBan", "Ban")
  753. .WithOne("Unban")
  754. .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
  755. .OnDelete(DeleteBehavior.Cascade)
  756. .IsRequired()
  757. .HasConstraintName("FK_server_unban_server_ban_ban_id");
  758. b.Navigation("Ban");
  759. });
  760. modelBuilder.Entity("PlayerRound", b =>
  761. {
  762. b.HasOne("Content.Server.Database.Player", null)
  763. .WithMany()
  764. .HasForeignKey("PlayersId")
  765. .OnDelete(DeleteBehavior.Cascade)
  766. .IsRequired()
  767. .HasConstraintName("FK_player_round_player_players_id");
  768. b.HasOne("Content.Server.Database.Round", null)
  769. .WithMany()
  770. .HasForeignKey("RoundsId")
  771. .OnDelete(DeleteBehavior.Cascade)
  772. .IsRequired()
  773. .HasConstraintName("FK_player_round_round_rounds_id");
  774. });
  775. modelBuilder.Entity("Content.Server.Database.Admin", b =>
  776. {
  777. b.Navigation("Flags");
  778. });
  779. modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
  780. {
  781. b.Navigation("Entities");
  782. b.Navigation("Players");
  783. });
  784. modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
  785. {
  786. b.Navigation("Admins");
  787. b.Navigation("Flags");
  788. });
  789. modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
  790. {
  791. b.Navigation("BanHits");
  792. });
  793. modelBuilder.Entity("Content.Server.Database.Player", b =>
  794. {
  795. b.Navigation("AdminLogs");
  796. });
  797. modelBuilder.Entity("Content.Server.Database.Preference", b =>
  798. {
  799. b.Navigation("Profiles");
  800. });
  801. modelBuilder.Entity("Content.Server.Database.Profile", b =>
  802. {
  803. b.Navigation("Antags");
  804. b.Navigation("Jobs");
  805. });
  806. modelBuilder.Entity("Content.Server.Database.Round", b =>
  807. {
  808. b.Navigation("AdminLogs");
  809. });
  810. modelBuilder.Entity("Content.Server.Database.Server", b =>
  811. {
  812. b.Navigation("Rounds");
  813. });
  814. modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
  815. {
  816. b.Navigation("BanHits");
  817. b.Navigation("Unban");
  818. });
  819. modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
  820. {
  821. b.Navigation("Unban");
  822. });
  823. #pragma warning restore 612, 618
  824. }
  825. }
  826. }