                             :hive_uuid (ensure-uuid hive-uuid)
                             :apiary_uuid (ensure-uuid apiary-uuid)
                             :name  (or worker-name (namer/gen-name)))]
-    (first (jdbc/insert! sql-db :workers clean-params))))
+    (let [res (first (jdbc/insert! sql-db :workers clean-params))]
+      (hin/hive-images-notification-send-worker-update-message (:uuid res))
+      res)))
 
 (defn worker-join-hive
   "Add a worker to a given hive. Removing it from a hive it was in before.

  [worker-uuid hive-uuid]
  ; YOU MUST UPDATE THE HIVE And worker image
  ; YOU MUST inform the worker what hive it is in!
  (println "TODO"))

(defn worker-join-apiary
  "Adds the worker to an apiary, setting the hive_uuid to nil"
  [worker-uuid apiary-uuid]
  (println "TODO"))

(defn worker-delete

  [worker-uuid]
  (worker-config-delete worker-uuid)
  (worker-events-send worker-uuid :.deleted-worker true)

  (let [res (jdbc/delete! sql-db :workers ["uuid = ?" (ensure-uuid worker-uuid)])]
    (hin/hive-images-notification-send-worker-update-message worker-uuid)
    res))

(defn worker-access?
  "Worker given the token and uuid, can it access?"
