Commit Graph

359 Commits (b9ccfff18a0875865664f312a149fe480f493e89)

Author SHA1 Message Date
Oliver Eyton-Williams 1ba9d03cb5
feat: remove csrf from the client (#42242) 2021-07-16 10:49:47 -05:00
Shaun Hamilton 6ca6d9950c
feat(client): improve SuperBlock cert claiming UX (#41147)
* feat(client): improve SuperBlock cert claiming UX

* broken: add certCard foundation

* broken: add TODO comments for scatter-brain

* restructure stepsToClaimSelector

* add api-server verifyCanClaimCert logic

* temp: correct verifyCanClaim URL

* move GET logic to CertificationCard, remove console.logs

* add error handling, and navigation logic

* correct verification logical flow

* fix completion-epic updates, fix cert verify

* update widget to button, disable button unless verified

* working: refactor CertChallenge with hook state

* add StepsType

* update Honesty snapshot

* add DonationModal to SuperBlockIntro

* disable Claim Cert button unless also isHonest

* prevent warning when viewing cert

* test: use navigate in Modal to return to hash

* test: replace gatsby.navigate with reach/router.navigate

* add propTypes

* fix: rename propTypes -> prop-types

* use react-scrollable-anchor to squash modal bug

* update location parser type

* open-source Oliver's suggestion

* fix superblock title

* add claim-cert-from-learn tests

* use larger tests

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix some cypress stuff

* fix ShowCertification cypress test

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-07-15 23:51:27 +09:00
Oliver Eyton-Williams 92d7ae1725
fix(client): remove extra slash when redirecting to client (#42588)
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
2021-07-12 13:54:54 +05:30
Renovate Bot 7c2a4aff6e
chore(deps): update dependency jest to v27 2021-07-06 19:01:17 +05:30
Mrugesh Mohapatra adc09ec180 chore: apply npm audit fix to all packages 2021-06-28 19:00:55 +05:30
Mrugesh Mohapatra 9015ad3151 chore(api): update deps - major - @sentry/node 2021-06-28 19:00:55 +05:30
Mrugesh Mohapatra faa9996681 chore(api): update deps - minor 2021-06-28 19:00:55 +05:30
Mrugesh Mohapatra ba3a3f60e1 chore(api): update deps - patch 2021-06-28 19:00:55 +05:30
Ahmad Abdolsaheb b3f2c64de8
fix(client): remove algolia and hot keys modules from landing pages (#42394)
* fix(client): remove algolia and hot keys from landing pages

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-06-24 12:50:36 +03:00
Huyen Nguyen 2c16234853
chore: add jest global variables (#42573) 2021-06-20 09:14:42 +02:00
Nicholas Carrigan (he/him) 7857c3932b
fix: signout redirect (#42538)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-06-17 23:54:18 +05:30
Oliver Eyton-Williams a555e013a0
refactor: remove unused env vars (#42500) 2021-06-15 09:57:10 -07:00
gikf bc9e8a69de
fix(client): display legacy certs like current ones (#42038)
* fix: display legacy certs like the current ones

* fix: link projects in legacy certs to project pages

* fix: update tests to changed legacy cert display

* fix: update tests for removed legacy certs forms

* fix: display legacy certs like the current ones

* fix: submit projects for cert on projects pages

* fix: remove legacy certs form submitting handling

* fix: move claiming cert setup before both tests

* fix: remove legacy cert update props and actions

* fix: remove legacy cert updates from api

* fix: correct merge conflict
2021-06-11 17:06:46 +01:00
Mrugesh Mohapatra 2db594d318 chore: apply npm audit:fix 2021-06-08 21:16:56 +05:30
Oliver Eyton-Williams 3875c6e619
fix: use env.json in both client and server (#42359) 2021-06-08 13:12:44 +01:00
Oliver Eyton-Williams 7b65909522
feat: make api only return json (#42320)
* fix(api): return json for delete + reset-progress

* refactor(api): make .json calls explicit

These .send() calls had objects as arguments. Using .json() makes it
explicit without changing behaviour.

* fix: return json or redirectWithFlash

We should never be getting requests for plain text, but if we do they
should be redirected back to the client.

* fix: prioritize JSON responses

If accepted, respond with JSON.  If not, it's probably a bad request.
2021-06-05 13:20:40 +01:00
Oliver Eyton-Williams 802273cf8a
refactor: remove sinon (#42337) 2021-06-02 21:03:05 +05:30
Oliver Eyton-Williams 2648f75df6
fix: remove redundant babel plugin (#42234)
@babel/plugin-proposal-class-properties is now included in preset-env
2021-05-24 13:30:09 -07:00
Mrugesh Mohapatra 6d8baddec0
chore: update api deps, apply npm audit fix (#42179)
* chore(api): bump minor and patch

* chore: apply npm audit fix across deps
2021-05-18 22:39:26 +05:30
Oliver Eyton-Williams 1c1d86922c
refactor: simplify jest config (#42136)
* refactor: bring api jest tests to root

* refactor: pull client tests to root

* fix: remove ancient curriculum babelrc

* feat: run all jest tests at once

* fix: remove unused babelrcRoot

* chore: remove more jests
2021-05-16 18:08:04 +05:30
Mrugesh Mohapatra 83943de719
chore: rollback CSRF token generation (#42082)
This reverts commit e1c00138a9.
2021-05-11 00:27:08 +05:30
Oliver Eyton-Williams e1c00138a9
fix: generate csrf tokens on server (#41968)
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
2021-05-10 21:40:42 +05:30
renovate[bot] 21dd80c47a
chore(deps): update dependency prettier to v2.3.0 (#42074)
* chore(deps): update dependency prettier to v2.3.0

* chore: apply formating per prettier

* fix: correctly disable import/no-unresolved

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mrugesh Mohapatra <hi@mrugesh.dev>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-05-10 08:48:49 -07:00
Mrugesh Mohapatra 81d8d3f294
fix(npm-audit): improve audit and fix run-scripts (#42050)
* fix(npm-audit): improve audit and fix run-scripts

* fix: include --no-bail

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-05-07 23:48:11 +05:30
Ahmad Abdolsaheb 27c8d564e4
fix(client): replace Stripe with PayPal (#41924)
* feat: remove stripe payment option from client

* feat: remove stripe completely

* fix: remove last Stripe remnants

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-05-03 11:45:23 +03:00
Mrugesh Mohapatra 341fe76f0f chore: roll back CSRF changes for the weekend
This reverts commit 00193858a0.
2021-04-30 23:57:28 +05:30
Oliver Eyton-Williams 00193858a0
fix: generate csrf tokens on server not client (#41908)
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2021-04-30 09:42:26 +03:00
Oliver Eyton-Williams 300ff756ce
fix(api): stop ignored files (tests) being copied (#41926) 2021-04-27 10:40:01 -07:00
Shaun Hamilton d3f59e6d5d
fix(dev): rename superBlock with v7 to certSlug (#41738)
* fix(dev): rename superBlock with v7 to slug

* improve name slug -> certSlug

* superBlockTitle -> superBlock

* correct teeny, tiny mistake

* fix: correct slug to certSlug in certLocation

* refactor currentCerts

* rename showCert cert -> certSlug and various
2021-04-23 22:29:17 +03:00
Oliver Eyton-Williams 5d46e2830a
feat: add Docker build (#41187)
* feat(docker): build and use client and api images

* feat: always use .env

dotenv fails without throwing if the .env file is missing and never
overwrites variables if they already exist. As such, we can use it in
build pipelines.

* fix: remove quotes from env vars

dotenv normalises quoted and unquoted strings (X=x, X='x' and
X="x") all become the same .env object {X: 'x'}. However, Docker's
env_file does not (the three cases are distinct).  As a result, we
should use unquoted strings for consistency.

* fix: provide custom warning when .env is missing

* feat(docker): include client-config

* fix(docker): remove build packages from api image

* fix(docker): run script from correct dir

* fix(docker): correct permissions and dests

* fix(docker): consolidate run steps

This is standard practice, but did not have a noticable affect on the
image size

* fix(docker): clean the npm cache

Prior to this step the image was 1.11GB uncompressed and we got a modest
saving, 1.09GB after.

* refactor(docker): regexless COPY directives

* feat(docker): use alpine

This shrinks the image down to 259MB

* fix(docker): update build scripts

* fix: correct the server Dockerfile RUNs

* DEBUG: expose mysql port for seeding

* chore: update client Dockerfile's node versions

* fix: remove executable permissions from index.js

It's not a cli, so I don't think it needs to be executable.

* chore: update node and remove stale comments

* feat: use ENTRYPOINT + CMD to allow runtime config

* fix: add CURRICULUM_LOCALE arg

* feat: allow client port configuration

* feat: allow api port to be configured

* refactor: use unique variable names for ports

* fix: add default CLIENT_PORT

* refactor: clean up
2021-04-20 19:29:31 +05:30
Mrugesh Mohapatra 87666a738d
chore: bump patch updates to api-server (#41833) 2021-04-16 11:50:04 +02:00
Ahmad Abdolsaheb d5d786049e
feat(api): stripe checkout integration (#41666)
* feat: add api stripe checkout integration

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-04-02 15:33:34 +09:00
Mrugesh Mohapatra 42365dd172
fix: update package files, lerna config (#41599)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-03-27 07:46:20 -07:00
Mrugesh Mohapatra ad9b1f89d8
fix(api, client): update Gatsby, webpack & related things (#41452)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-03-25 12:13:43 -07:00
Oliver Eyton-Williams e9b1247688
test(api): suppress expected log (#41502) 2021-03-16 09:53:08 -06:00
Mrugesh Mohapatra 6c91f81b0e chore(deps): upgrade eslint, prettier & related packages 2021-03-11 12:19:42 +05:30
Mrugesh Mohapatra 0a53a1d7f0 chore(deps): upgrade lerna to v4 2021-03-11 12:19:42 +05:30
dependabot[bot] 94df0c1d85 Bump @babel/preset-env from 7.13.8 to 7.13.9 in /api-server
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.13.8 to 7.13.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.9/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-07 05:42:57 +00:00
Mrugesh Mohapatra cd40d47363
chore(api): remove unused code and endpoints (#41332) 2021-03-05 02:30:11 +05:30
dependabot[bot] 2e752551dc chore(deps-dev): bump @babel/plugin-proposal-class-properties
Bumps [@babel/plugin-proposal-class-properties](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-class-properties) from 7.12.13 to 7.13.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.0/packages/babel-plugin-proposal-class-properties)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 06:59:42 +00:00
dependabot[bot] 1fc770f196 chore(deps-dev): bump @babel/node from 7.12.17 to 7.13.0 in /api-server
Bumps [@babel/node](https://github.com/babel/babel/tree/HEAD/packages/babel-node) from 7.12.17 to 7.13.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.0/packages/babel-node)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 06:39:33 +00:00
dependabot[bot] 385683ba09 chore(deps-dev): bump @babel/core from 7.12.17 to 7.13.8 in /api-server
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.17 to 7.13.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.8/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 06:18:50 +00:00
dependabot[bot] 31d02ea2f0 chore(deps-dev): bump @babel/register in /api-server
Bumps [@babel/register](https://github.com/babel/babel/tree/HEAD/packages/babel-register) from 7.12.13 to 7.13.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.8/packages/babel-register)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 06:18:20 +00:00
dependabot[bot] 8b3a711f1d chore(deps-dev): bump @babel/plugin-proposal-object-rest-spread
Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-object-rest-spread) from 7.12.13 to 7.13.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.8/packages/babel-plugin-proposal-object-rest-spread)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 06:00:30 +00:00
dependabot[bot] b3fe97408a chore(deps-dev): bump @babel/preset-env in /api-server
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.17 to 7.13.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.8/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 05:59:56 +00:00
dependabot[bot] 9cd97962a3 chore(deps): bump express-validator from 6.9.2 to 6.10.0 in /api-server
Bumps [express-validator](https://github.com/express-validator/express-validator) from 6.9.2 to 6.10.0.
- [Release notes](https://github.com/express-validator/express-validator/releases)
- [Commits](https://github.com/express-validator/express-validator/compare/v6.9.2...v6.10.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 05:28:10 +00:00
dependabot[bot] 40a1bc767f chore(deps-dev): bump @babel/cli from 7.12.17 to 7.13.0 in /api-server
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.12.17 to 7.13.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.0/packages/babel-cli)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 05:25:13 +00:00
dependabot[bot] 0e1306eccf chore(deps-dev): bump @babel/plugin-proposal-optional-chaining
Bumps [@babel/plugin-proposal-optional-chaining](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-optional-chaining) from 7.12.17 to 7.13.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.8/packages/babel-plugin-proposal-optional-chaining)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-28 05:20:28 +00:00
Mrugesh Mohapatra b5f4754e2a
fix: re-revert the API decoupling (#41263)
* fix(api): decouple api from curriculum

This reverts commit 8f0e441644 and
introduces the implementations from #40703.

* fix(gitpod): add curriculum build to GitPod

This reverts commit 706d70f58d and
introduces implementations from #41234.

* docs: update DevOps manual for api change (#41259)

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-02-25 12:02:35 -08:00
Mrugesh Mohapatra a3316f2f88 chore: remove extraneous files on revert
This commit removes now unused files reverted (added back)
by d8f764fee1
2021-02-25 03:40:09 +05:30