package WoW::Armory::Class::Guild;
use strict;
use warnings;
use WoW::Armory::Class::Character;
use WoW::Armory::Class::Time;
########################################################################
package WoW::Armory::Class::Guild::News;
use base 'WoW::Armory::Class';
use constant FIELDS => [qw(character itemId timestamp type)];
use constant BLESSED_FIELDS =>
{
achievement => 'WoW::Armory::Class::Character::Feed::Achievement',
};
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild::Members::Character;
use base 'WoW::Armory::Class';
use constant FIELDS => [qw(
achievementPoints battlegroup class gender guild level name race realm
thumbnail
)];
use constant BLESSED_FIELDS =>
{
spec => 'WoW::Armory::Class::Character::Talents::Spec',
};
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild::Members;
use base 'WoW::Armory::Class';
use constant FIELDS => [qw(rank)];
use constant BLESSED_FIELDS =>
{
character => 'WoW::Armory::Class::Guild::Members::Character',
};
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild::Emblem;
use base 'WoW::Armory::Class';
use constant FIELDS => [qw(backgroundColor border borderColor icon iconColor)];
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild::Challenge::Realm;
use base 'WoW::Armory::Class';
use constant FIELDS => [qw(battlegroup locale name slug timezone)];
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild::Challenge::Map;
use base 'WoW::Armory::Class';
use constant FIELDS => [qw(hasChallengeMode id name slug)];
use constant BLESSED_FIELDS =>
{
bronzeCriteria => 'WoW::Armory::Class::Time',
goldCriteria => 'WoW::Armory::Class::Time',
silverCriteria => 'WoW::Armory::Class::Time',
};
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild::Challenge::Groups::Members;
use base 'WoW::Armory::Class';
use constant BLESSED_FIELDS =>
{
character => 'WoW::Armory::Class::Guild::Members::Character',
spec => 'WoW::Armory::Class::Character::Talents::Spec',
};
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild::Challenge::Groups;
use base 'WoW::Armory::Class';
use constant FIELDS => [qw(date faction isRecurring medal ranking)];
use constant BLESSED_FIELDS =>
{
guild => 'WoW::Armory::Class::Character::Guild',
time => 'WoW::Armory::Class::Time',
};
use constant LIST_FIELDS =>
{
members => 'WoW::Armory::Class::Guild::Challenge::Groups::Members',
};
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild::Challenge;
use base 'WoW::Armory::Class';
use constant BLESSED_FIELDS =>
{
map => 'WoW::Armory::Class::Guild::Challenge::Map',
realm => 'WoW::Armory::Class::Guild::Challenge::Realm',
};
use constant LIST_FIELDS =>
{
groups => 'WoW::Armory::Class::Guild::Challenge::Groups',
};
__PACKAGE__->mk_accessors;
########################################################################
package WoW::Armory::Class::Guild;
use base 'WoW::Armory::Class';
use constant FIELDS => [qw(
achievementPoints battlegroup lastModified level name realm side
)];
use constant BLESSED_FIELDS =>
{
achievements => 'WoW::Armory::Class::Character::Achievements',
emblem => 'WoW::Armory::Class::Guild::Emblem',
};
use constant LIST_FIELDS =>
{
challenge => 'WoW::Armory::Class::Guild::Challenge',
members => 'WoW::Armory::Class::Guild::Members',
news => 'WoW::Armory::Class::Guild::News',
};
__PACKAGE__->mk_accessors;
1;