···77 "time"8899 "tangled.org/core/appview/models"1010+ "tangled.org/core/orm"1011)11121212-func GetPipelines(e Execer, filters ...filter) ([]models.Pipeline, error) {1313+func GetPipelines(e Execer, filters ...orm.Filter) ([]models.Pipeline, error) {1314 var pipelines []models.Pipeline14151516 var conditions []string···169168170169// this is a mega query, but the most useful one:171170// get N pipelines, for each one get the latest status of its N workflows172172-func GetPipelineStatuses(e Execer, limit int, filters ...filter) ([]models.Pipeline, error) {171171+func GetPipelineStatuses(e Execer, limit int, filters ...orm.Filter) ([]models.Pipeline, error) {173172 var conditions []string174173 var args []any175174 for _, filter := range filters {176176- filter.key = "p." + filter.key // the table is aliased in the query to `p`175175+ filter.Key = "p." + filter.Key // the table is aliased in the query to `p`177176 conditions = append(conditions, filter.Condition())178177 args = append(args, filter.Arg()...)179178 }···265264 conditions = nil266265 args = nil267266 for _, p := range pipelines {268268- knotFilter := FilterEq("pipeline_knot", p.Knot)269269- rkeyFilter := FilterEq("pipeline_rkey", p.Rkey)267267+ knotFilter := orm.FilterEq("pipeline_knot", p.Knot)268268+ rkeyFilter := orm.FilterEq("pipeline_rkey", p.Rkey)270269 conditions = append(conditions, fmt.Sprintf("(%s and %s)", knotFilter.Condition(), rkeyFilter.Condition()))271270 args = append(args, p.Knot)272271 args = append(args, p.Rkey)
+6-5
appview/db/profile.go
···11111212 "github.com/bluesky-social/indigo/atproto/syntax"1313 "tangled.org/core/appview/models"1414+ "tangled.org/core/orm"1415)15161617const TimeframeMonths = 7···45444645 issues, err := GetIssues(4746 e,4848- FilterEq("did", forDid),4949- FilterGte("created", time.Now().AddDate(0, -TimeframeMonths, 0)),4747+ orm.FilterEq("did", forDid),4848+ orm.FilterGte("created", time.Now().AddDate(0, -TimeframeMonths, 0)),5049 )5150 if err != nil {5251 return nil, fmt.Errorf("error getting issues by owner did: %w", err)···6665 *items = append(*items, &issue)6766 }68676969- repos, err := GetRepos(e, 0, FilterEq("did", forDid))6868+ repos, err := GetRepos(e, 0, orm.FilterEq("did", forDid))7069 if err != nil {7170 return nil, fmt.Errorf("error getting all repos by did: %w", err)7271 }···200199 return tx.Commit()201200}202201203203-func GetProfiles(e Execer, filters ...filter) (map[string]*models.Profile, error) {202202+func GetProfiles(e Execer, filters ...orm.Filter) (map[string]*models.Profile, error) {204203 var conditions []string205204 var args []any206205 for _, filter := range filters {···442441 }443442444443 // ensure all pinned repos are either own repos or collaborating repos445445- repos, err := GetRepos(e, 0, FilterEq("did", profile.Did))444444+ repos, err := GetRepos(e, 0, orm.FilterEq("did", profile.Did))446445 if err != nil {447446 log.Printf("getting repos for %s: %s", profile.Did, err)448447 }
+21-20
appview/db/pulls.go
···13131414 "github.com/bluesky-social/indigo/atproto/syntax"1515 "tangled.org/core/appview/models"1616+ "tangled.org/core/orm"1617)17181819func NewPull(tx *sql.Tx, pull *models.Pull) error {···119118 return pullId - 1, err120119}121120122122-func GetPullsWithLimit(e Execer, limit int, filters ...filter) ([]*models.Pull, error) {121121+func GetPullsWithLimit(e Execer, limit int, filters ...orm.Filter) ([]*models.Pull, error) {123122 pulls := make(map[syntax.ATURI]*models.Pull)124123125124 var conditions []string···230229 for _, p := range pulls {231230 pullAts = append(pullAts, p.AtUri())232231 }233233- submissionsMap, err := GetPullSubmissions(e, FilterIn("pull_at", pullAts))232232+ submissionsMap, err := GetPullSubmissions(e, orm.FilterIn("pull_at", pullAts))234233 if err != nil {235234 return nil, fmt.Errorf("failed to get submissions: %w", err)236235 }···242241 }243242244243 // collect allLabels for each issue245245- allLabels, err := GetLabels(e, FilterIn("subject", pullAts))244244+ allLabels, err := GetLabels(e, orm.FilterIn("subject", pullAts))246245 if err != nil {247246 return nil, fmt.Errorf("failed to query labels: %w", err)248247 }···259258 sourceAts = append(sourceAts, *p.PullSource.RepoAt)260259 }261260 }262262- sourceRepos, err := GetRepos(e, 0, FilterIn("at_uri", sourceAts))261261+ sourceRepos, err := GetRepos(e, 0, orm.FilterIn("at_uri", sourceAts))263262 if err != nil && !errors.Is(err, sql.ErrNoRows) {264263 return nil, fmt.Errorf("failed to get source repos: %w", err)265264 }···275274 }276275 }277276278278- allReferences, err := GetReferencesAll(e, FilterIn("from_at", pullAts))277277+ allReferences, err := GetReferencesAll(e, orm.FilterIn("from_at", pullAts))279278 if err != nil {280279 return nil, fmt.Errorf("failed to query reference_links: %w", err)281280 }···296295 return orderedByPullId, nil297296}298297299299-func GetPulls(e Execer, filters ...filter) ([]*models.Pull, error) {298298+func GetPulls(e Execer, filters ...orm.Filter) ([]*models.Pull, error) {300299 return GetPullsWithLimit(e, 0, filters...)301300}302301303302func GetPullIDs(e Execer, opts models.PullSearchOptions) ([]int64, error) {304303 var ids []int64305304306306- var filters []filter307307- filters = append(filters, FilterEq("state", opts.State))305305+ var filters []orm.Filter306306+ filters = append(filters, orm.FilterEq("state", opts.State))308307 if opts.RepoAt != "" {309309- filters = append(filters, FilterEq("repo_at", opts.RepoAt))308308+ filters = append(filters, orm.FilterEq("repo_at", opts.RepoAt))310309 }311310312311 var conditions []string···362361}363362364363func GetPull(e Execer, repoAt syntax.ATURI, pullId int) (*models.Pull, error) {365365- pulls, err := GetPullsWithLimit(e, 1, FilterEq("repo_at", repoAt), FilterEq("pull_id", pullId))364364+ pulls, err := GetPullsWithLimit(e, 1, orm.FilterEq("repo_at", repoAt), orm.FilterEq("pull_id", pullId))366365 if err != nil {367366 return nil, err368367 }···374373}375374376375// mapping from pull -> pull submissions377377-func GetPullSubmissions(e Execer, filters ...filter) (map[syntax.ATURI][]*models.PullSubmission, error) {376376+func GetPullSubmissions(e Execer, filters ...orm.Filter) (map[syntax.ATURI][]*models.PullSubmission, error) {378377 var conditions []string379378 var args []any380379 for _, filter := range filters {···449448450449 // Get comments for all submissions using GetPullComments451450 submissionIds := slices.Collect(maps.Keys(submissionMap))452452- comments, err := GetPullComments(e, FilterIn("submission_id", submissionIds))451451+ comments, err := GetPullComments(e, orm.FilterIn("submission_id", submissionIds))453452 if err != nil {454453 return nil, fmt.Errorf("failed to get pull comments: %w", err)455454 }···475474 return m, nil476475}477476478478-func GetPullComments(e Execer, filters ...filter) ([]models.PullComment, error) {477477+func GetPullComments(e Execer, filters ...orm.Filter) ([]models.PullComment, error) {479478 var conditions []string480479 var args []any481480 for _, filter := range filters {···543542544543 // collect references for each comments545544 commentAts := slices.Collect(maps.Keys(commentMap))546546- allReferencs, err := GetReferencesAll(e, FilterIn("from_at", commentAts))545545+ allReferencs, err := GetReferencesAll(e, orm.FilterIn("from_at", commentAts))547546 if err != nil {548547 return nil, fmt.Errorf("failed to query reference_links: %w", err)549548 }···709708 return err710709}711710712712-func SetPullParentChangeId(e Execer, parentChangeId string, filters ...filter) error {711711+func SetPullParentChangeId(e Execer, parentChangeId string, filters ...orm.Filter) error {713712 var conditions []string714713 var args []any715714···733732734733// Only used when stacking to update contents in the event of a rebase (the interdiff should be empty).735734// otherwise submissions are immutable736736-func UpdatePull(e Execer, newPatch, sourceRev string, filters ...filter) error {735735+func UpdatePull(e Execer, newPatch, sourceRev string, filters ...orm.Filter) error {737736 var conditions []string738737 var args []any739738···791790func GetStack(e Execer, stackId string) (models.Stack, error) {792791 unorderedPulls, err := GetPulls(793792 e,794794- FilterEq("stack_id", stackId),795795- FilterNotEq("state", models.PullDeleted),793793+ orm.FilterEq("stack_id", stackId),794794+ orm.FilterNotEq("state", models.PullDeleted),796795 )797796 if err != nil {798797 return nil, err···836835func GetAbandonedPulls(e Execer, stackId string) ([]*models.Pull, error) {837836 pulls, err := GetPulls(838837 e,839839- FilterEq("stack_id", stackId),840840- FilterEq("state", models.PullDeleted),838838+ orm.FilterEq("stack_id", stackId),839839+ orm.FilterEq("state", models.PullDeleted),841840 )842841 if err != nil {843842 return nil, err