diff --git a/appinfo/database.xml b/appinfo/database.xml index f3d71df..faa2de0 100644 --- a/appinfo/database.xml +++ b/appinfo/database.xml @@ -177,15 +177,22 @@ text true 64 + true - sms_address + user_id + text + true + 64 + + + phone_number text true 512 - smsdata_conversations_id_address + smsdata_conversations_user_id_address id diff --git a/db/smsmapper.php b/db/smsmapper.php index 19ab5e2..ec7e073 100644 --- a/db/smsmapper.php +++ b/db/smsmapper.php @@ -308,6 +308,16 @@ class SmsMapper extends Mapper { return $phoneList; } + private function getConversationForUserAndPhone($userId, $phoneNumber) { + $qb->select('id') + ->from('ocsms_conversations') + ->where($qb->expr()->andX( + $qb->expr()->eq('user_id', $qb->createNamedParameter($userId)), + $qb->expr()->in('phone_number', $qb->createNamedParameter($phoneNumber)) + ); + $result = $qb->execute(); + } + public function writeToDB ($userId, $smsList, $purgeAllSmsBeforeInsert = false) { $this->db->beginTransaction(); $qb = $this->db->getQueryBuilder(); @@ -348,7 +358,7 @@ class SmsMapper extends Mapper { (int) $sms["type"] )); - + $this->getConversationForUserAndPhone($userId, $sms["address"]); } $this->db->commit();