Added new filter params for members API

* group_id ( operators : ==)
* group_slug ( operators : == , =@)

Change-Id: I1843760fb81ef69e14464350fb952854b11b6b28
This commit is contained in:
Sebastian Marcet 2017-06-06 13:33:02 -03:00
parent 39d7830b21
commit 000274ca6d
2 changed files with 15 additions and 0 deletions

View File

@ -83,6 +83,8 @@ final class OAuth2MembersApiController extends OAuth2ProtectedController
'first_name' => ['=@', '=='],
'last_name' => ['=@', '=='],
'email' => ['=@', '=='],
'group_slug' => ['=@', '=='],
'group_id' => ['=='],
));
}

View File

@ -16,6 +16,7 @@ use Doctrine\ORM\Tools\Pagination\Paginator;
use models\main\IMemberRepository;
use models\main\Member;
use repositories\SilverStripeDoctrineRepository;
use utils\DoctrineJoinFilterMapping;
use utils\Filter;
use utils\Order;
use utils\PagingInfo;
@ -62,6 +63,18 @@ final class DoctrineMemberRepository extends SilverStripeDoctrineRepository impl
'first_name' => 'm.first_name:json_string',
'last_name' => 'm.last_name:json_string',
'email' => ['m.email:json_string', 'm.second_email:json_string', 'm.third_email:json_string'],
'group_slug' => new DoctrineJoinFilterMapping
(
'm.groups',
'g',
"g.code :operator ':value'"
),
'group_id' => new DoctrineJoinFilterMapping
(
'm.groups',
'g',
"g.id :operator :value"
),
]);
}