예제 #1
0
    def exec(self):
        Log.i(TAG, "Executing DataPipelineProcess.")
        database = self.data.get('Database')
        mainColName = self.data.get('Collection')
        targetColName = self.data.get('to')
        fieldAddress = self.data.get('fieldRef')

        mainCollection = Provider.get_collection(mainColName, database)
        targetCollection = Provider.get_collection(targetColName, database)
        references = mainCollection.read(parser.parser(f"{fieldAddress}"))
        ref_key = DataPipelineProcess.getLastFieldSegment(fieldAddress)
        print(mainCollection.read(parser.parser(self.data.get('query'))))
        for reference in references:
            if type(reference.get(ref_key)) is list:
                for ref in reference.get(ref_key):
                    self.output.append(targetCollection
                                       .findById(ref))
            else:
                self.output = targetCollection \
                    .findById(reference.get(ref_key))

        acknowledgement = {
            "Ack": self.output,
            "addr": self.data.get('addr')
        }
        return acknowledgement
예제 #2
0
 def exec(self):
     Log.i(TAG, "Executing ReadProcess.")
     db_name, col_name, query = BaseRIDUProcess.meta_separator(self.data.meta_data)
     col = Provider.get_collection(col_name, db_name)
     query_object = parser.parser(query)
     return {
         "Ack": col.read(query_object),
         "addr": self.data.addr
     }
예제 #3
0
 def exec(self):
     Log.i(TAG, "Executing ReadByIdProcess.")
     db_name, col_name, object_id = Collection.meta_separator(self.data.meta_data)
     col = Provider.get_collection(col_name, db_name)
     acknowledgement = {
         "Ack": col.findById(object_id),
         "addr": self.data.addr
     }
     return acknowledgement
예제 #4
0
 def exec(self):
     Log.i(TAG, "Executing InsertAllProcess.")
     db_name, col_name = BaseRIDUProcess.meta_separator(self.data.meta_data)
     col = Provider.get_collection(col_name, db_name)
     acknowledgement = {
         "Ack": col.insertAll(self.data.user_data),
         "addr": self.data.addr
     }
     Event.emmit('col-change', col)
     return acknowledgement
예제 #5
0
    def exec(self):
        Log.i(TAG, "Executing UpdateOneProcess.")
        db_name, col_name, object_id = Collection.meta_separator(self.data.meta_data)
        col = Provider.get_collection(col_name, db_name)
        acknowledgement = {
            "Ack": col.updateOne(object_id, self.data.user_data),
            "addr": self.data.addr
        }

        Event.emmit('col-change', col)
        return acknowledgement
예제 #6
0
 def exec(self):
     return {
         "Ack": Provider.getCollection(self.data['of']),
         "addr": self.data['addr']
     }
예제 #7
0
 def exec(self):
     return {
         "Ack": Provider.getDatabases(),
         "addr": self.data['addr']
     }