26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
OVERVIEW: Utility helpers for image upload, geo conversions, and response construction used across NAM backend.
|
|
|
|
WHERE TO LOOK
|
|
- utils/helper/image_uploader.go
|
|
- Image uploaders: SaveDeviceImagesBulk, SaveTowerImagesBulk
|
|
- Image upload constants: MaxFileSize (5MB), TowerUploadDir, DeviceUploadDir
|
|
- utils/helper/geo_helpers.go
|
|
- Geo helper functions: ConvertToDeviceResponse, ConvertToOLTResponse, etc.
|
|
- utils/helper/response_builder.go
|
|
- Centralized response builders used by delivery layer
|
|
- Additional helper files under utils/helper/ as needed for conversions and validators
|
|
|
|
CONVENTIONS
|
|
- File naming follows snake_case; exported functions use PascalCase.
|
|
- Constants use CamelCase with explicit units (MaxFileSize int64 = 5*1024*1024).
|
|
- Upload directories are defined as constants (TowerUploadDir, DeviceUploadDir) and used across helpers.
|
|
- Errors propagate with context; use standard errors or fmt.Errorf wrappers.
|
|
- Tests should cover public helpers; avoid testing private internals directly.
|
|
|
|
ANTI-PATTERNS
|
|
- Do not hardcode absolute system paths; rely on defined constants for directories.
|
|
- Do not bloat helper files with business logic; keep them pure and focused.
|
|
- Do not create global mutable state in helpers.
|
|
- Do not introduce circular imports between helper and delivery layers.
|
|
- Do not bypass validation for uploads; enforce MaxFileSize and allowed MIME types.
|