Move hosted servers and domains to internal config.

master
Kaitlyn Parkhurst 3 years ago
parent a98a5c3583
commit cdfa3419cc
  1. 15
      DB/etc/schema.sql
  2. 118
      DB/lib/MJB/DB/Result/HostedDomain.pm
  3. 96
      DB/lib/MJB/DB/Result/Server.pm

@ -102,3 +102,18 @@ CREATE TABLE build (
created_at timestamptz not null default current_timestamp
);
-- The domains that a user can host their blog under.
CREATE TABLE hosted_domain (
id serial PRIMARY KEY,
name text not null,
letsencrypt_challenge text not null default 'http', -- http or dns
letsencrypt_dns_auth json not null default '{}',
created_at timestamptz not null default current_timestamp
);
-- Servers that we will deploy the blogs to.
CREATE TABLE servers (
id serial PRIMARY KEY,
hostname text not null,
created_at timestamptz not null default current_timestamp
);

@ -0,0 +1,118 @@
use utf8;
package MJB::DB::Result::HostedDomain;
# Created by DBIx::Class::Schema::Loader
# DO NOT MODIFY THE FIRST PART OF THIS FILE
=head1 NAME
MJB::DB::Result::HostedDomain
=cut
use strict;
use warnings;
use base 'DBIx::Class::Core';
=head1 COMPONENTS LOADED
=over 4
=item * L<DBIx::Class::InflateColumn::DateTime>
=item * L<DBIx::Class::InflateColumn::Serializer>
=back
=cut
__PACKAGE__->load_components("InflateColumn::DateTime", "InflateColumn::Serializer");
=head1 TABLE: C<hosted_domain>
=cut
__PACKAGE__->table("hosted_domain");
=head1 ACCESSORS
=head2 id
data_type: 'integer'
is_auto_increment: 1
is_nullable: 0
sequence: 'hosted_domain_id_seq'
=head2 name
data_type: 'text'
is_nullable: 0
=head2 letsencrypt_challenge
data_type: 'text'
default_value: 'http'
is_nullable: 0
=head2 letsencrypt_dns_auth
data_type: 'json'
default_value: '{}'
is_nullable: 0
serializer_class: 'JSON'
=head2 created_at
data_type: 'timestamp with time zone'
default_value: current_timestamp
is_nullable: 0
=cut
__PACKAGE__->add_columns(
"id",
{
data_type => "integer",
is_auto_increment => 1,
is_nullable => 0,
sequence => "hosted_domain_id_seq",
},
"name",
{ data_type => "text", is_nullable => 0 },
"letsencrypt_challenge",
{ data_type => "text", default_value => "http", is_nullable => 0 },
"letsencrypt_dns_auth",
{
data_type => "json",
default_value => "{}",
is_nullable => 0,
serializer_class => "JSON",
},
"created_at",
{
data_type => "timestamp with time zone",
default_value => \"current_timestamp",
is_nullable => 0,
},
);
=head1 PRIMARY KEY
=over 4
=item * L</id>
=back
=cut
__PACKAGE__->set_primary_key("id");
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-11-04 18:27:03
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Jn80IGZYKR1o1cMoeUGPYQ
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;

@ -0,0 +1,96 @@
use utf8;
package MJB::DB::Result::Server;
# Created by DBIx::Class::Schema::Loader
# DO NOT MODIFY THE FIRST PART OF THIS FILE
=head1 NAME
MJB::DB::Result::Server
=cut
use strict;
use warnings;
use base 'DBIx::Class::Core';
=head1 COMPONENTS LOADED
=over 4
=item * L<DBIx::Class::InflateColumn::DateTime>
=item * L<DBIx::Class::InflateColumn::Serializer>
=back
=cut
__PACKAGE__->load_components("InflateColumn::DateTime", "InflateColumn::Serializer");
=head1 TABLE: C<servers>
=cut
__PACKAGE__->table("servers");
=head1 ACCESSORS
=head2 id
data_type: 'integer'
is_auto_increment: 1
is_nullable: 0
sequence: 'servers_id_seq'
=head2 hostname
data_type: 'text'
is_nullable: 0
=head2 created_at
data_type: 'timestamp with time zone'
default_value: current_timestamp
is_nullable: 0
=cut
__PACKAGE__->add_columns(
"id",
{
data_type => "integer",
is_auto_increment => 1,
is_nullable => 0,
sequence => "servers_id_seq",
},
"hostname",
{ data_type => "text", is_nullable => 0 },
"created_at",
{
data_type => "timestamp with time zone",
default_value => \"current_timestamp",
is_nullable => 0,
},
);
=head1 PRIMARY KEY
=over 4
=item * L</id>
=back
=cut
__PACKAGE__->set_primary_key("id");
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-11-04 18:27:03
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6RiN3g03SNXpBYy1y6rQbA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
Loading…
Cancel
Save