44
55namespace BasicAdmin ;
66
7+ public class PunishmentDefaults
8+ {
9+ [ JsonPropertyName ( "ban_duration" ) ]
10+ public int BanDuration { get ; set ; } = 30 ;
11+
12+ [ JsonPropertyName ( "gag_duration" ) ]
13+ public int GagDuration { get ; set ; } = 30 ;
14+
15+ [ JsonPropertyName ( "mute_duration" ) ]
16+ public int MuteDuration { get ; set ; } = 30 ;
17+ }
18+
19+ public class BasicAdminPunishmentsConfig
20+ {
21+ [ JsonPropertyName ( "defaults" ) ]
22+ public PunishmentDefaults Defaults { get ; set ; } = new ( ) ;
23+ }
24+
25+ public sealed class BasicAdminDatabaseConfig
26+ {
27+ [ JsonPropertyName ( "host" ) ]
28+ public string Host { get ; set ; } = "localhost" ;
29+
30+ [ JsonPropertyName ( "username" ) ]
31+ public string Username { get ; set ; } = "user" ;
32+
33+ [ JsonPropertyName ( "password" ) ]
34+ public string Password { get ; set ; } = "pass" ;
35+
36+ [ JsonPropertyName ( "database" ) ]
37+ public string Database { get ; set ; } = "db_name" ;
38+
39+ [ JsonPropertyName ( "tablePrefix" ) ]
40+ public string TablePrefix { get ; set ; } = "ba_" ;
41+
42+ [ JsonPropertyName ( "port" ) ]
43+ public int Port { get ; set ; } = 3306 ;
44+
45+ /// <summary>
46+ /// Server ID on the database.
47+ /// </summary>
48+ [ JsonPropertyName ( "serverId" ) ]
49+ public int ServerId { get ; set ; } = - 1 ;
50+
51+ public string GetDslString ( )
52+ {
53+ return $ "Server={ Host } ;Database={ Database } ;User Id={ Username } ;Password={ Password } ;Port={ Port } ";
54+ }
55+ }
56+
757public class BasicAdminConfig : BasePluginConfig
858{
959 [ JsonPropertyName ( "admin_tag" ) ]
@@ -26,4 +76,13 @@ public class BasicAdminConfig : BasePluginConfig
2676
2777 [ JsonPropertyName ( "freeze_duration" ) ]
2878 public int FreezeDuration { get ; set ; } = 5 ;
29- }
79+
80+ /// <summary>
81+ /// Database config.
82+ /// </summary>
83+ [ JsonPropertyName ( "database" ) ]
84+ public BasicAdminDatabaseConfig Database { get ; set ; } = new BasicAdminDatabaseConfig ( ) ;
85+
86+ [ JsonPropertyName ( "punishments" ) ]
87+ public BasicAdminPunishmentsConfig Punishments { get ; set ; } = new ( ) ;
88+ }
0 commit comments