mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-18 20:31:40 +03:00
Working migration
This commit is contained in:
parent
71204db957
commit
9cf887d1f1
@ -305,7 +305,8 @@
|
||||
[cards state(wait wait)]
|
||||
++ poke-migrate-my-channels
|
||||
^- (quip card _state)
|
||||
[~(migrate-my-channels gladio bol) state]
|
||||
=/ [cards=(list card) *] (~(migrate-my-channels gladio bol) ~)
|
||||
[cards state]
|
||||
::
|
||||
++ watch-init-migrate
|
||||
|= =ship
|
||||
|
@ -55,8 +55,6 @@
|
||||
?~ group=(~(get by groups) group.u.assoc)
|
||||
~& missing-group/[flag group.u.assoc]
|
||||
~
|
||||
?: hidden.u.group
|
||||
~
|
||||
=/ writers=(set ship)
|
||||
(~(get ju tags.u.group) %graph flag %writers)
|
||||
?~ log=(~(get by update-logs.network) flag)
|
||||
@ -176,70 +174,75 @@
|
||||
(welp setup (zing (turn ~(tap in (~(del in ships) our.bowl)) migrate-ship)))
|
||||
[setup (~(uni in ships) wait)]
|
||||
++ migrate-my-channels
|
||||
|= wait=(set ship)
|
||||
^- (quip card (set ship))
|
||||
=+ network
|
||||
=+ groups
|
||||
=/ associations my-channels-associations
|
||||
=/ ships (peers network)
|
||||
=/ dms (~(get by graphs:network) [our.bowl %dm-inbox])
|
||||
=/ import (import-for-mark `our.bowl groups associations network)
|
||||
=/ clubs (import-club groups associations network)
|
||||
=+ associations
|
||||
=/ =flag:i [our.bowl %my-channels]
|
||||
=/ ships (peers network)
|
||||
=/ import (import-for-mark `our.bowl groups my-channels-associations network)
|
||||
=/ chats=imports:graph:i
|
||||
(import %graph-validator-chat)
|
||||
=/ diarys=imports:graph:i
|
||||
(import %graph-validator-publish)
|
||||
=/ links=imports:graph:i
|
||||
(import %graph-validator-link)
|
||||
=/ =imports:groups:i
|
||||
=| assoc=association:met
|
||||
=/ hoops=imports:groups:i
|
||||
%- ~(gas by *imports:groups:i)
|
||||
%+ murn ~(tap by groups)
|
||||
|= [=flag:i =group]
|
||||
^- (unit [_flag import:groups:i])
|
||||
?: hidden.group
|
||||
~
|
||||
?~ assoc=(~(get by associations) [%groups flag])
|
||||
~& missing-group-assoc/flag
|
||||
~
|
||||
=/ nass=(unit association:met)
|
||||
?^ (~(get by associations) [%groups flag]) ~
|
||||
`assoc(hidden.metadatum |, title.metadatum 'My Channels', creator.metadatum p.flag, group [our.bowl %my-channels])
|
||||
?~ nass ~
|
||||
=/ chans=(map flag:i association:met)
|
||||
%- ~(gas by *(map flag:i association:met))
|
||||
%+ murn ~(tap by associations)
|
||||
|= [res=md-resource:met ass=association:met]
|
||||
^- (unit [flag:i association:met])
|
||||
?. =(group.ass flag) ~
|
||||
?. =(entity.group.ass our.bowl) ~
|
||||
`[resource.res ass]
|
||||
=/ roles=(set flag:i)
|
||||
%- ~(gas in *(set flag:i))
|
||||
%+ murn ~(tap by chans)
|
||||
|= [=flag:i =association:met]
|
||||
^- (unit flag:i)
|
||||
?. =(group.association flag) ~
|
||||
?. =(entity.group.association our.bowl) ~
|
||||
?^ link=(~(get by links) flag)
|
||||
?: =(writers.u.link ~) ~
|
||||
`flag
|
||||
?^ diary=(~(get by diarys) flag)
|
||||
?^ diary=(~(get by links) flag)
|
||||
?: =(writers.u.diary ~) ~
|
||||
`flag
|
||||
?^ chat=(~(get by chats) flag)
|
||||
?: =(writers.u.chat ~) ~
|
||||
`flag
|
||||
~
|
||||
`[flag u.assoc chans roles group]
|
||||
=/ dms (~(get by graphs:network) [our.bowl %dm-inbox])
|
||||
=/ flag-importer (import-flags our.bowl groups associations network)
|
||||
=+ :* chat-flags=(flag-importer %graph-validator-chat)
|
||||
heap-flags=(flag-importer %graph-validator-link)
|
||||
diary-flags=(flag-importer %graph-validator-publish)
|
||||
==
|
||||
=/ setup=(list card)
|
||||
%+ welp (migrate-ship our.bowl)
|
||||
:* (poke-our %groups group-import+!>(imports))
|
||||
(poke-our %chat import-flags+!>(chat-flags))
|
||||
(poke-our %heap import-flags+!>(heap-flags))
|
||||
(poke-our %diary import-flags+!>(diary-flags))
|
||||
(poke-our %chat club-imports+!>(clubs))
|
||||
?~ dms ~
|
||||
(poke-our %chat dm-imports+!>(p.u.dms))^~
|
||||
?~ chans ~
|
||||
`[flag u.nass chans roles group]
|
||||
=/ bigport=import:groups:i
|
||||
%+ roll ~(val by hoops)
|
||||
|= [port=import:groups:i newport=import:groups:i]
|
||||
^- import:groups:i
|
||||
:: they should have the same association and group already
|
||||
:* association.port
|
||||
(~(uni by chans.port) chans.newport)
|
||||
(~(uni by roles.port) roles.newport)
|
||||
group.port
|
||||
==
|
||||
setup
|
||||
::
|
||||
=/ mychan-import=imports:groups:i
|
||||
(~(put by *imports:groups:i) [our.bowl %my-channels] bigport)
|
||||
:_ ~
|
||||
:~ (poke-our %groups group-import+!>(mychan-import))
|
||||
(poke-our %chat graph-imports+!>(chats))
|
||||
(poke-our %heap graph-imports+!>(links))
|
||||
(poke-our %diary graph-imports+!>(diarys))
|
||||
==
|
||||
++ migrate-ship
|
||||
|= her=ship
|
||||
^- (list card)
|
||||
|
Loading…
Reference in New Issue
Block a user