diff --git a/pkg/arvo/app/hark-store.hoon b/pkg/arvo/app/hark-store.hoon index 0cff474210..88a1e18fe7 100644 --- a/pkg/arvo/app/hark-store.hoon +++ b/pkg/arvo/app/hark-store.hoon @@ -131,8 +131,8 @@ %3 %_ $ -.old %4 - notifications.old (convert-notifications-3 notifications.old) - archive.old (convert-notifications-3 archive.old) + notifications.old (notifications:to-three:upgrade:store notifications.old) + archive.old *notifications:state-three:store == :: %2 @@ -172,54 +172,6 @@ == == :: - ++ convert-notifications-3 - |= old=notifications:state-two:store - %+ gas:orm:state-three:store *notifications:state-three:store - ^- (list [@da timebox:state-three:store]) - %+ murn - (tap:orm:state-two:store old) - |= [time=@da =timebox:state-two:store] - ^- (unit [@da timebox:state-three:store]) - =/ new-timebox=timebox:state-three:store - (convert-timebox-3 timebox) - ?: =(0 ~(wyt by new-timebox)) - ~ - `[time new-timebox] - :: - ++ convert-timebox-3 - |= =timebox:state-two:store - ^- timebox:state-three:store - %- ~(gas by *timebox:state-three:store) - ^- (list [index:state-three:store notification:state-three:store]) - %+ murn - ~(tap by timebox) - |= [=index:state-two:store =notification:state-two:store] - ^- (unit [index:state-three:store notification:state-three:store]) - =/ new-notification=(unit notification:state-three:store) - (convert-notification-3 notification) - ?~ new-notification ~ - `[index u.new-notification] - :: - ++ convert-notification-3 - |= =notification:state-two:store - ^- (unit notification:state-three:store) - ?: ?=(%graph -.contents.notification) - `notification - =/ con=(list group-contents:store) - (convert-group-contents-3 list.contents.notification) - ?: =(~ con) ~ - =, notification - `[date read %group con] - :: - ++ convert-group-contents-3 - |= con=(list group-contents:state-two:store) - ^- (list group-contents:store) - %+ murn con - |= =group-contents:state-two:store - ^- (unit group-contents:store) - ?. ?=(?(%add-members %remove-members) -.group-contents) ~ - `group-contents - :: ++ uni-by |= [a=(set index:graph-store) b=(set index:graph-store)] =/ merged diff --git a/pkg/arvo/lib/hark/store.hoon b/pkg/arvo/lib/hark/store.hoon index f76158055e..71fbab3b48 100644 --- a/pkg/arvo/lib/hark/store.hoon +++ b/pkg/arvo/lib/hark/store.hoon @@ -6,6 +6,48 @@ |% ++ upgrade |% + ++ to-three + =* two state-two + =* three state-three + |% + ++ index + |= =index:two + ^- (unit index:three) + `index + ++ contents + |= =contents:two + ^- (unit contents:three) + ?. ?=(%group -.contents) + `contents + =- ?: =(~ -) ~ + `[%group -] + %+ murn list.contents + |= =group-contents:two + ^- (unit group-contents:three) + ?: ?=(?(%add %remove) -.group-contents) + ~ + `group-contents + :: + ++ stats-index + |= =stats-index:two + ^- (unit stats-index:three) + `stats-index + :: + ++ notifications + upg-notifications:upg + :: + ++ upg + %. [index stats-index contents] + %: upgrade + index:two + stats-index:two + contents:two + index:three + stats-index:three + contents:three + == + -- + :: ++ to-four =* three state-three =* four state-four