Feature Request: Public Job Sharing in TapisJobService
Summary
Implement public job sharing functionality in TapisJobService to leverage Tapis backend's sharePublic and share with a user capabilities.
Background
TapisJobService currently has basic job sharing through the shareJob() method, but doesn't utilize Tapis backend's full sharing capabilities:
sharePublic: Make job outputs publicly accessible
share with a user: Share job with specific users
Proposed Implementation
New TapisJobService Methods
class TapisJobService {
// Make job publicly accessible
async shareJobPublic(jobId: string): Promise<void>
// Share job with specific user
async shareJobWithUser(jobId: string, username: string): Promise<void>
// Get sharing status
async getJobSharingStatus(jobId: string): Promise<JobSharingStatus>
// Revoke sharing
async revokeJobSharing(jobId: string): Promise<void>
}
API Endpoints
POST /v1/tapis/jobs/{executionId}/share/public
POST /v1/tapis/jobs/{executionId}/share/user
GET /v1/tapis/jobs/{executionId}/share/status
DELETE /v1/tapis/jobs/{executionId}/share
Implementation Tasks
Phase 1: Core Sharing
Phase 2: API Integration
Phase 3: UI Integration
Acceptance Criteria
Files to Modify
src/classes/tapis/adapters/TapisJobService.ts
src/api/api-v1/paths/tapis/jobs/
src/classes/graphql/queries/
Feature Request: Public Job Sharing in TapisJobService
Summary
Implement public job sharing functionality in TapisJobService to leverage Tapis backend's
sharePublicandshare with a usercapabilities.Background
TapisJobService currently has basic job sharing through the
shareJob()method, but doesn't utilize Tapis backend's full sharing capabilities:sharePublic: Make job outputs publicly accessibleshare with a user: Share job with specific usersProposed Implementation
New TapisJobService Methods
API Endpoints
Implementation Tasks
Phase 1: Core Sharing
shareJobPublic()method to TapisJobServiceshareJobWithUser()method to TapisJobServicePhase 2: API Integration
Phase 3: UI Integration
Acceptance Criteria
sharePublicshare with a userFiles to Modify
src/classes/tapis/adapters/TapisJobService.tssrc/api/api-v1/paths/tapis/jobs/src/classes/graphql/queries/