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

Adding paid event routes #27

Closed
wants to merge 69 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
f8a107d
Move management UI into this repo (#25)
devksingh4 Jan 5, 2025
1b3067d
add git blame ignore revs
devksingh4 Jan 5, 2025
c953122
add devcontainer configuration
devksingh4 Jan 5, 2025
44c74ee
IAM panel to invite entra ID tenant users
devksingh4 Jan 5, 2025
5d4a90b
fix tests
devksingh4 Jan 5, 2025
8db6e2e
fix bundle sizes
devksingh4 Jan 5, 2025
97ed349
update container definition
devksingh4 Jan 6, 2025
435a789
Enable exec group modification by IAM admins (#28)
devksingh4 Jan 6, 2025
b47c64f
Handling Undefined process variable while running vite server (#29)
tarashagarwal Jan 8, 2025
c38551c
Prepare basic UI tests in the pipeline (#30)
devksingh4 Jan 8, 2025
75a086d
update README
devksingh4 Jan 10, 2025
4316175
IAM Group Management updates (#32)
devksingh4 Jan 10, 2025
42c801d
Add basic playwright tests (#33)
devksingh4 Jan 10, 2025
85b585f
Update tests (#34)
devksingh4 Jan 11, 2025
061f12d
fix workflow
devksingh4 Jan 11, 2025
4177754
Add build revision and copyright to the UI (#35)
devksingh4 Jan 11, 2025
54a5804
update license
devksingh4 Jan 11, 2025
2d26df2
Setup CFN for Linkry Domain names (#37)
devksingh4 Jan 11, 2025
4b4bdd5
change cert and add ical custom domain
devksingh4 Jan 11, 2025
ec4be21
add support for custom domain names
devksingh4 Jan 11, 2025
3ccbccd
add welcome message at root
devksingh4 Jan 11, 2025
c974abe
fix validation messages when missing request body
devksingh4 Jan 12, 2025
50bdf06
update unit tests
devksingh4 Jan 12, 2025
ad2bb02
add some audit logging statements parseable in cloudwatch
devksingh4 Jan 14, 2025
f75c3aa
increase prod log retention days to one year
devksingh4 Jan 14, 2025
43939d0
fix audit log statements
devksingh4 Jan 14, 2025
bad1d45
fix audit logging
devksingh4 Jan 21, 2025
0f6deeb
update cw latency alarms
devksingh4 Jan 21, 2025
086310d
add a no-requests alarm
devksingh4 Jan 21, 2025
f73443a
give tarash social roles for demo
devksingh4 Jan 22, 2025
f1d3906
fix cfn level
devksingh4 Jan 22, 2025
6bf641a
Move Group and User role assignments to Dynamo table (#38)
devksingh4 Jan 22, 2025
89e7ff0
use arm64 for lambda
devksingh4 Jan 25, 2025
2a566c6
Performance optimizations (#39)
devksingh4 Jan 25, 2025
ffb1ce7
fix ui performance bug
devksingh4 Jan 27, 2025
a73c5f4
update docs
devksingh4 Jan 27, 2025
968c410
fix port availability in docker containers
devksingh4 Jan 27, 2025
75e2e9c
Create a Manage Profile page (#41)
devksingh4 Jan 28, 2025
ba0d6b1
add python feature to devcontainer
devksingh4 Jan 28, 2025
437fad4
Mobile Wallet Membership Pass (#44)
devksingh4 Jan 29, 2025
fda1563
add text to the pkpass issuer email
devksingh4 Jan 29, 2025
838c8fb
make the pkpass route POST instead of GET
devksingh4 Jan 29, 2025
e577f9a
Setup async process handling via SQS (#45)
devksingh4 Feb 1, 2025
e93d7ff
Update main.yml
devksingh4 Feb 1, 2025
19fce09
update alarm
devksingh4 Feb 1, 2025
6198d29
Stripe Link creation support in manage.acm (#48)
devksingh4 Feb 6, 2025
4cdd1c9
emerg: fix the loading indicator for creating stripe links
devksingh4 Feb 6, 2025
e7b4e5c
Improve loading behavior for Sidebar (#49)
devksingh4 Feb 6, 2025
28702b0
emerg: temp patch to remove force profile
devksingh4 Feb 6, 2025
3f9dde5
emerg: fix the profile creation flow
devksingh4 Feb 6, 2025
3164efd
fix the request username
devksingh4 Feb 6, 2025
2c550a8
change name of label
devksingh4 Feb 7, 2025
2781411
update infra chair group ID
devksingh4 Feb 7, 2025
266c04b
stripe: add viewing current links
devksingh4 Feb 7, 2025
ccea44b
update log statement
devksingh4 Feb 7, 2025
764882c
cleanup imports
devksingh4 Feb 9, 2025
a6ab6de
update unit tests
devksingh4 Feb 9, 2025
1a83fa3
fix stripe integration tests (#51)
devksingh4 Feb 9, 2025
f729b90
enable the core.acm.illinois.edu domain
devksingh4 Feb 9, 2025
9ad9ec8
add a lock around auth checking for AuthGuard
devksingh4 Feb 10, 2025
a57cbfc
fix early return in api route
devksingh4 Feb 10, 2025
cf06307
add unique key to render
devksingh4 Feb 10, 2025
095f933
fix locking mechanism for cached responses
devksingh4 Feb 10, 2025
7b3d116
add more loading skeletons to UI
devksingh4 Feb 11, 2025
aaba705
change default name transformation
devksingh4 Feb 11, 2025
06336ea
enable modifying multiple groups
devksingh4 Feb 11, 2025
920f71d
cleanup jwtgen scripts
devksingh4 Feb 11, 2025
f727980
fix e2e tests
devksingh4 Feb 11, 2025
83168dc
add a basic landing page text
devksingh4 Feb 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
{
"name": "Ubuntu",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:jammy",
"features": {
"ghcr.io/devcontainers/features/node:1": {},
"ghcr.io/devcontainers/features/aws-cli:1": {},
"ghcr.io/jungaretti/features/make:1": {},
"ghcr.io/customink/codespaces-features/sam-cli:1": {},
"ghcr.io/devcontainers/features/python:1": {}
},

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
8080,
5173
],
"customizations": {
"vscode": {
"extensions": [
"EditorConfig.EditorConfig",
"waderyan.gitblame",
"Gruntfuggly.todo-tree"
]
}
}

// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",

// Configure tool-specific properties.
// "customizations": {},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
6 changes: 5 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,8 @@ trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false
trim_trailing_whitespace = false

[{Makefile,**.mk}]
# Use tabs for indentation (Makefiles require tabs)
indent_style = tab
5 changes: 3 additions & 2 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
AadValidClientId="39c28870-94e4-47ee-b4fb-affe0bf96c9f"
AadClientSecret=""
RunEnvironment="dev"
JwtSigningKey="YOUR_RANDOM_STRING HERE"
JwtSigningKey="YOUR_RANDOM_STRING HERE"
VITE_RUN_ENVIRONMENT="local-dev"
AWS_REGION=us-east-1
3 changes: 2 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/**/*.d.ts
/**/*.d.ts
vite.config.ts
45 changes: 30 additions & 15 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"extends": ["plugin:prettier/recommended", "plugin:@typescript-eslint/recommended"],
"extends": [
"plugin:prettier/recommended",
"plugin:@typescript-eslint/recommended"
],
"plugins": ["import"],
"rules": {
// turn on errors for missing imports
"import/no-unresolved": "error",
"import/extensions": [
"error",
Expand All @@ -13,26 +15,32 @@
"ts": "never",
"tsx": "never"
}
],
"no-unused-vars": "off",
"max-classes-per-file": "off",
"func-names": "off",
"@typescript-eslint/no-unused-vars": [
"warn", // or "error"
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
]
],
"no-unused-vars": "off",
"max-classes-per-file": "off",
"func-names": "off",
"@typescript-eslint/no-unused-vars": [
"warn",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
],
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/explicit-module-boundary-types": "off"
},
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx", ".js", ".jsx"]
},
"import/resolver": {
"typescript": {
"alwaysTryTypes": true
"alwaysTryTypes": true,
"project": [
"src/api/tsconfig.json", // Path to tsconfig.json in src/api
"src/ui/tsconfig.json" // Path to tsconfig.json in src/ui
]
}
}
},
Expand All @@ -42,6 +50,13 @@
"rules": {
"@typescript-eslint/no-explicit-any": "off"
}
},
{
"files": ["src/ui/*", "src/ui/**/*"],
"rules": {
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-vars": "off"
}
}
]
}
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
f8a107d276786cb76b22e43dbb1860f85d2a2289
39 changes: 30 additions & 9 deletions .github/workflows/deploy-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- uses: actions/checkout@v4
env:
HUSKY: "0"
Expand All @@ -27,17 +27,17 @@ jobs:
deploy-dev:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.event.repository.name }}-dev
group: ${{ github.event.repository.name }}-dev-env
cancel-in-progress: false
environment: "AWS DEV"
name: Deploy to AWS DEV
name: Deploy to DEV
needs:
- test-unit
steps:
- name: Set up Node for testing
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- uses: actions/checkout@v4
env:
HUSKY: "0"
Expand All @@ -53,28 +53,49 @@ jobs:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- run: make deploy_dev
- name: Publish to AWS
run: make deploy_dev
env:
HUSKY: "0"
test:
VITE_RUN_ENVIRONMENT: dev
- name: Publish to Cloudflare
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: management-ui-dev
directory: dist_ui/
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
branch: main

test-dev:
runs-on: ubuntu-latest
name: Run Live Integration Tests
name: Run Live Tests
needs:
- deploy-dev
concurrency:
group: ${{ github.event.repository.name }}-dev
group: ${{ github.event.repository.name }}-dev-env
cancel-in-progress: false
steps:
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- uses: actions/checkout@v4
env:
HUSKY: "0"
- name: Set up Python 3.11 for testing
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Run health check
run: make dev_health_check
- name: Run live testing
run: make test_live_integration
env:
JWT_KEY: ${{ secrets.JWT_KEY }}
- name: Run E2E testing
run: make test_e2e
env:
PLAYWRIGHT_USERNAME: ${{ secrets.PLAYWRIGHT_USERNAME }}
PLAYWRIGHT_PASSWORD: ${{ secrets.PLAYWRIGHT_PASSWORD }}
70 changes: 51 additions & 19 deletions .github/workflows/deploy-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ jobs:
runs-on: ubuntu-latest
name: Run Unit Tests
steps:
- name: Set up Node for testing
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- uses: actions/checkout@v4
env:
HUSKY: "0"
Expand All @@ -30,14 +30,14 @@ jobs:
group: ${{ github.event.repository.name }}-dev
cancel-in-progress: false
environment: "AWS DEV"
name: Deploy to AWS DEV
name: Deploy to DEV
needs:
- test-unit
steps:
- name: Set up Node for testing
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- uses: actions/checkout@v4
env:
HUSKY: "0"
Expand All @@ -53,48 +53,68 @@ jobs:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- run: make deploy_dev
- name: Publish to AWS
run: make deploy_dev
env:
HUSKY: "0"
test:
VITE_RUN_ENVIRONMENT: dev
- name: Publish to Cloudflare
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: management-ui-dev
directory: dist_ui/
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
branch: main

test-dev:
runs-on: ubuntu-latest
name: Run Live Integration Tests
name: Run Live Tests
needs:
- deploy-dev
concurrency:
group: ${{ github.event.repository.name }}-dev
cancel-in-progress: false
steps:
- name: Set up Node for testing
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- uses: actions/checkout@v4
env:
HUSKY: "0"
HUSKY: "0"
- name: Set up Python 3.11 for testing
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Run live testing
run: make test_live_integration
deploy-aws-prod:
env:
JWT_KEY: ${{ secrets.JWT_KEY }}
- name: Run E2E testing
run: make test_e2e
env:
PLAYWRIGHT_USERNAME: ${{ secrets.PLAYWRIGHT_USERNAME }}
PLAYWRIGHT_PASSWORD: ${{ secrets.PLAYWRIGHT_PASSWORD }}

deploy-prod:
runs-on: ubuntu-latest
name: Deploy to AWS PROD
name: Deploy to Prod
concurrency:
group: ${{ github.event.repository.name }}-prod
cancel-in-progress: false
needs:
- test
- test-dev
environment: "AWS PROD"
steps:
- name: Set up Node for testing
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- uses: actions/checkout@v4
env:
HUSKY: "0"
HUSKY: "0"
- uses: aws-actions/setup-sam@v2
with:
use-installer: true
Expand All @@ -107,24 +127,36 @@ jobs:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- run: make deploy_prod
- name: Publish to AWS
run: make deploy_prod
env:
HUSKY: "0"
VITE_RUN_ENVIRONMENT: prod
- name: Publish to Cloudflare
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: management-ui-prod
directory: dist_ui/
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
branch: main

health-check-prod:
runs-on: ubuntu-latest
name: Confirm services healthy
needs:
- deploy-aws-prod
- deploy-prod
concurrency:
group: ${{ github.event.repository.name }}-prod
cancel-in-progress: false
steps:
- name: Set up Node for testing
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- uses: actions/checkout@v4
env:
HUSKY: "0"
HUSKY: "0"
- name: Call the health check script
run: make prod_health_check
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,12 @@ dist
.aws-sam/
build/
dist/
dist_ui/

*.pyc
__pycache__
__pycache__
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
dist_devel/
Loading
Loading