Skip to content

Commit 3c4659b

Browse files
authored
Dev (#356)
* river postgres queue note * gitignore * xo sql properties validation
1 parent e00c798 commit 3c4659b

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
**/repopack-output.*
12
**/.vite
23
.direnv
34
db/schema.sql

db/migrations/0000002_init.up.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ create table users (
304304
, foreign key (api_key_id) references user_api_keys (user_api_key_id) on delete cascade
305305
);
306306

307-
comment on column users.external_id is '"properties":private,something-else';
307+
comment on column users.external_id is '"properties":private';
308308

309309
comment on column users.api_key_id is '"properties":private';
310310

internal/repos/postgresql/xo-templates/go.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,17 @@ const (
9797
// example: "properties":private,another-property && "type":ProjectName && "tags":pattern: ^[\.a-zA-Z0-9_-]+$
9898
)
9999

100+
func allProperties() []string {
101+
return []string{
102+
propertiesJoinOperator,
103+
propertyRefsIgnore,
104+
propertyShareRefConstraints,
105+
propertyJSONPrivate,
106+
propertyOpenAPINotRequired,
107+
propertyOpenAPIHidden,
108+
}
109+
}
110+
100111
// to not have to analyze everything for convertConstraints
101112
var cardinalityRE = regexp.MustCompile(string(cardinalityAnnot) + annotationAssignmentOperator + "([A-Za-z0-9_-]*)")
102113

@@ -1571,7 +1582,14 @@ func convertField(ctx context.Context, tf transformFunc, f xo.Field) (Field, err
15711582
func extractPropertiesAnnotation(annotation annotation) []string {
15721583
var properties []string
15731584
for _, p := range strings.Split(annotation, propertiesJoinOperator) {
1574-
properties = append(properties, strings.TrimSpace(strings.ToLower(p)))
1585+
prop := strings.TrimSpace(strings.ToLower(p))
1586+
if prop == "" {
1587+
continue
1588+
}
1589+
if !contains(allProperties(), prop) {
1590+
panic(fmt.Sprintf("unknown sql comment property: %s", prop))
1591+
}
1592+
properties = append(properties, prop)
15751593
}
15761594

15771595
return properties

internal/tasks/TODO.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
- checkout https://github.com/hibiken/asynq
1+
- checkout https://github.com/hibiken/asynq (not recommended)
2+
- https://github.com/riverqueue/river 🆗 (postgres under the hood - made to share same db)
3+
24
- NATS jetstream
35
- rabbitmq

0 commit comments

Comments
 (0)