package Podius::Component::User;

use base 'Podius::Component::Publishable';

use Podius::Property::Scalar;
use Podius::Property::Password;
use Podius::Property::Integer;
use Podius::Property::ComponentCollection;
use Podius::Property::VComponent;
use Podius::Property::ScalarTable;

sub get_own_property_types () {
	return [
		[ user_name        => 'Scalar' ],
		[ password         => 'Password' ],
		[ first_name       => 'Scalar' ],
		[ middle_name      => 'Scalar' ],
		[ last_name        => 'Scalar' ],
		[ email            => 'Scalar' ],
		[ phone            => 'Scalar' ],
		[ cellular         => 'Scalar' ],
		[ fax              => 'Scalar' ],
		[ addresses        => 'ComponentCollection', 'Address' ],
		[ shipping_address => 'VComponent', 'Address' ],
		[ billing_address  => 'VComponent', 'Address' ],
		[ billing_info     => 'ComponentCollection', 'BillingInfo' ],
		[ order_details    => 'ScalarTable', [ 'Product name', 'Color', 'Flavors', 'Quant', 'Price' ] ],
		[ affiliate_id     => 'Integer' ],
	];
}

1;