Improve backend media readiness for mobile clients
بعض الفحوصات معلقة
Deploy To Ghaymah / deploy (push) Waiting to run

هذا الالتزام موجود في:
boutmoun123
2026-05-25 23:18:00 +03:00
الأصل efd87659b2
التزام acd8d0d8cf
8 ملفات معدلة مع 238 إضافات و2 حذوفات

عرض الملف

@@ -3,6 +3,8 @@ import { HydratedDocument, Types } from 'mongoose';
import { ModerationStatus } from '../../../common/enums/moderation-status.enum';
import { PostType } from '../../../common/enums/post-type.enum';
import { PostVisibility } from '../../../common/enums/post-visibility.enum';
import { ProcessingStatus } from '../../../common/enums/processing-status.enum';
import { buildPostMediaResponse } from '../../../common/utils/post-media-response.util';
import {
resolveManagedFileUrl,
resolveManagedFileUrlRecord,
@@ -115,6 +117,14 @@ export class Post {
@Prop({ enum: PostType, default: PostType.TEXT, index: true })
postType!: PostType;
@Prop({
type: String,
enum: Object.values(ProcessingStatus),
default: ProcessingStatus.READY,
index: true,
})
processingStatus!: ProcessingStatus;
@Prop({ enum: PostVisibility, default: PostVisibility.PUBLIC, index: true })
visibility!: PostVisibility;
@@ -182,6 +192,7 @@ PostSchema.index({ repostOfPostId: 1, createdAt: -1 });
PostSchema.index({ quoteOfPostId: 1, createdAt: -1 });
PostSchema.index({ visibility: 1, createdAt: -1 });
PostSchema.index({ postType: 1, createdAt: -1 });
PostSchema.index({ processingStatus: 1, createdAt: -1 });
PostSchema.index({ hashtags: 1, createdAt: -1 });
PostSchema.index({ taggedUserIds: 1, createdAt: -1 });
PostSchema.index({ collaboratorIds: 1, createdAt: -1 });
@@ -216,6 +227,8 @@ const transformManagedPostFiles = (_doc: unknown, ret: any) => {
ret.audioUrl = resolveManagedFileUrl(ret.audioUrl);
ret.thumbnailUrl = resolveManagedFileUrl(ret.thumbnailUrl);
ret.thumbnailVariants = resolveManagedFileUrlRecord(ret.thumbnailVariants);
ret.processingStatus = ret.processingStatus ?? ProcessingStatus.READY;
ret.media = buildPostMediaResponse(ret);
return ret;
};