feat(lib/config): add issues config section
ZhenYi committed
Added lib/config/src/issues.rs lib/config/src/issues.rs +37 −0 View lib/config/src/issues.rs
@@ -0,0 +1,37 @@
1use serde::Deserialize;
2
3#[derive(Clone, Debug, Deserialize)]
4#[serde(default)]
5pub struct IssueConfig {
6 pub max_pagination: u64,
7 pub default_pagination: u64,
8 pub max_board_name_len: usize,
9 pub max_title_len: usize,
10 pub max_body_len: usize,
11 pub max_comment_len: usize,
12 pub max_label_name_len: usize,
13 pub max_label_color_len: usize,
14 pub max_milestone_title_len: usize,
15 pub max_milestone_description_len: usize,
16 pub max_reaction_emoji_len: usize,
17 pub max_mentions_per_message: usize,
18}
19
20impl Default for IssueConfig {
21 fn default() -> Self {
22 Self {
23 max_pagination: 100,
24 default_pagination: 20,
25 max_board_name_len: 100,
26 max_title_len: 255,
27 max_body_len: 65_535,
28 max_comment_len: 65_535,
29 max_label_name_len: 50,
30 max_label_color_len: 7,
31 max_milestone_title_len: 100,
32 max_milestone_description_len: 1024,
33 max_reaction_emoji_len: 32,
34 max_mentions_per_message: 20,
35 }
36 }
37}
Modified lib/config/src/lib.rs lib/config/src/lib.rs +3 −0 View lib/config/src/lib.rs
@@ -1,6 +1,7 @@
11use crate::auth::AuthConfig;
22use crate::cache::CacheConfig;
33use crate::database::DatabaseConfig;
4use crate::issues::IssueConfig;
45use crate::pow::PowConfig;
56use crate::redis::RedisConfig;
67use crate::s3::S3Config;
@@ -22,6 +23,7 @@
2223pub mod web;
2324pub mod user;
2425pub mod space;
26pub mod issues;
2527
2628#[derive(Clone, Debug, Default, Deserialize)]
2729#[serde(default)]
@@ -36,4 +38,5 @@
3638 pub web: WebConfig,
3739 pub user: UserConfig,
3840 pub space: SpaceConfig,
41 pub issues: IssueConfig,
3942}
No newline at end of file