зеркало из
1
0
Форкнуть 0
Граф коммитов

32 Коммитов

Автор SHA1 Сообщение Дата
Jeff Wilcox 20b1066ed9 Moving files 2024-01-03 11:44:13 -08:00
Jeff Wilcox 08e989d779 Graph provider: is in team performance
Properly checks for team membership using the native
Microsoft Graph membership check that is targeted. The
original implementation, built on top of retrieving the
full list of security group members, does not scale for
large teams and was never intended to stick as the
"is in group" check.
2023-12-20 10:34:39 -08:00
Jeff Wilcox eedad83954 Graph provider: support count query 2023-12-16 18:15:27 -08:00
Jeff Wilcox 2a83cc61a0 MS Graph: cache options
Updates the Microsoft Graph client to allow for configurable
cache options at call time. Also in some methods such as getting
the members of a team, improves types, allows for direct or
transitive membership.
2023-11-30 08:20:13 -08:00
Jeff Wilcox e165cb14d0 Updates; remove rename branch code 2023-08-14 22:04:30 -07:00
Jeff Wilcox b3e35d4fa9 Supporting more app types, client flights
Integrates multiple changes from an internal fork to the open project:

    - Strongly typing basic organization properties and flags
    - Specialized app purposes
    - Organization annotations
    - Repo unarchive
    - Configuration resolver supports dates
    - Configuration resolver supporting above-root .env over env vars for Codespaces
    - Initialization routine adds support for an optional company-specific secondary stage
    - Supports flighting a second React frontend for specific or all users
    - Most basic organization APIs support managed and unmanaged orgs for org details
2023-01-07 22:40:22 -08:00
Nick Schonning 8332719638
fix: prefer-const 2022-10-11 21:20:41 -04:00
Nick Schonning deea160f69
fix: various typos 2022-10-09 23:02:44 -04:00
Jeff Wilcox 9f3f1cb00d
Prettier linting, README update (#399) 2022-10-07 15:25:28 -07:00
Jeff Wilcox 9d54251c56 Prettier / consistency 2022-10-07 06:59:30 +00:00
Jeff Wilcox 0921e2d578 Integrating latest Microsoft changes
Updates the open source project to reflect the recent updates
around continuing to make it easier to build in paralell and have
company-specific updates without impacting the upstream as much.
2022-10-07 01:23:29 +00:00
Jeff Wilcox a1e3d9f234 Integrating recent internal minor changes, pkgs 2022-04-01 10:13:27 -07:00
Jeff Wilcox f28bb340ba Integrating internal changes up through 2022
This is a batch of updates, including package version improvements.

- Axios: the library has gone through some growing pains for TypeScript
  users. While the library no longer returns "unknown" for response types,
  designed to encourage safe known casting, we do a lot of "cast as any" now,
  and will improve in the future.
- Additional company-specific extension points around authentication
- Additional auth token types for just-in-time
- Cleanup of Passport routing. This could be breaking for anyone who has
  taken the time to hack other Passport providers on top, so interested to
  learn if anyone has (for example, the old Google integration as an auth provider
  over AAD)
2022-02-18 14:39:34 -08:00
Jeff Wilcox 2a9ebfa008
Graph: support consistency levels (disabled now) 2021-10-06 20:03:06 -07:00
Jeff Wilcox 41047e2612
Latest source 2021-07-17 14:33:35 -07:00
Jeff Wilcox 7f3c6f7b43
Integrating recent internal changes
- Changes JSON paging APIs to be zero-based indexes
- Additional optional security app configuration
- Fixes a minor configuration issue
- Adds a more robust "RepositoryEntity" that is not used in the site, but by jobs or data systems
- Updated deps
- Graph provider adds a "get direct reports" method
2021-05-05 20:07:09 -07:00
Jeff Wilcox 1e9db0803e
Interface and Test refactor
Removing explicit casts from req.app.settings.providers and using
a function.

Switching from Mocha (which was mostly unused) to Jest.

Moving around type definitions and interfaces in a big way to try
and cleanup some legacy.
2021-04-09 16:36:15 -07:00
Jeff Wilcox 98502f7a72 Interim refactorings and improvements
This is a set of changes that is still stabalizing. Code churn around modernization
could impact company-specific implementations.

interim refactoring as part of a GitHub Enterprise prototype. please avoid using or extending or open an issue in the repo if you are to discuss what should stay vs get yanked.

- introduces a temporary OperationsCore class and a nearly-empty typed interface for operations
- these types will reduce or be removed once the prototype is validated
- "capabilities" allow for partial implementation of operations methods in the prototype

- custom mail provider
- additional view properties or recipients for new repos
- additional non-client API routes
- custom view names in certain places
- ability to process firehose events optionally in a separate codepath
- removes Microsoft-specific mail provider from the project
- fixes a startup race condition

- more interfaces and types exported down the tree to reduce import statements
- additional insights and reduced error logging for valid not found scenarios
- graph manager removes old callback code and interfaces have minor **breaking renames** as a result
- moves some email-sending functions into independent files to reduce core class line count
- ignored catches replaced with telemetry more consistently (partial)
- graph provider adds optional caching (note: this is not yet stable)
- webhook firehose will only attempt deleting messages once

- latest Octokit versions
- uses reusable functions throughout GitHub API calls for max age seconds, background refresh, page size variables
- fixes a bug around app header selection for cross-organization calls
- attempts to use GitHub App authentication instead of central operations token in more places
- supports alternate GitHub REST API locations for app authentication and the API itself
- new GitHub APIs integrated into business classes: get repository issues

- removes request module family, adopting axios
2021-03-25 10:20:40 -07:00
Jeff Wilcox 456c5d0646 Organization sudo security group support
Adds support for organization sudo privileges to flow from
security groups instead of from GitHub Teams as the source of
truth.

Sudo remains on by default and configured for teams.

Also provides for company-specific overrides if you have a
different system for authorization decisions that is not part
of the default kit.
2021-03-17 13:02:11 -07:00
Jeff Wilcox a17d48e8ef Integrating latest Microsoft changes
This significant pull request patches the open source project with a number
of updates from inside Microsoft as part of connecting an automated publishing
process to keep the public version up-to-date and buildable.

We are also removing Microsoft-specific endpoints and APIs when easy enough to
do, and adding a "company-specific" extension model to try as we go about this.
2021-03-05 14:50:31 -08:00
Jeff Wilcox 9d14a9c550 Promise-based mail address provider + app profiles 2020-07-20 08:27:41 -07:00
Jeff Wilcox 63472fe26b Removing dependency in mailAddressProvider
- Removes legacy "Witness Redis" code that was a Microsoft-internal thing
- Refactors Mail Address Provider for function signatures with a Promise, no callbacks
- Refactors Microsoft Mail Address Provider to use the Graph Provider for mail lookup instead of the legacy Redis system
- Minor chores on updating some imports, default export module functions
- Web server listen routine happens sooner during startup to better land Kubernetes readiness and liveness probes
2020-07-16 13:00:32 -07:00
Jeff Wilcox 4d5d936dc7 Block tenant guest accounts at sign-in time 2020-07-09 14:48:28 -07:00
Jeff Wilcox 6fb01c3813 June updates
During the month of May and June, we forked this application internally
as part of a specific set of temporary changes. To converge once again
with the open source version and make it easier to collaborate with others,
this brings the latest changes up.

There is a need to refactor and feature flag the service account piece into
the newer experience as new debt.
2020-06-11 14:46:09 -07:00
Joey Wilhelm cc189f433e Correct an error message to call out the correct variable 2020-05-29 11:29:08 -04:00
Jeff Wilcox 7068074db1 New repo emails: notify the manager
If a manager is known for an employee, we will also notify
the manager via a carbon copy on e-mails related to new repos,
locked forks, or newly created repos that still need classification.

As a quick change, this does not add a feature flag to enable or disable
this; however, if a manager is not known via the corporate contacts or
cached employee information system, there will be no error.
2020-04-23 13:20:52 -07:00
Jeff Wilcox d445329ca3 Integrating updates 2020-04-14 15:57:21 -07:00
Jeff Wilcox 87c2ab52a0 Code refresh to support GitHub Apps
- Enables GitHub App-based server-to-server communication
- Enables dynamic (database-backed) organization setting configuration
- QueryCache system, when paired with a Postgres database and GitHub App webhooks keeps teams, repo lists, etc. up-to-date more efficiently than the older GitHub REST API-based method
- Various bug fixes
2019-10-02 18:41:16 -07:00
Jeff Wilcox d388e4cb96 Entity metadata provider refactoring
- Entities (links, join requests, repo metadata) refactored
- Entities can be stored in Postgres, Azure Table, or memory
- Introduces a quickstart memory provider mode
- Evolution of more classes and methods to ES6, await/async, TypeScript typings
- Updates of package versions
2019-08-06 16:53:50 -07:00
Jeff Wilcox f8c0ba1774
TypeScript implementation
Major updates to the application, including some minor breaking changes.

The public updates (that make it less Microsoft-specific) are still in
development; this represents trying to get it ready for updates.
2019-04-05 14:45:34 -07:00
Jeff Wilcox 297bff18f0
Updated lib 2018-05-02 10:28:35 -07:00
Jeff Wilcox 59a2da9e3b Updated core app libraries and utility code 2017-05-31 10:07:13 -07:00