Example #1
0
 def add_permission(self, owner_id, email):
     '''
     Add a ListPermission record
     '''
     # TODO: confirm that the currently signed in user is owner_id
     owner = self.db.get_owner(owner_id)
     self.db.add_permission(owner, email)
     _ = lambda x: ListPermission.from_db(x)
     return [ _(p) for p in owner.permissions ]
Example #2
0
 def add_permission(self, owner_id, email):
     '''
     Add a ListPermission record
     '''
     # TODO: confirm that the currently signed in user is owner_id
     owner = self.db.get_owner(owner_id)
     self.db.add_permission(owner, email)
     _ = lambda x: ListPermission.from_db(x)
     return [_(p) for p in owner.permissions]
Example #3
0
    def get_permission(self, permission_id):
        """Fetch a single Permission

        :param permission_id: db id of the permission
        :type permission_id: int
        """
        db_perm = self.db.get_permission(permission_id)
        permission = ListPermission.from_db(db_perm)
        self.dump(permission)
Example #4
0
 def get_permissions(self, owner_id, by_email):
     '''
     Return the ListPermissions for the given ListOwner
     That's not the ListPermissionDb object with owner=owner, but rather
     those with email=owner.email
     '''
     _ = lambda x: ListPermission.from_db(x)
     owner = self.db.get_owner(owner_id)
     if not by_email:
         return [_(p) for p in owner.permissions]
     return [_(p) for p in self.db.get_permissions_by_email(owner.email)]
Example #5
0
 def get_permissions(self, owner_id, by_email):
     '''
     Return the ListPermissions for the given ListOwner
     That's not the ListPermissionDb object with owner=owner, but rather
     those with email=owner.email
     '''
     _ = lambda x: ListPermission.from_db(x)
     owner = self.db.get_owner(owner_id)
     if not by_email:
         return [ _(p) for p in owner.permissions ]
     return [
         _(p) for p in self.db.get_permissions_by_email(owner.email)
     ]
Example #6
0
    def list_permissions(self):
        """Fetch all matching permissions"""
        owner_id = self.request.get('ownerId', None)
        email = self.request.get('email', None)

        db_perms = []
        if owner_id is not None:
            owner = self.db.get_owner(int(owner_id))
            if owner is None:
                self.abort(400, 'Invalid ownerId "{}"'.format(owner_id))
            db_perms = owner.permissions
        elif email is not None:
            db_perms = self.db.get_permissions_by_email(email)
        else:
            # We only support filtering by either owner_id or email
            self.abort(400, 'One of "ownerId" or "email" are required.')
        self.dump([ListPermission.from_db(db_perm) for db_perm in db_perms])