Mapper = require("../Mapper.js").mapper

class OverlayMapper extends Mapper

  constructor: ->
    @identifier = "overlay"

   schema: (method, action, endpoint, fun, args) ->
    switch fun.toLowerCase()
      when "specialty"
        @map(["Specialty.Id"], args)
      when "diagnosis"
        @map(["Encounter.Id"], args)
      when "editnote"
        @map(["Note.Id"], args)
      when "organizations"
        @map(["Organization.Id"], args)
      when "state"
        @map(["Activity.Id"], args)

  applySchema: (method, action, endpoint, fun, schema) ->
    switch fun.toLowerCase()
      when "byorganization","specialty","diagnosis","editnote","organizations","state"
        @unmap(schema)
      else
        winston.warn "no such fun", fun

exports.mapper = new OverlayMapper()
