57 lines
1.6 KiB
Perl
57 lines
1.6 KiB
Perl
# vim:set sw=4 ts=4 sts=4 ft=perl expandtab:
|
|
package LufiDB;
|
|
use Mojolicious;
|
|
use FindBin qw($Bin);
|
|
use File::Spec::Functions;
|
|
|
|
BEGIN {
|
|
my $m = Mojolicious->new;
|
|
our $config = $m->plugin('Config' =>
|
|
{
|
|
file => catfile($Bin, '..' ,'lufi.conf'),
|
|
default => {
|
|
db_path => 'lufi.db'
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
# Create database
|
|
use ORLite {
|
|
file => $config->{db_path},
|
|
unicode => 1,
|
|
create => sub {
|
|
my $dbh = shift;
|
|
$dbh->do(
|
|
'CREATE TABLE files (
|
|
short TEXT PRIMARY KEY,
|
|
deleted INTEGER,
|
|
mediatype TEXT,
|
|
filename TEXT,
|
|
filesize INTEGER,
|
|
counter INTEGER,
|
|
delete_at_first_view INTEGER,
|
|
delete_at_day INTEGER,
|
|
created_at INTEGER,
|
|
created_by TEXT,
|
|
last_access_at INTEGER,
|
|
mod_token TEXT,
|
|
nbslices INTEGER,
|
|
complete INTEGER)'
|
|
);
|
|
$dbh->do(
|
|
'CREATE TABLE slices (
|
|
short TEXT,
|
|
j INTEGER,
|
|
path TEXT,
|
|
FOREIGN KEY (short) REFERENCES files(short))'
|
|
);
|
|
$dbh->do(
|
|
'CREATE INDEX slices_idx ON slices(short)'
|
|
);
|
|
return 1;
|
|
}
|
|
};
|
|
|
|
1;
|