appview: rename refresolver module to mentions #872

merged
opened by oppi.li targeting master from op/ozkxlrlnrmmq

usage of the resolver is now mentionsResolver.

Signed-off-by: oppiliappan me@oppi.li

Changed files
+83 -81
appview
issues
mentions
pulls
state
+30 -30
appview/issues/issues.go
··· 19 "tangled.org/core/appview/config" 20 "tangled.org/core/appview/db" 21 issues_indexer "tangled.org/core/appview/indexer/issues" 22 "tangled.org/core/appview/models" 23 "tangled.org/core/appview/notify" 24 "tangled.org/core/appview/oauth" 25 "tangled.org/core/appview/pages" 26 "tangled.org/core/appview/pages/repoinfo" 27 "tangled.org/core/appview/pagination" 28 - "tangled.org/core/appview/refresolver" 29 "tangled.org/core/appview/reporesolver" 30 "tangled.org/core/appview/validator" 31 "tangled.org/core/idresolver" ··· 34 ) 35 36 type Issues struct { 37 - oauth *oauth.OAuth 38 - repoResolver *reporesolver.RepoResolver 39 - enforcer *rbac.Enforcer 40 - pages *pages.Pages 41 - idResolver *idresolver.Resolver 42 - refResolver *refresolver.Resolver 43 - db *db.DB 44 - config *config.Config 45 - notifier notify.Notifier 46 - logger *slog.Logger 47 - validator *validator.Validator 48 - indexer *issues_indexer.Indexer 49 } 50 51 func New( ··· 54 enforcer *rbac.Enforcer, 55 pages *pages.Pages, 56 idResolver *idresolver.Resolver, 57 - refResolver *refresolver.Resolver, 58 db *db.DB, 59 config *config.Config, 60 notifier notify.Notifier, ··· 63 logger *slog.Logger, 64 ) *Issues { 65 return &Issues{ 66 - oauth: oauth, 67 - repoResolver: repoResolver, 68 - enforcer: enforcer, 69 - pages: pages, 70 - idResolver: idResolver, 71 - refResolver: refResolver, 72 - db: db, 73 - config: config, 74 - notifier: notifier, 75 - logger: logger, 76 - validator: validator, 77 - indexer: indexer, 78 } 79 } 80 ··· 163 newIssue := issue 164 newIssue.Title = r.FormValue("title") 165 newIssue.Body = r.FormValue("body") 166 - newIssue.Mentions, newIssue.References = rp.refResolver.Resolve(r.Context(), newIssue.Body) 167 168 if err := rp.validator.ValidateIssue(newIssue); err != nil { 169 l.Error("validation error", "err", err) ··· 412 replyTo = &replyToUri 413 } 414 415 - mentions, references := rp.refResolver.Resolve(r.Context(), body) 416 417 comment := models.IssueComment{ 418 Did: user.Did, ··· 584 newComment := comment 585 newComment.Body = newBody 586 newComment.Edited = &now 587 - newComment.Mentions, newComment.References = rp.refResolver.Resolve(r.Context(), newBody) 588 589 record := newComment.AsRecord() 590 ··· 912 }) 913 case http.MethodPost: 914 body := r.FormValue("body") 915 - mentions, references := rp.refResolver.Resolve(r.Context(), body) 916 917 issue := &models.Issue{ 918 RepoAt: f.RepoAt(),
··· 19 "tangled.org/core/appview/config" 20 "tangled.org/core/appview/db" 21 issues_indexer "tangled.org/core/appview/indexer/issues" 22 + "tangled.org/core/appview/mentions" 23 "tangled.org/core/appview/models" 24 "tangled.org/core/appview/notify" 25 "tangled.org/core/appview/oauth" 26 "tangled.org/core/appview/pages" 27 "tangled.org/core/appview/pages/repoinfo" 28 "tangled.org/core/appview/pagination" 29 "tangled.org/core/appview/reporesolver" 30 "tangled.org/core/appview/validator" 31 "tangled.org/core/idresolver" ··· 34 ) 35 36 type Issues struct { 37 + oauth *oauth.OAuth 38 + repoResolver *reporesolver.RepoResolver 39 + enforcer *rbac.Enforcer 40 + pages *pages.Pages 41 + idResolver *idresolver.Resolver 42 + mentionsResolver *mentions.Resolver 43 + db *db.DB 44 + config *config.Config 45 + notifier notify.Notifier 46 + logger *slog.Logger 47 + validator *validator.Validator 48 + indexer *issues_indexer.Indexer 49 } 50 51 func New( ··· 54 enforcer *rbac.Enforcer, 55 pages *pages.Pages, 56 idResolver *idresolver.Resolver, 57 + mentionsResolver *mentions.Resolver, 58 db *db.DB, 59 config *config.Config, 60 notifier notify.Notifier, ··· 63 logger *slog.Logger, 64 ) *Issues { 65 return &Issues{ 66 + oauth: oauth, 67 + repoResolver: repoResolver, 68 + enforcer: enforcer, 69 + pages: pages, 70 + idResolver: idResolver, 71 + mentionsResolver: mentionsResolver, 72 + db: db, 73 + config: config, 74 + notifier: notifier, 75 + logger: logger, 76 + validator: validator, 77 + indexer: indexer, 78 } 79 } 80 ··· 163 newIssue := issue 164 newIssue.Title = r.FormValue("title") 165 newIssue.Body = r.FormValue("body") 166 + newIssue.Mentions, newIssue.References = rp.mentionsResolver.Resolve(r.Context(), newIssue.Body) 167 168 if err := rp.validator.ValidateIssue(newIssue); err != nil { 169 l.Error("validation error", "err", err) ··· 412 replyTo = &replyToUri 413 } 414 415 + mentions, references := rp.mentionsResolver.Resolve(r.Context(), body) 416 417 comment := models.IssueComment{ 418 Did: user.Did, ··· 584 newComment := comment 585 newComment.Body = newBody 586 newComment.Edited = &now 587 + newComment.Mentions, newComment.References = rp.mentionsResolver.Resolve(r.Context(), newBody) 588 589 record := newComment.AsRecord() 590 ··· 912 }) 913 case http.MethodPost: 914 body := r.FormValue("body") 915 + mentions, references := rp.mentionsResolver.Resolve(r.Context(), body) 916 917 issue := &models.Issue{ 918 RepoAt: f.RepoAt(),
+3 -1
appview/refresolver/resolver.go appview/mentions/resolver.go
··· 1 - package refresolver 2 3 import ( 4 "context" ··· 35 36 func (r *Resolver) Resolve(ctx context.Context, source string) ([]syntax.DID, []syntax.ATURI) { 37 l := r.logger.With("method", "Resolve") 38 rawMentions, rawRefs := markup.FindReferences(r.config.Core.AppviewHost, source) 39 l.Debug("found possible references", "mentions", rawMentions, "refs", rawRefs) 40 idents := r.idResolver.ResolveIdents(ctx, rawMentions) 41 var mentions []syntax.DID 42 for _, ident := range idents {
··· 1 + package mentions 2 3 import ( 4 "context" ··· 35 36 func (r *Resolver) Resolve(ctx context.Context, source string) ([]syntax.DID, []syntax.ATURI) { 37 l := r.logger.With("method", "Resolve") 38 + 39 rawMentions, rawRefs := markup.FindReferences(r.config.Core.AppviewHost, source) 40 l.Debug("found possible references", "mentions", rawMentions, "refs", rawRefs) 41 + 42 idents := r.idResolver.ResolveIdents(ctx, rawMentions) 43 var mentions []syntax.DID 44 for _, ident := range idents {
+29 -29
appview/pulls/pulls.go
··· 19 "tangled.org/core/appview/config" 20 "tangled.org/core/appview/db" 21 pulls_indexer "tangled.org/core/appview/indexer/pulls" 22 "tangled.org/core/appview/models" 23 "tangled.org/core/appview/notify" 24 "tangled.org/core/appview/oauth" 25 "tangled.org/core/appview/pages" 26 "tangled.org/core/appview/pages/markup" 27 "tangled.org/core/appview/pages/repoinfo" 28 - "tangled.org/core/appview/refresolver" 29 "tangled.org/core/appview/reporesolver" 30 "tangled.org/core/appview/validator" 31 "tangled.org/core/appview/xrpcclient" ··· 44 ) 45 46 type Pulls struct { 47 - oauth *oauth.OAuth 48 - repoResolver *reporesolver.RepoResolver 49 - pages *pages.Pages 50 - idResolver *idresolver.Resolver 51 - refResolver *refresolver.Resolver 52 - db *db.DB 53 - config *config.Config 54 - notifier notify.Notifier 55 - enforcer *rbac.Enforcer 56 - logger *slog.Logger 57 - validator *validator.Validator 58 - indexer *pulls_indexer.Indexer 59 } 60 61 func New( ··· 63 repoResolver *reporesolver.RepoResolver, 64 pages *pages.Pages, 65 resolver *idresolver.Resolver, 66 - refResolver *refresolver.Resolver, 67 db *db.DB, 68 config *config.Config, 69 notifier notify.Notifier, ··· 73 logger *slog.Logger, 74 ) *Pulls { 75 return &Pulls{ 76 - oauth: oauth, 77 - repoResolver: repoResolver, 78 - pages: pages, 79 - idResolver: resolver, 80 - refResolver: refResolver, 81 - db: db, 82 - config: config, 83 - notifier: notifier, 84 - enforcer: enforcer, 85 - logger: logger, 86 - validator: validator, 87 - indexer: indexer, 88 } 89 } 90 ··· 729 return 730 } 731 732 - mentions, references := s.refResolver.Resolve(r.Context(), body) 733 734 // Start a transaction 735 tx, err := s.db.BeginTx(r.Context(), nil) ··· 1205 } 1206 } 1207 1208 - mentions, references := s.refResolver.Resolve(r.Context(), body) 1209 1210 rkey := tid.TID() 1211 initialSubmission := models.PullSubmission{ ··· 2397 body := fp.Body 2398 rkey := tid.TID() 2399 2400 - mentions, references := s.refResolver.Resolve(ctx, body) 2401 2402 initialSubmission := models.PullSubmission{ 2403 Patch: fp.Raw,
··· 19 "tangled.org/core/appview/config" 20 "tangled.org/core/appview/db" 21 pulls_indexer "tangled.org/core/appview/indexer/pulls" 22 + "tangled.org/core/appview/mentions" 23 "tangled.org/core/appview/models" 24 "tangled.org/core/appview/notify" 25 "tangled.org/core/appview/oauth" 26 "tangled.org/core/appview/pages" 27 "tangled.org/core/appview/pages/markup" 28 "tangled.org/core/appview/pages/repoinfo" 29 "tangled.org/core/appview/reporesolver" 30 "tangled.org/core/appview/validator" 31 "tangled.org/core/appview/xrpcclient" ··· 44 ) 45 46 type Pulls struct { 47 + oauth *oauth.OAuth 48 + repoResolver *reporesolver.RepoResolver 49 + pages *pages.Pages 50 + idResolver *idresolver.Resolver 51 + mentionsResolver *mentions.Resolver 52 + db *db.DB 53 + config *config.Config 54 + notifier notify.Notifier 55 + enforcer *rbac.Enforcer 56 + logger *slog.Logger 57 + validator *validator.Validator 58 + indexer *pulls_indexer.Indexer 59 } 60 61 func New( ··· 63 repoResolver *reporesolver.RepoResolver, 64 pages *pages.Pages, 65 resolver *idresolver.Resolver, 66 + mentionsResolver *mentions.Resolver, 67 db *db.DB, 68 config *config.Config, 69 notifier notify.Notifier, ··· 73 logger *slog.Logger, 74 ) *Pulls { 75 return &Pulls{ 76 + oauth: oauth, 77 + repoResolver: repoResolver, 78 + pages: pages, 79 + idResolver: resolver, 80 + mentionsResolver: mentionsResolver, 81 + db: db, 82 + config: config, 83 + notifier: notifier, 84 + enforcer: enforcer, 85 + logger: logger, 86 + validator: validator, 87 + indexer: indexer, 88 } 89 } 90 ··· 729 return 730 } 731 732 + mentions, references := s.mentionsResolver.Resolve(r.Context(), body) 733 734 // Start a transaction 735 tx, err := s.db.BeginTx(r.Context(), nil) ··· 1205 } 1206 } 1207 1208 + mentions, references := s.mentionsResolver.Resolve(r.Context(), body) 1209 1210 rkey := tid.TID() 1211 initialSubmission := models.PullSubmission{ ··· 2397 body := fp.Body 2398 rkey := tid.TID() 2399 2400 + mentions, references := s.mentionsResolver.Resolve(ctx, body) 2401 2402 initialSubmission := models.PullSubmission{ 2403 Patch: fp.Raw,
+2 -2
appview/state/router.go
··· 266 s.enforcer, 267 s.pages, 268 s.idResolver, 269 - s.refResolver, 270 s.db, 271 s.config, 272 s.notifier, ··· 283 s.repoResolver, 284 s.pages, 285 s.idResolver, 286 - s.refResolver, 287 s.db, 288 s.config, 289 s.notifier,
··· 266 s.enforcer, 267 s.pages, 268 s.idResolver, 269 + s.mentionsResolver, 270 s.db, 271 s.config, 272 s.notifier, ··· 283 s.repoResolver, 284 s.pages, 285 s.idResolver, 286 + s.mentionsResolver, 287 s.db, 288 s.config, 289 s.notifier,
+19 -19
appview/state/state.go
··· 15 "tangled.org/core/appview/config" 16 "tangled.org/core/appview/db" 17 "tangled.org/core/appview/indexer" 18 "tangled.org/core/appview/models" 19 "tangled.org/core/appview/notify" 20 dbnotify "tangled.org/core/appview/notify/db" 21 phnotify "tangled.org/core/appview/notify/posthog" 22 "tangled.org/core/appview/oauth" 23 "tangled.org/core/appview/pages" 24 - "tangled.org/core/appview/refresolver" 25 "tangled.org/core/appview/reporesolver" 26 "tangled.org/core/appview/validator" 27 xrpcclient "tangled.org/core/appview/xrpcclient" ··· 43 ) 44 45 type State struct { 46 - db *db.DB 47 - notifier notify.Notifier 48 - indexer *indexer.Indexer 49 - oauth *oauth.OAuth 50 - enforcer *rbac.Enforcer 51 - pages *pages.Pages 52 - idResolver *idresolver.Resolver 53 - refResolver *refresolver.Resolver 54 - posthog posthog.Client 55 - jc *jetstream.JetstreamClient 56 - config *config.Config 57 - repoResolver *reporesolver.RepoResolver 58 - knotstream *eventconsumer.Consumer 59 - spindlestream *eventconsumer.Consumer 60 - logger *slog.Logger 61 - validator *validator.Validator 62 } 63 64 func Make(ctx context.Context, config *config.Config) (*State, error) { ··· 100 101 repoResolver := reporesolver.New(config, enforcer, d) 102 103 - refResolver := refresolver.New(config, res, d, log.SubLogger(logger, "refResolver")) 104 105 wrapper := db.DbWrapper{Execer: d} 106 jc, err := jetstream.NewJetstreamClient( ··· 182 enforcer, 183 pages, 184 res, 185 - refResolver, 186 posthog, 187 jc, 188 config,
··· 15 "tangled.org/core/appview/config" 16 "tangled.org/core/appview/db" 17 "tangled.org/core/appview/indexer" 18 + "tangled.org/core/appview/mentions" 19 "tangled.org/core/appview/models" 20 "tangled.org/core/appview/notify" 21 dbnotify "tangled.org/core/appview/notify/db" 22 phnotify "tangled.org/core/appview/notify/posthog" 23 "tangled.org/core/appview/oauth" 24 "tangled.org/core/appview/pages" 25 "tangled.org/core/appview/reporesolver" 26 "tangled.org/core/appview/validator" 27 xrpcclient "tangled.org/core/appview/xrpcclient" ··· 43 ) 44 45 type State struct { 46 + db *db.DB 47 + notifier notify.Notifier 48 + indexer *indexer.Indexer 49 + oauth *oauth.OAuth 50 + enforcer *rbac.Enforcer 51 + pages *pages.Pages 52 + idResolver *idresolver.Resolver 53 + mentionsResolver *mentions.Resolver 54 + posthog posthog.Client 55 + jc *jetstream.JetstreamClient 56 + config *config.Config 57 + repoResolver *reporesolver.RepoResolver 58 + knotstream *eventconsumer.Consumer 59 + spindlestream *eventconsumer.Consumer 60 + logger *slog.Logger 61 + validator *validator.Validator 62 } 63 64 func Make(ctx context.Context, config *config.Config) (*State, error) { ··· 100 101 repoResolver := reporesolver.New(config, enforcer, d) 102 103 + mentionsResolver := mentions.New(config, res, d, log.SubLogger(logger, "mentionsResolver")) 104 105 wrapper := db.DbWrapper{Execer: d} 106 jc, err := jetstream.NewJetstreamClient( ··· 182 enforcer, 183 pages, 184 res, 185 + mentionsResolver, 186 posthog, 187 jc, 188 config,