Skip to content

Instantly share code, notes, and snippets.

@jjn1056
Last active May 27, 2022 20:21
Show Gist options
  • Save jjn1056/655625aff3a188fc8bfb23621b31de40 to your computer and use it in GitHub Desktop.
Save jjn1056/655625aff3a188fc8bfb23621b31de40 to your computer and use it in GitHub Desktop.
package Local::MyApp::Model::User;
use Moose;
use Valiant::Params -types;
has 'first_name' => (is=>'ro', required=>1, param=>1);
has 'last_name' => (is=>'ro', required=>1, param=>1);
has 'profile' => (is=>'ro', required=>1, param=>{type=>'::Profile'});
sub register_type {
my ($class) = @_;
return User => sub {
return $class->new(@_);
};
}
package Local::MyApp::Model::User;
use Moose;
use Valiant::OpenAPI;
has 'first_name' => (is=>'ro', required=>1);
has 'last_name' => (is=>'ro', required=>1);
has 'profile' => (is=>'ro', required=>1);
api_property first_name => (required=>1, type=>Str, min_length=>2, max_lenth=14);
api_property last_name => (required=>1, type=>Str, min_length=>2, max_lenth=24);
api_property profile => (required=>1, model=>'Profile');
@jjn1056
Copy link
Author

jjn1056 commented Apr 18, 2022

package Local::MyApp::UserRequest;

use Moo;
use Valiant::RequestParameters;

has 'first_name' => (is=>'ro', required=>1);
has 'last_name' => (is=>'ro', required=>1);
has 'profile' => (is=>'ro', required=>1);
has 'credit_cards' => (is=>'ro', required=>1);

form_data first_name => +{},
          last_name => {},
          profile => {type=>'ProfileRequest'},
          credit_cards => {type=>'[CreditCardRequest]';


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment