parent
1e41e2e50c
commit
498703fada
3 changed files with 192 additions and 2 deletions
@ -0,0 +1,165 @@ |
|||||||
|
use utf8; |
||||||
|
package MJB::DB::Result::Subscription; |
||||||
|
|
||||||
|
# Created by DBIx::Class::Schema::Loader |
||||||
|
# DO NOT MODIFY THE FIRST PART OF THIS FILE |
||||||
|
|
||||||
|
=head1 NAME |
||||||
|
|
||||||
|
MJB::DB::Result::Subscription |
||||||
|
|
||||||
|
=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<subscription> |
||||||
|
|
||||||
|
=cut |
||||||
|
|
||||||
|
__PACKAGE__->table("subscription"); |
||||||
|
|
||||||
|
=head1 ACCESSORS |
||||||
|
|
||||||
|
=head2 id |
||||||
|
|
||||||
|
data_type: 'integer' |
||||||
|
is_auto_increment: 1 |
||||||
|
is_nullable: 0 |
||||||
|
sequence: 'subscription_id_seq' |
||||||
|
|
||||||
|
=head2 person_id |
||||||
|
|
||||||
|
data_type: 'integer' |
||||||
|
is_foreign_key: 1 |
||||||
|
is_nullable: 0 |
||||||
|
|
||||||
|
=head2 stripe_customer_id |
||||||
|
|
||||||
|
data_type: 'text' |
||||||
|
is_nullable: 1 |
||||||
|
|
||||||
|
=head2 is_valid |
||||||
|
|
||||||
|
data_type: 'boolean' |
||||||
|
default_value: false |
||||||
|
is_nullable: 0 |
||||||
|
|
||||||
|
=head2 last_checked_at |
||||||
|
|
||||||
|
data_type: 'timestamp with time zone' |
||||||
|
default_value: current_timestamp |
||||||
|
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 => "subscription_id_seq", |
||||||
|
}, |
||||||
|
"person_id", |
||||||
|
{ data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, |
||||||
|
"stripe_customer_id", |
||||||
|
{ data_type => "text", is_nullable => 1 }, |
||||||
|
"is_valid", |
||||||
|
{ data_type => "boolean", default_value => \"false", is_nullable => 0 }, |
||||||
|
"last_checked_at", |
||||||
|
{ |
||||||
|
data_type => "timestamp with time zone", |
||||||
|
default_value => \"current_timestamp", |
||||||
|
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"); |
||||||
|
|
||||||
|
=head1 UNIQUE CONSTRAINTS |
||||||
|
|
||||||
|
=head2 C<subscription_person_id_key> |
||||||
|
|
||||||
|
=over 4 |
||||||
|
|
||||||
|
=item * L</person_id> |
||||||
|
|
||||||
|
=back |
||||||
|
|
||||||
|
=cut |
||||||
|
|
||||||
|
__PACKAGE__->add_unique_constraint("subscription_person_id_key", ["person_id"]); |
||||||
|
|
||||||
|
=head1 RELATIONS |
||||||
|
|
||||||
|
=head2 person |
||||||
|
|
||||||
|
Type: belongs_to |
||||||
|
|
||||||
|
Related object: L<MJB::DB::Result::Person> |
||||||
|
|
||||||
|
=cut |
||||||
|
|
||||||
|
__PACKAGE__->belongs_to( |
||||||
|
"person", |
||||||
|
"MJB::DB::Result::Person", |
||||||
|
{ id => "person_id" }, |
||||||
|
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" }, |
||||||
|
); |
||||||
|
|
||||||
|
|
||||||
|
# Created by DBIx::Class::Schema::Loader v0.07051 @ 2022-12-05 17:03:53 |
||||||
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:JCgARbPdOi4GeCGbqhLNow |
||||||
|
|
||||||
|
sub as_hashref { |
||||||
|
my ( $self ) = @_; |
||||||
|
|
||||||
|
return +{ |
||||||
|
id => $self->id, |
||||||
|
person_id => $self->person_id, |
||||||
|
stripe_customer_id => $self->stripe_customer_id, |
||||||
|
is_valid => $self->is_valid, |
||||||
|
last_checked_at => $self->last_checked_at->strftime( '%F %T' ), |
||||||
|
created_at => $self->created_at->strftime( '%F %T' ), |
||||||
|
}; |
||||||
|
} |
||||||
|
1; |
||||||
Loading…
Reference in new issue