Esempio n. 1
0
 def get(self):
     """Get information about logged user."""
     user_id = self.request.validated['user_id']
     if user_id != self.request.authenticated_userid.user_id:
         raise AuthenticationError()
     user = User.get(user_id)
     return ReturnUser.build(user).serialize()
Esempio n. 2
0
    def process(self, user_id, message_id):
        """Process a message for an user."""
        user = User.get(user_id)
        msg = RawMessage.get(user, message_id)
        # XXX should use raw message type to use correct message formatter
        mail = MailMessage(msg.data)

        message = mail.to_parameter()
        message.recipients = self._get_recipients(user, mail)

        # compute tags
        message.tags = self._get_tags(user, mail)

        # lookup by external references
        lookup_sequence = mail.lookup_sequence()
        lookup = self.lookup(user, lookup_sequence)
        # Create or update existing thread thread
        if lookup:
            log.debug('Found thread %r' % lookup.thread_id)
            thread = Thread.get(user, lookup.thread_id)
            thread.update_from_message(message)
        else:
            log.debug('Creating new thread')
            thread = Thread.create_from_message(user, message)

        msg = Message.create(user, message, thread, lookup)
        # XXX Init lookup
        if not lookup:
            self.__init_lookups(lookup_sequence, msg)
        else:
            if msg.external_message_id:
                params = {
                    'user_id': msg.user_id,
                    'external_message_id': msg.external_message_id,
                    'thread_id': msg.thread_id,
                    'message_id': msg.message_id,
                }
                new_lookup = ThreadMessageLookup.create(**params)
                log.debug('Created message lookup %r' % new_lookup)
        return msg
Esempio n. 3
0
 def get(self):
     user_id = self.request.matchdict.get('user_id')
     if user_id != self.request.authenticated_userid.user_id:
         raise HTTPUnauthorized()
     user = User.get(user_id)
     return ReturnUser.build(user).serialize()
Esempio n. 4
0
 def _load_user(self):
     if self._user:
         return
     self._user = User.get(self.user_id)
Esempio n. 5
0
 def get(self):
     user_id = self.request.matchdict.get('user_id')
     if user_id != self.request.authenticated_userid.user_id:
         raise HTTPUnauthorized()
     user = User.get(user_id)
     return ReturnUser.build(user).serialize()
Esempio n. 6
0
 def get(self):
     """Get information about logged user."""
     user_id = self.request.authenticated_userid.user_id
     user = User.get(user_id)
     return ReturnUser.build(user).serialize()
Esempio n. 7
0
 def _load_user(self):
     if self._user:
         return
     self._user = User.get(self.user_id)