MISSING_FIELDS = "MISSING_FIELDS" EMAIL_EXISTS = "EMAIL_EXISTS" MISSING_TOKEN = "MISSING_TOKEN" INVALID_TOKEN = "INVALID_TOKEN" TOKEN_TIMESTAMP_MISSING = "TOKEN_TIMESTAMP_MISSING" TOKEN_EXPIRED = "TOKEN_EXPIRED" MISSING_EMAIL = "MISSING_EMAIL" USER_NOT_FOUND = "USER_NOT_FOUND" ALREADY_VERIFIED = "ALREADY_VERIFIED" MISSING_EMAIL_OR_PASSWORD = "MISSING_EMAIL_OR_PASSWORD" INVALID_CREDENTIALS = "INVALID_CREDENTIALS" NOT_VERIFIED = "NOT_VERIFIED" ACCOUNT_MARKED_FOR_DELETION = "ACCOUNT_MARKED_FOR_DELETION" ALREADY_MARKED = "ALREADY_MARKED" REFRESH_TOKEN_REUSE = "REFRESH_TOKEN_REUSE" REFRESH_TOKEN_EXPIRED = "REFRESH_TOKEN_EXPIRED" MISSING_REFRESH_TOKEN = "MISSING_REFRESH_TOKEN" class ErrorCodes: """Centralized error codes for API responses.""" UNAUTHORIZED = "UNAUTHORIZED" CHILD_NOT_FOUND = "CHILD_NOT_FOUND" TASK_NOT_FOUND = "TASK_NOT_FOUND" REWARD_NOT_FOUND = "REWARD_NOT_FOUND" ENTITY_NOT_ASSIGNED = "ENTITY_NOT_ASSIGNED" OVERRIDE_NOT_FOUND = "OVERRIDE_NOT_FOUND" MISSING_FIELD = "MISSING_FIELD" INVALID_VALUE = "INVALID_VALUE" VALIDATION_ERROR = "VALIDATION_ERROR" INTERNAL_ERROR = "INTERNAL_ERROR" CHORE_EXPIRED = "CHORE_EXPIRED" CHORE_ALREADY_PENDING = "CHORE_ALREADY_PENDING" CHORE_ALREADY_COMPLETED = "CHORE_ALREADY_COMPLETED" PENDING_NOT_FOUND = "PENDING_NOT_FOUND" INSUFFICIENT_POINTS = "INSUFFICIENT_POINTS" INVALID_TASK_TYPE = "INVALID_TASK_TYPE"