Source code for bungieapi.generated.clients.fireteam

# generated by update to not change manually
import typing as t

from bungieapi.base import BaseClient
from bungieapi.forge import forge
from bungieapi.generated.components.responses import (
    SearchResultOfFireteamClientResponse,
    SearchResultOfFireteamSummaryClientResponse,
    int32ClientResponse,
)
from bungieapi.generated.components.responses.fireteam import FireteamClientResponse
from bungieapi.generated.components.schemas.fireteam import (
    FireteamDateRange,
    FireteamPlatform,
    FireteamPublicSearchOption,
    FireteamSlotSearch,
)


[docs]class Client(BaseClient):
[docs] async def get_active_private_clan_fireteam_count( self, group_id: t.Optional[int] = None, ) -> int32ClientResponse: """Gets a count of all active non-public fireteams for the specified clan. Maximum value returned is 25. Parameters: group_id: The group id of the clan. """ query = None result = await self.get( path=f"/Fireteam/Clan/{group_id}/ActiveCount/", query=query, ) return forge(int32ClientResponse, result)
[docs] async def get_available_clan_fireteams( self, activity_type: t.Optional[int] = None, date_range: t.Optional["FireteamDateRange"] = None, group_id: t.Optional[int] = None, lang_filter: t.Optional[str] = None, page: t.Optional[int] = None, platform: t.Optional["FireteamPlatform"] = None, public_only: t.Optional["FireteamPublicSearchOption"] = None, slot_filter: t.Optional["FireteamSlotSearch"] = None, ) -> SearchResultOfFireteamSummaryClientResponse: """Gets a listing of all of this clan's fireteams that are have available slots. Caller is not checked for join criteria so caching is maximized. Parameters: activity_type: The activity type to filter by. date_range: The date range to grab available fireteams. group_id: The group id of the clan. lang_filter: An optional language filter. page: Zero based page platform: The platform filter. public_only: Determines public/private filtering. slot_filter: Filters based on available slots """ query = {"langFilter": lang_filter} result = await self.get( path=f"/Fireteam/Clan/{group_id}/Available/{platform}/{activity_type}/{date_range}/{slot_filter}/{public_only}/{page}/", query=query, ) return forge(SearchResultOfFireteamSummaryClientResponse, result)
[docs] async def search_public_available_clan_fireteams( self, activity_type: t.Optional[int] = None, date_range: t.Optional["FireteamDateRange"] = None, lang_filter: t.Optional[str] = None, page: t.Optional[int] = None, platform: t.Optional["FireteamPlatform"] = None, slot_filter: t.Optional["FireteamSlotSearch"] = None, ) -> SearchResultOfFireteamSummaryClientResponse: """Gets a listing of all public fireteams starting now with open slots. Caller is not checked for join criteria so caching is maximized. Parameters: activity_type: The activity type to filter by. date_range: The date range to grab available fireteams. lang_filter: An optional language filter. page: Zero based page platform: The platform filter. slot_filter: Filters based on available slots """ query = {"langFilter": lang_filter} result = await self.get( path=f"/Fireteam/Search/Available/{platform}/{activity_type}/{date_range}/{slot_filter}/{page}/", query=query, ) return forge(SearchResultOfFireteamSummaryClientResponse, result)
[docs] async def get_my_clan_fireteams( self, group_filter: t.Optional[bool] = None, group_id: t.Optional[int] = None, include_closed: t.Optional[bool] = None, lang_filter: t.Optional[str] = None, page: t.Optional[int] = None, platform: t.Optional["FireteamPlatform"] = None, ) -> SearchResultOfFireteamClientResponse: """Gets a listing of all fireteams that caller is an applicant, a member, or an alternate of. Parameters: group_filter: If true, filter by clan. Otherwise, ignore the clan and show all of the user's fireteams. group_id: The group id of the clan. (This parameter is ignored unless the optional query parameter groupFilter is true). include_closed: If true, return fireteams that have been closed. lang_filter: An optional language filter. page: Deprecated parameter, ignored. platform: The platform filter. """ query = {"groupFilter": group_filter, "langFilter": lang_filter} result = await self.get( path=f"/Fireteam/Clan/{group_id}/My/{platform}/{include_closed}/{page}/", query=query, ) return forge(SearchResultOfFireteamClientResponse, result)
[docs] async def get_clan_fireteam( self, fireteam_id: t.Optional[int] = None, group_id: t.Optional[int] = None, ) -> FireteamClientResponse: """Gets a specific fireteam. Parameters: fireteam_id: The unique id of the fireteam. group_id: The group id of the clan. """ query = None result = await self.get( path=f"/Fireteam/Clan/{group_id}/Summary/{fireteam_id}/", query=query, ) return forge(FireteamClientResponse, result)