def add_detached_bank_member_signal( banks_table: BanksTable, bank_id: str, content_type: t.Type[ContentType], signal_type: t.Type[SignalType], signal_value: str, ) -> BankMemberSignal: """ Add a bank member signal without a BankMember. Will deduplicate a signal_value + signal_type tuple before writing to the database. Will make signals available for processing into indices. """ return banks_table.add_detached_bank_member_signal( bank_id=bank_id, content_type=content_type, signal_type=signal_type, signal_value=signal_value, )
def add_detached_bank_member_signal_batch( banks_table: BanksTable, bank_id: str, signals: t.Iterable[Signal], ) -> t.Iterable[BankMemberSignal]: """ Dump multiple detached signals into a bank. Check add_detached_bank_member_signal for more details. TODO: At this point, is dumb. Does not actually batch the requests, instead loops through signals and calls single APIs. """ return list( map( lambda signal: banks_table.add_detached_bank_member_signal( bank_id=bank_id, content_type=signal.content_type, signal_type=signal.signal_type, signal_value=signal.signal_value, ), signals, ))