             cb         : required
         if not @_validate_opts(opts) then return
         x = {}; x[opts.account_id] = {hide:false}
-        @db.table('projects').get(opts.project_id).update(users : x).run(opts.cb)
+        @table('projects').get(opts.project_id).update(users : x).run(opts.cb)
 
     # cb(err, true if user is in one of the groups for the project)
     user_is_in_project_group: (opts) =>

            data       : required
            cb         : required
        if not @_validate_opts(opts) then return
        @db.table('projects').get(opts.project_id).update(opts.data).run(opts.cb)

    get_project_data: (opts) =>
        opts = defaults opts,

            cb          : required
        cutoff = new Date(new Date() - opts.max_age_s*1000)
        if not opts.project_ids?
            @table('file_activity').between(cutoff, new Date(), index:'timestamp').run(opts.cb)
        else
            # TODO: try to figure out how to eliminate the filter below so this is O(1) instead
            # of getting slower as the number of entries for each project goes up.
            # If it were just one project, it would be easy to do with an index.
            @table('file_activity').getAll(opts.project_ids..., index:'project_id').filter(
                @r.row('timestamp').gt(cutoff)).run(opts.cb)
    ###

