use utf8; package FixMyStreet::DB::Result::Session; # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; __PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn"); __PACKAGE__->table("sessions"); __PACKAGE__->add_columns( "id", { data_type => "char", is_nullable => 0, size => 72 }, "session_data", { data_type => "text", is_nullable => 1 }, "expires", { data_type => "integer", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("id"); # Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:MVmCn4gLQWXTDIIaDHiVmA use Storable; use MIME::Base64; sub id_code { my $self = shift; my $id = $self->id; $id =~ s/^session://; $id =~ s/\s+$//; return $id; } sub user { my $self = shift; return unless $self->session_data; my $data = Storable::thaw(MIME::Base64::decode($self->session_data)); return unless $data->{__user}; my $user = $self->result_source->schema->resultset("User")->find($data->{__user}{id}); return $user; } 1;