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> ( account-name -- account )
+: <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 ;
: insert-site ( url -- site )
<site> dup select-tuple [ ] [ dup t >>up? insert-tuple ] ?if ;
-: insert-account ( account-name -- ) <account> insert-tuple ;
+: insert-account ( account-name email -- ) <account> insert-tuple ;
: find-sites ( -- seq ) f <site> select-tuples ;
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
f <site> select-tuples
] with-db ;
-[ f ] [ fake-sites empty? ] unit-test
\ No newline at end of file
+[ f ] [ fake-sites empty? ] unit-test
: <update-notify-action> ( -- action )
<page-action>
[
- username <account> select-tuple from-object
+ username f <account> select-tuple from-object
] >>init
{ site-watcher-app "update-notify" } >>template
[
} validate-params
] >>validate
[
- username <account> select-tuple
+ username f <account> select-tuple
"email" value >>email
+ "twitter" value >>twitter
+ "sms" value >>sms
update-tuple
site-list-url <redirect>
] >>submit
site-watcher-db <alloy>
main-responder set-global
+M: site-watcher-app init-user-profile
+ drop
+ "username" value "email" value <account> insert-tuple ;
+
: init-db ( -- )
site-watcher-db [
{ site account watching-site } [ ensure-table ] each