KO
베타 번역

@core / media

1.1.0 ▾
인증됨MIT
GitHub

미디어 라이브러리: 서명된 직접 업로드, 실제 파일 형식 확인, EXIF/GPS 제거, 대체 텍스트, 초점, srcset

코드파일 13개컨텍스트약 777토큰검사 통과

.genpmignore 적용 후 주입될 정확한 트리입니다. 고정 대상:

src/lib/media/schema.ts읽기 전용 · 868490c
// Tablas de @core/media. Las recoge drizzle-kit vía src/lib/db/drizzle.config.ts.
import { index, integer, pgTable, real, text } from 'drizzle-orm/pg-core';
import { primaryId, timestamps } from '../db/index.ts';

export const media = pgTable(
  'media',
  {
    id: primaryId('med'),
    /** Clave en @core/storage (`public/media/2026/10/<id>.jpg`). */
    key: text('key').notNull().unique(),
    filename: text('filename').notNull(),
    mime: text('mime').notNull(),
    size: integer('size').notNull(),
    width: integer('width'),
    height: integer('height'),
    /** Texto alternativo; obligatorio para mostrar imágenes que no sean decorativas. */
    alt: text('alt').notNull().default(''),
    /** Punto focal 0–1 para recortes (`object-position`). */
    focalX: real('focal_x').notNull().default(0.5),
    focalY: real('focal_y').notNull().default(0.5),
    folder: text('folder').notNull().default(''),
    status: text('status', { enum: ['pending', 'ready', 'rejected'] })
      .notNull()
      .default('pending'),
    uploadedBy: text('uploaded_by'),
    ...timestamps,
  },
  (t) => [index('media_folder_idx').on(t.folder, t.status)],
);

export type Media = typeof media.$inferSelect;

@core/media 신고

패키지를 신고하려면 GitHub로 로그인하세요.