20220313151800_ServerNameFts.Designer.cs 40 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082
  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("20220313151800_ServerNameFts")]
  16. partial class ServerNameFts
  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<IPAddress>("LastSeenAddress")
  294. .IsRequired()
  295. .HasColumnType("inet")
  296. .HasColumnName("last_seen_address");
  297. b.Property<byte[]>("LastSeenHWId")
  298. .HasColumnType("bytea")
  299. .HasColumnName("last_seen_hwid");
  300. b.Property<DateTime>("LastSeenTime")
  301. .HasColumnType("timestamp with time zone")
  302. .HasColumnName("last_seen_time");
  303. b.Property<string>("LastSeenUserName")
  304. .IsRequired()
  305. .HasColumnType("text")
  306. .HasColumnName("last_seen_user_name");
  307. b.Property<Guid>("UserId")
  308. .HasColumnType("uuid")
  309. .HasColumnName("user_id");
  310. b.HasKey("Id")
  311. .HasName("PK_player");
  312. b.HasAlternateKey("UserId")
  313. .HasName("ak_player_user_id");
  314. b.HasIndex("LastSeenUserName");
  315. b.HasIndex("UserId")
  316. .IsUnique();
  317. b.ToTable("player", (string)null);
  318. b.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
  319. });
  320. modelBuilder.Entity("Content.Server.Database.Preference", b =>
  321. {
  322. b.Property<int>("Id")
  323. .ValueGeneratedOnAdd()
  324. .HasColumnType("integer")
  325. .HasColumnName("preference_id");
  326. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  327. b.Property<string>("AdminOOCColor")
  328. .IsRequired()
  329. .HasColumnType("text")
  330. .HasColumnName("admin_ooc_color");
  331. b.Property<int>("SelectedCharacterSlot")
  332. .HasColumnType("integer")
  333. .HasColumnName("selected_character_slot");
  334. b.Property<Guid>("UserId")
  335. .HasColumnType("uuid")
  336. .HasColumnName("user_id");
  337. b.HasKey("Id")
  338. .HasName("PK_preference");
  339. b.HasIndex("UserId")
  340. .IsUnique();
  341. b.ToTable("preference", (string)null);
  342. });
  343. modelBuilder.Entity("Content.Server.Database.Profile", b =>
  344. {
  345. b.Property<int>("Id")
  346. .ValueGeneratedOnAdd()
  347. .HasColumnType("integer")
  348. .HasColumnName("profile_id");
  349. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  350. b.Property<int>("Age")
  351. .HasColumnType("integer")
  352. .HasColumnName("age");
  353. b.Property<string>("Backpack")
  354. .IsRequired()
  355. .HasColumnType("text")
  356. .HasColumnName("backpack");
  357. b.Property<string>("CharacterName")
  358. .IsRequired()
  359. .HasColumnType("text")
  360. .HasColumnName("char_name");
  361. b.Property<string>("Clothing")
  362. .IsRequired()
  363. .HasColumnType("text")
  364. .HasColumnName("clothing");
  365. b.Property<string>("EyeColor")
  366. .IsRequired()
  367. .HasColumnType("text")
  368. .HasColumnName("eye_color");
  369. b.Property<string>("FacialHairColor")
  370. .IsRequired()
  371. .HasColumnType("text")
  372. .HasColumnName("facial_hair_color");
  373. b.Property<string>("FacialHairName")
  374. .IsRequired()
  375. .HasColumnType("text")
  376. .HasColumnName("facial_hair_name");
  377. b.Property<string>("Gender")
  378. .IsRequired()
  379. .HasColumnType("text")
  380. .HasColumnName("gender");
  381. b.Property<string>("HairColor")
  382. .IsRequired()
  383. .HasColumnType("text")
  384. .HasColumnName("hair_color");
  385. b.Property<string>("HairName")
  386. .IsRequired()
  387. .HasColumnType("text")
  388. .HasColumnName("hair_name");
  389. b.Property<int>("PreferenceId")
  390. .HasColumnType("integer")
  391. .HasColumnName("preference_id");
  392. b.Property<int>("PreferenceUnavailable")
  393. .HasColumnType("integer")
  394. .HasColumnName("pref_unavailable");
  395. b.Property<string>("Sex")
  396. .IsRequired()
  397. .HasColumnType("text")
  398. .HasColumnName("sex");
  399. b.Property<string>("SkinColor")
  400. .IsRequired()
  401. .HasColumnType("text")
  402. .HasColumnName("skin_color");
  403. b.Property<int>("Slot")
  404. .HasColumnType("integer")
  405. .HasColumnName("slot");
  406. b.Property<string>("Species")
  407. .IsRequired()
  408. .HasColumnType("text")
  409. .HasColumnName("species");
  410. b.HasKey("Id")
  411. .HasName("PK_profile");
  412. b.HasIndex("PreferenceId")
  413. .HasDatabaseName("IX_profile_preference_id");
  414. b.HasIndex("Slot", "PreferenceId")
  415. .IsUnique();
  416. b.ToTable("profile", (string)null);
  417. });
  418. modelBuilder.Entity("Content.Server.Database.Round", b =>
  419. {
  420. b.Property<int>("Id")
  421. .ValueGeneratedOnAdd()
  422. .HasColumnType("integer")
  423. .HasColumnName("round_id");
  424. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  425. b.Property<int>("ServerId")
  426. .HasColumnType("integer")
  427. .HasColumnName("server_id");
  428. b.HasKey("Id")
  429. .HasName("PK_round");
  430. b.HasIndex("ServerId")
  431. .HasDatabaseName("IX_round_server_id");
  432. b.ToTable("round", (string)null);
  433. });
  434. modelBuilder.Entity("Content.Server.Database.Server", b =>
  435. {
  436. b.Property<int>("Id")
  437. .ValueGeneratedOnAdd()
  438. .HasColumnType("integer")
  439. .HasColumnName("server_id");
  440. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  441. b.Property<string>("Name")
  442. .IsRequired()
  443. .HasColumnType("text")
  444. .HasColumnName("name");
  445. b.HasKey("Id")
  446. .HasName("PK_server");
  447. b.ToTable("server", (string)null);
  448. });
  449. modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
  450. {
  451. b.Property<int>("Id")
  452. .ValueGeneratedOnAdd()
  453. .HasColumnType("integer")
  454. .HasColumnName("server_ban_id");
  455. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  456. b.Property<ValueTuple<IPAddress, int>?>("Address")
  457. .HasColumnType("inet")
  458. .HasColumnName("address");
  459. b.Property<DateTime>("BanTime")
  460. .HasColumnType("timestamp with time zone")
  461. .HasColumnName("ban_time");
  462. b.Property<Guid?>("BanningAdmin")
  463. .HasColumnType("uuid")
  464. .HasColumnName("banning_admin");
  465. b.Property<DateTime?>("ExpirationTime")
  466. .HasColumnType("timestamp with time zone")
  467. .HasColumnName("expiration_time");
  468. b.Property<byte[]>("HWId")
  469. .HasColumnType("bytea")
  470. .HasColumnName("hwid");
  471. b.Property<string>("Reason")
  472. .IsRequired()
  473. .HasColumnType("text")
  474. .HasColumnName("reason");
  475. b.Property<Guid?>("UserId")
  476. .HasColumnType("uuid")
  477. .HasColumnName("user_id");
  478. b.HasKey("Id")
  479. .HasName("PK_server_ban");
  480. b.HasIndex("Address");
  481. b.HasIndex("UserId");
  482. b.ToTable("server_ban", (string)null);
  483. b.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
  484. b.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
  485. });
  486. modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
  487. {
  488. b.Property<int>("Id")
  489. .ValueGeneratedOnAdd()
  490. .HasColumnType("integer")
  491. .HasColumnName("server_ban_hit_id");
  492. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  493. b.Property<int>("BanId")
  494. .HasColumnType("integer")
  495. .HasColumnName("ban_id");
  496. b.Property<int>("ConnectionId")
  497. .HasColumnType("integer")
  498. .HasColumnName("connection_id");
  499. b.HasKey("Id")
  500. .HasName("PK_server_ban_hit");
  501. b.HasIndex("BanId")
  502. .HasDatabaseName("IX_server_ban_hit_ban_id");
  503. b.HasIndex("ConnectionId")
  504. .HasDatabaseName("IX_server_ban_hit_connection_id");
  505. b.ToTable("server_ban_hit", (string)null);
  506. });
  507. modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
  508. {
  509. b.Property<int>("Id")
  510. .ValueGeneratedOnAdd()
  511. .HasColumnType("integer")
  512. .HasColumnName("server_role_ban_id");
  513. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  514. b.Property<ValueTuple<IPAddress, int>?>("Address")
  515. .HasColumnType("inet")
  516. .HasColumnName("address");
  517. b.Property<DateTime>("BanTime")
  518. .HasColumnType("timestamp with time zone")
  519. .HasColumnName("ban_time");
  520. b.Property<Guid?>("BanningAdmin")
  521. .HasColumnType("uuid")
  522. .HasColumnName("banning_admin");
  523. b.Property<DateTime?>("ExpirationTime")
  524. .HasColumnType("timestamp with time zone")
  525. .HasColumnName("expiration_time");
  526. b.Property<byte[]>("HWId")
  527. .HasColumnType("bytea")
  528. .HasColumnName("hwid");
  529. b.Property<string>("Reason")
  530. .IsRequired()
  531. .HasColumnType("text")
  532. .HasColumnName("reason");
  533. b.Property<string>("RoleId")
  534. .IsRequired()
  535. .HasColumnType("text")
  536. .HasColumnName("role_id");
  537. b.Property<Guid?>("UserId")
  538. .HasColumnType("uuid")
  539. .HasColumnName("user_id");
  540. b.HasKey("Id")
  541. .HasName("PK_server_role_ban");
  542. b.HasIndex("Address");
  543. b.HasIndex("UserId");
  544. b.ToTable("server_role_ban", (string)null);
  545. b.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
  546. b.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
  547. });
  548. modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
  549. {
  550. b.Property<int>("Id")
  551. .ValueGeneratedOnAdd()
  552. .HasColumnType("integer")
  553. .HasColumnName("role_unban_id");
  554. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  555. b.Property<int>("BanId")
  556. .HasColumnType("integer")
  557. .HasColumnName("ban_id");
  558. b.Property<DateTime>("UnbanTime")
  559. .HasColumnType("timestamp with time zone")
  560. .HasColumnName("unban_time");
  561. b.Property<Guid?>("UnbanningAdmin")
  562. .HasColumnType("uuid")
  563. .HasColumnName("unbanning_admin");
  564. b.HasKey("Id")
  565. .HasName("PK_server_role_unban");
  566. b.HasIndex("BanId")
  567. .IsUnique();
  568. b.ToTable("server_role_unban", (string)null);
  569. });
  570. modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
  571. {
  572. b.Property<int>("Id")
  573. .ValueGeneratedOnAdd()
  574. .HasColumnType("integer")
  575. .HasColumnName("unban_id");
  576. NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
  577. b.Property<int>("BanId")
  578. .HasColumnType("integer")
  579. .HasColumnName("ban_id");
  580. b.Property<DateTime>("UnbanTime")
  581. .HasColumnType("timestamp with time zone")
  582. .HasColumnName("unban_time");
  583. b.Property<Guid?>("UnbanningAdmin")
  584. .HasColumnType("uuid")
  585. .HasColumnName("unbanning_admin");
  586. b.HasKey("Id")
  587. .HasName("PK_server_unban");
  588. b.HasIndex("BanId")
  589. .IsUnique();
  590. b.ToTable("server_unban", (string)null);
  591. });
  592. modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
  593. {
  594. b.Property<Guid>("UserId")
  595. .ValueGeneratedOnAdd()
  596. .HasColumnType("uuid")
  597. .HasColumnName("user_id");
  598. b.HasKey("UserId")
  599. .HasName("PK_whitelist");
  600. b.ToTable("whitelist", (string)null);
  601. });
  602. modelBuilder.Entity("PlayerRound", b =>
  603. {
  604. b.Property<int>("PlayersId")
  605. .HasColumnType("integer")
  606. .HasColumnName("players_id");
  607. b.Property<int>("RoundsId")
  608. .HasColumnType("integer")
  609. .HasColumnName("rounds_id");
  610. b.HasKey("PlayersId", "RoundsId")
  611. .HasName("PK_player_round");
  612. b.HasIndex("RoundsId")
  613. .HasDatabaseName("IX_player_round_rounds_id");
  614. b.ToTable("player_round", (string)null);
  615. });
  616. modelBuilder.Entity("Content.Server.Database.Admin", b =>
  617. {
  618. b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
  619. .WithMany("Admins")
  620. .HasForeignKey("AdminRankId")
  621. .OnDelete(DeleteBehavior.SetNull)
  622. .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
  623. b.Navigation("AdminRank");
  624. });
  625. modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
  626. {
  627. b.HasOne("Content.Server.Database.Admin", "Admin")
  628. .WithMany("Flags")
  629. .HasForeignKey("AdminId")
  630. .OnDelete(DeleteBehavior.Cascade)
  631. .IsRequired()
  632. .HasConstraintName("FK_admin_flag_admin_admin_id");
  633. b.Navigation("Admin");
  634. });
  635. modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
  636. {
  637. b.HasOne("Content.Server.Database.Round", "Round")
  638. .WithMany("AdminLogs")
  639. .HasForeignKey("RoundId")
  640. .OnDelete(DeleteBehavior.Cascade)
  641. .IsRequired()
  642. .HasConstraintName("FK_admin_log_round_round_id");
  643. b.Navigation("Round");
  644. });
  645. modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
  646. {
  647. b.HasOne("Content.Server.Database.AdminLog", null)
  648. .WithMany("Entities")
  649. .HasForeignKey("AdminLogId", "AdminLogRoundId")
  650. .HasConstraintName("FK_admin_log_entity_admin_log_admin_log_id_admin_log_round_id");
  651. });
  652. modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
  653. {
  654. b.HasOne("Content.Server.Database.Player", "Player")
  655. .WithMany("AdminLogs")
  656. .HasForeignKey("PlayerUserId")
  657. .HasPrincipalKey("UserId")
  658. .OnDelete(DeleteBehavior.Cascade)
  659. .IsRequired()
  660. .HasConstraintName("FK_admin_log_player_player_player_user_id");
  661. b.HasOne("Content.Server.Database.AdminLog", "Log")
  662. .WithMany("Players")
  663. .HasForeignKey("LogId", "RoundId")
  664. .OnDelete(DeleteBehavior.Cascade)
  665. .IsRequired()
  666. .HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
  667. b.Navigation("Log");
  668. b.Navigation("Player");
  669. });
  670. modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
  671. {
  672. b.HasOne("Content.Server.Database.AdminRank", "Rank")
  673. .WithMany("Flags")
  674. .HasForeignKey("AdminRankId")
  675. .OnDelete(DeleteBehavior.Cascade)
  676. .IsRequired()
  677. .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
  678. b.Navigation("Rank");
  679. });
  680. modelBuilder.Entity("Content.Server.Database.Antag", b =>
  681. {
  682. b.HasOne("Content.Server.Database.Profile", "Profile")
  683. .WithMany("Antags")
  684. .HasForeignKey("ProfileId")
  685. .OnDelete(DeleteBehavior.Cascade)
  686. .IsRequired()
  687. .HasConstraintName("FK_antag_profile_profile_id");
  688. b.Navigation("Profile");
  689. });
  690. modelBuilder.Entity("Content.Server.Database.Job", b =>
  691. {
  692. b.HasOne("Content.Server.Database.Profile", "Profile")
  693. .WithMany("Jobs")
  694. .HasForeignKey("ProfileId")
  695. .OnDelete(DeleteBehavior.Cascade)
  696. .IsRequired()
  697. .HasConstraintName("FK_job_profile_profile_id");
  698. b.Navigation("Profile");
  699. });
  700. modelBuilder.Entity("Content.Server.Database.Profile", b =>
  701. {
  702. b.HasOne("Content.Server.Database.Preference", "Preference")
  703. .WithMany("Profiles")
  704. .HasForeignKey("PreferenceId")
  705. .OnDelete(DeleteBehavior.Cascade)
  706. .IsRequired()
  707. .HasConstraintName("FK_profile_preference_preference_id");
  708. b.Navigation("Preference");
  709. });
  710. modelBuilder.Entity("Content.Server.Database.Round", b =>
  711. {
  712. b.HasOne("Content.Server.Database.Server", "Server")
  713. .WithMany("Rounds")
  714. .HasForeignKey("ServerId")
  715. .OnDelete(DeleteBehavior.Cascade)
  716. .IsRequired()
  717. .HasConstraintName("FK_round_server_server_id");
  718. b.Navigation("Server");
  719. });
  720. modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
  721. {
  722. b.HasOne("Content.Server.Database.ServerBan", "Ban")
  723. .WithMany("BanHits")
  724. .HasForeignKey("BanId")
  725. .OnDelete(DeleteBehavior.Cascade)
  726. .IsRequired()
  727. .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
  728. b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
  729. .WithMany("BanHits")
  730. .HasForeignKey("ConnectionId")
  731. .OnDelete(DeleteBehavior.Cascade)
  732. .IsRequired()
  733. .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
  734. b.Navigation("Ban");
  735. b.Navigation("Connection");
  736. });
  737. modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
  738. {
  739. b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
  740. .WithOne("Unban")
  741. .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
  742. .OnDelete(DeleteBehavior.Cascade)
  743. .IsRequired()
  744. .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
  745. b.Navigation("Ban");
  746. });
  747. modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
  748. {
  749. b.HasOne("Content.Server.Database.ServerBan", "Ban")
  750. .WithOne("Unban")
  751. .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
  752. .OnDelete(DeleteBehavior.Cascade)
  753. .IsRequired()
  754. .HasConstraintName("FK_server_unban_server_ban_ban_id");
  755. b.Navigation("Ban");
  756. });
  757. modelBuilder.Entity("PlayerRound", b =>
  758. {
  759. b.HasOne("Content.Server.Database.Player", null)
  760. .WithMany()
  761. .HasForeignKey("PlayersId")
  762. .OnDelete(DeleteBehavior.Cascade)
  763. .IsRequired()
  764. .HasConstraintName("FK_player_round_player_players_id");
  765. b.HasOne("Content.Server.Database.Round", null)
  766. .WithMany()
  767. .HasForeignKey("RoundsId")
  768. .OnDelete(DeleteBehavior.Cascade)
  769. .IsRequired()
  770. .HasConstraintName("FK_player_round_round_rounds_id");
  771. });
  772. modelBuilder.Entity("Content.Server.Database.Admin", b =>
  773. {
  774. b.Navigation("Flags");
  775. });
  776. modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
  777. {
  778. b.Navigation("Entities");
  779. b.Navigation("Players");
  780. });
  781. modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
  782. {
  783. b.Navigation("Admins");
  784. b.Navigation("Flags");
  785. });
  786. modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
  787. {
  788. b.Navigation("BanHits");
  789. });
  790. modelBuilder.Entity("Content.Server.Database.Player", b =>
  791. {
  792. b.Navigation("AdminLogs");
  793. });
  794. modelBuilder.Entity("Content.Server.Database.Preference", b =>
  795. {
  796. b.Navigation("Profiles");
  797. });
  798. modelBuilder.Entity("Content.Server.Database.Profile", b =>
  799. {
  800. b.Navigation("Antags");
  801. b.Navigation("Jobs");
  802. });
  803. modelBuilder.Entity("Content.Server.Database.Round", b =>
  804. {
  805. b.Navigation("AdminLogs");
  806. });
  807. modelBuilder.Entity("Content.Server.Database.Server", b =>
  808. {
  809. b.Navigation("Rounds");
  810. });
  811. modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
  812. {
  813. b.Navigation("BanHits");
  814. b.Navigation("Unban");
  815. });
  816. modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
  817. {
  818. b.Navigation("Unban");
  819. });
  820. #pragma warning restore 612, 618
  821. }
  822. }
  823. }