feat: implement project repository with Redis caching and transaction support
All checks were successful
Build and Release / release (push) Successful in 1m36s
All checks were successful
Build and Release / release (push) Successful in 1m36s
This commit is contained in:
@@ -3,6 +3,7 @@ services:
|
|||||||
image: azenkain/postgres-postgis-pgvector:18
|
image: azenkain/postgres-postgis-pgvector:18
|
||||||
container_name: history_db
|
container_name: history_db
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
env_file:
|
env_file:
|
||||||
- ./assets/resources/.env
|
- ./assets/resources/.env
|
||||||
environment:
|
environment:
|
||||||
@@ -10,6 +11,8 @@ services:
|
|||||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||||
- POSTGRES_DB=${POSTGRES_DB}
|
- POSTGRES_DB=${POSTGRES_DB}
|
||||||
- PGDATA=/var/lib/postgresql/data
|
- PGDATA=/var/lib/postgresql/data
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
volumes:
|
volumes:
|
||||||
- history_db_data:/var/lib/postgresql/data
|
- history_db_data:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
|||||||
@@ -360,6 +360,9 @@ func (r *projectRepository) AddMember(ctx context.Context, params sqlc.AddProjec
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
go func() {
|
||||||
|
_ = r.c.DelByPattern(context.Background(), "project:user*")
|
||||||
|
}()
|
||||||
_ = r.c.Del(ctx, fmt.Sprintf("project:id:%s", convert.UUIDToString(params.ProjectID)))
|
_ = r.c.Del(ctx, fmt.Sprintf("project:id:%s", convert.UUIDToString(params.ProjectID)))
|
||||||
_ = r.c.Del(ctx, fmt.Sprintf("project:perm:%s:%s", convert.UUIDToString(params.ProjectID), convert.UUIDToString(params.UserID)))
|
_ = r.c.Del(ctx, fmt.Sprintf("project:perm:%s:%s", convert.UUIDToString(params.ProjectID), convert.UUIDToString(params.UserID)))
|
||||||
return nil
|
return nil
|
||||||
@@ -370,6 +373,9 @@ func (r *projectRepository) UpdateMemberRole(ctx context.Context, params sqlc.Up
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
go func() {
|
||||||
|
_ = r.c.DelByPattern(context.Background(), "project:user*")
|
||||||
|
}()
|
||||||
_ = r.c.Del(ctx, fmt.Sprintf("project:id:%s", convert.UUIDToString(params.ProjectID)))
|
_ = r.c.Del(ctx, fmt.Sprintf("project:id:%s", convert.UUIDToString(params.ProjectID)))
|
||||||
_ = r.c.Del(ctx, fmt.Sprintf("project:perm:%s:%s", convert.UUIDToString(params.ProjectID), convert.UUIDToString(params.UserID)))
|
_ = r.c.Del(ctx, fmt.Sprintf("project:perm:%s:%s", convert.UUIDToString(params.ProjectID), convert.UUIDToString(params.UserID)))
|
||||||
return nil
|
return nil
|
||||||
@@ -380,6 +386,9 @@ func (r *projectRepository) RemoveMember(ctx context.Context, params sqlc.Remove
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
go func() {
|
||||||
|
_ = r.c.DelByPattern(context.Background(), "project:user*")
|
||||||
|
}()
|
||||||
_ = r.c.Del(ctx, fmt.Sprintf("project:id:%s", convert.UUIDToString(params.ProjectID)))
|
_ = r.c.Del(ctx, fmt.Sprintf("project:id:%s", convert.UUIDToString(params.ProjectID)))
|
||||||
_ = r.c.Del(ctx, fmt.Sprintf("project:perm:%s:%s", convert.UUIDToString(params.ProjectID), convert.UUIDToString(params.UserID)))
|
_ = r.c.Del(ctx, fmt.Sprintf("project:perm:%s:%s", convert.UUIDToString(params.ProjectID), convert.UUIDToString(params.UserID)))
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
Reference in New Issue
Block a user