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

build: merge develop into form-v2/develop to sync the two branches #3471

Merged
merged 920 commits into from
Mar 9, 2022

Conversation

karrui
Copy link
Contributor

@karrui karrui commented Feb 21, 2022

This PR keeps form-v2/develop in sync with develop branch.

Some changes in form-v2/develop affect server, such as adding new types, or creating some new APIs. A separate PR will be created to sync those server-side changes back to develop from form-v2/develop
Done as tracked by #3472

dependabot bot and others added 30 commits December 15, 2021 06:31
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.26.0 to 2.27.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/master/CHANGELOG.md)
- [Commits](date-fns/date-fns@v2.26.0...v2.27.0)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…red (#3193)

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.177 to 4.14.178.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3195)

Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.9.43 to 1.9.44.
- [Release notes](https://gitlab.com/catamphetamine/libphonenumber-js/tags)
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.9.43...v1.9.44)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.4.0 to 4.0.0.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/commits/v4.0.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [type-fest](https://github.com/sindresorhus/type-fest) from 1.4.0 to 2.8.0.
- [Release notes](https://github.com/sindresorhus/type-fest/releases)
- [Commits](sindresorhus/type-fest@v1.4.0...v2.8.0)

---
updated-dependencies:
- dependency-name: type-fest
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [twilio](https://github.com/twilio/twilio-node) from 3.71.3 to 3.72.0.
- [Release notes](https://github.com/twilio/twilio-node/releases)
- [Changelog](https://github.com/twilio/twilio-node/blob/main/CHANGES.md)
- [Commits](twilio/twilio-node@3.71.3...3.72.0)

---
updated-dependencies:
- dependency-name: twilio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [core-js](https://github.com/zloirock/core-js) from 3.19.3 to 3.20.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](zloirock/core-js@v3.19.3...v3.20.0)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.18.0 to 17.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 12.1.2 to 12.1.3.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](lint-staged/lint-staged@v12.1.2...v12.1.3)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.17.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](expressjs/express@4.17.1...4.17.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 6.4.0 to 6.5.1.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases)
- [Commits](open-cli-tools/concurrently@v6.4.0...v6.5.1)

---
updated-dependencies:
- dependency-name: concurrently
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
build: hotfix release 5.38.1 - update datadog agent to 7.32.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 17.0.0 to 17.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
chore: merge hotfix release 5.38.1 back to develop
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.1046.0 to 2.1047.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.1046.0...v2.1047.0)

---
updated-dependencies:
- dependency-name: aws-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 17.0.1 to 17.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ngoose to v5.13.13 (#3219)

* Revert "feat(deps): update mongoose to v6.0.13, update mongoose dependencies likewise (#3093)"

This reverts commit d5ada10.

# Conflicts:
#	package-lock.json
#	package.json
#	src/app/models/form.server.model.ts

* fix: update package-lock

pinned mongoose to prior version before unlocking it due to type changes in minor patch versions of mongoose...

* fix: add missing ClientSession import

* feat: update mongoose v5.13.5 to v5.13.13

snyk doesn't allow vulnerabilities....... which 5.13.5 contains oops

* fix: mongoose v5.13.13 type updates in models

* fix(test): convert mockingoose mocks to normal jest spy mocks

* feat: remove unused mockingoose package
…ngoose to v5.13.13 (#3219)

* Revert "feat(deps): update mongoose to v6.0.13, update mongoose dependencies likewise (#3093)"

This reverts commit d5ada10.

# Conflicts:
#	package-lock.json
#	package.json
#	src/app/models/form.server.model.ts

* fix: update package-lock

pinned mongoose to prior version before unlocking it due to type changes in minor patch versions of mongoose...

* fix: add missing ClientSession import

* feat: update mongoose v5.13.5 to v5.13.13

snyk doesn't allow vulnerabilities....... which 5.13.5 contains oops

* fix: mongoose v5.13.13 type updates in models

* fix(test): convert mockingoose mocks to normal jest spy mocks

* feat: remove unused mockingoose package
Package-lock.json conflicts due to reverting changes to mongoose from v6 to v5.
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.27.0 to 2.28.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/master/CHANGELOG.md)
- [Commits](date-fns/date-fns@v2.27.0...v2.28.0)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
chore: merge release v5.39.1 back to develop (update package-lock.json back to v1)
Bumps [ts-essentials](https://github.com/krzkaczor/ts-essentials) from 9.0.0 to 9.1.2.
- [Release notes](https://github.com/krzkaczor/ts-essentials/releases)
- [Changelog](https://github.com/krzkaczor/ts-essentials/blob/master/CHANGELOG.md)
- [Commits](ts-essentials/ts-essentials@v9.0.0...v9.1.2)

---
updated-dependencies:
- dependency-name: ts-essentials
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 17.0.2 to 17.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
karrui and others added 16 commits February 28, 2022 22:38
feat(BounceController): log SNS topic confirmation notification emails
Bumps [ngrok](https://github.com/bubenshchykov/ngrok) from 4.2.2 to 4.3.0.
- [Release notes](https://github.com/bubenshchykov/ngrok/releases)
- [Changelog](https://github.com/bubenshchykov/ngrok/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bubenshchykov/ngrok/commits/v4.3.0)

---
updated-dependencies:
- dependency-name: ngrok
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@sentry/browser](https://github.com/getsentry/sentry-javascript) from 6.18.0 to 6.18.1.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@6.18.0...6.18.1)

---
updated-dependencies:
- dependency-name: "@sentry/browser"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.5.5 to 4.6.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](microsoft/TypeScript@v4.5.5...v4.6.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@sentry/integrations](https://github.com/getsentry/sentry-javascript) from 6.18.0 to 6.18.1.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@6.18.0...6.18.1)

---
updated-dependencies:
- dependency-name: "@sentry/integrations"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
build: merge release-al2 branch back into develop
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.1082.0 to 2.1083.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.1082.0...v2.1083.0)

---
updated-dependencies:
- dependency-name: aws-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.5.0 to 10.6.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](TypeStrong/ts-node@v10.5.0...v10.6.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [zod](https://github.com/colinhacks/zod) from 3.12.0 to 3.12.1.
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Changelog](https://github.com/colinhacks/zod/blob/master/CHANGELOG.md)
- [Commits](https://github.com/colinhacks/zod/commits)

---
updated-dependencies:
- dependency-name: zod
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [multiparty](https://github.com/pillarjs/multiparty) from 4.2.2 to 4.2.3.
- [Release notes](https://github.com/pillarjs/multiparty/releases)
- [Changelog](https://github.com/pillarjs/multiparty/blob/master/HISTORY.md)
- [Commits](pillarjs/multiparty@4.2.2...4.2.3)

---
updated-dependencies:
- dependency-name: multiparty
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…e error to return new status code, update SettingsDto return (#3504)

* feat: add responseMode to FORM_SETTINGS_FIELD constant

this is used to decide what fields are returned by getSettings form model method.

* feat: add publicKey field to STORAGE_FORM_SETTINGS_FIELDS

this means this new field will be returned by getSettings in the server for storage mode forms

* feat: AdminFormDto now unions two Storage/EmailFormDto merged types

this is for allowing type narrowing to happen

* feat: add Send/VerifyUserContactOtpDto type for verify user otp routes

* feat(shared/utils/file-validation): export VALID_EXTENSIONS constant

* feat: update user route InvalidOtpError to return 404 instead of 401

React code clears localStorage whenever a 401 is returned, and 404 probably works fine for an invalid OTP response (in that the given OTP has not been found in the "correct OTP" pile)

* test: update InvalidOtpError tests to return 404 instead of 401
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.1083.0 to 2.1084.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.1083.0...v2.1084.0)

---
updated-dependencies:
- dependency-name: aws-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [zod](https://github.com/colinhacks/zod) from 3.12.0 to 3.13.2.
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Changelog](https://github.com/colinhacks/zod/blob/master/CHANGELOG.md)
- [Commits](colinhacks/zod@v3.12.0...v3.13.2)

---
updated-dependencies:
- dependency-name: zod
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
# Conflicts:
#	.eslintrc
#	.github/dependabot.yml
#	.github/workflows/ci-angularjs.yml
#	.travis.yml
#	CHANGELOG.md
#	docs/DEPLOYMENT_SETUP.md
#	package.json
#	shared/package.json
#	shared/types/field/attachmentField.ts
#	shared/types/field/index.ts
#	shared/types/field/tableField.ts
#	shared/types/form/form.ts
#	shared/types/submission.ts
#	shared/types/user.ts
#	shared/utils/nric-validation.ts
#	src/app/loaders/express/index.ts
#	src/app/models/__tests__/form.server.model.spec.ts
#	src/app/models/agency.server.model.ts
#	src/app/models/field/__tests__/emailField.spec.ts
#	src/app/models/field/common/textValidationOptionsSchema.ts
#	src/app/models/field/dateField.ts
#	src/app/models/field/emailField.ts
#	src/app/models/form.server.model.ts
#	src/app/modules/auth/auth.middlewares.ts
#	src/app/modules/auth/auth.routes.ts
#	src/app/modules/examples/__tests__/helpers/prepareTestData.ts
#	src/app/modules/examples/examples.types.ts
#	src/app/modules/feedback/__tests__/feedback.service.spec.ts
#	src/app/modules/feedback/feedback.service.ts
#	src/app/modules/form/__tests__/form.utils.spec.ts
#	src/app/modules/form/admin-form/__tests__/admin-form.controller.spec.ts
#	src/app/modules/form/admin-form/__tests__/admin-form.routes.spec.ts
#	src/app/modules/form/admin-form/__tests__/admin-form.service.spec.ts
#	src/app/modules/form/admin-form/__tests__/admin-form.utils.spec.ts
#	src/app/modules/form/admin-form/admin-form.controller.ts
#	src/app/modules/form/admin-form/admin-form.routes.ts
#	src/app/modules/form/admin-form/admin-form.service.ts
#	src/app/modules/form/admin-form/admin-form.utils.ts
#	src/app/modules/form/form.utils.ts
#	src/app/modules/form/public-form/__tests__/public-form.controller.spec.ts
#	src/app/modules/form/public-form/__tests__/public-form.service.spec.ts
#	src/app/modules/form/public-form/public-form.controller.ts
#	src/app/modules/form/public-form/public-form.service.ts
#	src/app/modules/frontend/frontend.controller.ts
#	src/app/modules/myinfo/myinfo.util.ts
#	src/app/modules/sgid/sgid.controller.ts
#	src/app/modules/sgid/sgid.types.ts
#	src/app/modules/sgid/sgid.util.ts
#	src/app/modules/spcp/spcp.util.ts
#	src/app/modules/submission/email-submission/ParsedResponsesObject.class.ts
#	src/app/modules/submission/email-submission/__tests__/email-submission.receiver.spec.ts
#	src/app/modules/submission/email-submission/__tests__/email-submission.util.spec.ts
#	src/app/modules/submission/email-submission/email-submission.controller.ts
#	src/app/modules/submission/email-submission/email-submission.util.ts
#	src/app/modules/submission/encrypt-submission/encrypt-submission.controller.ts
#	src/app/modules/submission/encrypt-submission/encrypt-submission.types.ts
#	src/app/modules/submission/submission.types.ts
#	src/app/modules/submission/submission.utils.ts
#	src/app/modules/user/user.controller.ts
#	src/app/modules/user/user.utils.ts
#	src/app/modules/verification/__tests__/verification.controller.spec.ts
#	src/app/modules/verification/verification.controller.ts
#	src/app/modules/verification/verification.model.ts
#	src/app/modules/verification/verification.service.ts
#	src/app/modules/verified-content/verified-content.service.ts
#	src/app/modules/verified-content/verified-content.types.ts
#	src/app/modules/webhook/webhook.utils.ts
#	src/app/routes/api/v3/admin/forms/__tests__/admin-forms.presign.routes.spec.ts
#	src/app/routes/api/v3/auth/auth.routes.ts
#	src/app/routes/api/v3/forms/__tests__/public-forms.verification.routes.spec.ts
#	src/app/services/mail/__tests__/mail.service.spec.ts
#	src/app/services/mail/mail.service.ts
#	src/app/services/sms/__tests__/sms.service.spec.ts
#	src/app/services/sms/__tests__/sms_count.server.model.spec.ts
#	src/app/services/sms/sms_count.server.model.ts
#	src/app/utils/field-validation/answerValidator.factory.ts
#	src/app/utils/field-validation/field-validation.guards.ts
#	src/app/utils/field-validation/index.ts
#	src/app/utils/field-validation/validators/__tests__/email-validation.spec.ts
#	src/app/utils/field-validation/validators/__tests__/mobile-num-validation.spec.ts
#	src/app/utils/field-validation/validators/__tests__/text-validator.spec.ts
#	src/app/utils/field-validation/validators/dateValidator.ts
#	src/app/utils/field-validation/validators/nricValidator.ts
#	src/app/utils/field-validation/validators/numberValidator.ts
#	src/app/utils/field-validation/validators/tableValidator.ts
#	src/app/utils/field-validation/validators/textValidator.ts
#	src/public/modules/forms/admin/controllers/edit-logic-modal.client.controller.js
#	src/public/modules/forms/admin/directives/edit-form.client.directive.js
#	src/public/modules/forms/base/directives/validate-nric.client.directive.js
#	src/public/modules/forms/helpers/process-decrypted-content.ts
#	src/public/modules/forms/helpers/response-factory.ts
#	src/public/modules/forms/services/spcp-session.client.factory.js
#	src/public/services/AdminSubmissionsService.ts
#	src/public/services/AdminViewFormService.ts
#	src/public/services/AnalyticsService.ts
#	src/public/services/AuthService.ts
#	src/public/services/BetaService.ts
#	src/public/services/BillingService.ts
#	src/public/services/CreateFormService.ts
#	src/public/services/EncryptionService.ts
#	src/public/services/ExamplesService.ts
#	src/public/services/FormFeedbackService.ts
#	src/public/services/PublicFormAuthService.ts
#	src/public/services/PublicFormService.ts
#	src/public/services/UpdateFormService.ts
#	src/public/services/UserService.ts
#	src/public/services/__tests__/AdminSubmissionsService.test.ts
#	src/public/services/__tests__/AdminViewFormService.test.ts
#	src/public/services/__tests__/BetaService.test.ts
#	src/public/services/__tests__/CreateFormService.test.ts
#	src/public/services/__tests__/PublicFormAuthService.test.ts
#	src/public/services/__tests__/PublicFormService.test.ts
#	src/public/services/__tests__/UpdateFormService.test.ts
#	src/public/utils/__tests__/submission.test.ts
#	src/shared/util/__tests__/logic.spec.ts
#	src/shared/util/logic.ts
#	src/types/agency.ts
#	src/types/api/billing.ts
#	src/types/api/core.ts
#	src/types/api/email_submission.ts
#	src/types/api/encrypt_submission.ts
#	src/types/api/form.ts
#	src/types/api/form_feedback.ts
#	src/types/api/index.ts
#	src/types/api/submission.ts
#	src/types/field/attachmentField.ts
#	src/types/field/baseField.ts
#	src/types/field/checkboxField.ts
#	src/types/field/dateField.ts
#	src/types/field/decimalField.ts
#	src/types/field/dropdownField.ts
#	src/types/field/emailField.ts
#	src/types/field/homeNoField.ts
#	src/types/field/imageField.ts
#	src/types/field/index.ts
#	src/types/field/longTextField.ts
#	src/types/field/mobileField.ts
#	src/types/field/myinfoField.ts
#	src/types/field/nricField.ts
#	src/types/field/numberField.ts
#	src/types/field/radioField.ts
#	src/types/field/ratingField.ts
#	src/types/field/sectionField.ts
#	src/types/field/shortTextField.ts
#	src/types/field/statementField.ts
#	src/types/field/tableField.ts
#	src/types/field/uenField.ts
#	src/types/field/yesNoField.ts
#	src/types/form.ts
#	src/types/form_feedback.ts
#	src/types/form_logic.ts
#	src/types/form_logo.ts
#	src/types/login.ts
#	src/types/response/index.ts
#	src/types/spcp.ts
#	src/types/submission.ts
#	src/types/user.ts
#	tests/unit/backend/helpers/generate-form-data.ts
#	tsconfig.json
@karrui
Copy link
Contributor Author

karrui commented Mar 3, 2022

Almost there; forgot about the docker-compose changes. Tracked in #3541. Will rebase and push when that is merged in

dependabot bot and others added 3 commits March 3, 2022 03:23
Bumps [zod](https://github.com/colinhacks/zod) from 3.12.1 to 3.13.3.
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Changelog](https://github.com/colinhacks/zod/blob/master/CHANGELOG.md)
- [Commits](https://github.com/colinhacks/zod/commits)

---
updated-dependencies:
- dependency-name: zod
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#3541)

* fix: revert replSet in local docker-compose

since we've rolled back to v5, this is unneeded and causes fresh builds to fail
First introduced in #3039

* chore(docker-compose): update mongo image from 4.0 to 4.2

keep consistent with the database version we are using in prod
@karrui karrui force-pushed the form-v2/merge-root-develop branch from e60fac9 to dec9663 Compare March 3, 2022 03:44
@karrui karrui marked this pull request as ready for review March 3, 2022 03:49
@karrui karrui requested review from timotheeg and mantariksh March 3, 2022 03:49
@karrui
Copy link
Contributor Author

karrui commented Mar 3, 2022

Finished syncing the server side changes introduced by form-v2/develop branch into develop, and now the changes here should be purely to sync develop with form-v2, barring some config changes such as tsconfig and package.json.

Copy link
Contributor

@timotheeg timotheeg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Karrui!

I went through the (horribly long) merge PR 😅 and I think it's good to go. Let's just merge and we deal whatever we need to in form-v2/develop after that (and hopefully there's nothing 🤞 !)

One disclaimer though: I did not read the changes to most of the test files.

I added some random comments as I was reading. This is more for my own notes. The comments need not be addressed for merge (I do welcome additional thoughts if you have though of course).

Ad discussed, large PRs are rather draining on devs, so till we are done, let's introduce a temporary process of merging develop into form-v2/develop after every release.

@@ -457,17 +480,17 @@ export class SpcpServiceClass {
* @return err(InvalidJwtError) if the jwt exists but the payload is invalid
*/
extractJwtPayloadFromRequest(
authType: AuthType.SP | AuthType.CP,
authType: FormAuthType.SP | FormAuthType.CP,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should declared a union for these, this inline definition appears in a bunch of places.

@@ -15,7 +18,7 @@ type NricValidatorConstructor = () => NricValidator
* format is correct.
*/
const nricValidator: NricValidator = (response) => {
return isNricValid(response.answer)
return isNricValid(response.answer) || isMFinSeriesValid(response.answer)
Copy link
Contributor

@timotheeg timotheeg Mar 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reckon isMFinSeriesValid() should actually be embedded in isNricValid()

// Transforms a number to a well formatted percentage to display
// Formats to integer precision
export const formatAsPercentage = (num: number): string => {
return `${Math.round(num * 100).toString()}%`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.toString() not needed

@@ -3,9 +3,9 @@ const { zipWith } = require('lodash')
angular.module('forms').service('Attachment', [Attachment])

function Attachment() {
this.sizes = ['1', '2', '3', '7', '10', '20']
this.sizes = ['1', '2', '3', '4', '7', '10', '20']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strange to have the sizes as strings 🤔

const DESTINATION_REGEX = /^\/([\w]+)\/?/

// Matches the MongoDB ObjectID hex format exactly (24 hex characters)
const DESTINATION_REGEX = /^\/([a-fA-F0-9]{24})\/?$/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

([a-fA-F0-9]{24}) is the form id pattern that is repeated in a bunch of places We could consider extracting it as a constant and use the Regexp constructor to compose the final pattern we want.

const formIdPattern = ([a-fA-F0-9]{24});
const DESTINATION_REGEX = new RegExp(`/^\\/${formIdPattern}\\/?$/`);

Might not be worth it though. It's hard to read. String litteral regex patterns are always a pita with having to escape backslashes 😢


try {
decodedQuery = encodedQuery
? `?${Buffer.from(encodedQuery, 'base64').toString('utf8')}`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there's a bit of minor duplication with myinfo controller that we could refactor.

@karrui karrui merged commit 537e2ec into form-v2/develop Mar 9, 2022
@karrui karrui deleted the form-v2/merge-root-develop branch March 9, 2022 07:46
@justynoh justynoh mentioned this pull request Oct 5, 2022
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.

8 participants