Skip to content

Commit 62e6751

Browse files
committed
profile_creation up
1 parent b7e4cf7 commit 62e6751

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

app/components/profile_creation/contract/create.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,28 @@ class ProfileCreation::Contract::Create < Dry::Validation::Contract
66
required(:locale).filled(:string, included_in?: %w[pl en])
77
required(:first_name).filled(:string)
88
required(:last_name).filled(:string)
9+
required(:email).filled(:string, format?: URI::MailTo::EMAIL_REGEXP)
10+
required(:gender).filled(:string, included_in?: %w[male female])
11+
required(:birth_place).filled(:string)
12+
required(:birth_date).filled(:date)
13+
required(:city).filled(:string)
14+
required(:postal_code).filled(:string)
15+
required(:main_address).filled(:string)
16+
optional(:optional_address).filled(:string)
17+
required(:phone).filled(:string)
18+
required(:acomplished_courses).filled(:array).each(:string).value(included_in?: %w[basic_kw basic basic_without_second second second_winter cave cave_kw ski list blank instructors other_club])
19+
required(:recommended_by).filled(:array).each(:string).value(included_in?: %w[google facebook friends festival poster course])
20+
required(:sections).filled(:array).each(:string).value(included_in?: %w[snw sww stj gtw kts])
21+
required(:positions).filled(:array).each(:string).value(included_in?: %w[candidate regular honorable_kw honorable_pza management senior instructor canceled stj released retired])
22+
required(:photo).filled(:string)
23+
required(:course_cert).filled(:string)
24+
required(:plastic).filled(:bool)
25+
required(:main_discussion_group).filled(:bool)
26+
required(:terms_of_service).value(:true?)
927
end
1028
end
29+
30+
rule(profile: :email) do
31+
key.failure(I18n.t('errors.email.taken')) if Db::Profile.exists?(email: value)
32+
end
1133
end

lib/locales/dry-validation/en.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
en:
2+
dry_validation:
3+
errors:
4+
true?: "must be true"

lib/locales/dry-validation/pl.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
pl:
2+
dry_validation:
3+
errors:
4+
true?: "musi być prawdą"

0 commit comments

Comments
 (0)