   (:require [clojure.spec :as s]
             [clojure.string :as string]
             [workflo.macros.command.util :as util]
+            [workflo.macros.query :as q]
             [workflo.macros.specs.entity]))
 
 ;;;; Configuration

                                                  [name forms]))))
         description     (:description (:forms args))
         auth            (:auth (:forms args))
         validation      (:validation (:forms args))
         schema          (:schema (:forms args))
         forms           (-> (:forms args)
                             (select-keys [:auth :validation :schema])
                             (vals))
         name-sym        (util/unqualify name)
         forms-map       (zipmap (map (comp keyword :form-name) forms)
                                 (map #(prefixed-form-name % name-sym)
                                      forms))
         auth-form       (when auth
                           `((~'defn ~(util/prefix-form-name 'auth
                                                             name-sym)
                              []
                              ~@(:form-body auth))))
         validation-form (when validation
                           `((~'def ~(util/prefix-form-name 'validation
                                                            name-sym)

                           ~forms-map)]
     `(do
        ~@auth-form
        ~@auth-query-form
        ~@validation-form
        ~@schema-form
        ~definition))))
