def change_object(self): change = change_from_couch_row( self.change if self.change else {'id': self.doc_id}) if self.change_metadata: change.metadata = ChangeMeta.wrap(self.change_metadata) change.document = None return change
def change_meta_from_ledger_v2(ledger_ref, domain, deleted=False): return ChangeMeta( document_id=ledger_ref.as_id(), data_source_type=data_sources.LEDGER_V2, data_source_name='ledger-v2', # todo: this isn't really needed. domain=domain, is_deletion=deleted, )
def change_meta_from_hard_delete(document, data_source_type, data_source_name): return ChangeMeta( document_id=document['_id'], document_rev=document.get('_rev', None), data_source_type=data_source_type, data_source_name=data_source_name, is_deletion=True, )
def _change_meta_from_ledger_reference(domain, ledger_reference, source_name): return ChangeMeta( document_id=ledger_reference.as_id(), data_source_type=data_sources.SOURCE_SQL, data_source_name=source_name, document_type=topics.LEDGER, domain=domain, is_deletion=False, )
def change_meta_from_ledger_v1(stock_state, deleted=False): return ChangeMeta( document_id=stock_state.pk, data_source_type=data_sources.SOURCE_SQL, data_source_name=data_sources.LEDGER_V1, document_type=topics.LEDGER, domain=stock_state.domain, is_deletion=deleted, )
def change_meta_from_ledger_v2(ledger_ref, domain, deleted=False): return ChangeMeta( document_id=ledger_ref.as_id(), data_source_type=data_sources.SOURCE_SQL, data_source_name=data_sources.LEDGER_V2, document_type=topics.LEDGER, domain=domain, is_deletion=deleted, )
def publish_case_deleted(domain, case_id): producer.send_change(topics.CASE_SQL, ChangeMeta( document_id=case_id, data_source_type=data_sources.CASE_SQL, data_source_name='case-sql', # todo: this isn't really needed. document_type='CommCareCase-Deleted', domain=domain, is_deletion=True, ))
def publish_form_deleted(domain, form_id): producer.send_change(topics.FORM_SQL, ChangeMeta( document_id=form_id, data_source_type=data_sources.FORM_SQL, data_source_name='form-sql', document_type='XFormInstance-Deleted', domain=domain, is_deletion=True, ))
def publish_location_saved(domain, location_id, is_deletion=False): change_meta = ChangeMeta( document_id=location_id, data_source_type='location', data_source_name='location', document_type=LOCATION_DOC_TYPE, domain=domain, is_deletion=is_deletion, ) producer.send_change(topics.LOCATION, change_meta)
def change_meta_from_sql_case(case): return ChangeMeta( document_id=case.case_id, data_source_type=data_sources.SOURCE_SQL, data_source_name=data_sources.CASE_SQL, document_type='CommCareCase', document_subtype=case.type, domain=case.domain, is_deletion=case.is_deleted, )
def _change_meta(data_row, source): return ChangeMeta( document_id=data_row.doc_id, data_source_type=data_sources.SOURCE_SQL, data_source_name=source, document_type=data_row.doc_type, document_subtype=data_row.doc_subtype, domain=data_row.domain, is_deletion=False, )
def change_meta_from_sql_form(form): return ChangeMeta( document_id=form.form_id, data_source_type=data_sources.SOURCE_SQL, data_source_name=data_sources.FORM_SQL, document_type=form.doc_type, document_subtype=form.xmlns, domain=form.domain, is_deletion=form.is_deleted, )
def publish_location_saved(domain, location_id, is_deletion=False): from corehq.apps.change_feed import data_sources change_meta = ChangeMeta( document_id=location_id, data_source_type=data_sources.SOURCE_SQL, data_source_name=data_sources.LOCATION, document_type=LOCATION_DOC_TYPE, domain=domain, is_deletion=is_deletion, ) producer.send_change(topics.LOCATION, change_meta)
def publish_case_deleted(domain, case_id): producer.send_change( topics.CASE_SQL, ChangeMeta( document_id=case_id, data_source_type=data_sources.SOURCE_SQL, data_source_name=data_sources.CASE_SQL, document_type='CommCareCase-Deleted', domain=domain, is_deletion=True, ))
def change_meta_from_synclog(synclog): from corehq.apps.change_feed import data_sources return ChangeMeta( document_id=synclog.synclog_id.hex, data_source_type=data_sources.SYNCLOG_SQL, data_source_name=data_sources.SYNCLOG_SQL, document_type='SYNCLOG_SQL', document_subtype=None, domain=synclog.domain, is_deletion=False, )
def doc_to_change(doc): return Change(id=doc['_id'], sequence_id='0', document=doc, metadata=ChangeMeta( document_id=doc['_id'], data_source_type=data_sources.SOURCE_COUCH, data_source_name=data_sources.CASE_SQL, document_type=doc['doc_type'], document_subtype=doc.get('type'), domain=doc['domain'], is_deletion=False, ))
def change_object(self): change = change_from_couch_row(self.change if self.change else {'id': self.doc_id}) if self.change_metadata: change.metadata = ChangeMeta.wrap(self.change_metadata) change.document = None return change
def change_meta_from_kafka_message(message): return ChangeMeta.wrap(json.loads(message))