diff --git a/extra/site-watcher/db/db.factor b/extra/site-watcher/db/db.factor index a1a85f825f..148e5b96f9 100644 --- a/extra/site-watcher/db/db.factor +++ b/extra/site-watcher/db/db.factor @@ -5,15 +5,18 @@ io.directories io.files.temp kernel io.streams.string calendar debugger combinators.smart sequences ; IN: site-watcher.db -TUPLE: account account-id account-name email ; +TUPLE: account account-id account-name email twitter sms ; -: ( account-name -- account ) +: ( account-name email -- account ) account new + swap >>email swap >>account-name ; account "ACCOUNT" { { "account-name" "ACCOUNT_NAME" VARCHAR +user-assigned-id+ } { "email" "EMAIL" VARCHAR } + { "twitter" "TWITTER" VARCHAR } + { "sms" "SMS" VARCHAR } } define-persistent TUPLE: site site-id url up? changed? last-up error last-error ; @@ -72,7 +75,7 @@ TUPLE: reporting-site email url up? changed? last-up? error last-error ; : insert-site ( url -- site ) dup select-tuple [ ] [ dup t >>up? insert-tuple ] ?if ; -: insert-account ( account-name -- ) insert-tuple ; +: insert-account ( account-name email -- ) insert-tuple ; : find-sites ( -- seq ) f select-tuples ; diff --git a/extra/site-watcher/site-watcher-tests.factor b/extra/site-watcher/site-watcher-tests.factor index 62233587d9..b067504e2e 100644 --- a/extra/site-watcher/site-watcher-tests.factor +++ b/extra/site-watcher/site-watcher-tests.factor @@ -14,7 +14,7 @@ IN: site-watcher.tests site ensure-table watching-site ensure-table - "erg@factorcode.org" insert-account + "erg" "erg@factorcode.org" insert-account "http://asdfasdfasdfasdfqwerqqq.com" insert-site drop "http://fark.com" insert-site drop @@ -22,4 +22,4 @@ IN: site-watcher.tests f select-tuples ] with-db ; -[ f ] [ fake-sites empty? ] unit-test \ No newline at end of file +[ f ] [ fake-sites empty? ] unit-test diff --git a/extra/webapps/site-watcher/site-watcher.factor b/extra/webapps/site-watcher/site-watcher.factor index e220cff1d4..f173edb814 100644 --- a/extra/webapps/site-watcher/site-watcher.factor +++ b/extra/webapps/site-watcher/site-watcher.factor @@ -71,7 +71,7 @@ CONSTANT: site-list-url URL" $site-watcher-app/" : ( -- action ) [ - username select-tuple from-object + username f select-tuple from-object ] >>init { site-watcher-app "update-notify" } >>template [ @@ -82,8 +82,10 @@ CONSTANT: site-list-url URL" $site-watcher-app/" } validate-params ] >>validate [ - username select-tuple + username f select-tuple "email" value >>email + "twitter" value >>twitter + "sms" value >>sms update-tuple site-list-url ] >>submit @@ -122,6 +124,10 @@ CONSTANT: site-list-url URL" $site-watcher-app/" site-watcher-db main-responder set-global +M: site-watcher-app init-user-profile + drop + "username" value "email" value insert-tuple ; + : init-db ( -- ) site-watcher-db [ { site account watching-site } [ ensure-table ] each