Files
formbricks-formbricks/turbo.json
tyjkerr a35d573884 feat: add single use survey links (#742)
* add uniqueResponseId to link survey

* add uniqueResponseId to survey response

* add singUseId to database and link survey

* add singleUseId to api

* add single use option in survey response options

* add single use to getSurvey

* add getResponseBySingleUseId

* add ZSurveySingleUse schema to survey schema

* add logic to check if link with suid has response

* pass singleUseId as props, revert SWR changes

* generation of single-use url in LinkSurveyModal

* add singleUseId to SingleResponseCard

* update SurveyInactive for invalid link

* add suId to ZResponse schema

* fix typo in SurveyInactive

* update ResponseOptionCard

* add suId to response select

* add default message for SurveyLinkUsed

* update logic to render SurveyLinkUsed

* add comment for suId in prisma schema

* fix types

* refresh server component on save survey

* update logic

* fix build errors

* fix prisma schema

* add db migration

* update wording

* add singleUseId to localstorage

* fix survey link used over thank you

* add suid to people responses

* fix preview and copy link on surveys page.

* update text and icon for link survey modal

* check survey not finished before setting question

* update show surveylink used logic

* add zodtype to prisma

* fix logic to render last question answered/stored

* add better comments

* update default message for single use surveys

* add LinkSingleUseSurveyModal

* add guard before getting response with suid

* fix build error

* add default message for link used page

* add key and group imports

* add suId encryption and validation

* make survey url encryption optional

* fix build errors

* move singleUseId to server side in surveyList

* added validation to getResponseBySingleUseId service

* restored env var names

* import FORMBRICKS_ENCRYPTION_KEY from constants

* check if encryption environment variable is set, add length validation for env variable

---------

Co-authored-by: Ty Kerr <tykerr@Tys-MacBook-Pro.local>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
2023-10-03 18:26:13 +02:00

152 lines
3.7 KiB
JSON

{
"$schema": "https://turborepo.org/schema.json",
"pipeline": {
"@formbricks/database#build": {
"cache": false,
"dependsOn": ["post-install"]
},
"@formbricks/web#go": {
"cache": false,
"persistent": true,
"dependsOn": ["@formbricks/database#db:setup", "@formbricks/js#build"]
},
"@formbricks/demo#go": {
"cache": false,
"persistent": true,
"dependsOn": ["@formbricks/js#build"]
},
"@formbricks/api#build": {
"outputs": ["dist/**"],
"dependsOn": ["^build"]
},
"@formbricks/js#build": {
"outputs": ["dist/**"],
"dependsOn": ["^build"]
},
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**"],
"env": [
"CRON_SECRET",
"DEBUG",
"PRISMA_GENERATE_DATAPROXY",
"GITHUB_ID",
"GITHUB_SECRET",
"GOOGLE_CLIENT_ID",
"GOOGLE_CLIENT_SECRET",
"GOOGLE_SHEETS_CLIENT_ID",
"GOOGLE_SHEETS_CLIENT_SECRET",
"GOOGLE_SHEETS_REDIRECT_URL",
"HEROKU_APP_NAME",
"INSTANCE_ID",
"INTERNAL_SECRET",
"MAIL_FROM",
"EMAIL_VERIFICATION_DISABLED",
"GOOGLE_AUTH_ENABLED",
"GITHUB_AUTH_ENABLED",
"IS_FORMBRICKS_CLOUD",
"PASSWORD_RESET_DISABLED",
"PRIVACY_URL",
"NEXT_PUBLIC_SENTRY_DSN",
"INVITE_DISABLED",
"SIGNUP_DISABLED",
"NEXT_PUBLIC_STRIPE_PRICING_TABLE_ID",
"TERMS_URL",
"NEXTAUTH_SECRET",
"NEXTAUTH_URL",
"SMTP_HOST",
"SMTP_PASSWORD",
"SMTP_PORT",
"SMTP_SECURE_ENABLED",
"SMTP_USER",
"NEXT_PUBLIC_DOCSEARCH_APP_ID",
"NEXT_PUBLIC_DOCSEARCH_API_KEY",
"NEXT_PUBLIC_DOCSEARCH_INDEX_NAME",
"NEXT_PUBLIC_FORMBRICKS_API_HOST",
"NEXT_PUBLIC_FORMBRICKS_ENVIRONMENT_ID",
"NEXT_PUBLIC_FORMBRICKS_FORM_ID",
"NEXT_PUBLIC_FORMBRICKS_FEEDBACK_FORM_ID",
"NEXT_PUBLIC_FORMBRICKS_FEEDBACK_CUSTOM_FORM_ID",
"NEXT_PUBLIC_FORMBRICKS_ONBOARDING_SURVEY_ID",
"NEXT_PUBLIC_FORMBRICKS_PMF_FORM_ID",
"NEXT_PUBLIC_FORMBRICKS_URL",
"FORMBRICKS_ENCRYPTION_KEY",
"IMPRINT_URL",
"NEXT_PUBLIC_SENTRY_DSN",
"SURVEY_BASE_URL",
"NODE_ENV",
"NEXT_PUBLIC_POSTHOG_API_HOST",
"NEXT_PUBLIC_POSTHOG_API_KEY",
"NEXT_PUBLIC_FORMBRICKS_COM_API_HOST",
"NEXT_PUBLIC_FORMBRICKS_COM_ENVIRONMENT_ID",
"NEXT_PUBLIC_FORMBRICKS_COM_DOCS_FEEDBACK_SURVEY_ID",
"WEBAPP_URL",
"SENTRY_DSN",
"STRAPI_API_KEY",
"STRIPE_SECRET_KEY",
"STRIPE_WEBHOOK_SECRET",
"TELEMETRY_DISABLED",
"VERCEL_URL",
"WEBAPP_URL"
]
},
"post-install": {
"cache": false,
"dependsOn": [],
"outputs": [],
"inputs": ["./schema.prisma"],
"env": ["PRISMA_GENERATE_DATAPROXY"]
},
"db:setup": {
"cache": false,
"outputs": []
},
"db:down": {
"cache": false,
"outputs": []
},
"go": {
"persistent": true,
"cache": false
},
"db:migrate:dev": {
"outputs": []
},
"db:migrate:deploy": {
"outputs": []
},
"db:migrate:vercel": {
"env": ["MIGRATE_DATABASE_URL", "DATABASE_URL"],
"outputs": []
},
"db:push": {
"outputs": []
},
"db:seed": {
"outputs": []
},
"db:start": {
"cache": false
},
"dev": {
"cache": false,
"persistent": true
},
"start": {
"outputs": []
},
"test": {
"outputs": []
},
"generate": {
"dependsOn": ["^generate"]
},
"lint": {
"outputs": []
},
"clean": {
"outputs": []
}
}
}