use strict; use warnings FATAL => 'all'; package Apache::SWIT::Security::DB::User; use base 'Apache::SWIT::DB::Base'; sub swit_startup { my $class = shift; $class->set_up_table('users', { ColumnGroup => 'Essential' }); $class->columns(TEMP => qw(role_id)); } __PACKAGE__->set_fetch_sql('role_ids', <set_sql('all_with_roles', <[0] } @{ shift()->fetch_role_ids }; } sub add_role_id { my ($self, $role_id) = @_; $self->db_Main->do('INSERT INTO user_roles (user_id, role_id) VALUES (?, ?)', undef, $self->id, $role_id); } sub delete_role_id { my ($self, $role_id) = @_; $self->db_Main->do('DELETE FROM user_roles WHERE user_id = ? and role_id = ?', undef, $self->id, $role_id); } 1;