Skip to content

Commit 29170e3

Browse files
committed
♻️ 数据安全性加固,所有非特殊性质的 ID 在服务端这边强制以无符号格式处理,保证业务层不可能出现负数。
部分特殊性质的 ID,如数据库引用上级时,无上级时记为 `-1`,可以使用有符号类型。
1 parent df2c5c3 commit 29170e3

33 files changed

+263
-187
lines changed

packages/database/src/models/area/area.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ use _utils::{impl_safe_operation, types::HiddenFlag};
77
#[sea_orm(table_name = "area", schema_name = "genshin_map")]
88
pub struct Model {
99
/// 乐观锁
10-
pub version: i64,
10+
pub version: u64,
1111
/// ID
1212
#[sea_orm(primary_key)]
13-
pub id: i64,
13+
pub id: u64,
1414
/// 创建时间
1515
pub create_time: DateTime,
1616
/// 更新时间
1717
pub update_time: Option<DateTime>,
1818
/// 创建人
19-
pub creator_id: Option<i64>,
19+
pub creator_id: Option<u64>,
2020
/// 更新人
21-
pub updater_id: Option<i64>,
21+
pub updater_id: Option<u64>,
2222
/// 逻辑删除
2323
pub del_flag: bool,
2424

packages/database/src/models/area/item_area_public.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@ use serde::{Deserialize, Serialize};
66
#[sea_orm(table_name = "item_area_public", schema_name = "genshin_map")]
77
pub struct Model {
88
/// 乐观锁
9-
pub version: i64,
9+
pub version: u64,
1010
/// ID
1111
#[sea_orm(primary_key)]
12-
pub id: i64,
12+
pub id: u64,
1313
/// 创建时间
1414
pub create_time: DateTime,
1515
/// 更新时间
1616
pub update_time: Option<DateTime>,
1717
/// 创建人
18-
pub creator_id: Option<i64>,
18+
pub creator_id: Option<u64>,
1919
/// 更新人
20-
pub updater_id: Option<i64>,
20+
pub updater_id: Option<u64>,
2121
/// 逻辑删除
2222
pub del_flag: bool,
2323

2424
/// 物品 ID
25-
pub item_id: i64,
25+
pub item_id: u64,
2626
}
2727

2828
#[derive(Debug, Clone, Copy, EnumIter, DeriveRelation)]

packages/database/src/models/common/history.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ use _utils::{
1010
#[sea_orm(table_name = "history", schema_name = "genshin_map")]
1111
pub struct Model {
1212
/// 乐观锁
13-
pub version: i64,
13+
pub version: u64,
1414
/// ID
1515
#[sea_orm(primary_key)]
16-
pub id: i64,
16+
pub id: u64,
1717
/// 创建时间
1818
pub create_time: DateTime,
1919
/// 更新时间
2020
pub update_time: Option<DateTime>,
2121
/// 创建人
22-
pub creator_id: Option<i64>,
22+
pub creator_id: Option<u64>,
2323
/// 更新人
24-
pub updater_id: Option<i64>,
24+
pub updater_id: Option<u64>,
2525
/// 逻辑删除
2626
pub del_flag: bool,
2727

@@ -31,7 +31,7 @@ pub struct Model {
3131
pub md5: Option<String>,
3232
/// 原 ID
3333
#[sea_orm(indexed)]
34-
pub t_id: i64,
34+
pub t_id: u64,
3535
/// 操作数据类型
3636
#[sea_orm(column_name = "type", indexed)]
3737
pub history_type: Option<HistoryOperationType>,

packages/database/src/models/common/notice.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ use serde::{Deserialize, Serialize};
66
#[sea_orm(table_name = "notice", schema_name = "genshin_map")]
77
pub struct Model {
88
/// 乐观锁
9-
pub version: i64,
9+
pub version: u64,
1010
/// ID
1111
#[sea_orm(primary_key)]
12-
pub id: i64,
12+
pub id: u64,
1313
/// 创建时间
1414
pub create_time: DateTime,
1515
/// 更新时间
1616
pub update_time: Option<DateTime>,
1717
/// 创建人
18-
pub creator_id: Option<i64>,
18+
pub creator_id: Option<u64>,
1919
/// 更新人
20-
pub updater_id: Option<i64>,
20+
pub updater_id: Option<u64>,
2121
/// 逻辑删除
2222
pub del_flag: bool,
2323

packages/database/src/models/common/route.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ use _utils::{impl_safe_operation, types::HiddenFlag};
77
#[sea_orm(table_name = "route", schema_name = "genshin_map")]
88
pub struct Model {
99
/// 乐观锁
10-
pub version: i64,
10+
pub version: u64,
1111
/// ID
1212
#[sea_orm(primary_key)]
13-
pub id: i64,
13+
pub id: u64,
1414
/// 创建时间
1515
pub create_time: DateTime,
1616
/// 更新时间
1717
pub update_time: Option<DateTime>,
1818
/// 创建人
19-
pub creator_id: Option<i64>,
19+
pub creator_id: Option<u64>,
2020
/// 更新人
21-
pub updater_id: Option<i64>,
21+
pub updater_id: Option<u64>,
2222
/// 逻辑删除
2323
pub del_flag: bool,
2424

@@ -41,7 +41,7 @@ pub struct Model {
4141
}
4242

4343
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, FromJsonQueryResult)]
44-
pub struct MarkerListWrapper(Vec<i64>);
44+
pub struct MarkerListWrapper(Vec<u64>);
4545

4646
#[derive(Debug, Clone, Copy, EnumIter, DeriveRelation)]
4747
pub enum Relation {

packages/database/src/models/common/score_stat.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ use _utils::{impl_safe_operation, types::ScopeStatType};
77
#[sea_orm(table_name = "score_stat", schema_name = "genshin_map")]
88
pub struct Model {
99
/// 乐观锁
10-
pub version: i64,
10+
pub version: u64,
1111
/// ID
1212
#[sea_orm(primary_key)]
13-
pub id: i64,
13+
pub id: u64,
1414
/// 创建时间
1515
pub create_time: DateTime,
1616
/// 更新时间
1717
pub update_time: Option<DateTime>,
1818
/// 创建人
19-
pub creator_id: Option<i64>,
19+
pub creator_id: Option<u64>,
2020
/// 更新人
21-
pub updater_id: Option<i64>,
21+
pub updater_id: Option<u64>,
2222
/// 逻辑删除
2323
pub del_flag: bool,
2424

@@ -36,7 +36,7 @@ pub struct Model {
3636
pub span_end_time: DateTime,
3737
/// 用户 ID
3838
#[sea_orm(indexed)]
39-
pub user_id: Option<i64>,
39+
pub user_id: Option<u64>,
4040
/// 统计内容 JSON
4141
pub content: ScopeStatType,
4242
}

packages/database/src/models/icon/icon.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ use serde::{Deserialize, Serialize};
66
#[sea_orm(table_name = "icon", schema_name = "genshin_map")]
77
pub struct Model {
88
/// 乐观锁
9-
pub version: i64,
9+
pub version: u64,
1010
/// ID
1111
#[sea_orm(primary_key)]
12-
pub id: i64,
12+
pub id: u64,
1313
/// 创建时间
1414
pub create_time: DateTime,
1515
/// 更新时间
1616
pub update_time: Option<DateTime>,
1717
/// 创建人
18-
pub creator_id: Option<i64>,
18+
pub creator_id: Option<u64>,
1919
/// 更新人
20-
pub updater_id: Option<i64>,
20+
pub updater_id: Option<u64>,
2121
/// 逻辑删除
2222
pub del_flag: bool,
2323

packages/database/src/models/icon/icon_type.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ use serde::{Deserialize, Serialize};
66
#[sea_orm(table_name = "icon_type", schema_name = "genshin_map")]
77
pub struct Model {
88
/// 乐观锁
9-
pub version: i64,
9+
pub version: u64,
1010
/// ID
1111
#[sea_orm(primary_key)]
12-
pub id: i64,
12+
pub id: u64,
1313
/// 创建时间
1414
pub create_time: DateTime,
1515
/// 更新时间
1616
pub update_time: Option<DateTime>,
1717
/// 创建人
18-
pub creator_id: Option<i64>,
18+
pub creator_id: Option<u64>,
1919
/// 更新人
20-
pub updater_id: Option<i64>,
20+
pub updater_id: Option<u64>,
2121
/// 逻辑删除
2222
pub del_flag: bool,
2323

packages/database/src/models/icon/icon_type_link.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,27 @@ use serde::{Deserialize, Serialize};
66
#[sea_orm(table_name = "icon_type_link", schema_name = "genshin_map")]
77
pub struct Model {
88
/// 乐观锁
9-
pub version: i64,
9+
pub version: u64,
1010
/// ID
1111
#[sea_orm(primary_key)]
12-
pub id: i64,
12+
pub id: u64,
1313
/// 创建时间
1414
pub create_time: DateTime,
1515
/// 更新时间
1616
pub update_time: Option<DateTime>,
1717
/// 创建人
18-
pub creator_id: Option<i64>,
18+
pub creator_id: Option<u64>,
1919
/// 更新人
20-
pub updater_id: Option<i64>,
20+
pub updater_id: Option<u64>,
2121
/// 逻辑删除
2222
pub del_flag: bool,
2323

2424
/// 分类 ID
2525
#[sea_orm(indexed)]
26-
pub type_id: i64,
26+
pub type_id: u64,
2727
/// 图标 ID
2828
#[sea_orm(indexed)]
29-
pub icon_id: i64,
29+
pub icon_id: u64,
3030
}
3131

3232
#[derive(Debug, Clone, Copy, EnumIter, DeriveRelation)]

packages/database/src/models/icon/tag.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ use serde::{Deserialize, Serialize};
66
#[sea_orm(table_name = "tag", schema_name = "genshin_map")]
77
pub struct Model {
88
/// 乐观锁
9-
pub version: i64,
9+
pub version: u64,
1010
/// ID
1111
#[sea_orm(primary_key)]
12-
pub id: i64,
12+
pub id: u64,
1313
/// 创建时间
1414
pub create_time: DateTime,
1515
/// 更新时间
1616
pub update_time: Option<DateTime>,
1717
/// 创建人
18-
pub creator_id: Option<i64>,
18+
pub creator_id: Option<u64>,
1919
/// 更新人
20-
pub updater_id: Option<i64>,
20+
pub updater_id: Option<u64>,
2121
/// 逻辑删除
2222
pub del_flag: bool,
2323

@@ -26,7 +26,7 @@ pub struct Model {
2626
pub tag: String,
2727
/// 图标 ID
2828
#[sea_orm(indexed)]
29-
pub icon_id: i64,
29+
pub icon_id: u64,
3030
}
3131

3232
#[derive(Debug, Clone, Copy, EnumIter, DeriveRelation)]

0 commit comments

Comments
 (0)