Skip to content

Commit

Permalink
Export default sorting constants (#165)
Browse files Browse the repository at this point in the history
  • Loading branch information
stanleyphu authored Jun 20, 2023
1 parent 3fa1cdc commit 6a85d83
Show file tree
Hide file tree
Showing 34 changed files with 382 additions and 382 deletions.
4 changes: 2 additions & 2 deletions pkg/authz/feature/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import (
"time"
)

const defaultSortBy = "featureId"
const DefaultSortBy = "featureId"

type FeatureListParamParser struct{}

func (parser FeatureListParamParser) GetDefaultSortBy() string {
return defaultSortBy
return DefaultSortBy
}

func (parser FeatureListParamParser) GetSupportedSortBys() []string {
Expand Down
40 changes: 20 additions & 20 deletions pkg/authz/feature/mysql.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ func (repo MySQLRepository) List(ctx context.Context, listParams service.ListPar

if listParams.Query != nil {
searchTermReplacement := fmt.Sprintf("%%%s%%", *listParams.Query)
query = fmt.Sprintf("%s AND (%s LIKE ? OR name LIKE ?)", query, defaultSortBy)
query = fmt.Sprintf("%s AND (%s LIKE ? OR name LIKE ?)", query, DefaultSortBy)
replacements = append(replacements, searchTermReplacement, searchTermReplacement)
}

Expand All @@ -136,30 +136,30 @@ func (repo MySQLRepository) List(ctx context.Context, listParams service.ListPar

switch listParams.AfterValue {
case nil:
if listParams.SortBy == defaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, defaultSortBy, comparisonOp)
if listParams.SortBy == DefaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, DefaultSortBy, comparisonOp)
replacements = append(replacements, listParams.AfterId)
} else if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s AND (%s IS NOT NULL OR (%s %s ? AND %s IS NULL))", query, listParams.SortBy, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s IS NOT NULL OR (%s %s ? AND %s IS NULL))", query, listParams.SortBy, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.AfterId,
)
} else {
query = fmt.Sprintf("%s AND (%s %s ? AND %s IS NULL)", query, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? AND %s IS NULL)", query, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.AfterId,
)
}
default:
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s AND (%s %s ? OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.AfterValue,
listParams.AfterId,
listParams.AfterValue,
)
} else {
query = fmt.Sprintf("%s AND (%s %s ? OR %s IS NULL OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, listParams.SortBy, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? OR %s IS NULL OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, listParams.SortBy, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.AfterValue,
listParams.AfterId,
Expand All @@ -177,30 +177,30 @@ func (repo MySQLRepository) List(ctx context.Context, listParams service.ListPar

switch listParams.BeforeValue {
case nil:
if listParams.SortBy == defaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, defaultSortBy, comparisonOp)
if listParams.SortBy == DefaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, DefaultSortBy, comparisonOp)
replacements = append(replacements, listParams.BeforeId)
} else if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s AND (%s %s ? AND %s IS NULL)", query, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? AND %s IS NULL)", query, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.BeforeId,
)
} else {
query = fmt.Sprintf("%s AND (%s IS NOT NULL OR (%s %s ? AND %s IS NULL))", query, listParams.SortBy, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s IS NOT NULL OR (%s %s ? AND %s IS NULL))", query, listParams.SortBy, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.BeforeId,
)
}
default:
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s AND (%s %s ? OR %s IS NULL OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, listParams.SortBy, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? OR %s IS NULL OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, listParams.SortBy, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.BeforeValue,
listParams.BeforeId,
listParams.BeforeValue,
)
} else {
query = fmt.Sprintf("%s AND (%s %s ? OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.BeforeValue,
listParams.BeforeId,
Expand All @@ -211,15 +211,15 @@ func (repo MySQLRepository) List(ctx context.Context, listParams service.ListPar
}

if listParams.BeforeId != nil {
if listParams.SortBy != defaultSortBy {
if listParams.SortBy != DefaultSortBy {
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderDesc, defaultSortBy, service.SortOrderDesc)
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderDesc, DefaultSortBy, service.SortOrderDesc)
replacements = append(replacements, listParams.Limit)
} else {
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderAsc, defaultSortBy, service.SortOrderAsc)
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderAsc, DefaultSortBy, service.SortOrderAsc)
replacements = append(replacements, listParams.Limit)
}
query = fmt.Sprintf("With result_set AS (%s) SELECT * FROM result_set ORDER BY %s %s, %s %s", query, listParams.SortBy, listParams.SortOrder, defaultSortBy, listParams.SortOrder)
query = fmt.Sprintf("With result_set AS (%s) SELECT * FROM result_set ORDER BY %s %s, %s %s", query, listParams.SortBy, listParams.SortOrder, DefaultSortBy, listParams.SortOrder)
} else {
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s ORDER BY %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderDesc)
Expand All @@ -231,11 +231,11 @@ func (repo MySQLRepository) List(ctx context.Context, listParams service.ListPar
query = fmt.Sprintf("With result_set AS (%s) SELECT * FROM result_set ORDER BY %s %s", query, listParams.SortBy, listParams.SortOrder)
}
} else {
if listParams.SortBy != defaultSortBy {
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, listParams.SortOrder, defaultSortBy, listParams.SortOrder)
if listParams.SortBy != DefaultSortBy {
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, listParams.SortOrder, DefaultSortBy, listParams.SortOrder)
replacements = append(replacements, listParams.Limit)
} else {
query = fmt.Sprintf("%s ORDER BY %s %s LIMIT ?", query, defaultSortBy, listParams.SortOrder)
query = fmt.Sprintf("%s ORDER BY %s %s LIMIT ?", query, DefaultSortBy, listParams.SortOrder)
replacements = append(replacements, listParams.Limit)
}
}
Expand Down
10 changes: 5 additions & 5 deletions pkg/authz/feature/postgres.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ func (repo PostgresRepository) List(ctx context.Context, listParams service.List
deleted_at IS NULL
`
replacements := []interface{}{}
defaultSort := regexp.MustCompile("([A-Z])").ReplaceAllString(defaultSortBy, `_$1`)
defaultSort := regexp.MustCompile("([A-Z])").ReplaceAllString(DefaultSortBy, `_$1`)
sortBy := regexp.MustCompile("([A-Z])").ReplaceAllString(listParams.SortBy, `_$1`)

if listParams.Query != nil {
Expand All @@ -137,7 +137,7 @@ func (repo PostgresRepository) List(ctx context.Context, listParams service.List

switch listParams.AfterValue {
case nil:
if listParams.SortBy == defaultSortBy {
if listParams.SortBy == DefaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, defaultSort, comparisonOp)
replacements = append(replacements, listParams.AfterId)
} else if listParams.SortOrder == service.SortOrderAsc {
Expand Down Expand Up @@ -178,7 +178,7 @@ func (repo PostgresRepository) List(ctx context.Context, listParams service.List

switch listParams.BeforeValue {
case nil:
if listParams.SortBy == defaultSortBy {
if listParams.SortBy == DefaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, defaultSort, comparisonOp)
replacements = append(replacements, listParams.BeforeId)
} else if listParams.SortOrder == service.SortOrderAsc {
Expand Down Expand Up @@ -219,7 +219,7 @@ func (repo PostgresRepository) List(ctx context.Context, listParams service.List
}

if listParams.BeforeId != nil {
if listParams.SortBy != defaultSortBy {
if listParams.SortBy != DefaultSortBy {
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s ORDER BY %s %s %s, %s %s LIMIT ?", query, sortBy, service.SortOrderDesc, invertedNullSortClause, defaultSort, service.SortOrderDesc)
replacements = append(replacements, listParams.Limit)
Expand All @@ -239,7 +239,7 @@ func (repo PostgresRepository) List(ctx context.Context, listParams service.List
query = fmt.Sprintf("With result_set AS (%s) SELECT * FROM result_set ORDER BY %s %s %s", query, sortBy, listParams.SortOrder, nullSortClause)
}
} else {
if listParams.SortBy != defaultSortBy {
if listParams.SortBy != DefaultSortBy {
query = fmt.Sprintf("%s ORDER BY %s %s %s, %s %s LIMIT ?", query, sortBy, listParams.SortOrder, nullSortClause, defaultSort, listParams.SortOrder)
replacements = append(replacements, listParams.Limit)
} else {
Expand Down
40 changes: 20 additions & 20 deletions pkg/authz/feature/sqlite.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ func (repo SQLiteRepository) List(ctx context.Context, listParams service.ListPa

if listParams.Query != nil {
searchTermReplacement := fmt.Sprintf("%%%s%%", *listParams.Query)
query = fmt.Sprintf("%s AND (%s LIKE ? OR name LIKE ?)", query, defaultSortBy)
query = fmt.Sprintf("%s AND (%s LIKE ? OR name LIKE ?)", query, DefaultSortBy)
replacements = append(replacements, searchTermReplacement, searchTermReplacement)
}

Expand All @@ -142,30 +142,30 @@ func (repo SQLiteRepository) List(ctx context.Context, listParams service.ListPa

switch listParams.AfterValue {
case nil:
if listParams.SortBy == defaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, defaultSortBy, comparisonOp)
if listParams.SortBy == DefaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, DefaultSortBy, comparisonOp)
replacements = append(replacements, listParams.AfterId)
} else if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s AND (%s IS NOT NULL OR (%s %s ? AND %s IS NULL))", query, listParams.SortBy, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s IS NOT NULL OR (%s %s ? AND %s IS NULL))", query, listParams.SortBy, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.AfterId,
)
} else {
query = fmt.Sprintf("%s AND (%s %s ? AND %s IS NULL)", query, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? AND %s IS NULL)", query, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.AfterId,
)
}
default:
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s AND (%s %s ? OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.AfterValue,
listParams.AfterId,
listParams.AfterValue,
)
} else {
query = fmt.Sprintf("%s AND (%s %s ? OR %s IS NULL OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, listParams.SortBy, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? OR %s IS NULL OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, listParams.SortBy, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.AfterValue,
listParams.AfterId,
Expand All @@ -183,30 +183,30 @@ func (repo SQLiteRepository) List(ctx context.Context, listParams service.ListPa

switch listParams.BeforeValue {
case nil:
if listParams.SortBy == defaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, defaultSortBy, comparisonOp)
if listParams.SortBy == DefaultSortBy {
query = fmt.Sprintf("%s AND %s %s ?", query, DefaultSortBy, comparisonOp)
replacements = append(replacements, listParams.BeforeId)
} else if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s AND (%s %s ? AND %s IS NULL)", query, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? AND %s IS NULL)", query, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.BeforeId,
)
} else {
query = fmt.Sprintf("%s AND (%s IS NOT NULL OR (%s %s ? AND %s IS NULL))", query, listParams.SortBy, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s IS NOT NULL OR (%s %s ? AND %s IS NULL))", query, listParams.SortBy, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.BeforeId,
)
}
default:
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s AND (%s %s ? OR %s IS NULL OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, listParams.SortBy, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? OR %s IS NULL OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, listParams.SortBy, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.BeforeValue,
listParams.BeforeId,
listParams.BeforeValue,
)
} else {
query = fmt.Sprintf("%s AND (%s %s ? OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, defaultSortBy, comparisonOp, listParams.SortBy)
query = fmt.Sprintf("%s AND (%s %s ? OR (%s %s ? AND %s = ?))", query, listParams.SortBy, comparisonOp, DefaultSortBy, comparisonOp, listParams.SortBy)
replacements = append(replacements,
listParams.BeforeValue,
listParams.BeforeId,
Expand All @@ -217,15 +217,15 @@ func (repo SQLiteRepository) List(ctx context.Context, listParams service.ListPa
}

if listParams.BeforeId != nil {
if listParams.SortBy != defaultSortBy {
if listParams.SortBy != DefaultSortBy {
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderDesc, defaultSortBy, service.SortOrderDesc)
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderDesc, DefaultSortBy, service.SortOrderDesc)
replacements = append(replacements, listParams.Limit)
} else {
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderAsc, defaultSortBy, service.SortOrderAsc)
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderAsc, DefaultSortBy, service.SortOrderAsc)
replacements = append(replacements, listParams.Limit)
}
query = fmt.Sprintf("With result_set AS (%s) SELECT * FROM result_set ORDER BY %s %s, %s %s", query, listParams.SortBy, listParams.SortOrder, defaultSortBy, listParams.SortOrder)
query = fmt.Sprintf("With result_set AS (%s) SELECT * FROM result_set ORDER BY %s %s, %s %s", query, listParams.SortBy, listParams.SortOrder, DefaultSortBy, listParams.SortOrder)
} else {
if listParams.SortOrder == service.SortOrderAsc {
query = fmt.Sprintf("%s ORDER BY %s %s LIMIT ?", query, listParams.SortBy, service.SortOrderDesc)
Expand All @@ -237,11 +237,11 @@ func (repo SQLiteRepository) List(ctx context.Context, listParams service.ListPa
query = fmt.Sprintf("With result_set AS (%s) SELECT * FROM result_set ORDER BY %s %s", query, listParams.SortBy, listParams.SortOrder)
}
} else {
if listParams.SortBy != defaultSortBy {
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, listParams.SortOrder, defaultSortBy, listParams.SortOrder)
if listParams.SortBy != DefaultSortBy {
query = fmt.Sprintf("%s ORDER BY %s %s, %s %s LIMIT ?", query, listParams.SortBy, listParams.SortOrder, DefaultSortBy, listParams.SortOrder)
replacements = append(replacements, listParams.Limit)
} else {
query = fmt.Sprintf("%s ORDER BY %s %s LIMIT ?", query, defaultSortBy, listParams.SortOrder)
query = fmt.Sprintf("%s ORDER BY %s %s LIMIT ?", query, DefaultSortBy, listParams.SortOrder)
replacements = append(replacements, listParams.Limit)
}
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/authz/object/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import (
"time"
)

const defaultSortBy = "objectId"
const DefaultSortBy = "objectId"

type ObjectListParamParser struct{}

func (parser ObjectListParamParser) GetDefaultSortBy() string {
return defaultSortBy
return DefaultSortBy
}

func (parser ObjectListParamParser) GetSupportedSortBys() []string {
Expand Down
Loading

0 comments on commit 6a85d83

Please sign in to comment.