Closed slugb0t closed 1 month ago
Thank you for submitting this pull request! We appreciate your contribution to the project. Before we can merge it, we need to review the changes you've made to ensure they align with our code standards and meet the requirements of the project. We'll get back to you as soon as we can with feedback. Thanks again!
This pull request implements a Zenodo archival workflow to automate software release archiving, including metadata validation and DOI assignment. It enhances the user interface for managing releases and metadata, introduces a feature to purge user tokens, and updates the database schema to support new features. The changes span across both the bot and UI components of the application, introducing new API endpoints, database migrations, and UI components to support the Zenodo integration and release management process.
sequenceDiagram
actor User
participant UI
participant Server
participant Zenodo
participant GitHub
participant Database
User->>UI: Initiate Zenodo archival
UI->>Server: Send archival request
Server->>Database: Check Zenodo token
Database-->>Server: Return token
Server->>Zenodo: Validate token
Zenodo-->>Server: Token valid
Server->>GitHub: Create draft release
GitHub-->>Server: Draft release created
Server->>Zenodo: Create or update deposition
Zenodo-->>Server: Deposition info
Server->>GitHub: Update release with DOI
GitHub-->>Server: Release updated
Server->>Database: Update deposition info
Database-->>Server: Info updated
Server->>UI: Archival process complete
UI-->>User: Display success message
journey
title User journey for managing Zenodo releases
section Initiate Release
User: 5: Navigate to release page
User: 4: Review metadata
User: 3: Confirm release details
section Zenodo Archival
System: 5: Validate metadata
System: 4: Create draft release on GitHub
System: 3: Create or update Zenodo deposition
System: 2: Assign DOI
section Completion
User: 5: Receive confirmation
User: 4: View DOI and release details
erDiagram
User {
string id
string username
string access_token
int github_id
}
Installation {
int id
string owner
string repo
int installation_id
}
ZenodoToken {
string user_id
string token
date expires_at
}
ZenodoDeposition {
int repository_id
int zenodo_id
string zenodo_metadata
}
User ||--o{ ZenodoToken : has
Installation ||--o{ ZenodoDeposition : manages
ZenodoDeposition }o--|| ZenodoToken : uses
Change | Details | Files |
---|---|---|
Implement Zenodo archival workflow |
|
bot/archival/index.js bot/index.js ui/server/api/[owner]/[repo]/release/zenodo/index.post.ts ui/server/api/[owner]/[repo]/release/zenodo/index.get.ts |
Enhance user interface for managing releases and metadata |
|
ui/pages/dashboard/[owner]/[repo]/index.vue ui/pages/dashboard/[owner]/[repo]/release/zenodo.vue ui/components/card/CardDashboard.vue ui/components/card/CardIcon.vue ui/components/card/CardPlaceholder.vue |
Introduce feature to purge user tokens |
|
ui/server/api/user/tokens.delete.ts ui/pages/profile.vue |
Update database schema and add migrations |
|
bot/prisma/migrations/20241010220426_zenodo/migration.sql ui/prisma/migrations/20241009182523_zenodo/migration.sql ui/prisma/migrations/0_init/migration.sql bot/prisma/migrations/0_init/migration.sql |
Refactor and improve existing functionality |
|
bot/metadata/index.js bot/utils/tools/index.js ui/server/utils/auth/repoWritePermissions.ts |
Thanks for closing this pull request! If you have any further questions, please feel free to open a new issue. We are always happy to help!
Thanks for making updates to your pull request. Our team will take a look and provide feedback as soon as possible. Please wait for any GitHub Actions to complete before editing your pull request. If you have any additional questions or concerns, feel free to let us know. Thank you for your contributions!
Implement a Zenodo archival workflow to automate software release archiving, including metadata validation and DOI assignment. Enhance the user interface for managing releases and metadata, and introduce a feature to purge user tokens for improved security. Update the database schema to support new features.
New Features:
Enhancements:
Build:
Summary by Sourcery
Implement a Zenodo archival workflow to automate software release archiving, including metadata validation and DOI assignment. Enhance the user interface for managing releases and metadata, and introduce a feature to purge user tokens for improved security. Update the database schema to support new features.
New Features:
Enhancements:
Build: