def prepare_clients_search_statement(self, filter): conditions = [] conditions += id_filter(filter, 'ids', self.clients.c.id) conditions += time_cutoff_filter( filter, 'created', self.clients.c.creation_time, ) conditions += string_equal_filter( filter, 'client_ids', self.clients.c.client_id, ) conditions += string_like_filter( filter, 'creation_names', self.clients.c.creation_name, ) conditions += time_cutoff_filter( filter, 'access_token_expired', self.clients.c.access_token_expiration_time, ) statement = self.clients.select() if conditions: statement = statement.where(and_(*conditions)) return statement
def prepare_bans_search_statement(self, filter): conditions = [] conditions += id_filter(filter, 'ids', self.bans.c.id) conditions += time_cutoff_filter(filter, 'created', self.bans.c.creation_time) conditions += remote_origin_filter( filter, 'remote_origins', self.bans.c.remote_origin, ) conditions += string_equal_filter(filter, 'scopes', self.bans.c.scope) conditions += string_like_filter(filter, 'reasons', self.bans.c.reason) conditions += string_like_filter(filter, 'notes', self.bans.c.note) conditions += time_cutoff_filter(filter, 'expired', self.bans.c.expiration_time) conditions += time_cutoff_filter(filter, 'viewed', self.bans.c.view_time) conditions += id_filter( filter, 'created_by_user_ids', self.bans.c.created_by_user_id, ) conditions += id_filter(filter, 'user_ids', self.bans.c.user_id) statement = self.bans.select() if conditions: statement = statement.where(and_(*conditions)) return statement
def prepare_logs_search_statement(self, filter): conditions = [] conditions += id_filter(filter, 'ids', self.logs.c.id) conditions += time_cutoff_filter( filter, 'created', self.logs.c.creation_time, ) conditions += string_equal_filter( filter, 'scopes', self.logs.c.scope, ) conditions += remote_origin_filter( filter, 'remote_origins', self.logs.c.remote_origin, ) conditions += id_filter( filter, 'subject_ids', self.logs.c.subject_id, ) conditions += id_filter( filter, 'object_ids', self.logs.c.object_id, ) statement = self.logs.select() if conditions: statement = statement.where(and_(*conditions)) return statement
def prepare_sticker_placements_search_statement(self, filter): conditions = [] conditions += id_filter(filter, 'ids', self.sticker_placements.c.id) conditions += time_cutoff_filter( filter, 'placed', self.sticker_placements.c.placement_time, ) conditions += id_filter( filter, 'subject_ids', self.sticker_placements.c.subject_id, ) conditions += id_filter( filter, 'user_ids', self.sticker_placements.c.user_id, ) conditions += id_filter( filter, 'sticker_ids', self.sticker_placements.c.sticker_id, ) statement = self.sticker_placements.select() if conditions: statement = statement.where(and_(*conditions)) return statement
def prepare_stickers_search_statement(self, filter): conditions = [] conditions += id_filter(filter, 'ids', self.stickers.c.id) conditions += time_cutoff_filter( filter, 'created', self.stickers.c.creation_time, ) conditions += string_like_filter( filter, 'name', self.stickers.c.name, ) conditions += string_like_filter( filter, 'display', self.stickers.c.display, ) conditions += string_equal_filter( filter, 'category', self.stickers.c.category, ) conditions += bitwise_filter( filter, 'group_bits', self.stickers.c.group_bits, ) statement = self.stickers.select() if conditions: statement = statement.where(and_(*conditions)) return statement
def prepare_collected_stickers_search_statement(self, filter): conditions = [] conditions += id_filter(filter, 'ids', self.collected_stickers.c.id) conditions += time_cutoff_filter( filter, 'received', self.collected_stickers.c.receive_time, ) conditions += id_filter( filter, 'user_ids', self.collected_stickers.c.user_id, ) conditions += id_filter( filter, 'sticker_ids', self.collected_stickers.c.sticker_id, ) statement = self.collected_stickers.select() if conditions: statement = statement.where(and_(*conditions)) return statement
def prepare_members_search_statement(self, filter): conditions = [] conditions += id_filter(filter, 'ids', self.members.c.id) conditions += id_filter(filter, 'client_ids', self.members.c.client_id) conditions += int_equal_filter( filter, 'campaign_ids', self.members.c.campaign_id, ) conditions += int_equal_filter( filter, 'tier_ids', self.members.c.tier_id, ) conditions += int_equal_filter( filter, 'user_ids', self.members.c.user_id, ) conditions += int_cutoff_filter( filter, 'amount_cents_less_than', 'amount_cents_more_than', self.members.c.amount_cents, ) conditions += time_cutoff_filter( filter, 'last_fulfilled', self.members.c.last_fulfill_time, ) conditions += time_cutoff_filter( filter, 'last_charged', self.members.c.last_charge_time, ) conditions += string_equal_filter( filter, 'last_charge_status', self.members.c.last_charge_status, ) conditions += int_cutoff_filter( filter, 'lifetime_support_cents_less_than', 'lifetime_support_cents_more_than', self.members.c.lifetime_support_cents, ) conditions += time_cutoff_filter( filter, 'pledged', self.members.c.pledge_relationship_start_time, ) conditions += string_like_filter( filter, 'names', self.members.c.name, ) if 'charged_after_fulfilled' in filter: conditions += [ self.members.c.last_charge_time > self.members.c.last_fulfill_time ] statement = self.members.select() if conditions: statement = statement.where(and_(*conditions)) return statement