Skip to content

Fix Missing Members and Properties Errors #238

@DrunkOnJava

Description

@DrunkOnJava

Issue Description

Multiple classes and structs are missing required properties and methods, causing "Cannot find in scope" and "has no member" compilation errors.

Affected Files and Missing Members

Foundation-Resources

  • FoundationResources.swift: Cannot find Logger in scope
    • Fix: Add InfrastructureMonitoring dependency and import

Infrastructure-Network

  • APIClient.swift: Missing members session, encoder, baseURL, circuitBreaker, providers
    • Fix: Add these as properties with proper initialization

Infrastructure-Storage

  • CoreDataStack.swift: Missing container and backgroundContext properties
  • KeychainStorage.swift: AppConstants.App missing defaultBundleIdentifier
  • StorageMigrationManager.swift: Missing userDefaults and currentVersionKey properties
  • InMemoryCategoryRepository.swift: Missing categories and queue properties
  • DefaultReceiptRepository.swift: Missing receipts and queue properties
  • DefaultInsurancePolicyRepository.swift: InsurancePolicy missing renewalDate and description

Services-External

  • ReceiptParser.swift: Cannot find ReceiptItem type
    • Fix: Define ReceiptItem in Foundation-Models

Services-Sync

  • SyncService.swift: AppConstants.App missing iCloudContainerIdentifier and pendingChangesKey

UI Components

  • Various missing properties in SwiftUI views:
    • onEditTap, onDeleteImage, selectedImageIndex, imageURLs, item, style, theme
    • Missing ViewModifier extensions: accessibleCard, decorativeImage, accessibleButton
    • Missing style constants: Spacing, CornerRadius

ViewModels

  • Properties not marked as @Published for ObservableObject conformance:
    • displayName, settings.autoBackupEnabled, searchQuery, viewMode, selectedPeriod, selectedMetric, searchText

Root Cause

  1. Properties declared in interfaces but not implemented
  2. Missing @Published wrappers for ObservableObject properties
  3. Missing constants in AppConstants
  4. Incomplete type definitions
  5. Missing custom ViewModifiers and extensions

Solution Plan

  1. Add missing properties to classes with proper initialization
  2. Define missing types (ReceiptItem, TelemetryData, etc.)
  3. Add missing constants to AppConstants.App
  4. Implement missing ViewModifiers and extensions
  5. Add @published wrappers to ViewModel properties
  6. Ensure proper access control for all new members

Priority

High - These errors prevent successful compilation and app functionality.

Acceptance Criteria

  • All "Cannot find in scope" errors are resolved
  • All "has no member" errors are resolved
  • ViewModels properly support SwiftUI bindings with @published
  • All required constants are defined in AppConstants
  • UI components have all required properties and modifiers

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions