דלג לתוכן הראשי

אחסון קבצים והעלאות

טיפול בהעלאת קבצים מרובי חלקים לתמונות, צילומי מסך ונכסי מכשירים.

מקור: src/upload/

נקודות קצה

שיטהנקודת קצהתיאור
POST/uploadהעלאת תמונה כללית
POST/upload/screenshotהעלאת צילום מסך מכשיר
GET/upload/assetsרשימת נכסים שהועלו
GET/upload/assets/:idפרטי נכס
DELETE/upload/assets/:idמחיקת נכס

אימות העלאה

בדיקהכלל
סוג MIMEimage/jpeg, image/png, image/webp, image/gif בלבד
גודל קובץמקסימום 10 MB
Multipartהבקשה חייבת להיות multipart (req.isMultipart())
שם קובץמסונן — סיומת אקראית דרך crypto.randomBytes(6), סיומת מנוקה עם regex

אחסון

  • תיקייה: uploads/ (שורש הפרויקט)
  • צילומי מסך: uploads/screenshots/
  • תיקיות נוצרות אוטומטית באתחול השירות
  • קבצים מוגשים דרך הגשת קבצים סטטיים או Cloudinary (ייצור)

העלאות צילומי מסך

צילומי מסך של מכשירים כוללים:

  • deviceId — נדרש, מאומת מול בעלות מכשיר
  • userId — מצורף ידנית (העלאות קבצים מדלגות על TenantInterceptor)
הערת אבטחה

מטפלי העלאת קבצים עוקפים את ה-TenantInterceptor הסטנדרטי. יש לצרף את userId ידנית במטפלי ההעלאה לשמירה על בידוד דיירים.

מודל Prisma

  • UploadAsset — מטאדטה של נכס (שם קובץ, נתיב, גודל, שיוך למכשיר)

מודולים קשורים

  • ScreenshotsModule — שכבת ניהול צילומי מסך
  • DevicesModule — אימות בעלות מכשיר