The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

# ABSTRACT: DAO request - delete relationships
use Moose;
'PONAPI::DAO::Request::Role::HasDataBulk',
'PONAPI::DAO::Request::Role::HasDataMethods',
'PONAPI::DAO::Request::Role::HasID',
'PONAPI::DAO::Request::Role::HasRelationshipType';
sub check_data_type_match { 1 } # to avoid code duplications in HasDataMethods
sub execute {
my $self = shift;
if ( $self->is_valid ) {
my @ret = $self->repository->delete_relationships( %{ $self } );
$self->_add_success_meta(@ret)
if $self->_verify_update_response(@ret);
}
return $self->response();
}
sub _validate_rel_type {
my $self = shift;
my $type = $self->type;
my $rel_type = $self->rel_type;
super(@_);
if ( !$self->repository->has_one_to_many_relationship( $type, $rel_type ) ) {
$self->_bad_request( "Types `$type` and `$rel_type` are one-to-one" );
}
}
__PACKAGE__->meta->make_immutable;
no Moose; 1;
__END__
=pod
=encoding UTF-8
=head1 NAME
PONAPI::DAO::Request::DeleteRelationships - DAO request - delete relationships
=head1 VERSION
version 0.001006
=head1 AUTHORS
=over 4
=item *
Mickey Nasriachi <mickey@cpan.org>
=item *
Stevan Little <stevan@cpan.org>
=item *
Brian Fraser <hugmeir@cpan.org>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Mickey Nasriachi, Stevan Little, Brian Fraser.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut