diff --git a/better-dating-backend/src/main/kotlin/ua/betterdating/backend/configuration/security.kt b/better-dating-backend/src/main/kotlin/ua/betterdating/backend/configuration/security.kt index 6218fdc..ff919df 100644 --- a/better-dating-backend/src/main/kotlin/ua/betterdating/backend/configuration/security.kt +++ b/better-dating-backend/src/main/kotlin/ua/betterdating/backend/configuration/security.kt @@ -132,6 +132,9 @@ fun securityConfig(emailRepository: EmailRepository, roleRepository: UserRoleRep } authorizeExchange { + // [internal] Health + authorize("/actuator/health", permitAll) + // Registration & Email verification / triggering new verification / contact authorize(pathMatchers(HttpMethod.POST, "/api/user/profile"), permitAll) authorize("/api/user/email/**", permitAll) diff --git a/better-dating-backend/src/test/kotlin/ua/betterdating/backend/BackendApplicationTests.kt b/better-dating-backend/src/test/kotlin/ua/betterdating/backend/BackendApplicationTests.kt index 369b39b..a2d3bc9 100755 --- a/better-dating-backend/src/test/kotlin/ua/betterdating/backend/BackendApplicationTests.kt +++ b/better-dating-backend/src/test/kotlin/ua/betterdating/backend/BackendApplicationTests.kt @@ -65,7 +65,7 @@ class BackendApplicationTests { private fun createProfileRequest(email: String): CreateProfileRequest { return CreateProfileRequest( - acceptTerms = true, email = email, gender = Gender.male, + acceptTerms = true, email = email, gender = Gender.male, nickname = "skivol", birthday = LocalDate.now().minusYears(21), height = 180f, weight = 70f, physicalExercise = Recurrence.everyDay, smoking = Recurrence.didBeforeNotGoingInFuture, alcohol = Recurrence.didBeforeNotGoingInFuture, computerGames = Recurrence.coupleTimesInYearOrMoreSeldom, diff --git a/better-dating-frontend/src/components/Messages.ts b/better-dating-frontend/src/components/Messages.ts index b007d86..c47de00 100755 --- a/better-dating-frontend/src/components/Messages.ts +++ b/better-dating-frontend/src/components/Messages.ts @@ -67,7 +67,7 @@ export const login = 'Вход'; export const enterUsingEmail = 'Вход через Почту'; export const enterUsingFacebook = 'Вход через Facebook'; export const enterUsingVk = 'Вход через ВКонтакте'; -export const willBeHardButFun = 'Будет, вероятно, трудно, но интересно, полезно и по делу =) (16 обязательных и 2 добровольных на первом этапе поля). !!Чем раньше на это обратить внимание, тем легче улучшить ситуацию!!'; +export const willBeHardButFun = 'Будет, вероятно, трудно, но интересно, полезно и по делу =) (16 обязательных и 2 добровольных на первом этапе поля). Смелее! Чем раньше на последующие вопросы обратить внимание, тем легче улучшить ситуацию ;)'; export const progressIsSaved = 'Прогресс заполнения формы регистрации сохраняется в браузере. Используйте кнопку "Очистить" для удаления введенных данных.'; export const userAgreement = 'Пользовательское соглашение'; diff --git a/better-dating-frontend/src/components/RegisterAccountForm.tsx b/better-dating-frontend/src/components/RegisterAccountForm.tsx index d768071..105bb73 100755 --- a/better-dating-frontend/src/components/RegisterAccountForm.tsx +++ b/better-dating-frontend/src/components/RegisterAccountForm.tsx @@ -2,7 +2,6 @@ import * as React from "react"; import { useDispatch } from 'react-redux'; import { useRouter } from 'next/router' -import { FormApi } from 'final-form'; import { Form, FormSpy } from 'react-final-form'; import { createStyles, makeStyles, Theme } from '@material-ui/core/styles'; @@ -38,6 +37,7 @@ const useStyles = makeStyles((theme: Theme) => const storage = storageCreator("registration-data"); +const currentTime = () => new Date().getTime(); export const RegisterAccountForm = () => { const classes = useStyles(); const router = useRouter(); @@ -49,22 +49,24 @@ export const RegisterAccountForm = () => { }; const dispatch = useDispatch(); const [submitting, setSubmitting] = React.useState(false); - const reset = (form: FormApi) => { + const [formKey, setFormKey] = React.useState(currentTime()); + const reset = () => { storage.clear(); - form.reset(); + setFormKey(currentTime()); // re-create form completely to avoid validation errors after reset }; - const onSubmit = (values: RegistrationFormData, form: FormApi) => { + const onSubmit = (values: RegistrationFormData) => { setSubmitting(true); dispatch(actions.createAccount(values)) - .then(() => reset(form)) + .then(() => reset()) .finally(() => setSubmitting(false)); }; return ( // validateOnBlur doesn't seem to properly work (for example, email field)...
{ + render={({ handleSubmit }) => { const storedData = storage.load(); const hasData = storedData.acceptTerms || storedData.personalHealthEvaluation !== -1 || Object.keys(storedData).length > 2; @@ -128,7 +130,7 @@ export const RegisterAccountForm = () => { submitting={submitting} /> {hasData && (
- reset(form)}> + reset()}> {Messages.clear} diff --git a/better-dating-frontend/src/components/user-agreement/UserAgreement.md b/better-dating-frontend/src/components/user-agreement/UserAgreement.md index 55beda8..7a6fa85 100755 --- a/better-dating-frontend/src/components/user-agreement/UserAgreement.md +++ b/better-dating-frontend/src/components/user-agreement/UserAgreement.md @@ -3,7 +3,7 @@ ### Термины и определения: 1. Сайт / система / программное обеспечение - сайт размещенный в доменах "смотрины.укр" и "смотрины.рус" и их поддоменах; 2. Пользователь - дееспособное физическое лицо (мужского или женского пола), старше 12 лет, присоединившееся к настоящему Соглашению в собственном интересе. -3. Сервис — комплекс услуг и лицензия, предоставляемые Пользователю с использованием Сайта. +3. Сервис — комплекс услуг, предоставляемых Пользователю посредством Сайта. 4. Автор / создатель системы - автор(ы) Сайта, обладатель/и лицензии, предоставляющие Пользователю Сервис посредством Сайта. Договор предполагает определенные качества и поведение сторон изложенные далее. @@ -34,7 +34,7 @@ 3. _Стремление к наибольшей эффективности_ в достижении целей Пользователей. 4. _Прозрачность_ в использовании и обработке информации Пользователей. 5. Следование принципу __доверяй, но проверяй__. -6. Возможность _полноценного использования системы_ без обязательной оплаты. +6. Всегда предоставлять возможность _полноценного использования системы_ без обязательной оплаты. ### Для кого эта Система 1. Если человек обладает крепким интеллектуальным и физическим здоровьем (и знает почему так получилось), живет счастливой супружеской жизнью, имеет большую семью в которой дети здоровы, красивы и добросовестны, то данная система врядли сможет чем-то помочь, напротив, Автор с радостью бы перенял опыт такого Человека и постарался бы донести его другим. Поэтому такой Человек мог бы всё-равно зарегистрироваться и делиться своим опытом с другими участниками по мере возможности. @@ -45,7 +45,7 @@ 2. На втором этапе (встречи с другими Пользователями) Пользователь предоставляет дополнительную информацию о себе (цель встреч, город проживания, родной/дополнительный язык(и), тип внешности, наличие семьи/детей, интересы и прочее). После этого Система учитывает анкету Пользователя во время подбора пар для встреч. 3. Продолжение следует... -Регистрация и использование функций сайта подразумевает согласие Пользователя на обработку системой его/её персональных данных в рамках выполнения её целей и таким образом согласие с [Политикой Конфиденциальности](/политика-конфиденциальности). Адрес электронной почты используется в качестве ключа простой электронной подписи для придания юридической силы всем действиям сторон и упрощения возможного документооборота. +Регистрация и использование функций сайта подразумевает согласие Пользователя на обработку системой его/её персональных данных в рамках выполнения целей Системы и таким образом согласие с [Политикой Конфиденциальности](/политика-конфиденциальности). Адрес электронной почты используется в качестве ключа простой электронной подписи для придания юридической силы всем действиям сторон и упрощения возможного документооборота. Программное обеспечение предоставляется "Как есть", без каких-либо явных или подразумеваемых гарантий. diff --git a/docs/tasks.md b/docs/tasks.md index a4a82c8..35c8ee2 100755 --- a/docs/tasks.md +++ b/docs/tasks.md @@ -1,5 +1,3 @@ -[сделать репозиторий публичным] -[проверить отсутствие токенов] * Обновить сайт * Обновить настройки приложения в Facebook & Vk * Зарегистрироваться, добавить себе роль админа @@ -78,7 +76,7 @@ * analytics/stats (https://github.com/GoogleChrome/web-vitals) * checkout @zeit/next-bundle-analyzer * generate sitemap (for example, https://dev.to/embiem/auto-generate-sitemapxml-in-nextjs-2nh1) -* подумать насчет рекламы (только нужно правильно сформулировать и выделить из потока "продажных" реклам... есть сомнения, смотрит/слушает их кто-либо) +* подумать насчет рекламы сайта (только нужно правильно сформулировать и выделить из потока "продажных" реклам... есть сомнения, смотрит/слушает их кто-либо) # On leisure * древний/прописной шрифт для названия сайта