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 for the Codefair project. It includes significant changes to the database structure, API endpoints, and user interface to support creating and managing Zenodo depositions linked to GitHub releases.
sequenceDiagram
actor User
participant GitHub
participant Codefair
participant Zenodo
User->>GitHub: Create a release
GitHub->>Codefair: Trigger event
Codefair->>Zenodo: Get deposition info
Codefair->>Zenodo: Validate metadata
Codefair->>Zenodo: Update metadata
Codefair->>Zenodo: Upload assets
Codefair->>Zenodo: Publish deposition
Zenodo-->>Codefair: Confirmation
Codefair-->>GitHub: Update release status
Codefair-->>User: Notify completion
erDiagram
REPOSITORY {
int id PK
string owner
string repo
}
INSTALLATION {
int id PK
int installation_id
int action_count
date latest_commit_date
string latest_commit_message
string latest_commit_sha
string latest_commit_url
int repository_id FK
}
LICENSE_REQUEST {
int id PK
string license_id
string license_content
int repository_id FK
}
CODE_METADATA {
int id PK
json metadata
int repository_id FK
}
CWL_VALIDATION {
int id PK
json files
int repository_id FK
}
ZENODO_DEPOSITION {
int id PK
string status
string zenodo_id
int repository_id FK
}
REPOSITORY ||--o{ INSTALLATION : "has"
REPOSITORY ||--o{ LICENSE_REQUEST : "has"
REPOSITORY ||--o{ CODE_METADATA : "has"
REPOSITORY ||--o{ CWL_VALIDATION : "has"
REPOSITORY ||--o{ ZENODO_DEPOSITION : "has"
classDiagram
class Database {
+connect()
+getDb()
}
class PrismaClient {
+installation
+analytics
+licenseRequest
+codeMetadata
+cwlValidation
+zenodoDeposition
}
class MongoClient {
-connect()
}
Database --> MongoClient : replaced by
Database --> PrismaClient : replaced by
Change | Details | Files |
---|---|---|
Implemented Zenodo integration for archiving software releases |
|
bot/archival/index.js ui/pages/dashboard/[owner]/[repo]/release/zenodo.vue ui/server/routes/login/zenodo/callback.get.ts ui/server/api/[owner]/[repo]/release/zenodo/index.post.ts ui/server/api/[owner]/[repo]/release/zenodo/index.get.ts |
Migrated from MongoDB to PostgreSQL using Prisma ORM |
|
bot/db.js ui/server/utils/prisma.ts bot/prisma/migrations/0_init/migration.sql ui/prisma/migrations/0_init/migration.sql bot/scripts/prismaM.ts ui/scripts/prisma-migrate.ts |
Refactored authentication system |
|
ui/server/utils/auth.ts ui/server/api/user/tokens.delete.ts ui/pages/profile.vue |
Updated GitHub release management |
|
ui/server/api/[owner]/[repo]/release/github/index.post.ts ui/server/api/[owner]/[repo]/release/github/[release].get.ts |
Refactored and updated UI components |
|
ui/plugins/naive.ts ui/components/card/CardIcon.vue ui/components/card/CardPlaceholder.vue ui/pages/dashboard/[owner]/[repo]/index.vue |
Updated project configuration and development setup |
|
ui/nuxt.config.ts dev.ps1 dev.sh bot.sh ui.sh bot.ps1 ui.ps1 .github/workflows/deploy-main.yml .github/workflows/deploy-staging.yml |
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!
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!
Summary by Sourcery
Implement a Zenodo archival workflow to automate software release archiving, refactor database interactions to use Prisma, and enhance the UI with Naive UI components. Transition from pnpm to yarn for package management and update CI workflows accordingly.
New Features:
Enhancements:
Build:
CI:
Deployment: