Commit Graph

93 Commits

Author SHA1 Message Date
e78098ad45 feat: update gitignore for attachment system
- Add .vscode/ to ignore IDE-specific files
- Add server to ignore build artifacts
- Add attachments/ to ignore uploaded attachment files
- Maintain clean repository without development artifacts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:06:29 +12:00
7c43726abf fix: correct WebSocket message logging format
- Change format specifier from %s to %+v for struct logging
- Resolve compilation error in WebSocket message handling
- Maintain proper logging functionality for debugging

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:05:37 +12:00
b7ac4b0152 fix: add missing mock expectations in account tests
- Add GetSplitCountByAccountId mock expectations for CreateAccount tests
- Add GetSplitCountByAccountId mock expectations for UpdateAccount tests
- Resolve "unexpected method call" errors in account test suite
- Maintain existing test logic while fixing mock setup

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:05:21 +12:00
1b115fe0ff feat: add attachment methods to mock datastore
- Add InsertAttachment mock method for testing
- Add GetAttachment and GetAttachmentsByTransaction mock methods
- Add DeleteAttachment mock method for testing
- Maintain consistency with existing mock patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:05:05 +12:00
a87df47231 feat: register attachment API routes
- Add 5 RESTful endpoints for transaction attachment management
- Include proper authentication middleware for all attachment operations
- Follow existing URL pattern: /orgs/:orgId/transactions/:transactionId/attachments
- Support nested resource access with proper authorization

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:04:50 +12:00
8b0a72c81f feat: implement attachment REST API endpoints
- Add POST /attachments for secure multi-file upload with validation
- Add GET /attachments for listing transaction attachments
- Add GET /attachments/:id for attachment metadata retrieval
- Add GET /attachments/:id/download for secure file download
- Add DELETE /attachments/:id for soft deletion
- Include comprehensive security validation: file type, size, content detection
- Implement proper error handling and cleanup on failures

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:04:32 +12:00
f64f83e66f feat: add attachment support to GORM model
- Implement AttachmentInterface methods in GormModel
- Add GetTransaction method for interface compliance
- Include placeholder implementation for future GORM repository development
- Maintain backward compatibility with existing GORM usage

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:04:15 +12:00
f5f0853040 feat: implement attachment business logic layer
- Add AttachmentInterface to main model interface
- Implement attachment CRUD operations with permission checking
- Add GetTransaction method for secure attachment access validation
- Add accountsContainReadAccess for permission verification
- Ensure users can only access attachments for authorized transactions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:04:01 +12:00
04653f2f02 feat: implement attachment database layer
- Add AttachmentInterface to main Datastore interface
- Implement CRUD operations for attachments following existing patterns
- Add proper SQL marshalling/unmarshalling with HEX/UNHEX for binary IDs
- Include soft deletion and proper indexing support

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:03:44 +12:00
3b89d8137e feat: add UUID utility functions for attachment system
- Add NewUUID() function for generating unique attachment identifiers
- Add IsValidUUID() function for validating UUID format in API requests
- Support 32-character hex string validation for secure file handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:03:30 +12:00
d10686e70f feat: add attachment model type definitions
- Add core attachment type with metadata fields for transaction files
- Add GORM model for attachment with proper relationships
- Include file information, upload timestamps, and soft deletion support

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:03:13 +12:00
c335c834ba feat: add database schema for transaction attachments
- Add attachment table with fields for file metadata and relationships
- Include indexes for optimal query performance on transactionId, orgId, userId, and uploaded fields
- Support for file storage with path tracking and soft deletion

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 11:02:58 +12:00
b5ea2095e4 fix: update authentication layer for GORM repository integration
- Update auth.go to use new repository interfaces
- Fix test compilation errors in auth_test.go
- Maintain compatibility with existing authentication flows
- Update mock implementations for repository pattern

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
v0.1.0
2025-06-30 22:09:36 +12:00
88c996a383 deps: update dependencies for GORM, Viper, and SQLite support
- Add GORM v1.25.12 with MySQL and SQLite drivers
- Add Viper v1.19.0 for configuration management
- Add UUID package for GORM model IDs
- Update vendor directory with new dependencies
- Update Go module requirements and checksums

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-30 22:09:22 +12:00
8c7088040d docs: comprehensive README update with Docker and Viper documentation
- Add complete Viper configuration documentation
- Include Docker deployment examples and best practices
- Document environment variable configuration options
- Add Just build automation usage examples
- Create troubleshooting and migration guides
- Update prerequisites and setup instructions
- Add security guidelines for production deployments

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-30 22:09:10 +12:00
77ab4b0e1d feat: add Just build automation with comprehensive recipes
- Create justfile with development and production recipes
- Add Docker build and run commands with proper configuration
- Include database management utilities and migration helpers
- Add development setup and dependency management
- Create configuration help and documentation commands
- Support both SQLite and MySQL deployment scenarios

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-30 22:09:00 +12:00
62dea0e53c feat: add Docker containerization with multi-stage build
- Create production-ready Dockerfile with multi-stage build
- Add CGO support for SQLite driver compilation
- Implement security best practices with non-root user
- Add health checks with proper API version headers
- Create .dockerignore for optimized build context
- Support both SQLite and MySQL in containerized environment
- Include volume mounting for data persistence

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-30 22:08:49 +12:00
d2ea9960bf feat: update config samples with SQLite and Viper support
- Add SQLite configuration options to config.json.sample
- Create config.mysql.json.sample for MySQL deployments
- Add security comments for sensitive configuration
- Include environment variable examples and documentation
- Add Viper configuration comments and usage examples

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-30 22:08:34 +12:00
f547d8d75b feat: integrate Viper for advanced configuration management
- Replace basic config loading with Viper framework
- Add support for multiple config sources (files, env vars, defaults)
- Add mapstructure tags for proper config binding
- Support JSON, YAML, and TOML config formats
- Add environment variable support with OA_ prefix
- Implement secure config loading with multiple search paths
- Maintain backward compatibility with existing config.json files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-30 22:08:19 +12:00
0d1cb22044 refactor: update data access layer to use GORM repositories
- Replace SQL-based queries with GORM repository calls
- Update all model interfaces to use repository pattern
- Fix compilation errors in core/model/ files
- Update mocks to match new repository interfaces
- Modify API handlers to use new repository layer
- Maintain backward compatibility with existing interfaces

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-30 22:08:08 +12:00
bd3f101fb4 feat: add GORM integration with repository pattern
- Add GORM models in models/ directory with proper column tags
- Create repository interfaces and implementations in core/repository/
- Add database package with MySQL and SQLite support
- Add UUID ID utility for GORM models
- Implement complete repository layer replacing SQL-based data access
- Add database migrations and index creation
- Support both MySQL and SQLite drivers with auto-migration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-30 22:07:51 +12:00
e865c4c1a2 fix: Add gorm and driver
Updated existing vendored dependencies
2025-06-09 22:56:57 +12:00
51deace1da refactor: Removed standalone migration apps. Causes build fail 🔥 2025-06-09 22:53:25 +12:00
Patrick Nagurny
9b0c1e2ac8 Merge pull request #30 from pnagurny/enhance/readme-docker
link to docker repo
2023-09-22 11:29:47 -06:00
Patrick Nagurny
b7d2a20a2b link to docker repo 2023-09-22 11:28:40 -06:00
Patrick Nagurny
a506368f16 Merge pull request #29 from pnagurny/bug/slackinvite
update slack invite link
2023-09-21 14:47:59 -06:00
Patrick Nagurny
a3fc3311a3 update slack invite link 2023-09-21 14:45:30 -06:00
Patrick Nagurny
4821cbca62 Merge pull request #22 from pnagurny/bug/fix-tx-pagination
fix txs by account pagination bug
2021-01-28 12:50:03 -07:00
Patrick Nagurny
df6901ef8a fix txs by account pagination bug 2021-01-28 12:47:49 -07:00
Patrick Nagurny
a4500d9114 Merge pull request #19 from pnagurny/enhance/mailgun-sender
Enhance/mailgun sender
2020-11-25 10:29:29 -05:00
Patrick Nagurny
4e472c9508 fix from 2020-11-25 10:25:20 -05:00
Patrick Nagurny
a5ebe35890 make Sender header match From 2020-11-25 10:15:16 -05:00
Patrick Nagurny
2f07dd4cda Merge pull request #18 from pnagurny/feature/mailgun
Feature/mailgun
2020-11-23 11:36:26 -05:00
Patrick Nagurny
73bf3953c2 switch to mailgun 2020-11-23 11:13:23 -05:00
Patrick Nagurny
ece803ec68 mailgun dep 2020-11-23 11:12:53 -05:00
Patrick Nagurny
b011b28cf5 Merge pull request #17 from pnagurny/enhance/login-case
remove spaces and convert email to lowercase
2020-07-23 12:32:17 -06:00
Patrick Nagurny
6ec5177aae remove spaces and convert email to lowercase 2020-07-23 12:31:09 -06:00
Patrick Nagurny
2fbbddf9bb Merge pull request #16 from pnagurny/enhance/logger-elapsed-time
add elapsed time to logger
2020-01-15 12:07:52 -05:00
Patrick Nagurny
0ea88b8e25 add elapsed time to logger 2020-01-15 12:06:56 -05:00
Patrick Nagurny
f2554a6b1b Merge pull request #15 from pnagurny/bug/create-account-parent
fix issue #13
2020-01-15 11:23:04 -05:00
Patrick Nagurny
122449f8fc fix issue #13 2020-01-15 11:21:23 -05:00
Patrick Nagurny
45fc45736d budget api doc fix 2020-01-14 14:51:27 -05:00
Patrick Nagurny
5ff655f3ea update apidoc for 1.4.0 2020-01-14 14:46:38 -05:00
Patrick Nagurny
01ab717cf9 Merge pull request #14 from pnagurny/feature/budget
Feature/budget
2020-01-14 14:32:18 -05:00
Patrick Nagurny
f2877230e2 format code 2020-01-14 14:29:00 -05:00
Patrick Nagurny
83f3cfc983 api version 1.4.0 2020-01-14 14:22:15 -05:00
Patrick Nagurny
0a91b19b5c add budget feature 2020-01-14 14:14:16 -05:00
Patrick Nagurny
ef3a825dab Merge pull request #12 from pnagurny/bug/account-parent
fix update account parent bugs
2020-01-13 10:27:22 -05:00
Patrick Nagurny
c098ff2297 fix update account parent bugs 2020-01-13 10:24:17 -05:00
Patrick Nagurny
02573d9e83 Merge pull request #9 from pnagurny/bug/locking
fix concurrent map write issue
2019-12-13 10:29:00 -05:00