From 843750ac76a6b2f7336a23a8147513151d0aa8a1 Mon Sep 17 00:00:00 2001 From: Brent Schroeter Date: Wed, 19 Nov 2025 01:45:58 +0000 Subject: [PATCH] fully migrate "interim" nomenclature to "phonograph" --- Cargo.lock | 176 +++++++++--------- Cargo.toml | 8 +- Dockerfile | 6 +- dev-services/docker-compose.yaml | 19 -- .../docker-entrypoint-initdb.d/init-app.sql | 3 - .../init-keycloak.sql | 3 - dev-services/keycloak.dockerfile | 18 -- interim-server/src/renderable_role_tree.rs | 20 -- interim-server/templates/role_tree.html | 12 -- .../Cargo.toml | 2 +- .../src/client.rs | 0 .../src/lib.rs | 0 .../src/pg_acl.rs | 0 .../src/pg_attribute.rs | 0 .../src/pg_class.rs | 0 .../src/pg_database.rs | 0 .../src/pg_index.rs | 0 .../src/pg_namespace.rs | 0 .../src/pg_role.rs | 14 +- .../src/rolnames.rs | 0 {interim-models => phono-models}/Cargo.toml | 4 +- {interim-models => phono-models}/build.rs | 0 .../migrations/20250918060948_init.down.sql | 0 .../migrations/20250918060948_init.up.sql | 0 .../src/accessors/mod.rs | 0 .../src/accessors/portal.rs | 2 +- .../src/client.rs | 0 .../src/cluster.rs | 0 {interim-models => phono-models}/src/datum.rs | 0 .../src/errors.rs | 0 .../src/expression.rs | 2 +- {interim-models => phono-models}/src/field.rs | 2 +- .../src/field_form_prompt.rs | 0 .../src/form_transition.rs | 0 .../src/language.rs | 0 {interim-models => phono-models}/src/lib.rs | 0 .../src/macros.rs | 0 .../src/portal.rs | 0 .../src/presentation.rs | 2 +- .../src/rel_invitation.rs | 2 +- .../src/service_cred.rs | 0 {interim-models => phono-models}/src/user.rs | 0 .../src/workspace.rs | 0 .../src/workspace_user_perm.rs | 0 {interim-namegen => phono-namegen}/Cargo.toml | 2 +- .../src/eff_large_wordlist.txt | 0 {interim-namegen => phono-namegen}/src/lib.rs | 8 +- {interim-server => phono-server}/Cargo.toml | 8 +- {interim-server => phono-server}/src/app.rs | 2 +- {interim-server => phono-server}/src/auth.rs | 0 {interim-server => phono-server}/src/cli.rs | 0 .../src/errors.rs | 0 .../src/extractors.rs | 0 .../src/field_info.rs | 2 +- {interim-server => phono-server}/src/main.rs | 3 +- .../src/middleware.rs | 0 .../src/navigator.rs | 0 .../src/presentation_form.rs | 2 +- {interim-server => phono-server}/src/roles.rs | 4 +- .../src/routes/forms/form_handler.rs | 4 +- .../src/routes/forms/mod.rs | 0 .../src/routes/mod.rs | 0 .../src/routes/relations_multi/mod.rs | 0 .../relations_single/add_field_handler.rs | 4 +- .../relations_single/add_portal_handler.rs | 2 +- .../routes/relations_single/form_handler.rs | 4 +- .../relations_single/get_data_handler.rs | 8 +- .../routes/relations_single/insert_handler.rs | 4 +- .../src/routes/relations_single/mod.rs | 0 .../routes/relations_single/portal_handler.rs | 4 +- .../portal_settings_handler.rs | 2 +- .../relations_single/remove_field_handler.rs | 4 +- .../relations_single/set_filter_handler.rs | 2 +- .../relations_single/settings_handler.rs | 4 +- .../settings_invite_handler.rs | 4 +- .../relations_single/update_field_handler.rs | 2 +- .../update_field_ordinality_handler.rs | 2 +- .../update_form_transitions_handler.rs | 2 +- .../update_portal_name_handler.rs | 2 +- .../update_prompts_handler.rs | 2 +- .../update_rel_name_handler.rs | 4 +- .../relations_single/update_values_handler.rs | 8 +- .../routes/workspaces_multi/add_handlers.rs | 6 +- .../routes/workspaces_multi/list_handlers.rs | 2 +- .../src/routes/workspaces_multi/mod.rs | 0 .../add_service_credential_handler.rs | 4 +- .../workspaces_single/add_table_handler.rs | 4 +- .../src/routes/workspaces_single/mod.rs | 0 .../routes/workspaces_single/nav_handler.rs | 2 +- .../service_credentials_handler.rs | 4 +- .../workspaces_single/settings_handler.rs | 2 +- .../workspaces_single/update_name_handler.rs | 0 ...update_service_cred_permissions_handler.rs | 4 +- .../src/sessions.rs | 0 .../src/settings.rs | 2 +- {interim-server => phono-server}/src/user.rs | 2 +- .../src/worker.rs | 0 .../src/workspace_nav.rs | 4 +- .../src/workspace_pooler.rs | 14 +- .../src/workspace_utils.rs | 6 +- .../templates/base.html | 2 +- .../templates/forms/form_index.html | 0 .../templates/list_bases.html | 0 .../templates/meta_tags.html | 0 .../templates/portal_table.html | 0 .../templates/rbac.html | 0 .../templates/rbac_invite.html | 0 .../templates/rel_rbac.html | 0 .../relations_single/form_index.html | 0 .../relations_single/portal_settings.html | 0 .../templates/relations_single/settings.html | 0 .../templates/role_display.html | 0 .../templates/toolbar_user.html | 0 .../templates/workspace_nav.html | 0 .../templates/workspaces_multi/list.html | 0 .../templates/workspaces_single/nav.html | 0 .../service_credentials.html | 0 .../templates/workspaces_single/settings.html | 0 118 files changed, 189 insertions(+), 263 deletions(-) delete mode 100644 dev-services/docker-entrypoint-initdb.d/init-keycloak.sql delete mode 100644 dev-services/keycloak.dockerfile delete mode 100644 interim-server/src/renderable_role_tree.rs delete mode 100644 interim-server/templates/role_tree.html rename {interim-pgtypes => phono-backends}/Cargo.toml (93%) rename {interim-pgtypes => phono-backends}/src/client.rs (100%) rename {interim-pgtypes => phono-backends}/src/lib.rs (100%) rename {interim-pgtypes => phono-backends}/src/pg_acl.rs (100%) rename {interim-pgtypes => phono-backends}/src/pg_attribute.rs (100%) rename {interim-pgtypes => phono-backends}/src/pg_class.rs (100%) rename {interim-pgtypes => phono-backends}/src/pg_database.rs (100%) rename {interim-pgtypes => phono-backends}/src/pg_index.rs (100%) rename {interim-pgtypes => phono-backends}/src/pg_namespace.rs (100%) rename {interim-pgtypes => phono-backends}/src/pg_role.rs (97%) rename {interim-pgtypes => phono-backends}/src/rolnames.rs (100%) rename {interim-models => phono-models}/Cargo.toml (87%) rename {interim-models => phono-models}/build.rs (100%) rename {interim-models => phono-models}/migrations/20250918060948_init.down.sql (100%) rename {interim-models => phono-models}/migrations/20250918060948_init.up.sql (100%) rename {interim-models => phono-models}/src/accessors/mod.rs (100%) rename {interim-models => phono-models}/src/accessors/portal.rs (99%) rename {interim-models => phono-models}/src/client.rs (100%) rename {interim-models => phono-models}/src/cluster.rs (100%) rename {interim-models => phono-models}/src/datum.rs (100%) rename {interim-models => phono-models}/src/errors.rs (100%) rename {interim-models => phono-models}/src/expression.rs (99%) rename {interim-models => phono-models}/src/field.rs (99%) rename {interim-models => phono-models}/src/field_form_prompt.rs (100%) rename {interim-models => phono-models}/src/form_transition.rs (100%) rename {interim-models => phono-models}/src/language.rs (100%) rename {interim-models => phono-models}/src/lib.rs (100%) rename {interim-models => phono-models}/src/macros.rs (100%) rename {interim-models => phono-models}/src/portal.rs (100%) rename {interim-models => phono-models}/src/presentation.rs (98%) rename {interim-models => phono-models}/src/rel_invitation.rs (97%) rename {interim-models => phono-models}/src/service_cred.rs (100%) rename {interim-models => phono-models}/src/user.rs (100%) rename {interim-models => phono-models}/src/workspace.rs (100%) rename {interim-models => phono-models}/src/workspace_user_perm.rs (100%) rename {interim-namegen => phono-namegen}/Cargo.toml (84%) rename {interim-namegen => phono-namegen}/src/eff_large_wordlist.txt (100%) rename {interim-namegen => phono-namegen}/src/lib.rs (91%) rename {interim-server => phono-server}/Cargo.toml (90%) rename {interim-server => phono-server}/src/app.rs (98%) rename {interim-server => phono-server}/src/auth.rs (100%) rename {interim-server => phono-server}/src/cli.rs (100%) rename {interim-server => phono-server}/src/errors.rs (100%) rename {interim-server => phono-server}/src/extractors.rs (100%) rename {interim-server => phono-server}/src/field_info.rs (90%) rename {interim-server => phono-server}/src/main.rs (95%) rename {interim-server => phono-server}/src/middleware.rs (100%) rename {interim-server => phono-server}/src/navigator.rs (100%) rename {interim-server => phono-server}/src/presentation_form.rs (98%) rename {interim-server => phono-server}/src/roles.rs (98%) rename {interim-server => phono-server}/src/routes/forms/form_handler.rs (98%) rename {interim-server => phono-server}/src/routes/forms/mod.rs (100%) rename {interim-server => phono-server}/src/routes/mod.rs (100%) rename {interim-server => phono-server}/src/routes/relations_multi/mod.rs (100%) rename {interim-server => phono-server}/src/routes/relations_single/add_field_handler.rs (97%) rename {interim-server => phono-server}/src/routes/relations_single/add_portal_handler.rs (97%) rename {interim-server => phono-server}/src/routes/relations_single/form_handler.rs (98%) rename {interim-server => phono-server}/src/routes/relations_single/get_data_handler.rs (99%) rename {interim-server => phono-server}/src/routes/relations_single/insert_handler.rs (97%) rename {interim-server => phono-server}/src/routes/relations_single/mod.rs (100%) rename {interim-server => phono-server}/src/routes/relations_single/portal_handler.rs (97%) rename {interim-server => phono-server}/src/routes/relations_single/portal_settings_handler.rs (99%) rename {interim-server => phono-server}/src/routes/relations_single/remove_field_handler.rs (97%) rename {interim-server => phono-server}/src/routes/relations_single/set_filter_handler.rs (99%) rename {interim-server => phono-server}/src/routes/relations_single/settings_handler.rs (96%) rename {interim-server => phono-server}/src/routes/relations_single/settings_invite_handler.rs (95%) rename {interim-server => phono-server}/src/routes/relations_single/update_field_handler.rs (96%) rename {interim-server => phono-server}/src/routes/relations_single/update_field_ordinality_handler.rs (98%) rename {interim-server => phono-server}/src/routes/relations_single/update_form_transitions_handler.rs (97%) rename {interim-server => phono-server}/src/routes/relations_single/update_portal_name_handler.rs (98%) rename {interim-server => phono-server}/src/routes/relations_single/update_prompts_handler.rs (99%) rename {interim-server => phono-server}/src/routes/relations_single/update_rel_name_handler.rs (94%) rename {interim-server => phono-server}/src/routes/relations_single/update_values_handler.rs (98%) rename {interim-server => phono-server}/src/routes/workspaces_multi/add_handlers.rs (96%) rename {interim-server => phono-server}/src/routes/workspaces_multi/list_handlers.rs (93%) rename {interim-server => phono-server}/src/routes/workspaces_multi/mod.rs (100%) rename {interim-server => phono-server}/src/routes/workspaces_single/add_service_credential_handler.rs (97%) rename {interim-server => phono-server}/src/routes/workspaces_single/add_table_handler.rs (97%) rename {interim-server => phono-server}/src/routes/workspaces_single/mod.rs (100%) rename {interim-server => phono-server}/src/routes/workspaces_single/nav_handler.rs (97%) rename {interim-server => phono-server}/src/routes/workspaces_single/service_credentials_handler.rs (97%) rename {interim-server => phono-server}/src/routes/workspaces_single/settings_handler.rs (97%) rename {interim-server => phono-server}/src/routes/workspaces_single/update_name_handler.rs (100%) rename {interim-server => phono-server}/src/routes/workspaces_single/update_service_cred_permissions_handler.rs (97%) rename {interim-server => phono-server}/src/sessions.rs (100%) rename {interim-server => phono-server}/src/settings.rs (97%) rename {interim-server => phono-server}/src/user.rs (99%) rename {interim-server => phono-server}/src/worker.rs (100%) rename {interim-server => phono-server}/src/workspace_nav.rs (95%) rename {interim-server => phono-server}/src/workspace_pooler.rs (91%) rename {interim-server => phono-server}/src/workspace_utils.rs (90%) rename {interim-server => phono-server}/templates/base.html (91%) rename {interim-server => phono-server}/templates/forms/form_index.html (100%) rename {interim-server => phono-server}/templates/list_bases.html (100%) rename {interim-server => phono-server}/templates/meta_tags.html (100%) rename {interim-server => phono-server}/templates/portal_table.html (100%) rename {interim-server => phono-server}/templates/rbac.html (100%) rename {interim-server => phono-server}/templates/rbac_invite.html (100%) rename {interim-server => phono-server}/templates/rel_rbac.html (100%) rename {interim-server => phono-server}/templates/relations_single/form_index.html (100%) rename {interim-server => phono-server}/templates/relations_single/portal_settings.html (100%) rename {interim-server => phono-server}/templates/relations_single/settings.html (100%) rename {interim-server => phono-server}/templates/role_display.html (100%) rename {interim-server => phono-server}/templates/toolbar_user.html (100%) rename {interim-server => phono-server}/templates/workspace_nav.html (100%) rename {interim-server => phono-server}/templates/workspaces_multi/list.html (100%) rename {interim-server => phono-server}/templates/workspaces_single/nav.html (100%) rename {interim-server => phono-server}/templates/workspaces_single/service_credentials.html (100%) rename {interim-server => phono-server}/templates/workspaces_single/settings.html (100%) diff --git a/Cargo.lock b/Cargo.lock index 8d5c7ce..be42df4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1750,94 +1750,6 @@ dependencies = [ "hashbrown 0.15.5", ] -[[package]] -name = "interim-models" -version = "0.0.1" -dependencies = [ - "bigdecimal", - "chrono", - "derive_builder", - "futures", - "interim-pgtypes", - "redact", - "regex", - "serde", - "serde_json", - "sqlx", - "strum", - "thiserror 2.0.12", - "tracing", - "url", - "uuid", - "validator", -] - -[[package]] -name = "interim-namegen" -version = "0.0.1" -dependencies = [ - "rand 0.8.5", - "thiserror 2.0.12", -] - -[[package]] -name = "interim-pgtypes" -version = "0.0.1" -dependencies = [ - "chrono", - "derive_builder", - "nom 8.0.0", - "regex", - "serde", - "sqlx", - "strum", - "thiserror 2.0.12", - "uuid", -] - -[[package]] -name = "interim-server" -version = "0.0.1" -dependencies = [ - "anyhow", - "askama", - "async-session", - "axum", - "axum-extra", - "bigdecimal", - "chrono", - "clap", - "config", - "derive_builder", - "dotenvy", - "futures", - "headers", - "interim-models", - "interim-namegen", - "interim-pgtypes", - "markdown", - "oauth2", - "percent-encoding", - "rand 0.8.5", - "redact", - "regex", - "reqwest 0.12.15", - "scraper", - "serde", - "serde_json", - "sqlx", - "strum", - "thiserror 2.0.12", - "tokio", - "tower", - "tower-http", - "tracing", - "tracing-subscriber", - "url", - "uuid", - "validator", -] - [[package]] name = "ipnet" version = "2.11.0" @@ -2409,6 +2321,94 @@ dependencies = [ "siphasher", ] +[[package]] +name = "phono-backends" +version = "0.0.1" +dependencies = [ + "chrono", + "derive_builder", + "nom 8.0.0", + "regex", + "serde", + "sqlx", + "strum", + "thiserror 2.0.12", + "uuid", +] + +[[package]] +name = "phono-models" +version = "0.0.1" +dependencies = [ + "bigdecimal", + "chrono", + "derive_builder", + "futures", + "phono-backends", + "redact", + "regex", + "serde", + "serde_json", + "sqlx", + "strum", + "thiserror 2.0.12", + "tracing", + "url", + "uuid", + "validator", +] + +[[package]] +name = "phono-namegen" +version = "0.0.1" +dependencies = [ + "rand 0.8.5", + "thiserror 2.0.12", +] + +[[package]] +name = "phono-server" +version = "0.0.1" +dependencies = [ + "anyhow", + "askama", + "async-session", + "axum", + "axum-extra", + "bigdecimal", + "chrono", + "clap", + "config", + "derive_builder", + "dotenvy", + "futures", + "headers", + "markdown", + "oauth2", + "percent-encoding", + "phono-backends", + "phono-models", + "phono-namegen", + "rand 0.8.5", + "redact", + "regex", + "reqwest 0.12.15", + "scraper", + "serde", + "serde_json", + "sqlx", + "strum", + "thiserror 2.0.12", + "tokio", + "tower", + "tower-http", + "tracing", + "tracing-subscriber", + "url", + "uuid", + "validator", +] + [[package]] name = "pin-project-lite" version = "0.2.16" diff --git a/Cargo.toml b/Cargo.toml index 0977be6..4e9914f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["codegen-backend"] [workspace] resolver = "3" -members = ["interim-*"] +members = ["phono-*"] [workspace.package] version = "0.0.1" @@ -14,9 +14,9 @@ bigdecimal = { version = "0.4.9", features = ["serde-json"] } chrono = { version = "0.4.41", features = ["serde"] } derive_builder = "0.20.2" futures = "0.3.31" -interim-models = { path = "./interim-models" } -interim-namegen = { path = "./interim-namegen" } -interim-pgtypes = { path = "./interim-pgtypes" } +phono-backends = { path = "./phono-backends" } +phono-models = { path = "./phono-models" } +phono-namegen = { path = "./phono-namegen" } rand = "0.8.5" redact = { version = "0.1.11", features = ["serde", "zeroize"] } regex = "1.11.1" diff --git a/Dockerfile b/Dockerfile index 762a0f8..8b7505e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,16 +11,16 @@ COPY --from=planner /app/recipe.json recipe.json RUN cargo chef cook --release --recipe-path recipe.json # Build application COPY . . -RUN cargo build --release --bin interim +RUN cargo build --release --bin phonograph # We do not need the Rust toolchain to run the binary! FROM debian:bookworm-slim AS runtime RUN apt-get update && apt-get install -y libpq-dev WORKDIR /app -COPY --from=builder /app/target/release/interim /usr/local/bin +COPY --from=builder /app/target/release/phonograph /usr/local/bin COPY ./css_dist ./css_dist COPY ./js_dist ./js_dist COPY ./static ./static -ENTRYPOINT ["/usr/local/bin/interim"] +ENTRYPOINT ["/usr/local/bin/phonograph"] diff --git a/dev-services/docker-compose.yaml b/dev-services/docker-compose.yaml index 42b47bf..ecf40bc 100644 --- a/dev-services/docker-compose.yaml +++ b/dev-services/docker-compose.yaml @@ -12,22 +12,3 @@ services: volumes: - "./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d:ro" - "./pgdata:/var/lib/postgresql/18/docker" - - # keycloak: - # depends_on: [pg] - # restart: always - # build: - # context: . - # dockerfile: keycloak.dockerfile - # environment: - # KC_DB: postgres - # KC_DB_URL: jdbc:postgresql://pg:5432/keycloak - # KC_DB_USERNAME: keycloak - # KC_DB_PASSWORD: guest - # KC_HOSTNAME: 0.0.0.0 - # KEYCLOAK_ADMIN: admin - # KEYCLOAK_ADMIN_PASSWORD: guest - # command: [start, --optimized] - # ports: - # - "127.0.0.1:9000:9000" - # - "127.0.0.1:8443:8443" diff --git a/dev-services/docker-entrypoint-initdb.d/init-app.sql b/dev-services/docker-entrypoint-initdb.d/init-app.sql index d557f83..e69de29 100644 --- a/dev-services/docker-entrypoint-initdb.d/init-app.sql +++ b/dev-services/docker-entrypoint-initdb.d/init-app.sql @@ -1,3 +0,0 @@ -CREATE USER interim_app WITH ENCRYPTED PASSWORD 'guest'; -CREATE DATABASE interim_app; -ALTER DATABASE interim_app OWNER TO interim_app; diff --git a/dev-services/docker-entrypoint-initdb.d/init-keycloak.sql b/dev-services/docker-entrypoint-initdb.d/init-keycloak.sql deleted file mode 100644 index 7ff0b08..0000000 --- a/dev-services/docker-entrypoint-initdb.d/init-keycloak.sql +++ /dev/null @@ -1,3 +0,0 @@ -CREATE USER keycloak WITH ENCRYPTED PASSWORD 'guest'; -CREATE DATABASE keycloak; -ALTER DATABASE keycloak OWNER TO keycloak; diff --git a/dev-services/keycloak.dockerfile b/dev-services/keycloak.dockerfile deleted file mode 100644 index cb38874..0000000 --- a/dev-services/keycloak.dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM quay.io/keycloak/keycloak:26.3.2 as builder - -# Enable health and metrics support -ENV KC_HEALTH_ENABLED=true -ENV KC_METRICS_ENABLED=true - -# Configure a database vendor -ENV KC_DB=postgres - -WORKDIR /opt/keycloak -# for demonstration purposes only, please make sure to use proper certificates in production instead -RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore -RUN /opt/keycloak/bin/kc.sh build - -FROM quay.io/keycloak/keycloak:26.3.2 -COPY --from=builder /opt/keycloak/ /opt/keycloak/ - -ENTRYPOINT ["/opt/keycloak/bin/kc.sh"] diff --git a/interim-server/src/renderable_role_tree.rs b/interim-server/src/renderable_role_tree.rs deleted file mode 100644 index 12f7941..0000000 --- a/interim-server/src/renderable_role_tree.rs +++ /dev/null @@ -1,20 +0,0 @@ -use askama::Template; -use interim_pgtypes::pg_role::{PgRole, RoleTree}; - -#[derive(Clone, Debug, Template)] -#[template(path = "role_tree.html")] -pub struct RenderableRoleTree { - role: PgRole, - branches: Vec, - inherit: bool, -} - -impl From for RenderableRoleTree { - fn from(value: RoleTree) -> Self { - Self { - role: value.role, - branches: value.branches.into_iter().map(Self::from).collect(), - inherit: value.inherit, - } - } -} diff --git a/interim-server/templates/role_tree.html b/interim-server/templates/role_tree.html deleted file mode 100644 index 999b0ce..0000000 --- a/interim-server/templates/role_tree.html +++ /dev/null @@ -1,12 +0,0 @@ -
-
- {{ role.rolname }} -
- {% if !branches.is_empty() %} -
    - {% for branch in branches %} -
  • {{ branch.render()? | safe }}
  • - {% endfor %} -
- {% endif %} -
diff --git a/interim-pgtypes/Cargo.toml b/phono-backends/Cargo.toml similarity index 93% rename from interim-pgtypes/Cargo.toml rename to phono-backends/Cargo.toml index 624198b..690a063 100644 --- a/interim-pgtypes/Cargo.toml +++ b/phono-backends/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "interim-pgtypes" +name = "phono-backends" edition.workspace = true version.workspace = true diff --git a/interim-pgtypes/src/client.rs b/phono-backends/src/client.rs similarity index 100% rename from interim-pgtypes/src/client.rs rename to phono-backends/src/client.rs diff --git a/interim-pgtypes/src/lib.rs b/phono-backends/src/lib.rs similarity index 100% rename from interim-pgtypes/src/lib.rs rename to phono-backends/src/lib.rs diff --git a/interim-pgtypes/src/pg_acl.rs b/phono-backends/src/pg_acl.rs similarity index 100% rename from interim-pgtypes/src/pg_acl.rs rename to phono-backends/src/pg_acl.rs diff --git a/interim-pgtypes/src/pg_attribute.rs b/phono-backends/src/pg_attribute.rs similarity index 100% rename from interim-pgtypes/src/pg_attribute.rs rename to phono-backends/src/pg_attribute.rs diff --git a/interim-pgtypes/src/pg_class.rs b/phono-backends/src/pg_class.rs similarity index 100% rename from interim-pgtypes/src/pg_class.rs rename to phono-backends/src/pg_class.rs diff --git a/interim-pgtypes/src/pg_database.rs b/phono-backends/src/pg_database.rs similarity index 100% rename from interim-pgtypes/src/pg_database.rs rename to phono-backends/src/pg_database.rs diff --git a/interim-pgtypes/src/pg_index.rs b/phono-backends/src/pg_index.rs similarity index 100% rename from interim-pgtypes/src/pg_index.rs rename to phono-backends/src/pg_index.rs diff --git a/interim-pgtypes/src/pg_namespace.rs b/phono-backends/src/pg_namespace.rs similarity index 100% rename from interim-pgtypes/src/pg_namespace.rs rename to phono-backends/src/pg_namespace.rs diff --git a/interim-pgtypes/src/pg_role.rs b/phono-backends/src/pg_role.rs similarity index 97% rename from interim-pgtypes/src/pg_role.rs rename to phono-backends/src/pg_role.rs index 744f25f..ed4e413 100644 --- a/interim-pgtypes/src/pg_role.rs +++ b/phono-backends/src/pg_role.rs @@ -3,7 +3,7 @@ use sqlx::{postgres::types::Oid, prelude::FromRow, query_as}; use thiserror::Error; use uuid::Uuid; -use crate::client::WorkspaceClient; +use crate::{client::WorkspaceClient, rolnames::ROLE_PREFIX_USER}; #[derive(Clone, Debug, Eq, Hash, FromRow, PartialEq)] pub struct PgRole { @@ -356,18 +356,18 @@ fn compute_members(rows: &Vec, root: Oid) -> Vec { #[derive(Debug, Error)] pub enum RolnameParseError { - #[error("rolname does not have interim user prefix")] + #[error("rolname does not have phono user prefix")] MissingPrefix, #[error("unable to parse uuid from rolname: {0}")] BadUuid(uuid::Error), } -pub fn user_id_from_rolname(rolname: &str, role_prefix: &str) -> Result { - if !rolname.starts_with(role_prefix) { - Err(RolnameParseError::MissingPrefix) - } else { +pub fn user_id_from_rolname(rolname: &str) -> Result { + if rolname.starts_with(ROLE_PREFIX_USER) { let mut rolname = rolname.to_owned(); - rolname.replace_range(0..role_prefix.len(), ""); + rolname.replace_range(0..ROLE_PREFIX_USER.len(), ""); Uuid::parse_str(&rolname).map_err(RolnameParseError::BadUuid) + } else { + Err(RolnameParseError::MissingPrefix) } } diff --git a/interim-pgtypes/src/rolnames.rs b/phono-backends/src/rolnames.rs similarity index 100% rename from interim-pgtypes/src/rolnames.rs rename to phono-backends/src/rolnames.rs diff --git a/interim-models/Cargo.toml b/phono-models/Cargo.toml similarity index 87% rename from interim-models/Cargo.toml rename to phono-models/Cargo.toml index f62c642..f298ca8 100644 --- a/interim-models/Cargo.toml +++ b/phono-models/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "interim-models" +name = "phono-models" edition.workspace = true version.workspace = true @@ -8,7 +8,7 @@ bigdecimal = { workspace = true } chrono = { workspace = true } derive_builder = { workspace = true } futures = { workspace = true } -interim-pgtypes = { path = "../interim-pgtypes" } +phono-backends = { workspace = true } redact = { workspace = true } regex = { workspace = true } serde = { workspace = true } diff --git a/interim-models/build.rs b/phono-models/build.rs similarity index 100% rename from interim-models/build.rs rename to phono-models/build.rs diff --git a/interim-models/migrations/20250918060948_init.down.sql b/phono-models/migrations/20250918060948_init.down.sql similarity index 100% rename from interim-models/migrations/20250918060948_init.down.sql rename to phono-models/migrations/20250918060948_init.down.sql diff --git a/interim-models/migrations/20250918060948_init.up.sql b/phono-models/migrations/20250918060948_init.up.sql similarity index 100% rename from interim-models/migrations/20250918060948_init.up.sql rename to phono-models/migrations/20250918060948_init.up.sql diff --git a/interim-models/src/accessors/mod.rs b/phono-models/src/accessors/mod.rs similarity index 100% rename from interim-models/src/accessors/mod.rs rename to phono-models/src/accessors/mod.rs diff --git a/interim-models/src/accessors/portal.rs b/phono-models/src/accessors/portal.rs similarity index 99% rename from interim-models/src/accessors/portal.rs rename to phono-models/src/accessors/portal.rs index 89abe47..38951a2 100644 --- a/interim-models/src/accessors/portal.rs +++ b/phono-models/src/accessors/portal.rs @@ -1,7 +1,7 @@ use std::collections::HashSet; use derive_builder::Builder; -use interim_pgtypes::{ +use phono_backends::{ client::WorkspaceClient, pg_acl::PgPrivilegeType, pg_class::PgClass, pg_role::RoleTree, rolnames::ROLE_PREFIX_USER, }; diff --git a/interim-models/src/client.rs b/phono-models/src/client.rs similarity index 100% rename from interim-models/src/client.rs rename to phono-models/src/client.rs diff --git a/interim-models/src/cluster.rs b/phono-models/src/cluster.rs similarity index 100% rename from interim-models/src/cluster.rs rename to phono-models/src/cluster.rs diff --git a/interim-models/src/datum.rs b/phono-models/src/datum.rs similarity index 100% rename from interim-models/src/datum.rs rename to phono-models/src/datum.rs diff --git a/interim-models/src/errors.rs b/phono-models/src/errors.rs similarity index 100% rename from interim-models/src/errors.rs rename to phono-models/src/errors.rs diff --git a/interim-models/src/expression.rs b/phono-models/src/expression.rs similarity index 99% rename from interim-models/src/expression.rs rename to phono-models/src/expression.rs index ad050d0..d110f71 100644 --- a/interim-models/src/expression.rs +++ b/phono-models/src/expression.rs @@ -1,6 +1,6 @@ use std::fmt::Display; -use interim_pgtypes::escape_identifier; +use phono_backends::escape_identifier; use serde::{Deserialize, Serialize}; use crate::datum::Datum; diff --git a/interim-models/src/field.rs b/phono-models/src/field.rs similarity index 99% rename from interim-models/src/field.rs rename to phono-models/src/field.rs index 25f2ded..0462d3a 100644 --- a/interim-models/src/field.rs +++ b/phono-models/src/field.rs @@ -1,7 +1,7 @@ use bigdecimal::BigDecimal; use chrono::{DateTime, Utc}; use derive_builder::Builder; -use interim_pgtypes::pg_attribute::PgAttribute; +use phono_backends::pg_attribute::PgAttribute; use serde::{Deserialize, Serialize}; use sqlx::Acquire as _; use sqlx::{ diff --git a/interim-models/src/field_form_prompt.rs b/phono-models/src/field_form_prompt.rs similarity index 100% rename from interim-models/src/field_form_prompt.rs rename to phono-models/src/field_form_prompt.rs diff --git a/interim-models/src/form_transition.rs b/phono-models/src/form_transition.rs similarity index 100% rename from interim-models/src/form_transition.rs rename to phono-models/src/form_transition.rs diff --git a/interim-models/src/language.rs b/phono-models/src/language.rs similarity index 100% rename from interim-models/src/language.rs rename to phono-models/src/language.rs diff --git a/interim-models/src/lib.rs b/phono-models/src/lib.rs similarity index 100% rename from interim-models/src/lib.rs rename to phono-models/src/lib.rs diff --git a/interim-models/src/macros.rs b/phono-models/src/macros.rs similarity index 100% rename from interim-models/src/macros.rs rename to phono-models/src/macros.rs diff --git a/interim-models/src/portal.rs b/phono-models/src/portal.rs similarity index 100% rename from interim-models/src/portal.rs rename to phono-models/src/portal.rs diff --git a/interim-models/src/presentation.rs b/phono-models/src/presentation.rs similarity index 98% rename from interim-models/src/presentation.rs rename to phono-models/src/presentation.rs index 02d5c6c..c24f616 100644 --- a/interim-models/src/presentation.rs +++ b/phono-models/src/presentation.rs @@ -1,4 +1,4 @@ -use interim_pgtypes::pg_attribute::PgAttribute; +use phono_backends::pg_attribute::PgAttribute; use serde::{Deserialize, Serialize}; use strum::{EnumDiscriminants, EnumIter, EnumString}; diff --git a/interim-models/src/rel_invitation.rs b/phono-models/src/rel_invitation.rs similarity index 97% rename from interim-models/src/rel_invitation.rs rename to phono-models/src/rel_invitation.rs index dd7a180..aa215ce 100644 --- a/interim-models/src/rel_invitation.rs +++ b/phono-models/src/rel_invitation.rs @@ -1,6 +1,6 @@ use chrono::{DateTime, Utc}; use derive_builder::Builder; -use interim_pgtypes::pg_acl::PgPrivilegeType; +use phono_backends::pg_acl::PgPrivilegeType; use sqlx::{postgres::types::Oid, query_as}; use uuid::Uuid; diff --git a/interim-models/src/service_cred.rs b/phono-models/src/service_cred.rs similarity index 100% rename from interim-models/src/service_cred.rs rename to phono-models/src/service_cred.rs diff --git a/interim-models/src/user.rs b/phono-models/src/user.rs similarity index 100% rename from interim-models/src/user.rs rename to phono-models/src/user.rs diff --git a/interim-models/src/workspace.rs b/phono-models/src/workspace.rs similarity index 100% rename from interim-models/src/workspace.rs rename to phono-models/src/workspace.rs diff --git a/interim-models/src/workspace_user_perm.rs b/phono-models/src/workspace_user_perm.rs similarity index 100% rename from interim-models/src/workspace_user_perm.rs rename to phono-models/src/workspace_user_perm.rs diff --git a/interim-namegen/Cargo.toml b/phono-namegen/Cargo.toml similarity index 84% rename from interim-namegen/Cargo.toml rename to phono-namegen/Cargo.toml index b02eab4..9f8cfd1 100644 --- a/interim-namegen/Cargo.toml +++ b/phono-namegen/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "interim-namegen" +name = "phono-namegen" edition.workspace = true version.workspace = true diff --git a/interim-namegen/src/eff_large_wordlist.txt b/phono-namegen/src/eff_large_wordlist.txt similarity index 100% rename from interim-namegen/src/eff_large_wordlist.txt rename to phono-namegen/src/eff_large_wordlist.txt diff --git a/interim-namegen/src/lib.rs b/phono-namegen/src/lib.rs similarity index 91% rename from interim-namegen/src/lib.rs rename to phono-namegen/src/lib.rs index 0dd6c15..7686a30 100644 --- a/interim-namegen/src/lib.rs +++ b/phono-namegen/src/lib.rs @@ -6,12 +6,12 @@ //! ### Basic Usage //! //! ``` -//! let name: String = interim_namegen::default_generator().generate_name(3); +//! let name: String = phono_namegen::default_generator().generate_name(3); //! ``` use std::sync::LazyLock; -use rand::{Rng, rngs::ThreadRng, seq::SliceRandom}; +use rand::{rngs::ThreadRng, seq::SliceRandom, Rng}; // EFF wordlist for random password phrases. // @@ -36,11 +36,13 @@ const WORDLIST_LEN: usize = 7776; // LazyLock. static WORDLIST: LazyLock<[&str; WORDLIST_LEN]> = LazyLock::new(|| { let mut words = [""; WORDLIST_LEN]; + // Embed wordlist file rather than attempt to fetch it from disk at runtime. for (i, word) in include_str!("./eff_large_wordlist.txt") .split('\n') .enumerate() { - assert!(i <= WORDLIST_LEN); // The wordlist may contain a trailing newline. + // The wordlist may contain a trailing newline. + assert!(i <= WORDLIST_LEN); if i < WORDLIST_LEN { words[i] = word; } diff --git a/interim-server/Cargo.toml b/phono-server/Cargo.toml similarity index 90% rename from interim-server/Cargo.toml rename to phono-server/Cargo.toml index 49c8157..92b5567 100644 --- a/interim-server/Cargo.toml +++ b/phono-server/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "interim-server" +name = "phono-server" edition.workspace = true version.workspace = true @@ -17,12 +17,12 @@ derive_builder = { workspace = true } dotenvy = "0.15.7" futures = { workspace = true } headers = "0.4.1" -interim-models = { workspace = true } -interim-namegen = { workspace = true } -interim-pgtypes = { workspace = true } markdown = "1.0.0" oauth2 = "4.4.2" percent-encoding = "2.3.1" +phono-backends = { workspace = true } +phono-models = { workspace = true } +phono-namegen = { workspace = true } rand = { workspace = true } redact = { workspace = true } regex = { workspace = true } diff --git a/interim-server/src/app.rs b/phono-server/src/app.rs similarity index 98% rename from interim-server/src/app.rs rename to phono-server/src/app.rs index 21d21be..efc899c 100644 --- a/interim-server/src/app.rs +++ b/phono-server/src/app.rs @@ -3,8 +3,8 @@ use axum::{ extract::{FromRef, FromRequestParts}, http::request::Parts, }; -use interim_models::client::AppDbClient; use oauth2::basic::BasicClient; +use phono_models::client::AppDbClient; use sqlx::postgres::PgPoolOptions; use crate::{ diff --git a/interim-server/src/auth.rs b/phono-server/src/auth.rs similarity index 100% rename from interim-server/src/auth.rs rename to phono-server/src/auth.rs diff --git a/interim-server/src/cli.rs b/phono-server/src/cli.rs similarity index 100% rename from interim-server/src/cli.rs rename to phono-server/src/cli.rs diff --git a/interim-server/src/errors.rs b/phono-server/src/errors.rs similarity index 100% rename from interim-server/src/errors.rs rename to phono-server/src/errors.rs diff --git a/interim-server/src/extractors.rs b/phono-server/src/extractors.rs similarity index 100% rename from interim-server/src/extractors.rs rename to phono-server/src/extractors.rs diff --git a/interim-server/src/field_info.rs b/phono-server/src/field_info.rs similarity index 90% rename from interim-server/src/field_info.rs rename to phono-server/src/field_info.rs index 6176734..77d8e1c 100644 --- a/interim-server/src/field_info.rs +++ b/phono-server/src/field_info.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use interim_models::{field::Field, language::Language}; +use phono_models::{field::Field, language::Language}; use serde::Serialize; #[derive(Clone, Debug, Serialize)] diff --git a/interim-server/src/main.rs b/phono-server/src/main.rs similarity index 95% rename from interim-server/src/main.rs rename to phono-server/src/main.rs index a085286..b64b69f 100644 --- a/interim-server/src/main.rs +++ b/phono-server/src/main.rs @@ -1,7 +1,7 @@ use anyhow::Result; use clap::Parser as _; use dotenvy::dotenv; -use interim_models::MIGRATOR; +use phono_models::MIGRATOR; use tracing_subscriber::EnvFilter; use crate::{ @@ -19,7 +19,6 @@ mod field_info; mod middleware; mod navigator; mod presentation_form; -mod renderable_role_tree; mod roles; mod routes; mod sessions; diff --git a/interim-server/src/middleware.rs b/phono-server/src/middleware.rs similarity index 100% rename from interim-server/src/middleware.rs rename to phono-server/src/middleware.rs diff --git a/interim-server/src/navigator.rs b/phono-server/src/navigator.rs similarity index 100% rename from interim-server/src/navigator.rs rename to phono-server/src/navigator.rs diff --git a/interim-server/src/presentation_form.rs b/phono-server/src/presentation_form.rs similarity index 98% rename from interim-server/src/presentation_form.rs rename to phono-server/src/presentation_form.rs index d4718c1..469d789 100644 --- a/interim-server/src/presentation_form.rs +++ b/phono-server/src/presentation_form.rs @@ -1,6 +1,6 @@ use std::iter::zip; -use interim_models::presentation::{ +use phono_models::presentation::{ DropdownOption, Presentation, PresentationDiscriminants, RFC_3339_S, TextInputMode, }; use serde::Deserialize; diff --git a/interim-server/src/roles.rs b/phono-server/src/roles.rs similarity index 98% rename from interim-server/src/roles.rs rename to phono-server/src/roles.rs index c176244..80c5bb5 100644 --- a/interim-server/src/roles.rs +++ b/phono-server/src/roles.rs @@ -2,7 +2,7 @@ use std::collections::HashSet; use anyhow::anyhow; use askama::Template; -use interim_pgtypes::{ +use phono_backends::{ client::WorkspaceClient, pg_acl::{PgAclItem, PgPrivilegeType}, pg_class::PgClass, @@ -105,7 +105,7 @@ impl RoleDisplay { oid: Oid, relname: String, } - // TODO: Consider moving this to [`interim-pgtypes`]. + // TODO: Consider moving this to [`phono_backends`]. let mut rels: Vec = query_as( r#" select oid, any_value(relname) as relname diff --git a/interim-server/src/routes/forms/form_handler.rs b/phono-server/src/routes/forms/form_handler.rs similarity index 98% rename from interim-server/src/routes/forms/form_handler.rs rename to phono-server/src/routes/forms/form_handler.rs index ceecc8c..cd80e90 100644 --- a/interim-server/src/routes/forms/form_handler.rs +++ b/phono-server/src/routes/forms/form_handler.rs @@ -5,14 +5,14 @@ use axum::{ extract::{Path, State}, response::{Html, IntoResponse as _, Response}, }; -use interim_models::{ +use phono_backends::pg_attribute::PgAttribute; +use phono_models::{ field::Field, field_form_prompt::FieldFormPrompt, language::Language, portal::Portal, presentation::{Presentation, TextInputMode}, }; -use interim_pgtypes::pg_attribute::PgAttribute; use serde::Deserialize; use uuid::Uuid; diff --git a/interim-server/src/routes/forms/mod.rs b/phono-server/src/routes/forms/mod.rs similarity index 100% rename from interim-server/src/routes/forms/mod.rs rename to phono-server/src/routes/forms/mod.rs diff --git a/interim-server/src/routes/mod.rs b/phono-server/src/routes/mod.rs similarity index 100% rename from interim-server/src/routes/mod.rs rename to phono-server/src/routes/mod.rs diff --git a/interim-server/src/routes/relations_multi/mod.rs b/phono-server/src/routes/relations_multi/mod.rs similarity index 100% rename from interim-server/src/routes/relations_multi/mod.rs rename to phono-server/src/routes/relations_multi/mod.rs diff --git a/interim-server/src/routes/relations_single/add_field_handler.rs b/phono-server/src/routes/relations_single/add_field_handler.rs similarity index 97% rename from interim-server/src/routes/relations_single/add_field_handler.rs rename to phono-server/src/routes/relations_single/add_field_handler.rs index 55e8e1e..224db1b 100644 --- a/interim-server/src/routes/relations_single/add_field_handler.rs +++ b/phono-server/src/routes/relations_single/add_field_handler.rs @@ -6,12 +6,12 @@ use axum::{ // [`axum_extra`]'s form extractor is preferred: // https://docs.rs/axum-extra/0.10.1/axum_extra/extract/struct.Form.html#differences-from-axumextractform use axum_extra::extract::Form; -use interim_models::{ +use phono_backends::{escape_identifier, pg_class::PgClass}; +use phono_models::{ accessors::{Accessor as _, Actor, portal::PortalAccessor}, field::Field, presentation::Presentation, }; -use interim_pgtypes::{escape_identifier, pg_class::PgClass}; use serde::Deserialize; use sqlx::{postgres::types::Oid, query}; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/add_portal_handler.rs b/phono-server/src/routes/relations_single/add_portal_handler.rs similarity index 97% rename from interim-server/src/routes/relations_single/add_portal_handler.rs rename to phono-server/src/routes/relations_single/add_portal_handler.rs index b2c99e6..bcde706 100644 --- a/interim-server/src/routes/relations_single/add_portal_handler.rs +++ b/phono-server/src/routes/relations_single/add_portal_handler.rs @@ -1,5 +1,5 @@ use axum::{extract::Path, response::IntoResponse}; -use interim_models::portal::Portal; +use phono_models::portal::Portal; use serde::Deserialize; use sqlx::postgres::types::Oid; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/form_handler.rs b/phono-server/src/routes/relations_single/form_handler.rs similarity index 98% rename from interim-server/src/routes/relations_single/form_handler.rs rename to phono-server/src/routes/relations_single/form_handler.rs index 2f0e96b..ff8379e 100644 --- a/interim-server/src/routes/relations_single/form_handler.rs +++ b/phono-server/src/routes/relations_single/form_handler.rs @@ -6,7 +6,8 @@ use axum::{ extract::{Path, State}, response::{Html, IntoResponse}, }; -use interim_models::{ +use phono_backends::pg_attribute::PgAttribute; +use phono_models::{ accessors::{Accessor as _, Actor, portal::PortalAccessor}, field::Field, field_form_prompt::FieldFormPrompt, @@ -15,7 +16,6 @@ use interim_models::{ portal::Portal, workspace::Workspace, }; -use interim_pgtypes::pg_attribute::PgAttribute; use serde::{Deserialize, Serialize}; use sqlx::postgres::types::Oid; use strum::IntoEnumIterator as _; diff --git a/interim-server/src/routes/relations_single/get_data_handler.rs b/phono-server/src/routes/relations_single/get_data_handler.rs similarity index 99% rename from interim-server/src/routes/relations_single/get_data_handler.rs rename to phono-server/src/routes/relations_single/get_data_handler.rs index 4e765fc..4614d5c 100644 --- a/interim-server/src/routes/relations_single/get_data_handler.rs +++ b/phono-server/src/routes/relations_single/get_data_handler.rs @@ -5,14 +5,14 @@ use axum::{ extract::{Path, State}, response::{IntoResponse as _, Response}, }; -use interim_models::{ +use phono_backends::{ + escape_identifier, pg_acl::PgPrivilegeType, pg_attribute::PgAttribute, pg_class::PgClass, +}; +use phono_models::{ accessors::{Accessor, Actor, portal::PortalAccessor}, datum::Datum, field::Field, }; -use interim_pgtypes::{ - escape_identifier, pg_acl::PgPrivilegeType, pg_attribute::PgAttribute, pg_class::PgClass, -}; use serde::{Deserialize, Serialize}; use sqlx::{ postgres::{PgRow, types::Oid}, diff --git a/interim-server/src/routes/relations_single/insert_handler.rs b/phono-server/src/routes/relations_single/insert_handler.rs similarity index 97% rename from interim-server/src/routes/relations_single/insert_handler.rs rename to phono-server/src/routes/relations_single/insert_handler.rs index f8deedd..7529f11 100644 --- a/interim-server/src/routes/relations_single/insert_handler.rs +++ b/phono-server/src/routes/relations_single/insert_handler.rs @@ -8,11 +8,11 @@ use axum::{ // [`axum_extra`]'s form extractor is required to support repeated keys: // https://docs.rs/axum-extra/0.10.1/axum_extra/extract/struct.Form.html#differences-from-axumextractform use axum_extra::extract::Form; -use interim_models::{ +use phono_backends::{escape_identifier, pg_acl::PgPrivilegeType, pg_class::PgClass}; +use phono_models::{ accessors::{Accessor as _, Actor, portal::PortalAccessor}, datum::Datum, }; -use interim_pgtypes::{escape_identifier, pg_acl::PgPrivilegeType, pg_class::PgClass}; use serde::Deserialize; use sqlx::{postgres::types::Oid, query}; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/mod.rs b/phono-server/src/routes/relations_single/mod.rs similarity index 100% rename from interim-server/src/routes/relations_single/mod.rs rename to phono-server/src/routes/relations_single/mod.rs diff --git a/interim-server/src/routes/relations_single/portal_handler.rs b/phono-server/src/routes/relations_single/portal_handler.rs similarity index 97% rename from interim-server/src/routes/relations_single/portal_handler.rs rename to phono-server/src/routes/relations_single/portal_handler.rs index 431d4f5..d420ec8 100644 --- a/interim-server/src/routes/relations_single/portal_handler.rs +++ b/phono-server/src/routes/relations_single/portal_handler.rs @@ -3,12 +3,12 @@ use axum::{ extract::{Path, State}, response::{Html, IntoResponse as _, Response}, }; -use interim_models::{ +use phono_backends::{pg_acl::PgPrivilegeType, pg_attribute::PgAttribute}; +use phono_models::{ accessors::{Accessor, Actor, portal::PortalAccessor}, expression::PgExpressionAny, workspace::Workspace, }; -use interim_pgtypes::{pg_acl::PgPrivilegeType, pg_attribute::PgAttribute}; use serde::{Deserialize, Serialize}; use sqlx::postgres::types::Oid; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/portal_settings_handler.rs b/phono-server/src/routes/relations_single/portal_settings_handler.rs similarity index 99% rename from interim-server/src/routes/relations_single/portal_settings_handler.rs rename to phono-server/src/routes/relations_single/portal_settings_handler.rs index 07ba88d..e08f3db 100644 --- a/interim-server/src/routes/relations_single/portal_settings_handler.rs +++ b/phono-server/src/routes/relations_single/portal_settings_handler.rs @@ -4,7 +4,7 @@ use axum::{ extract::{Path, State}, response::{Html, IntoResponse}, }; -use interim_models::{ +use phono_models::{ accessors::{Accessor, Actor, portal::PortalAccessor}, portal::Portal, workspace::Workspace, diff --git a/interim-server/src/routes/relations_single/remove_field_handler.rs b/phono-server/src/routes/relations_single/remove_field_handler.rs similarity index 97% rename from interim-server/src/routes/relations_single/remove_field_handler.rs rename to phono-server/src/routes/relations_single/remove_field_handler.rs index 1317e1a..6cfa639 100644 --- a/interim-server/src/routes/relations_single/remove_field_handler.rs +++ b/phono-server/src/routes/relations_single/remove_field_handler.rs @@ -3,11 +3,11 @@ use axum::{ extract::{Path, State}, response::Response, }; -use interim_models::{ +use phono_backends::{escape_identifier, pg_class::PgClass}; +use phono_models::{ accessors::{Accessor, Actor, portal::PortalAccessor}, field::Field, }; -use interim_pgtypes::{escape_identifier, pg_class::PgClass}; use serde::Deserialize; use sqlx::{postgres::types::Oid, query}; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/set_filter_handler.rs b/phono-server/src/routes/relations_single/set_filter_handler.rs similarity index 99% rename from interim-server/src/routes/relations_single/set_filter_handler.rs rename to phono-server/src/routes/relations_single/set_filter_handler.rs index 743f827..e14d9c9 100644 --- a/interim-server/src/routes/relations_single/set_filter_handler.rs +++ b/phono-server/src/routes/relations_single/set_filter_handler.rs @@ -6,7 +6,7 @@ use axum::{ // [`axum_extra`]'s form extractor is preferred: // https://docs.rs/axum-extra/0.10.1/axum_extra/extract/struct.Form.html#differences-from-axumextractform use axum_extra::extract::Form; -use interim_models::{ +use phono_models::{ accessors::{Accessor, Actor, portal::PortalAccessor}, expression::PgExpressionAny, portal::Portal, diff --git a/interim-server/src/routes/relations_single/settings_handler.rs b/phono-server/src/routes/relations_single/settings_handler.rs similarity index 96% rename from interim-server/src/routes/relations_single/settings_handler.rs rename to phono-server/src/routes/relations_single/settings_handler.rs index beaa67b..0c21414 100644 --- a/interim-server/src/routes/relations_single/settings_handler.rs +++ b/phono-server/src/routes/relations_single/settings_handler.rs @@ -4,8 +4,8 @@ use axum::{ extract::{Path, State}, response::{Html, IntoResponse}, }; -use interim_models::workspace::Workspace; -use interim_pgtypes::pg_class::PgClass; +use phono_backends::pg_class::PgClass; +use phono_models::workspace::Workspace; use serde::Deserialize; use sqlx::postgres::types::Oid; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/settings_invite_handler.rs b/phono-server/src/routes/relations_single/settings_invite_handler.rs similarity index 95% rename from interim-server/src/routes/relations_single/settings_invite_handler.rs rename to phono-server/src/routes/relations_single/settings_invite_handler.rs index 71e4f54..f4a4ff5 100644 --- a/interim-server/src/routes/relations_single/settings_invite_handler.rs +++ b/phono-server/src/routes/relations_single/settings_invite_handler.rs @@ -2,8 +2,8 @@ use axum::{debug_handler, extract::Path, response::Response}; // [`axum_extra`]'s form extractor is preferred: // https://docs.rs/axum-extra/0.10.1/axum_extra/extract/struct.Form.html#differences-from-axumextractform use axum_extra::extract::Form; -use interim_models::rel_invitation::RelInvitation; -use interim_pgtypes::pg_acl::PgPrivilegeType; +use phono_backends::pg_acl::PgPrivilegeType; +use phono_models::rel_invitation::RelInvitation; use serde::Deserialize; use sqlx::postgres::types::Oid; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/update_field_handler.rs b/phono-server/src/routes/relations_single/update_field_handler.rs similarity index 96% rename from interim-server/src/routes/relations_single/update_field_handler.rs rename to phono-server/src/routes/relations_single/update_field_handler.rs index d8ad364..1c836b7 100644 --- a/interim-server/src/routes/relations_single/update_field_handler.rs +++ b/phono-server/src/routes/relations_single/update_field_handler.rs @@ -1,5 +1,5 @@ use axum::{debug_handler, extract::Path, response::Response}; -use interim_models::{field::Field, presentation::Presentation}; +use phono_models::{field::Field, presentation::Presentation}; use serde::Deserialize; use sqlx::postgres::types::Oid; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/update_field_ordinality_handler.rs b/phono-server/src/routes/relations_single/update_field_ordinality_handler.rs similarity index 98% rename from interim-server/src/routes/relations_single/update_field_ordinality_handler.rs rename to phono-server/src/routes/relations_single/update_field_ordinality_handler.rs index 8527a18..8bdcde3 100644 --- a/interim-server/src/routes/relations_single/update_field_ordinality_handler.rs +++ b/phono-server/src/routes/relations_single/update_field_ordinality_handler.rs @@ -1,5 +1,5 @@ use axum::{debug_handler, extract::Path, response::Response}; -use interim_models::field::Field; +use phono_models::field::Field; use serde::Deserialize; use sqlx::postgres::types::Oid; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/update_form_transitions_handler.rs b/phono-server/src/routes/relations_single/update_form_transitions_handler.rs similarity index 97% rename from interim-server/src/routes/relations_single/update_form_transitions_handler.rs rename to phono-server/src/routes/relations_single/update_form_transitions_handler.rs index 735a4e8..581a691 100644 --- a/interim-server/src/routes/relations_single/update_form_transitions_handler.rs +++ b/phono-server/src/routes/relations_single/update_form_transitions_handler.rs @@ -4,7 +4,7 @@ use axum::{debug_handler, extract::Path, response::Response}; // [`axum_extra`]'s form extractor is required to support repeated keys: // https://docs.rs/axum-extra/0.10.1/axum_extra/extract/struct.Form.html#differences-from-axumextractform use axum_extra::extract::Form; -use interim_models::form_transition::{self, FormTransition}; +use phono_models::form_transition::{self, FormTransition}; use serde::Deserialize; use sqlx::postgres::types::Oid; use uuid::Uuid; diff --git a/interim-server/src/routes/relations_single/update_portal_name_handler.rs b/phono-server/src/routes/relations_single/update_portal_name_handler.rs similarity index 98% rename from interim-server/src/routes/relations_single/update_portal_name_handler.rs rename to phono-server/src/routes/relations_single/update_portal_name_handler.rs index 6b0a42d..1194801 100644 --- a/interim-server/src/routes/relations_single/update_portal_name_handler.rs +++ b/phono-server/src/routes/relations_single/update_portal_name_handler.rs @@ -3,7 +3,7 @@ use axum::{ extract::{Path, State}, response::Response, }; -use interim_models::{ +use phono_models::{ accessors::{Accessor, Actor, portal::PortalAccessor}, portal::{Portal, RE_PORTAL_NAME}, }; diff --git a/interim-server/src/routes/relations_single/update_prompts_handler.rs b/phono-server/src/routes/relations_single/update_prompts_handler.rs similarity index 99% rename from interim-server/src/routes/relations_single/update_prompts_handler.rs rename to phono-server/src/routes/relations_single/update_prompts_handler.rs index 9e86282..3ee9c8b 100644 --- a/interim-server/src/routes/relations_single/update_prompts_handler.rs +++ b/phono-server/src/routes/relations_single/update_prompts_handler.rs @@ -8,7 +8,7 @@ use axum::{ // [`axum_extra`]'s form extractor is required to support repeated keys: // https://docs.rs/axum-extra/0.10.1/axum_extra/extract/struct.Form.html#differences-from-axumextractform use axum_extra::extract::Form; -use interim_models::{ +use phono_models::{ accessors::{Accessor, Actor, portal::PortalAccessor}, field::Field, field_form_prompt::FieldFormPrompt, diff --git a/interim-server/src/routes/relations_single/update_rel_name_handler.rs b/phono-server/src/routes/relations_single/update_rel_name_handler.rs similarity index 94% rename from interim-server/src/routes/relations_single/update_rel_name_handler.rs rename to phono-server/src/routes/relations_single/update_rel_name_handler.rs index 180ed57..a1989ec 100644 --- a/interim-server/src/routes/relations_single/update_rel_name_handler.rs +++ b/phono-server/src/routes/relations_single/update_rel_name_handler.rs @@ -5,7 +5,7 @@ use axum::{ extract::{Path, State}, response::Response, }; -use interim_pgtypes::{escape_identifier, pg_class::PgClass}; +use phono_backends::{escape_identifier, pg_class::PgClass}; use regex::Regex; use serde::Deserialize; use sqlx::{postgres::types::Oid, query}; @@ -64,7 +64,7 @@ pub(super) async fn post( .await?; // FIXME ensure that user has ownership of the table. - // TODO: move this to a function in `interim-pgtypes`. + // TODO: move this to a function in `phono_backends`. query(&format!( "alter table {ident} rename to {name_esc}", ident = rel.get_identifier(), diff --git a/interim-server/src/routes/relations_single/update_values_handler.rs b/phono-server/src/routes/relations_single/update_values_handler.rs similarity index 98% rename from interim-server/src/routes/relations_single/update_values_handler.rs rename to phono-server/src/routes/relations_single/update_values_handler.rs index 8dd6bf6..1d5ab86 100644 --- a/interim-server/src/routes/relations_single/update_values_handler.rs +++ b/phono-server/src/routes/relations_single/update_values_handler.rs @@ -5,13 +5,13 @@ use axum::{ extract::{Path, State}, response::{IntoResponse as _, Response}, }; -use interim_models::{ +use phono_backends::{ + escape_identifier, pg_acl::PgPrivilegeType, pg_attribute::PgAttribute, pg_class::PgClass, +}; +use phono_models::{ accessors::{Accessor, Actor, portal::PortalAccessor}, datum::Datum, }; -use interim_pgtypes::{ - escape_identifier, pg_acl::PgPrivilegeType, pg_attribute::PgAttribute, pg_class::PgClass, -}; use serde::Deserialize; use serde_json::json; use sqlx::{Acquire as _, postgres::types::Oid, query}; diff --git a/interim-server/src/routes/workspaces_multi/add_handlers.rs b/phono-server/src/routes/workspaces_multi/add_handlers.rs similarity index 96% rename from interim-server/src/routes/workspaces_multi/add_handlers.rs rename to phono-server/src/routes/workspaces_multi/add_handlers.rs index dcc02e3..1b0a4a3 100644 --- a/interim-server/src/routes/workspaces_multi/add_handlers.rs +++ b/phono-server/src/routes/workspaces_multi/add_handlers.rs @@ -1,9 +1,9 @@ use axum::{extract::State, response::IntoResponse}; -use interim_models::{ +use phono_backends::{client::WorkspaceClient, escape_identifier, rolnames::ROLE_PREFIX_USER}; +use phono_models::{ client::AppDbClient, cluster::Cluster, user::User, workspace::Workspace, workspace_user_perm::WorkspaceMembership, }; -use interim_pgtypes::{client::WorkspaceClient, escape_identifier, rolnames::ROLE_PREFIX_USER}; use sqlx::{Connection as _, PgConnection, query}; use crate::{ @@ -33,7 +33,7 @@ pub(super) async fn post( // WARNING: `db_name` is injected directly into the `create database` SQL // command. It **must not** contain spaces or any other unsafe characters. // Additionally, it **must** be URL safe without percent encoding. - let db_name = interim_namegen::default_generator() + let db_name = phono_namegen::default_generator() .with_separator('_') .generate_name(NAME_LEN_WORDS); { diff --git a/interim-server/src/routes/workspaces_multi/list_handlers.rs b/phono-server/src/routes/workspaces_multi/list_handlers.rs similarity index 93% rename from interim-server/src/routes/workspaces_multi/list_handlers.rs rename to phono-server/src/routes/workspaces_multi/list_handlers.rs index 6e73f18..2dde87e 100644 --- a/interim-server/src/routes/workspaces_multi/list_handlers.rs +++ b/phono-server/src/routes/workspaces_multi/list_handlers.rs @@ -3,7 +3,7 @@ use axum::{ extract::State, response::{Html, IntoResponse}, }; -use interim_models::workspace_user_perm::WorkspaceMembership; +use phono_models::workspace_user_perm::WorkspaceMembership; use crate::{ app::AppDbConn, diff --git a/interim-server/src/routes/workspaces_multi/mod.rs b/phono-server/src/routes/workspaces_multi/mod.rs similarity index 100% rename from interim-server/src/routes/workspaces_multi/mod.rs rename to phono-server/src/routes/workspaces_multi/mod.rs diff --git a/interim-server/src/routes/workspaces_single/add_service_credential_handler.rs b/phono-server/src/routes/workspaces_single/add_service_credential_handler.rs similarity index 97% rename from interim-server/src/routes/workspaces_single/add_service_credential_handler.rs rename to phono-server/src/routes/workspaces_single/add_service_credential_handler.rs index 3653f06..1354b42 100644 --- a/interim-server/src/routes/workspaces_single/add_service_credential_handler.rs +++ b/phono-server/src/routes/workspaces_single/add_service_credential_handler.rs @@ -3,11 +3,11 @@ use axum::{ extract::{Path, State}, response::IntoResponse, }; -use interim_models::{service_cred::ServiceCred, workspace::Workspace}; -use interim_pgtypes::{ +use phono_backends::{ escape_identifier, rolnames::{ROLE_PREFIX_SERVICE_CRED, SERVICE_CRED_CONN_LIMIT, SERVICE_CRED_SUFFIX_LEN}, }; +use phono_models::{service_cred::ServiceCred, workspace::Workspace}; use rand::distributions::{Alphanumeric, DistString}; use redact::Secret; use serde::Deserialize; diff --git a/interim-server/src/routes/workspaces_single/add_table_handler.rs b/phono-server/src/routes/workspaces_single/add_table_handler.rs similarity index 97% rename from interim-server/src/routes/workspaces_single/add_table_handler.rs rename to phono-server/src/routes/workspaces_single/add_table_handler.rs index 65ef54e..7f9191d 100644 --- a/interim-server/src/routes/workspaces_single/add_table_handler.rs +++ b/phono-server/src/routes/workspaces_single/add_table_handler.rs @@ -2,7 +2,7 @@ use axum::{ extract::{Path, State}, response::IntoResponse, }; -use interim_pgtypes::{ +use phono_backends::{ escape_identifier, rolnames::{ ROLE_PREFIX_TABLE_OWNER, ROLE_PREFIX_TABLE_READER, ROLE_PREFIX_TABLE_WRITER, @@ -42,7 +42,7 @@ pub(super) async fn post( // FIXME: CSRF, Check workspace authorization. const NAME_LEN_WORDS: usize = 3; - let table_name = interim_namegen::default_generator() + let table_name = phono_namegen::default_generator() .with_separator('_') .generate_name(NAME_LEN_WORDS); diff --git a/interim-server/src/routes/workspaces_single/mod.rs b/phono-server/src/routes/workspaces_single/mod.rs similarity index 100% rename from interim-server/src/routes/workspaces_single/mod.rs rename to phono-server/src/routes/workspaces_single/mod.rs diff --git a/interim-server/src/routes/workspaces_single/nav_handler.rs b/phono-server/src/routes/workspaces_single/nav_handler.rs similarity index 97% rename from interim-server/src/routes/workspaces_single/nav_handler.rs rename to phono-server/src/routes/workspaces_single/nav_handler.rs index 52cce86..dfb94c9 100644 --- a/interim-server/src/routes/workspaces_single/nav_handler.rs +++ b/phono-server/src/routes/workspaces_single/nav_handler.rs @@ -4,7 +4,7 @@ use axum::{ extract::{Path, State}, response::{Html, IntoResponse}, }; -use interim_models::workspace::Workspace; +use phono_models::workspace::Workspace; use serde::Deserialize; use uuid::Uuid; diff --git a/interim-server/src/routes/workspaces_single/service_credentials_handler.rs b/phono-server/src/routes/workspaces_single/service_credentials_handler.rs similarity index 97% rename from interim-server/src/routes/workspaces_single/service_credentials_handler.rs rename to phono-server/src/routes/workspaces_single/service_credentials_handler.rs index b320a4a..455e4fc 100644 --- a/interim-server/src/routes/workspaces_single/service_credentials_handler.rs +++ b/phono-server/src/routes/workspaces_single/service_credentials_handler.rs @@ -6,8 +6,8 @@ use axum::{ response::{Html, IntoResponse}, }; use futures::{lock::Mutex, prelude::*, stream}; -use interim_models::{service_cred::ServiceCred, workspace::Workspace}; -use interim_pgtypes::{pg_class::PgClass, pg_role::RoleTree}; +use phono_backends::{pg_class::PgClass, pg_role::RoleTree}; +use phono_models::{service_cred::ServiceCred, workspace::Workspace}; use redact::Secret; use serde::Deserialize; use url::Url; diff --git a/interim-server/src/routes/workspaces_single/settings_handler.rs b/phono-server/src/routes/workspaces_single/settings_handler.rs similarity index 97% rename from interim-server/src/routes/workspaces_single/settings_handler.rs rename to phono-server/src/routes/workspaces_single/settings_handler.rs index 02f6c60..1470aec 100644 --- a/interim-server/src/routes/workspaces_single/settings_handler.rs +++ b/phono-server/src/routes/workspaces_single/settings_handler.rs @@ -4,7 +4,7 @@ use axum::{ extract::{Path, State}, response::{Html, IntoResponse}, }; -use interim_models::workspace::Workspace; +use phono_models::workspace::Workspace; use serde::Deserialize; use uuid::Uuid; diff --git a/interim-server/src/routes/workspaces_single/update_name_handler.rs b/phono-server/src/routes/workspaces_single/update_name_handler.rs similarity index 100% rename from interim-server/src/routes/workspaces_single/update_name_handler.rs rename to phono-server/src/routes/workspaces_single/update_name_handler.rs diff --git a/interim-server/src/routes/workspaces_single/update_service_cred_permissions_handler.rs b/phono-server/src/routes/workspaces_single/update_service_cred_permissions_handler.rs similarity index 97% rename from interim-server/src/routes/workspaces_single/update_service_cred_permissions_handler.rs rename to phono-server/src/routes/workspaces_single/update_service_cred_permissions_handler.rs index af3aaf8..dabdd8b 100644 --- a/interim-server/src/routes/workspaces_single/update_service_cred_permissions_handler.rs +++ b/phono-server/src/routes/workspaces_single/update_service_cred_permissions_handler.rs @@ -7,8 +7,8 @@ use axum::{ }; use axum_extra::extract::Form; use futures::{lock::Mutex, prelude::*, stream}; -use interim_models::service_cred::ServiceCred; -use interim_pgtypes::{escape_identifier, pg_class::PgClass}; +use phono_backends::{escape_identifier, pg_class::PgClass}; +use phono_models::service_cred::ServiceCred; use serde::Deserialize; use sqlx::query; use uuid::Uuid; diff --git a/interim-server/src/sessions.rs b/phono-server/src/sessions.rs similarity index 100% rename from interim-server/src/sessions.rs rename to phono-server/src/sessions.rs diff --git a/interim-server/src/settings.rs b/phono-server/src/settings.rs similarity index 97% rename from interim-server/src/settings.rs rename to phono-server/src/settings.rs index ee2a295..da578be 100644 --- a/interim-server/src/settings.rs +++ b/phono-server/src/settings.rs @@ -22,7 +22,7 @@ pub(crate) struct Settings { #[serde(default)] pub(crate) dev: u8, - /// postgresql:// URL for Interim's application database. + /// postgresql:// URL for Phonograph's application database. pub(crate) database_url: Url, #[serde(default = "default_app_db_max_connections")] diff --git a/interim-server/src/user.rs b/phono-server/src/user.rs similarity index 99% rename from interim-server/src/user.rs rename to phono-server/src/user.rs index f8a6598..37745e7 100644 --- a/interim-server/src/user.rs +++ b/phono-server/src/user.rs @@ -11,7 +11,7 @@ use axum_extra::extract::{ CookieJar, cookie::{Cookie, SameSite}, }; -use interim_models::user::User; +use phono_models::user::User; use sqlx::query_as; use uuid::Uuid; diff --git a/interim-server/src/worker.rs b/phono-server/src/worker.rs similarity index 100% rename from interim-server/src/worker.rs rename to phono-server/src/worker.rs diff --git a/interim-server/src/workspace_nav.rs b/phono-server/src/workspace_nav.rs similarity index 95% rename from interim-server/src/workspace_nav.rs rename to phono-server/src/workspace_nav.rs index d949646..e432b21 100644 --- a/interim-server/src/workspace_nav.rs +++ b/phono-server/src/workspace_nav.rs @@ -1,8 +1,8 @@ use anyhow::Result; use askama::Template; use derive_builder::Builder; -use interim_models::{client::AppDbClient, workspace::Workspace}; -use interim_pgtypes::client::WorkspaceClient; +use phono_backends::client::WorkspaceClient; +use phono_models::{client::AppDbClient, workspace::Workspace}; use sqlx::postgres::types::Oid; use uuid::Uuid; diff --git a/interim-server/src/workspace_pooler.rs b/phono-server/src/workspace_pooler.rs similarity index 91% rename from interim-server/src/workspace_pooler.rs rename to phono-server/src/workspace_pooler.rs index 8d84df7..65aebb3 100644 --- a/interim-server/src/workspace_pooler.rs +++ b/phono-server/src/workspace_pooler.rs @@ -3,8 +3,8 @@ use std::{collections::HashMap, sync::Arc, time::Duration}; use anyhow::Result; use axum::extract::FromRef; use derive_builder::Builder; -use interim_models::{client::AppDbClient, workspace::Workspace}; -use interim_pgtypes::{client::WorkspaceClient, rolnames::ROLE_PREFIX_USER}; +use phono_backends::{client::WorkspaceClient, rolnames::ROLE_PREFIX_USER}; +use phono_models::{client::AppDbClient, workspace::Workspace}; use sqlx::{Executor, PgPool, postgres::PgPoolOptions, raw_sql}; use tokio::sync::{OnceCell, RwLock}; use uuid::Uuid; @@ -91,10 +91,10 @@ discard sequences; /// should **NEVER** execute untrusted SQL. pub async fn acquire_for( &mut self, - base_id: Uuid, + workspace_id: Uuid, set_role: RoleAssignment, ) -> Result { - let pool = self.get_pool_for(base_id).await?; + let pool = self.get_pool_for(workspace_id).await?; let mut client = WorkspaceClient::from_pool_conn(pool.acquire().await?); match set_role { RoleAssignment::User(uid) => { @@ -107,15 +107,15 @@ discard sequences; Ok(client) } - pub async fn close_for(&mut self, base_id: Uuid) -> Result<()> { + pub async fn close_for(&mut self, workspace_id: Uuid) -> Result<()> { let pools = self.pools.read().await; - if let Some(cell) = pools.get(&base_id) + if let Some(cell) = pools.get(&workspace_id) && let Some(pool) = cell.get() { let pool = pool.clone(); drop(pools); // Release read lock let mut pools = self.pools.write().await; - pools.remove(&base_id); + pools.remove(&workspace_id); drop(pools); // Release write lock pool.close().await; } diff --git a/interim-server/src/workspace_utils.rs b/phono-server/src/workspace_utils.rs similarity index 90% rename from interim-server/src/workspace_utils.rs rename to phono-server/src/workspace_utils.rs index 7ec0057..6653e67 100644 --- a/interim-server/src/workspace_utils.rs +++ b/phono-server/src/workspace_utils.rs @@ -1,12 +1,12 @@ //! This module is named with the `_utils` suffix to help differentiate it from -//! the [`interim_models::workspace`] module, which is also used extensively +//! the [`phono_models::workspace`] module, which is also used extensively //! across the server code. -use interim_models::{client::AppDbClient, portal::Portal}; -use interim_pgtypes::{ +use phono_backends::{ client::WorkspaceClient, pg_class::{PgClass, PgRelKind}, }; +use phono_models::{client::AppDbClient, portal::Portal}; use uuid::Uuid; pub const PHONO_TABLE_NAMESPACE: &str = "phono"; diff --git a/interim-server/templates/base.html b/phono-server/templates/base.html similarity index 91% rename from interim-server/templates/base.html rename to phono-server/templates/base.html index f939620..be73b22 100644 --- a/interim-server/templates/base.html +++ b/phono-server/templates/base.html @@ -1,7 +1,7 @@ - {% block title %}Interim{% endblock %} + {% block title %}Phonograph{% endblock %} {% include "meta_tags.html" %} diff --git a/interim-server/templates/forms/form_index.html b/phono-server/templates/forms/form_index.html similarity index 100% rename from interim-server/templates/forms/form_index.html rename to phono-server/templates/forms/form_index.html diff --git a/interim-server/templates/list_bases.html b/phono-server/templates/list_bases.html similarity index 100% rename from interim-server/templates/list_bases.html rename to phono-server/templates/list_bases.html diff --git a/interim-server/templates/meta_tags.html b/phono-server/templates/meta_tags.html similarity index 100% rename from interim-server/templates/meta_tags.html rename to phono-server/templates/meta_tags.html diff --git a/interim-server/templates/portal_table.html b/phono-server/templates/portal_table.html similarity index 100% rename from interim-server/templates/portal_table.html rename to phono-server/templates/portal_table.html diff --git a/interim-server/templates/rbac.html b/phono-server/templates/rbac.html similarity index 100% rename from interim-server/templates/rbac.html rename to phono-server/templates/rbac.html diff --git a/interim-server/templates/rbac_invite.html b/phono-server/templates/rbac_invite.html similarity index 100% rename from interim-server/templates/rbac_invite.html rename to phono-server/templates/rbac_invite.html diff --git a/interim-server/templates/rel_rbac.html b/phono-server/templates/rel_rbac.html similarity index 100% rename from interim-server/templates/rel_rbac.html rename to phono-server/templates/rel_rbac.html diff --git a/interim-server/templates/relations_single/form_index.html b/phono-server/templates/relations_single/form_index.html similarity index 100% rename from interim-server/templates/relations_single/form_index.html rename to phono-server/templates/relations_single/form_index.html diff --git a/interim-server/templates/relations_single/portal_settings.html b/phono-server/templates/relations_single/portal_settings.html similarity index 100% rename from interim-server/templates/relations_single/portal_settings.html rename to phono-server/templates/relations_single/portal_settings.html diff --git a/interim-server/templates/relations_single/settings.html b/phono-server/templates/relations_single/settings.html similarity index 100% rename from interim-server/templates/relations_single/settings.html rename to phono-server/templates/relations_single/settings.html diff --git a/interim-server/templates/role_display.html b/phono-server/templates/role_display.html similarity index 100% rename from interim-server/templates/role_display.html rename to phono-server/templates/role_display.html diff --git a/interim-server/templates/toolbar_user.html b/phono-server/templates/toolbar_user.html similarity index 100% rename from interim-server/templates/toolbar_user.html rename to phono-server/templates/toolbar_user.html diff --git a/interim-server/templates/workspace_nav.html b/phono-server/templates/workspace_nav.html similarity index 100% rename from interim-server/templates/workspace_nav.html rename to phono-server/templates/workspace_nav.html diff --git a/interim-server/templates/workspaces_multi/list.html b/phono-server/templates/workspaces_multi/list.html similarity index 100% rename from interim-server/templates/workspaces_multi/list.html rename to phono-server/templates/workspaces_multi/list.html diff --git a/interim-server/templates/workspaces_single/nav.html b/phono-server/templates/workspaces_single/nav.html similarity index 100% rename from interim-server/templates/workspaces_single/nav.html rename to phono-server/templates/workspaces_single/nav.html diff --git a/interim-server/templates/workspaces_single/service_credentials.html b/phono-server/templates/workspaces_single/service_credentials.html similarity index 100% rename from interim-server/templates/workspaces_single/service_credentials.html rename to phono-server/templates/workspaces_single/service_credentials.html diff --git a/interim-server/templates/workspaces_single/settings.html b/phono-server/templates/workspaces_single/settings.html similarity index 100% rename from interim-server/templates/workspaces_single/settings.html rename to phono-server/templates/workspaces_single/settings.html