pub struct OssRepository { /* private fields */ }Expand description
OSS 仓储
Implementations§
Source§impl OssRepository
impl OssRepository
Sourcepub async fn upsert_oss(&self, dto: &OssDto, member_id: i32) -> ApiResult<i32>
pub async fn upsert_oss(&self, dto: &OssDto, member_id: i32) -> ApiResult<i32>
新增或更新 OSS 记录,绑定到话数岗位列
Sourcepub async fn get_upload_credential(
&self,
episode_id: i32,
post_name: &str,
filename: &str,
) -> ApiResult<OssCredential>
pub async fn get_upload_credential( &self, episode_id: i32, post_name: &str, filename: &str, ) -> ApiResult<OssCredential>
获取上传凭证
Sourcepub async fn get_download_credential(
&self,
episode_id: i32,
post_name: &str,
) -> ApiResult<OssCredential>
pub async fn get_download_credential( &self, episode_id: i32, post_name: &str, ) -> ApiResult<OssCredential>
获取下载凭证
Sourcepub async fn get_image_upload_credential(
&self,
image_type: &str,
filename: &str,
) -> ApiResult<OssCredential>
pub async fn get_image_upload_credential( &self, image_type: &str, filename: &str, ) -> ApiResult<OssCredential>
获取图片上传凭证
Sourcepub async fn presigned_image_put_url(
&self,
object_key: &str,
max_bytes: u64,
) -> ApiResult<String>
pub async fn presigned_image_put_url( &self, object_key: &str, max_bytes: u64, ) -> ApiResult<String>
生成图片桶的预签名 PUT URL(服务端导入图源时上传用)
与 get_image_upload_credential 不同:此处不校验图片后缀白名单,
且使用更大的大小上限,用于服务端批量上传解压后的页面图片。
Sourcepub async fn presigned_image_put_urls(
&self,
prefix: &str,
object_keys: &[String],
max_bytes: u64,
) -> ApiResult<Vec<String>>
pub async fn presigned_image_put_urls( &self, prefix: &str, object_keys: &[String], max_bytes: u64, ) -> ApiResult<Vec<String>>
批量生成图片桶预签名 PUT URL(前端图源解压后逐张直传用)
以 {prefix}* 前缀策略仅申请一次 STS 联合身份临时凭证,
再用同一份临时密钥对每个对象键分别签名,避免逐张调用 STS 拖慢上传。
§参数
prefix: 对象键公共前缀(如editor/episode_123/),策略按{prefix}*授权object_keys: 全部待签名对象键(必须都落在prefix下)max_bytes: 单个对象允许的最大字节数
Sourcepub fn image_display_url(&self, object_key: &str) -> String
pub fn image_display_url(&self, object_key: &str) -> String
构造图片访问 URL(优先图片 CDN 域名,否则 COS 直链)
Sourcepub fn image_bucket_name(&self) -> String
pub fn image_bucket_name(&self) -> String
图片桶名
Auto Trait Implementations§
impl Freeze for OssRepository
impl !RefUnwindSafe for OssRepository
impl Send for OssRepository
impl Sync for OssRepository
impl Unpin for OssRepository
impl UnsafeUnpin for OssRepository
impl !UnwindSafe for OssRepository
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request