Skip to content

refactor: consolidate scattered hard-coded constants #48

@rianjs

Description

@rianjs

Summary

Constants duplicated across multiple files.

Current State

Duplicated constants:

  • OAuth scopes in 3 files (gmail, calendar, contacts clients)
  • File permissions scattered:
    • 0755 for directories
    • 0644 for files
    • 0600 for tokens
    • 0700 for config dirs
  • Config directory name "google-readonly" in 4 files

Problems

  1. Changing a permission requires finding all occurrences
  2. Risk of inconsistent values
  3. Magic numbers reduce code readability

Proposed Solution

Create internal/constants or add to internal/config:

const (
    // Directory permissions
    ConfigDirPerm  = 0700
    OutputDirPerm  = 0755
    
    // File permissions
    TokenFilePerm  = 0600
    OutputFilePerm = 0644
    
    // OAuth scopes
    GmailScope    = gmail.GmailReadonlyScope
    CalendarScope = calendar.CalendarReadonlyScope
    ContactsScope = people.ContactsReadonlyScope
)

Priority

P3 - Code organization

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions