From d8b6d730ff38f85acdb98e082ccb1c21ff894b28 Mon Sep 17 00:00:00 2001 From: Roman Khafizianov Date: Tue, 7 Dec 2021 12:14:05 +0100 Subject: [PATCH] builtinobjects: inject on accountCreate --- core/account.go | 8 + util/builtinobjects/builtinobjects.go | 217 +++++++++++++++++++ util/builtinobjects/data/bundled_objects.zip | Bin 0 -> 61666 bytes 3 files changed, 225 insertions(+) create mode 100644 util/builtinobjects/builtinobjects.go create mode 100644 util/builtinobjects/data/bundled_objects.zip diff --git a/core/account.go b/core/account.go index 64cac3785..c173b184a 100644 --- a/core/account.go +++ b/core/account.go @@ -6,6 +6,7 @@ import ( "encoding/base64" "encoding/json" "fmt" + "github.com/anytypeio/go-anytype-middleware/util/builtinobjects" "io/ioutil" "net/http" "os" @@ -184,11 +185,18 @@ func (mw *Middleware) AccountCreate(req *pb.RpcAccountCreateRequest) *pb.RpcAcco } comps = append(comps, mw.EventSender) + comps = append(comps, builtinobjects.New()) + if mw.app, err = anytype.StartNewApp(comps...); err != nil { return response(newAcc, pb.RpcAccountCreateResponseError_ACCOUNT_CREATED_BUT_FAILED_TO_START_NODE, err) } coreService := mw.app.MustComponent(core.CName).(core.Service) + err = mw.app.MustComponent(builtinobjects.CName).(builtinobjects.BuiltinObjects).Inject(context.Background()) + if err != nil { + return response(nil, pb.RpcAccountCreateResponseError_UNKNOWN_ERROR, err) + } + newAcc.Name = req.Name bs := mw.app.MustComponent(block.CName).(block.Service) details := []*pb.RpcBlockSetDetailsDetail{{Key: "name", Value: pbtypes.String(req.Name)}} diff --git a/util/builtinobjects/builtinobjects.go b/util/builtinobjects/builtinobjects.go new file mode 100644 index 000000000..d51b610d7 --- /dev/null +++ b/util/builtinobjects/builtinobjects.go @@ -0,0 +1,217 @@ +package builtinobjects + +import ( + "archive/zip" + "bytes" + "context" + _ "embed" + "fmt" + "github.com/anytypeio/go-anytype-middleware/core/block" + "github.com/anytypeio/go-anytype-middleware/core/block/simple/link" + "github.com/anytypeio/go-anytype-middleware/core/block/simple/text" + "github.com/textileio/go-threads/core/thread" + "io" + "io/ioutil" + "path/filepath" + "strings" + + "github.com/anytypeio/go-anytype-middleware/app" + "github.com/anytypeio/go-anytype-middleware/core/block/editor/state" + "github.com/anytypeio/go-anytype-middleware/core/block/simple" + "github.com/anytypeio/go-anytype-middleware/core/block/simple/relation" + "github.com/anytypeio/go-anytype-middleware/core/block/source" + "github.com/anytypeio/go-anytype-middleware/pb" + "github.com/anytypeio/go-anytype-middleware/pkg/lib/bundle" + "github.com/anytypeio/go-anytype-middleware/pkg/lib/core/smartblock" + "github.com/anytypeio/go-anytype-middleware/pkg/lib/localstore/addr" + "github.com/anytypeio/go-anytype-middleware/pkg/lib/logging" + "github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model" + "github.com/anytypeio/go-anytype-middleware/pkg/lib/threads" + "github.com/anytypeio/go-anytype-middleware/util/pbtypes" +) + +const CName = "builtinobjects" + +//go:embed data/bundled_objects.zip +var objectsZip []byte + +var log = logging.Logger("anytype-mw-builtinobjects") + +func New() BuiltinObjects { + return new(builtinObjects) +} + +type BuiltinObjects interface { + Inject(ctx context.Context) error + app.Component +} + +type builtinObjects struct { + source source.Service + service block.Service + idsMap map[string]string + hasIncomingLinks map[string]struct{} +} + +func (b *builtinObjects) Init(a *app.App) (err error) { + b.source = a.MustComponent(source.CName).(source.Service) + b.service = a.MustComponent(block.CName).(block.Service) + + return +} + +func (b *builtinObjects) Name() (name string) { + return CName +} + +func (b *builtinObjects) Inject(ctx context.Context) (err error) { + zr, err := zip.NewReader(bytes.NewReader(objectsZip), int64(len(objectsZip))) + if err != nil { + return + } + b.hasIncomingLinks = make(map[string]struct{}, len(zr.File)) + b.idsMap = make(map[string]string, len(zr.File)) + for _, zf := range zr.File { + id := strings.TrimSuffix(zf.Name, filepath.Ext(zf.Name)) + sbt, err := smartblock.SmartBlockTypeFromID(id) + if err != nil { + return err + } + tid, err := threads.ThreadCreateID(thread.AccessControlled, sbt) + if err != nil { + return err + } + b.idsMap[id] = tid.String() + } + + for _, zf := range zr.File { + rd, e := zf.Open() + if e != nil { + return e + } + if err = b.createObject(ctx, rd); err != nil { + return + } + } + + for _, zf := range zr.File { + newId := b.idsMap[strings.TrimSuffix(zf.Name, filepath.Ext(zf.Name))] + if _, exists := b.hasIncomingLinks[newId]; !exists { + b.service.SetPageIsFavorite(pb.RpcObjectSetIsFavoriteRequest{ContextId: newId, IsFavorite: true}) + } + } + return +} + +func (b *builtinObjects) createObject(ctx context.Context, rd io.ReadCloser) (err error) { + defer rd.Close() + data, err := ioutil.ReadAll(rd) + snapshot := &pb.ChangeSnapshot{} + if err = snapshot.Unmarshal(data); err != nil { + return + } + st := state.NewDocFromSnapshot("", snapshot).(*state.State) + oldId := st.RootId() + newId, exists := b.idsMap[oldId] + if !exists { + return fmt.Errorf("new id not found for '%s'", st.RootId()) + } + + st.SetRootId(newId) + st = st.Copy() + st.RemoveDetail(bundle.RelationKeyCreator.String(), bundle.RelationKeyLastModifiedBy.String()) + st.SetLocalDetail(bundle.RelationKeyCreator.String(), pbtypes.String(addr.AnytypeProfileId)) + st.SetLocalDetail(bundle.RelationKeyLastModifiedBy.String(), pbtypes.String(addr.AnytypeProfileId)) + st.InjectDerivedDetails() + if err = b.validate(st.Copy()); err != nil { + return + } + + st.Iterate(func(bl simple.Block) (isContinue bool) { + switch a := bl.(type) { + case link.Block: + newTarget := b.idsMap[a.Model().GetLink().TargetBlockId] + if newTarget == "" { + // maybe we should panic here? + log.Errorf("cant find target id for link: %s", a.Model().GetLink().TargetBlockId) + return true + } + b.hasIncomingLinks[newTarget] = struct { + }{} + + a.Model().GetLink().TargetBlockId = newTarget + st.Set(simple.New(a.Model())) + case text.Block: + for i, mark := range a.Model().GetText().GetMarks().GetMarks() { + if mark.Type != model.BlockContentTextMark_Mention && mark.Type != model.BlockContentTextMark_Object { + continue + } + newTarget := b.idsMap[mark.Param] + if newTarget == "" { + log.Errorf("cant find target id for mentrion: %s", mark.Param) + continue + } + b.hasIncomingLinks[newTarget] = struct { + }{} + a.Model().GetText().GetMarks().GetMarks()[i].Param = newTarget + } + st.Set(simple.New(a.Model())) + } + return true + }) + + for k, v := range st.Details().GetFields() { + rel, err := bundle.GetRelation(bundle.RelationKey(k)) + if err != nil { + log.Errorf("failed to find relation %s: %s", k, err.Error()) + continue + } + if rel.Format != model.RelationFormat_object { + continue + } + + vals := pbtypes.GetStringListValue(v) + for i, val := range vals { + newTarget, _ := b.idsMap[val] + if newTarget == "" { + log.Errorf("cant find target id for relation %s: %s", k, val) + continue + } + vals[i] = newTarget + b.hasIncomingLinks[newTarget] = struct { + }{} + } + } + + sbt, err := smartblock.SmartBlockTypeFromID(newId) + if err != nil { + return err + } + + id, _, err := b.service.CreateSmartBlockFromState(ctx, sbt, nil, nil, st) + if pbtypes.GetBool(st.CombinedDetails(), bundle.RelationKeyIsFavorite.String()) { + b.service.SetPageIsFavorite(pb.RpcObjectSetIsFavoriteRequest{ContextId: newId, IsFavorite: true}) + } + log.Infof("%s -> %s, %s imported", oldId, newId, id) + return err +} + +func (b *builtinObjects) validate(st *state.State) (err error) { + var relKeys []string + st.Iterate(func(b simple.Block) (isContinue bool) { + if rb, ok := b.(relation.Block); ok { + relKeys = append(relKeys, rb.Model().GetRelation().Key) + } + return true + }) + for _, rk := range relKeys { + if !st.HasRelation(rk) { + return fmt.Errorf("bundled template validation: relation '%v' exists in block but not in extra relations", rk) + } + } + return nil +} + +func (b *builtinObjects) Close() (err error) { + return +} diff --git a/util/builtinobjects/data/bundled_objects.zip b/util/builtinobjects/data/bundled_objects.zip new file mode 100644 index 0000000000000000000000000000000000000000..e38bff97f44e71f1377838c1a18fb454156f259f GIT binary patch literal 61666 zcma&NV~{36|E1kMZQHhOThp30r)}Gqwr$(CZQH!twz>WM_uY3R_R~`p6;V-HA1X64 z&XvEDr~XKTfT99H{+$2s!Ta;TK;OjOK;PQc!N$y)+05A3!`;A+olW1=$Ldsk|ZpjR>EdOF|GMx z$-`9iDIw7SlE!*jQ=`t{QZw8D^tZDbTE}XPg{n#eK^x>R2Uv$uqEJLqNqS%hgxJ9x zq7>d(%RL4}@4(#lF|27=DtIfXbeN8gubH>+ceS4K?7kg7a9?-GV&Ht|fAfk)3i@J! ztj@8X^yy`sGxuUiXlW@$4OUk?WEHf*`;tfIq$Xi&IQZhA`ozIAp8Mvz>#UGSSZgE) zvvsD1k)K&430WiyfIqk$N;?j?GPJH1=Kv}fiG{lT`LV!NB@FYl-e%zmf{w*{+KFs8 z`nusSH-j~zN4^;e8iZ{lr)iM7VNK6SkU+|zJlWy}##Cb5-P_f?g}GJeV!wv@r#NSw z4IK&ozU@~e*Tr?`T8=w$LkQWCZVc{0;k7bXtctsq`b=CFu6&%0jBjEP0+rb2yU)@YgV7 z#s=|t7Duumb~1AB@ySa_vc2_h@MC}h5%&SDI1IgHv7s3Fs2e!Q>k}X6r+&5!%sTNh8uRYtcK2(g!{|{L6wmY@rN{*9~vG;rXl4W@5)k8Hc1#B_SeO{S7u!mNMhqZ{Y;MU zZt8D#cD7hu<`bKNR~~st{}~VLSDUsQqXdVIacQ!M#Rf-(wK4w{R-^jL2FeQRNU*

6UvxpdZs3LXP(Prh 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�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 literal 0 HcmV?d00001