Skip to content

meetpie: og_image를 StoredAsset 기반 object storage로 이전 #759

@keIIy-kim

Description

@keIIy-kim

배경

현재 meetpieMyNamecardEntity.ogImage는 DB bytea로 직접 저장됩니다.

공통 object storage foundation(PR #752) 위에서 실제 사용처를 붙이는 1차 대상은 meetpie og_image가 가장 적합합니다.

  • public OG endpoint가 이미 존재한다.
  • 현재 scope가 작고 영향 범위가 비교적 명확하다.
  • 이후 namecard 내부 이미지나 deskpie attachment보다 먼저 검증하기 좋다.

목표

  • MyNamecardEntity.ogImage를 direct bytea 대신 StoredAsset 참조로 전환한다.
  • 기존 public OG endpoint 계약은 유지한다.
  • raw storage_uri는 FE/외부에 노출하지 않는다.

작업 범위

  • appStoredAsset 공통 메타데이터 모델 추가
  • meetpieog_image_asset_id 연결 추가
  • 기존 ogImage 읽기/쓰기 경로를 object storage + StoredAsset 기반으로 전환
  • public namecard / OG image endpoint가 새 경로를 사용하도록 조정
  • 필요한 migration / backfill 전략 정리

고려 사항

  • og_image는 public serving 대상이므로 PUBLIC asset 정책 1차 사례가 된다.
  • endpoint 계약은 유지하되, 내부 저장은 StoredAsset + object storage로 바뀌어야 한다.
  • 점진 전환 시 기존 byteaog_image_asset_id의 병행 읽기 전략이 필요할 수 있다.

예상 작업 단위

  • StoredAsset migration / entity / repository 추가
  • meetpieog_image_asset_id 필드 추가
  • ogImage 업로드/저장 경로 전환
  • public OG endpoint read path 전환
  • 기존 데이터 migration / fallback read 전략 정리
  • 관련 테스트 추가

완료 기준

  • 새로 생성/수정되는 og_image는 object storage + StoredAsset를 사용한다.
  • public OG endpoint는 기존처럼 동작한다.
  • MyNamecardEntity.ogImage direct bytea 의존을 제거하거나 read-fallback 단계로 축소한다.

연결 이슈

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions