-
Notifications
You must be signed in to change notification settings - Fork 2
feat: job argument unmarshaller and apify types #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
mcamou
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going well! A few comments/suggestions.
Co-authored-by: Mario Camou <mcamou@users.noreply.github.com>
Co-authored-by: Mario Camou <mcamou@users.noreply.github.com>
Co-authored-by: Mario Camou <mcamou@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements a comprehensive refactoring of the job type system, introducing structured argument handling and validation capabilities for different job types including Web, TikTok, Twitter, and LinkedIn operations.
- Added a centralized argument unmarshalling framework with job-specific validation
- Enhanced job type system with proper capability validation and type safety
- Added Apify integration support for Twitter operations with new data structures
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| types/twitter.go | Adds ProfileResultApify struct with extensive Twitter profile data fields |
| types/jobs.go | Refactors job type system with capability validation and structured job-capability mappings |
| args/web.go | Implements WebSearchArguments with validation, URL parsing, and depth checking |
| args/unmarshaller.go | Creates centralized job argument unmarshalling framework with type-specific interfaces |
| args/twitter.go | Adds TwitterSearchArguments validation and operation type detection methods |
| args/tiktok.go | Implements TikTokTranscriptionArguments with URL validation and language code checking |
| args/linkedin.go | Adds LinkedInArguments validation with search and profile operation detection |
mcamou
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor comments. I'm fine with merging this as it is, but please have a look and see if you agree with the minor stuff here, or if we leave it for later.
1. Job Type System Refactoring
JobTypesystem2. New Argument Handling Framework
args/jobs.go- New centralized job argument definitionsargs/unmarshaller.go(173 new lines) - Sophisticated argument unmarshalling systemargs/twitter.go(+98 lines)args/tiktok.go(+112 lines)args/linkedin.go(+74 lines)args/web.go(+89 lines)3. API Integration Improvements
4. Platform-Specific Enhancements
5. Code Organization & Cleanup
Statistics: