Skip to content

Commit

Permalink
Merge branch 'develop' into feature/deprecate_website
Browse files Browse the repository at this point in the history
  • Loading branch information
ja573 authored Feb 14, 2024
2 parents 4522033 + cf654bf commit 308fd90
Show file tree
Hide file tree
Showing 19 changed files with 86 additions and 22,489 deletions.
11 changes: 11 additions & 0 deletions .github/workflows/check_changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: check-changelog
on:
pull_request:

jobs:
check-changelog:
runs-on: ubuntu-latest
steps:
- uses: tarides/changelog-check-action@v2
with:
changelog: CHANGELOG.md
5 changes: 5 additions & 0 deletions .github/workflows/run_migrations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,8 @@ jobs:
with:
command: run
args: migrate
- name: Revert migrations
uses: actions-rs/cargo@v1
with:
command: run
args: migrate --revert
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
### Removed
- [549](https://github.com/thoth-pub/thoth/pull/549) - Deprecate public-facing pages in Thoth APP in favour of a separate, standalone, website

### Changed
- [553](https://github.com/thoth-pub/thoth/pull/553) - Upgrade rust to `1.76.0` in production and development `Dockerfile`
- [549](https://github.com/thoth-pub/thoth/pull/549) - Build and push staging docker images on pull requests
- [549](https://github.com/thoth-pub/thoth/pull/549) - Upgrade GitHub actions dependencies (`docker/setup-qemu-action@v3`, `docker/setup-buildx-action@v3`, `docker/login-action@v3`, `docker/build-push-action@v5`, `actions/checkout@v4`, `actions/setup-node@v4`)
- [305](https://github.com/thoth-pub/thoth/issues/305) - Update rust edition to 2021
- [555](https://github.com/thoth-pub/thoth/pull/555) - Remove thoth-client's schema.json with auto-generated GraphQL schema language file on compilation

### Removed
- [549](https://github.com/thoth-pub/thoth/pull/549) - Deprecate public-facing pages in Thoth APP in favour of a separate, standalone, website
### Added
- [244](https://github.com/thoth-pub/thoth/issues/244) - Expose GraphQL schema file in /schema.graphql
- [503](https://github.com/thoth-pub/thoth/issues/503) - Allow reverting migrations in the CLI and check that migrations can be reverted in run-migration github action
- [557](https://github.com/thoth-pub/thoth/pull/557) - Added github action to chech that the changelog has been updated on PRs

## [[0.11.15]](https://github.com/thoth-pub/thoth/releases/tag/v0.11.15) - 2024-01-18
### Changed
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "thoth"
version = "0.11.15"
authors = ["Javier Arias <[email protected]>", "Ross Higman <[email protected]>"]
edition = "2018"
edition = "2021"
license = "Apache-2.0"
description = "GraphQL API for bibliographic data"
repository = "https://github.com/thoth-pub/thoth"
Expand Down
1 change: 1 addition & 0 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ RUN mkdir thoth-api/src thoth-api-server/src thoth-app/src \
RUN touch thoth-api/src/lib.rs thoth-api-server/src/lib.rs \
thoth-app/src/lib.rs thoth-app-server/src/lib.rs thoth-client/src/lib.rs \
thoth-errors/src/lib.rs thoth-export-server/src/lib.rs
RUN echo "fn main() {}" > thoth-client/build.rs
RUN wasm-pack build thoth-app/ \
--target web \
--debug
Expand Down
20 changes: 16 additions & 4 deletions src/bin/thoth.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
use clap::{crate_authors, crate_version, value_parser, Arg, Command};
use clap::{crate_authors, crate_version, value_parser, Arg, ArgAction, Command};
use dialoguer::{console::Term, theme::ColorfulTheme, Input, MultiSelect, Password, Select};
use dotenv::dotenv;
use std::env;
use thoth::api::account::model::{AccountData, LinkedPublisher};
use thoth::api::account::service::{all_emails, all_publishers, register, update_password};
use thoth::api::db::{establish_connection, run_migrations};
use thoth::api::db::{establish_connection, revert_migrations, run_migrations};
use thoth::api_server;
use thoth::app_server;
use thoth::export_server;
Expand Down Expand Up @@ -129,7 +129,16 @@ fn thoth_commands() -> Command {
.about(env!("CARGO_PKG_DESCRIPTION"))
.subcommand_required(true)
.arg_required_else_help(true)
.subcommand(Command::new("migrate").about("Run the database migrations"))
.subcommand(
Command::new("migrate")
.about("Run the database migrations")
.arg(
Arg::new("revert")
.long("revert")
.help("Revert all database migrations")
.action(ArgAction::SetTrue),
),
)
.subcommand(
Command::new("start")
.about("Start an instance of Thoth API or GUI")
Expand Down Expand Up @@ -240,7 +249,10 @@ fn main() -> ThothResult<()> {
}
_ => unreachable!(),
},
Some(("migrate", _)) => run_migrations(),
Some(("migrate", migrate_matches)) => match migrate_matches.get_flag("revert") {
true => revert_migrations(),
false => run_migrations(),
},
Some(("init", init_matches)) => {
let host = init_matches.get_one::<String>("host").unwrap().to_owned();
let port = init_matches.get_one::<String>("port").unwrap().to_owned();
Expand Down
2 changes: 1 addition & 1 deletion thoth-api-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "thoth-api-server"
version = "0.11.15"
authors = ["Javier Arias <[email protected]>", "Ross Higman <[email protected]>"]
edition = "2018"
edition = "2021"
license = "Apache-2.0"
description = "Actix instance serving Thoth's GraphQL endpoints"
repository = "https://github.com/thoth-pub/thoth"
Expand Down
6 changes: 6 additions & 0 deletions thoth-api-server/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@ async fn graphql_index(config: Data<ApiConfig>) -> HttpResponse {
))
}

#[get("/schema.graphql")]
async fn graphql_schema(st: Data<Arc<Schema>>) -> HttpResponse {
HttpResponse::Ok().body(st.as_schema_language())
}

#[post("/graphql")]
async fn graphql(
st: Data<Arc<Schema>>,
Expand Down Expand Up @@ -192,6 +197,7 @@ fn config(cfg: &mut ServiceConfig) {
cfg.service(login_credentials);
cfg.service(login_session);
cfg.service(account_details);
cfg.service(graphql_schema);
}

#[allow(clippy::too_many_arguments)]
Expand Down
2 changes: 1 addition & 1 deletion thoth-api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "thoth-api"
version = "0.11.15"
authors = ["Javier Arias <[email protected]>", "Ross Higman <[email protected]>"]
edition = "2018"
edition = "2021"
license = "Apache-2.0"
description = "GraphQL API for bibliographic data"
repository = "https://github.com/thoth-pub/thoth"
Expand Down
8 changes: 8 additions & 0 deletions thoth-api/src/db.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,11 @@ pub fn run_migrations() -> ThothResult<()> {
Err(error) => Err(ThothError::DatabaseError(error.to_string())),
}
}

pub fn revert_migrations() -> ThothResult<()> {
let mut connection = establish_connection().get().unwrap();
match connection.revert_all_migrations(MIGRATIONS) {
Ok(_) => Ok(()),
Err(error) => Err(ThothError::DatabaseError(error.to_string())),
}
}
2 changes: 1 addition & 1 deletion thoth-app-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "thoth-app-server"
version = "0.11.15"
authors = ["Javier Arias <[email protected]>", "Ross Higman <[email protected]>"]
edition = "2018"
edition = "2021"
license = "Apache-2.0"
description = "Actix instance serving Thoth's WASM GUI statically"
repository = "https://github.com/thoth-pub/thoth"
Expand Down
2 changes: 1 addition & 1 deletion thoth-app/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "thoth-app"
version = "0.11.15"
authors = ["Javier Arias <[email protected]>", "Ross Higman <[email protected]>"]
edition = "2018"
edition = "2021"
license = "Apache-2.0"
description = "WASM APP for bibliographic data"
repository = "https://github.com/thoth-pub/thoth"
Expand Down
1 change: 1 addition & 0 deletions thoth-client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
assets/schema.graphql
6 changes: 5 additions & 1 deletion thoth-client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
name = "thoth-client"
version = "0.11.15"
authors = ["Javier Arias <[email protected]>", "Ross Higman <[email protected]>"]
edition = "2018"
edition = "2021"
license = "Apache-2.0"
description = "GraphQL Client for bibliographic data"
repository = "https://github.com/thoth-pub/thoth"
readme = "README.md"
build = "build.rs"

[dependencies]
thoth-api = {version = "0.11.15", path = "../thoth-api" }
Expand All @@ -19,3 +20,6 @@ reqwest-retry = "0.2.3"
serde = "1.0"
serde_json = "1.0"
uuid = { version = "0.8.2", features = ["serde"] }

[build-dependencies]
thoth-api = { version = "0.11.15", path = "../thoth-api", features = ["backend"] }
Loading

0 comments on commit 308fd90

Please sign in to comment.