Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove built-in web client #444

Open
wants to merge 92 commits into
base: master
Choose a base branch
from
Open

Remove built-in web client #444

wants to merge 92 commits into from

Conversation

wsanchez
Copy link
Member

@wsanchez wsanchez commented Jul 8, 2021

Remove built-in web client, round out support for external web clients, such as ranger-ims-web.

* master:
  Add Authorization header
  docsitrng
  Make DMS cache interval configurable
  Bump charset-normalizer from 2.1.1 to 3.0.0

# Conflicts:
#	src/ims/config/_config.py
#	src/ims/directory/clubhouse_db/_dms.py
* master:
  lint
  Change root resource to reply with a string
  Add InvalidCredentialsError
  Try 2 times before raising after directory fails to load

# Conflicts:
#	src/ims/application/_main.py
* master:
  Add directory attribute to AuthProvider

# Conflicts:
#	src/ims/auth/_provider.py
* master:
  Vendor DataTables because TLS to it's web site isn't working

# Conflicts:
#	src/ims/application/_external.py
* master:
  CI says unused
  Remove remaining user of attr namespace
  attrib() ➜ field()
  Fix tests that errored out due to stricter rules on setting instance attributes.
  lint
  -@attrs(frozen=False, auto_attribs=True, kw_only=True) +@Frozen
  -    @attrs(frozen=False, auto_attribs=True, kw_only=True, eq=False) +    @mutable(kw_only=True, eq=False)
  -@attrs(auto_attribs=True, kw_only=True) +@mutable(kw_only=True)
  -@attrs(frozen=False, auto_attribs=True, auto_exc=True) +@mutable
  -@attrs(frozen=True, auto_attribs=True, kw_only=True, eq=False) +@Frozen(kw_only=True, eq=False)
  -@attrs(frozen=True, auto_attribs=True, kw_only=True) +@Frozen(kw_only=True)
  Revert "import attrs"
  import attrs
  Exclude own package correctly
  Fix dependencies for coverage_report
  jwcrypto pulls these in

# Conflicts:
#	requirements/requirements-indirect.txt
#	src/ims/application/_auth.py
#	src/ims/application/_external.py
#	src/ims/application/_main.py
#	src/ims/application/_web.py
#	src/ims/element/_element.py
#	src/ims/element/admin/events/_admin_events.py
#	src/ims/element/admin/root/_root.py
#	src/ims/element/admin/streets/_admin_streets.py
#	src/ims/element/admin/types/_admin_types.py
#	src/ims/element/incident/incident/_incident.py
#	src/ims/element/incident/incident_template/_incident_template.py
#	src/ims/element/incident/incidents/_incidents.py
#	src/ims/element/incident/incidents_template/_incidents_template.py
#	src/ims/element/incident/report/_report.py
#	src/ims/element/incident/report_template/_report_template.py
#	src/ims/element/incident/reports/_reports.py
#	src/ims/element/incident/reports_template/_reports_template.py
#	src/ims/element/login/_login.py
#	src/ims/element/page/_page.py
#	src/ims/element/page/footer/_footer.py
#	src/ims/element/page/header/_header.py
#	src/ims/element/page/nav/_nav.py
#	src/ims/element/root/_root.py
* master:
  Bump exceptiongroup from 1.0.0 to 1.0.1
  Bump readme-renderer from 37.2 to 37.3
  Bump sphinx-rtd-theme from 1.0.0 to 1.1.1
  Bump jwcrypto from 1.4 to 1.4.2
  Bump docker from 6.0.0 to 6.0.1
  Bump zope-interface from 5.5.0 to 5.5.1
  Bump websocket-client from 1.4.1 to 1.4.2
  Bump cryptography from 38.0.1 to 38.0.3

# Conflicts:
#	requirements/requirements-direct.txt
#	requirements/requirements-indirect.txt
* master:
  Move verifyPassword() from user to directory
  Add JSONWebTokenClaims.asJSON() and JSONWebToken.asText().
  Add JSONWebToken class
  Add tests
  Add JSONWebTokenClaims class
  mypy fix
  cleanup
  Handle bearer token auth
  authenticateRequest() shouldn't need to be async after all
  loose ends
  Get rid of RangerUser class
  import
  export
  Add  bmp_ranger_on_site,  bmp_ranger_positions to JWT payload
  import
  Handler for InvalidCredentialsError
  Add requireAuthentication() to factor out verification that the current request has been authenticated. Make authenticateRequest() asynchronous.
  Add checkAuthentication() to factor out check for a valid authentication header, which can be done synchronously, from new authentication, which is async. This removes the need for the optional parameter to authenticateRequest(). Stub in placeholder for handling of the Authentication header.

# Conflicts:
#	src/ims/application/_auth.py
#	src/ims/application/_klein.py
#	src/ims/auth/_provider.py
* master:
  Sync URL interpolated values with new web branch. Ad X-IMS- to non-standard headers.
@wsanchez wsanchez changed the title Remove built-in web client, round out support for external web client Remove built-in web client Nov 10, 2022
@wsanchez
Copy link
Member Author

OK at this point, everything here is merged to master except for removal of the web client

* master: (101 commits)
  Update copyright
  Incident-Number header is now called X-IMS-Incident-Number
  Bump step-security/harden-runner from 2.2.1 to 2.4.0
  Use token arg
  Add api.github.com:443 to hardener endpoints
  Bump pre-commit from 3.2.1 to 3.3.1
  Bump coverage from 7.2.2 to 7.2.5
  Bump mock from 5.0.1 to 5.0.2
  Bump cryptography from 40.0.1 to 40.0.2
  Bump pymysql from 1.0.2 to 1.0.3
  Bump types-pyyaml from 6.0.12.8 to 6.0.12.9
  Bump cryptography from 39.0.2 to 40.0.1
  Bump mypy-zope from 0.9.0 to 0.9.1
  Bump pyopenssl from 23.0.0 to 23.1.0
  Bump pre-commit from 3.2.0 to 3.2.1
  Make is easy to run DB locally
  Add run-name
  mypy fix
  [pre-commit.ci] auto fixes from pre-commit.com hooks
  Add test for _userFromBearerAuthorization
  ...

# Conflicts:
#	requirements/requirements-direct.txt
#	requirements/requirements-indirect.txt
#	src/ims/application/_external.py
#	src/ims/element/page/footer/template.xhtml
#	src/ims/element/static/incident.js
* master:
  Update subdeps
  [pre-commit.ci] pre-commit autoupdate

# Conflicts:
#	src/ims/application/_external.py
* master: (266 commits)
  Use uv (#1337)
  fix(tox.ini): pass pre-commit SKIPs into pre-commit call
  fix(.github): skip no-commit-to-branch on cicd workflow
  fix: actually set the error text on each page
  fix: try again to show error message on incidents page
  fix: don't throw DataTables errors
  feat: display errors on pages rather than with browser alerts
  [pre-commit.ci] pre-commit autoupdate (#1336)
  build(deps): bump zope-interface from 7.1.0 to 7.1.1 (#1333)
  build(deps): bump werkzeug from 3.0.4 to 3.0.6 (#1330)
  build(deps): bump mypy-zope from 1.0.7 to 1.0.8 (#1334)
  build(deps): bump hypothesis from 6.115.3 to 6.115.5 (#1332)
  build(deps): bump twisted from 24.7.0 to 24.10.0 (#1331)
  build(deps): bump service-identity from 24.1.0 to 24.2.0 (#1329)
  Bump mypy from 1.9.0 to 1.11.2 (#1273)
  Update CHANGELOG.md
  feat: allow more than 6 tabs per browser session
  Update CHANGELOG.md
  feat: add groupings to "add incident report" dropdown
  docs: update CHANGELOG.md
  ...

# Conflicts:
#	MANIFEST.in
#	requirements/requirements-direct.txt
#	setup.py
#	src/ims/application/_auth.py
#	src/ims/application/_external.py
#	src/ims/application/_klein.py
#	src/ims/application/_main.py
#	src/ims/application/_web.py
#	src/ims/element/_element.py
#	src/ims/element/incident/incident_template/template.xhtml
#	src/ims/element/incident/incidents_template/template.xhtml
#	src/ims/element/incident/report_template/template.xhtml
#	src/ims/element/incident/reports_template/template.xhtml
#	src/ims/element/login/template.xhtml
#	src/ims/element/page/_page.py
#	src/ims/element/static/ims.js
#	src/ims/element/static/incident.js
#	src/ims/element/static/incident_report.js
#	src/ims/element/static/incident_reports.js
#	src/ims/element/static/incidents.js
* master:
  Don't auto-merge after pre-commit-ci
* master:
  Can't use python-version.
  docs(js): add a comment to incidents.js
  unpin python
  Require lint, mypy for deploy job
  Tell pip not to use cache
  3.13.0 isn't working…
  3.13.0 is out
  Toss out docs job
  Toss out Tox Python Information steps
  Add objects.githubusercontent.com to Harden CI config
  [pre-commit.ci] auto fixes from pre-commit.com hooks
  Use uv in GHA
  Use uv instead of pip in Tox.
  setup.py is gone…
  Don't need to activate
  Use uv for Docker build
  clean up manifest
  Add uv files
  Finish moving out of setup.py
  Set up uv

# Conflicts:
#	src/ims/element/static/incidents.js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant