diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/ASM/DB.pm | 2 | ||||
| -rw-r--r-- | lib/ASM/DB/Result/User.pm | 38 |
2 files changed, 39 insertions, 1 deletions
diff --git a/lib/ASM/DB.pm b/lib/ASM/DB.pm index 768e6cb..84f323b 100644 --- a/lib/ASM/DB.pm +++ b/lib/ASM/DB.pm @@ -1,5 +1,5 @@ use utf8; -package ASM::DB 1; +package ASM::DB 2; use strict; use warnings; diff --git a/lib/ASM/DB/Result/User.pm b/lib/ASM/DB/Result/User.pm new file mode 100644 index 0000000..1a35c3a --- /dev/null +++ b/lib/ASM/DB/Result/User.pm @@ -0,0 +1,38 @@ +use utf8; +package ASM::DB::Result::User; + +use strict; +use warnings; + +use parent 'DBIx::Class::Core'; + +__PACKAGE__->load_components('InflateColumn::DateTime', 'PassphraseColumn'); +__PACKAGE__->table('users'); +__PACKAGE__->add_columns( + id => { + data_type => 'bigint', + is_auto_increment => 1, + is_nullable => 0 + }, + name => { + data_type => 'varchar', + size => 20, + is_nullable => 0, + }, + passphrase => { + data_type => 'text', + passphrase => 'rfc2307', + passphrase_class => 'BlowfishCrypt', + passphrase_args => { + cost => 13, + salt_random => 1, + }, + passphrase_check_method => 'check_passphrase', + is_nullable => 0, + }, +); + +__PACKAGE__->set_primary_key('id'); +__PACKAGE__->add_unique_constraint(uniq_user_name => ['name']); + +1; |
