Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ceres/src/lfs/lfs_structs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ impl MetaObject {
oid: req_obj.oid.to_string(),
size: req_obj.size,
exist: true,
splited: if config.storage_type == StorageTypeEnum::AwsS3 {
splited: if StorageTypeEnum::AwsS3 == config.storage_type.clone().into() {
Comment thread
benjamin-747 marked this conversation as resolved.
false
} else {
splited
Expand Down
32 changes: 30 additions & 2 deletions common/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -485,16 +485,44 @@ impl PackConfig {

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct LFSConfig {
pub storage_type: StorageTypeEnum,
pub storage_type: StorageType,
pub local: LFSLocalConfig,
pub aws: LFSAwsConfig,
pub ssh: LFSSshConfig,
}

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum StorageType {
Database,
LocalFs,
AwsS3,
}

impl From<StorageTypeEnum> for StorageType {
fn from(value: StorageTypeEnum) -> Self {
match value {
StorageTypeEnum::Database => StorageType::Database,
StorageTypeEnum::LocalFs => StorageType::LocalFs,
StorageTypeEnum::AwsS3 => StorageType::AwsS3,
}
}
}

impl From<StorageType> for StorageTypeEnum {
fn from(value: StorageType) -> Self {
match value {
StorageType::Database => StorageTypeEnum::Database,
StorageType::LocalFs => StorageTypeEnum::LocalFs,
StorageType::AwsS3 => StorageTypeEnum::AwsS3,
}
}
}

impl Default for LFSConfig {
fn default() -> Self {
Self {
storage_type: StorageTypeEnum::LocalFs,
storage_type: StorageType::LocalFs,
local: LFSLocalConfig::default(),
aws: LFSAwsConfig::default(),
ssh: LFSSshConfig::default(),
Expand Down
6 changes: 2 additions & 4 deletions jupiter/callisto/src/sea_orm_active_enums.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

use sea_orm::entity::prelude::*;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;

#[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema)]
#[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[sea_orm(rs_type = "String", db_type = "Enum", enum_name = "conv_type_enum")]
pub enum ConvTypeEnum {
#[sea_orm(string_value = "comment")]
Expand Down Expand Up @@ -34,7 +33,7 @@ pub enum ConvTypeEnum {
#[sea_orm(string_value = "assignee")]
Assignee,
}
#[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema)]
#[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[sea_orm(rs_type = "String", db_type = "Enum", enum_name = "merge_status_enum")]
pub enum MergeStatusEnum {
#[sea_orm(string_value = "open")]
Expand All @@ -53,7 +52,6 @@ pub enum RefTypeEnum {
Tag,
}
#[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
#[sea_orm(rs_type = "String", db_type = "Enum", enum_name = "storage_type_enum")]
pub enum StorageTypeEnum {
#[sea_orm(string_value = "database")]
Expand Down
7 changes: 3 additions & 4 deletions jupiter/src/lfs_storage/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ use async_trait::async_trait;
use aws_s3_storage::AwsS3Storage;
use bytes::Bytes;

use callisto::sea_orm_active_enums::StorageTypeEnum;
use common::{
config::LFSConfig,
config::{LFSConfig, StorageType},
errors::{GitLFSError, MegaError},
};
use sea_orm::DatabaseConnection;
Expand Down Expand Up @@ -66,8 +65,8 @@ pub async fn init(
connection: Arc<DatabaseConnection>,
) -> Arc<dyn LfsFileStorage> {
match lfs_config.storage_type {
StorageTypeEnum::LocalFs => Arc::new(LocalStorage::init(lfs_config.local, connection)),
StorageTypeEnum::AwsS3 => Arc::new(AwsS3Storage::init(lfs_config.aws).await),
StorageType::LocalFs => Arc::new(LocalStorage::init(lfs_config.local, connection)),
StorageType::AwsS3 => Arc::new(AwsS3Storage::init(lfs_config.aws).await),
_ => unreachable!("Not supported value of config `storage_type`, support value can be 'local_fs' or 'aws_s3'"),
}
}
41 changes: 39 additions & 2 deletions mono/src/api/conversation/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ pub mod conv_router;
pub struct ConversationItem {
pub id: i64,
pub username: String,
pub conv_type: ConvTypeEnum,
pub conv_type: ConvType,
pub comment: Option<String>,
pub created_at: i64,
pub updated_at: i64,
Expand All @@ -27,7 +27,7 @@ impl ConversationItem {
let mut item = Self {
id: conversation.id,
username: conversation.username,
conv_type: conversation.conv_type,
conv_type: conversation.conv_type.into(),
comment: conversation.comment,
created_at: conversation.created_at.and_utc().timestamp(),
updated_at: conversation.updated_at.and_utc().timestamp(),
Expand Down Expand Up @@ -82,3 +82,40 @@ pub struct ReactionRequest {
pub content: String,
pub comment_type: String,
}

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
pub enum ConvType {
Comment,
Deploy,
Commit,
ForcePush,
Edit,
Review,
Approve,
MergeQueue,
Merged,
Closed,
Reopen,
Label,
Assignee,
}

impl From<ConvTypeEnum> for ConvType {
fn from(value: ConvTypeEnum) -> Self {
match value {
ConvTypeEnum::Comment => ConvType::Comment,
ConvTypeEnum::Deploy => ConvType::Deploy,
ConvTypeEnum::Commit => ConvType::Commit,
ConvTypeEnum::ForcePush => ConvType::ForcePush,
ConvTypeEnum::Edit => ConvType::Edit,
ConvTypeEnum::Review => ConvType::Review,
ConvTypeEnum::Approve => ConvType::Approve,
ConvTypeEnum::MergeQueue => ConvType::MergeQueue,
ConvTypeEnum::Merged => ConvType::Merged,
ConvTypeEnum::Closed => ConvType::Closed,
ConvTypeEnum::Reopen => ConvType::Reopen,
ConvTypeEnum::Label => ConvType::Label,
ConvTypeEnum::Assignee => ConvType::Assignee,
}
}
}
33 changes: 30 additions & 3 deletions mono/src/api/mr/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::str::FromStr;

use ceres::model::mr::MrDiffFile;
use jupiter::model::mr_dto::MRDetails;
use serde::Serialize;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;
use uuid::Uuid;

Expand All @@ -17,7 +17,7 @@ pub struct MRDetailRes {
pub id: i64,
pub link: String,
pub title: String,
pub status: MergeStatusEnum,
pub status: MergeStatus,
pub open_timestamp: i64,
pub merge_timestamp: Option<i64>,
pub conversations: Vec<ConversationItem>,
Expand All @@ -31,7 +31,7 @@ impl From<MRDetails> for MRDetailRes {
id: value.mr.id,
link: value.mr.link,
title: value.mr.title,
status: value.mr.status,
status: value.mr.status.into(),
open_timestamp: value.mr.created_at.and_utc().timestamp(),
merge_timestamp: value.mr.merge_date.map(|dt| dt.and_utc().timestamp()),
conversations: value
Expand Down Expand Up @@ -122,3 +122,30 @@ impl From<MrDiffFile> for MrFilesRes {
}
}
}

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
pub enum MergeStatus {
Open,
Merged,
Closed,
}

impl From<MergeStatusEnum> for MergeStatus {
fn from(value: MergeStatusEnum) -> Self {
match value {
MergeStatusEnum::Open => MergeStatus::Open,
MergeStatusEnum::Merged => MergeStatus::Merged,
MergeStatusEnum::Closed => MergeStatus::Closed,
}
}
}

impl From<MergeStatus> for MergeStatusEnum {
fn from(value: MergeStatus) -> Self {
match value {
MergeStatus::Open => MergeStatusEnum::Open,
MergeStatus::Merged => MergeStatusEnum::Merged,
MergeStatus::Closed => MergeStatusEnum::Closed,
}
}
}
16 changes: 8 additions & 8 deletions mono/src/api/user/model.rs
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
use callisto::{access_token, ssh_keys};
use chrono::NaiveDateTime;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;

#[derive(Debug, Deserialize)]
#[derive(Debug, Deserialize, ToSchema)]
pub struct AddSSHKey {
pub title: String,
pub ssh_key: String,
}

#[derive(Debug, Serialize, Deserialize)]
#[derive(Debug, Serialize, Deserialize, ToSchema)]
pub struct ListSSHKey {
pub id: i64,
pub title: String,
pub ssh_key: String,
pub finger: String,
pub created_at: NaiveDateTime,
pub created_at: i64,
}

impl From<ssh_keys::Model> for ListSSHKey {
Expand All @@ -24,16 +24,16 @@ impl From<ssh_keys::Model> for ListSSHKey {
title: value.title,
ssh_key: value.ssh_key,
finger: value.finger,
created_at: value.created_at,
created_at: value.created_at.and_utc().timestamp(),
}
}
}

#[derive(Debug, Serialize, Deserialize)]
#[derive(Debug, Serialize, Deserialize, ToSchema)]
pub struct ListToken {
pub id: i64,
pub token: String,
pub created_at: NaiveDateTime,
pub created_at: i64,
}

impl From<access_token::Model> for ListToken {
Expand All @@ -43,7 +43,7 @@ impl From<access_token::Model> for ListToken {
Self {
id: value.id,
token: mask_token,
created_at: value.created_at,
created_at: value.created_at.and_utc().timestamp(),
}
}
}
Expand Down
Loading
Loading