Skip to content

Develop to Stage - #155

Merged
jeffmaki merged 13 commits into
stagingfrom
develop
Oct 28, 2026
Merged

jeffmaki merged 13 commits into
stagingfrom
develop

Conversation

@jeffmaki

@jeffmaki jeffmaki commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Adds GET /workspaces/{id}/fixmes, which the frontend's review queue calls, and limits workspace creation by TDEI role. Merge before the frontend's Develop to Stage PR.

Before deploying: staging must set TDEI_API_BACKEND_URL=https://api-stage.tdei.us/api/v1/. It is now required and has no default, so the app won't start without it. It must point at the same TDEI environment as TDEI_BACKEND_URL. (Already set on the Azure hosts.)

Workspace creation is now role-gated (#147):

  • Who can create: POC can create any workspace type; a data generator only its own type. Plain members (and tdei-admin on its own) get a 403.
  • Creating from a TDEI dataset: the dataset's type must match the workspace type. An unreleased dataset can only be opened in its own project group.
  • New POST /workspaces/check-create: the frontend calls this pre-check (workspaces-frontend#174) and shows the reason when creation isn't allowed.

Includes:

🤖 Generated with Claude Code

susrisha and others added 11 commits October 16, 2026 12:26
Pushes the workspaces-backend to the app service on push
added other step for building the environment
Lists the workspace's current elements with a non-empty fixme tag (the key in
any case, e.g. FIXME), newest first, each with its note, version, changeset,
timestamp, tags and a location: a node's own, or the middle of a way's nodes
(none for a relation). The OSM API can't search by tag, so, like the bbox and
adiff endpoints, this reads the workspace's tables directly. Anyone who can
open the workspace can call it.

Checked against a real Postgres with the OSM current_* tables: nodes, ways
and relations are found, empty notes and deleted elements aren't.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d690be15-5355-48ea-b660-8f526fe611b2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

iamrajeshk and others added 2 commits October 28, 2026 14:26
* Implement workspace creation permissions based on TDEI roles and update tests

* Implement TDEI dataset fetching and workspace creation validation based on dataset status and project group

* Implement workspace creation permission checks and related API endpoint

* Rename TDEI client variable for consistency in security and test files

* Add TDEI API backend URL and enhance dataset handling in workspace creation

- Introduced TDEI_API_BACKEND_URL in .env.example and docker-compose.local.yml for environment configuration.
- Added same_uuid function to compare UUIDs in a case-insensitive manner.
- Enhanced TdeiDataset class to include data_type and added matches_type method for workspace type validation.
- Updated fetch_tdei_dataset to handle dataset type and improved error handling for TDEI API responses.
- Modified WorkspaceRepository to enforce dataset type restrictions during workspace creation.
- Expanded integration and unit tests to cover new dataset type validations and TDEI API error scenarios.

* Document the workspace creation rule in CLAUDE.md

Who may create a workspace (POC, or the data generator of the matching
type), the extra checks when creating from a TDEI dataset, and that
tdei-admin gets no extra rights.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Normalize TDEI project group role names

Trim and lowercase the roles TDEI returns so "POC" or " poc " grant the
same rights as "poc", as the frontend's hasCreationRole already does.
Roles the backend doesn't model (e.g. tdei-admin) are dropped; they
granted nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Require TDEI_API_BACKEND_URL with no default

A dev default would quietly send prod tokens to api-dev.tdei.us when a
deployment doesn't set it. Fail at startup instead, including for the
empty string docker-compose passes when the variable is unset.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Jeff Maki <hello@jeffmaki.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@jeffmaki
jeffmaki merged commit e73f17b into staging Oct 28, 2026
2 checks passed
This was referenced Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants