import { JsonValue } from '@/shared/types/api';

export type UserProgressType = 'sign_learned' | 'zone_checkin';

export interface UserProgressDto {
  readonly id: string;
  readonly progress_type: UserProgressType;
  readonly item_id: string;
  readonly value: string | null;
  readonly score: number | null;
  readonly metadata: JsonValue | null;
  readonly organizationId: string;
  readonly campusId: string | null;
  readonly userId: string;
  readonly createdAt: string;
  readonly updatedAt: string;
}

export interface UserProgressMutationDto {
  readonly progress_type: UserProgressType;
  readonly item_id: string;
  readonly value?: string;
  readonly score?: number;
  readonly metadata?: JsonValue;
}

export interface UserProgressDeleteResponse {
  readonly deletedCount: number;
}
