Compare commits

...

2 Commits

Author SHA1 Message Date
f62fb15375 NO-ISSUE build: update backend version
All checks were successful
Frontend CI / build (push) Successful in 1m26s
Deployment / deployment (release) Successful in 5m19s
Auto Comment On PR / add_improve_comment (pull_request) Successful in 12s
PR Title Check / pr-title-check (pull_request) Successful in 13s
2025-08-12 21:59:28 +08:00
fcada15211 BLOG-128 Fix logic for determining published post access based on user login status (#129)
Some checks failed
Frontend CI / build (push) Has been cancelled
### Description

The relationship between `is_published_only` and `has_logged_in`:

| is_published_only | has_logged_in | result |
| ----------------- | ------------- | ------ |
| T                 | T             | T      |
| T                 | F             | T      |
| F                 | T             | F      |
| F                 | F             | T      |

### Package Changes

_No response_

### Screenshots

_No response_

### Reference

Resolves #128

### Checklist

- [x] A milestone is set
- [x] The related issuse has been linked to this branch

Reviewed-on: #129
Co-authored-by: SquidSpirit <squid@squidspirit.com>
Co-committed-by: SquidSpirit <squid@squidspirit.com>
2025-08-12 21:58:25 +08:00
3 changed files with 15 additions and 7 deletions

10
backend/Cargo.lock generated
View File

@ -420,7 +420,7 @@ dependencies = [
[[package]]
name = "auth"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"actix-session",
"actix-web",
@ -621,7 +621,7 @@ dependencies = [
[[package]]
name = "common"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"sqlx",
]
@ -1743,7 +1743,7 @@ dependencies = [
[[package]]
name = "image"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"actix-multipart",
"actix-web",
@ -2399,7 +2399,7 @@ dependencies = [
[[package]]
name = "post"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"actix-web",
"anyhow",
@ -3169,7 +3169,7 @@ dependencies = [
[[package]]
name = "server"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"actix-session",
"actix-web",

View File

@ -10,7 +10,7 @@ members = [
resolver = "2"
[workspace.package]
version = "0.3.0"
version = "0.3.1"
edition = "2024"
[profile.release]

View File

@ -33,7 +33,15 @@ impl GetAllPostInfoUseCase for GetAllPostInfoUseCaseImpl {
is_published_only: bool,
user_id: Option<i32>,
) -> Result<Vec<PostInfo>, PostError> {
let is_published_only = is_published_only && user_id.is_some();
let has_logged_in = user_id.is_some();
// | is_published_only | has_logged_in | result |
// | ----------------- | ------------- | ------ |
// | T | T | T |
// | T | F | T |
// | F | T | F |
// | F | F | T |
let is_published_only = is_published_only || !has_logged_in;
self.post_repository
.get_all_post_info(is_published_only)