     _.extend( @,
       tags: {} # tag: weight
       my_tags: {} # same as tags
-      reply_count: 0
       suggested_tags: []
     )
 

    for post in Posts.find( 'parent_id': server.parent_id ).fetch()
      for key of post.tags
        @suggested_tags.push( key ) unless key in @my_tags
    
    author = Meteor.users.findOne( '_id': server.author_id )
    if author?
      @author = _.pick( author, '_id', 'emails', 'name' )
      
    @reply_count = Posts.find({parent_id: server._id}).count()

class ServerPost extends SharedPost
  constructor: ( client ) ->
    # define the server schema

    # define the shared client-server schema
    _.extend( @,
      _id: ''
      author_id: ''
      parent_id: undefined
      content: ''
    )
    
    for key in [ '_id', 'author_id', 'parent_id', 'content' ]
      @[key] = either[key] if either[key]?
       
class ClientPost extends SharedPost
