Skip to content

Merge develop into staging for edvise-api release#231

Merged
vishpillai123 merged 21 commits into
stagingfrom
develop
May 7, 2026
Merged

Merge develop into staging for edvise-api release#231
vishpillai123 merged 21 commits into
stagingfrom
develop

Conversation

@vishpillai123
Copy link
Copy Markdown
Collaborator

@vishpillai123 vishpillai123 commented May 7, 2026

mrmaloof and others added 21 commits March 11, 2026 09:04
Stop passing edvise converter_func_cohort when pdp_cohort_converter_func is omitted so PDP cohort rows are validated as read.

- Callers may still pass an explicit cohort converter.

- Update PDP read-path test to expect converter_func=None.

- Refresh docstrings (pipeline vs API, Args/Returns/Raises) in validation and validation_pdp_edvise.

Made-with: Cursor
…y schemas UNKNOWN

- Require exactly one of PDP, Edvise, or Legacy on POST /institutions
- Remove custom schema resolution and Databricks extension generation for uploads
- Fix PATCH /institutions to persist allowed_schemas to inst.schemas column
- LEGACY_SCHEMA_GROUP stores UNKNOWN only; drop validation_extension module
- Update tests and default fixtures for typeless/custom removal

Made-with: Cursor
- POST/PATCH: require exactly one school type (pdp, edvise, or legacy)
- PATCH: recompute schemas only when the type triple changes; merge optional allowed_schemas on change
- PATCH: honor is_edvise/is_legacy for auto-assigned ids (POST parity)
- Docs/tests: validation namespaces; disambiguate custom naming in code and tests

Made-with: Cursor
Restore original docstrings and test names where "custom" referred to\nconverters, schema config, or JSON keys—not custom institutions.\n\nKeep gcsutil validate_file institution_id line aligned with pdp/edvise/legacy\nonly (no institution-UUID-for-custom upload path).

Made-with: Cursor
…ol type

When (name, state) matches an existing InstTable row, validate stored\npdp_id/edvise_id/legacy_id the same as new creates: at most one non-null\nand exactly one required. Return 400 with guidance instead of 200 for\ntypeless or invalid rows. Add regression tests.

Made-with: Cursor
…s-only

- Reject is_pdp without pdp_id on POST\n- Reject duplicate (name, state) when stored row has conflicting ids\n- Reject PATCH is_edvise on PDP row without clearing pdp_id\n- Reject PATCH with both is_edvise and is_legacy\n- allowed_schemas-only PATCH replaces schemas when type unchanged

Made-with: Cursor
…idation

fix: default cohort converter to none
- Add shared mutual-exclusion detail constant for POST/PATCH paths
- Extract duplicate-post row validation and PATCH merge/validate/persist helpers
- Keep update_inst within single-responsibility helpers; reuse row response mapper

Made-with: Cursor
- Remove unused HTTPException import from databricks.py (F401)
- Cast ORM row in _require_single_institution_row_by_uuid for InstTable (no-any-return)

Made-with: Cursor
feat: remove custom institutions, enforce PDP / Edvise / Legacy in API and uploads
feat: Optional local institution seed from `config/local_inst_data.json`
chore: bumping pyproject and uv.lock for edvise 0.2.1
@vishpillai123 vishpillai123 merged commit 00288f2 into staging May 7, 2026
10 checks passed
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.

4 participants