refactor: 回答情報の変更時に AuthorizationGuardWithContext を使用する #1442
ci.yaml
on: push
rustfmt check
14s
Lint and test server
3m 58s
Annotations
7 errors and 55 warnings
this expression creates a reference which is immediately dereferenced by the compiler:
domain/src/types/authorization_guard_with_context.rs#L235
error: this expression creates a reference which is immediately dereferenced by the compiler
--> domain/src/types/authorization_guard_with_context.rs:235:48
|
235 | if self.guard_target.can_delete(actor, &context) {
| ^^^^^^^^ help: change this to: `context`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
domain/src/types/authorization_guard_with_context.rs#L217
error: this expression creates a reference which is immediately dereferenced by the compiler
--> domain/src/types/authorization_guard_with_context.rs:217:48
|
217 | if self.guard_target.can_delete(actor, &context) {
| ^^^^^^^^ help: change this to: `context`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
domain/src/types/authorization_guard_with_context.rs#L162
error: this expression creates a reference which is immediately dereferenced by the compiler
--> domain/src/types/authorization_guard_with_context.rs:162:46
|
162 | if self.guard_target.can_read(actor, &context) {
| ^^^^^^^^ help: change this to: `context`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
domain/src/types/authorization_guard_with_context.rs#L153
error: this expression creates a reference which is immediately dereferenced by the compiler
--> domain/src/types/authorization_guard_with_context.rs:153:46
|
153 | if self.guard_target.can_read(actor, &context) {
| ^^^^^^^^ help: change this to: `context`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
domain/src/types/authorization_guard_with_context.rs#L113
error: this expression creates a reference which is immediately dereferenced by the compiler
--> domain/src/types/authorization_guard_with_context.rs:113:48
|
113 | if self.guard_target.can_update(actor, &context) {
| ^^^^^^^^ help: change this to: `context`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
domain/src/types/authorization_guard_with_context.rs#L77
error: this expression creates a reference which is immediately dereferenced by the compiler
--> domain/src/types/authorization_guard_with_context.rs:77:48
|
77 | if self.guard_target.can_create(actor, &context) {
| ^^^^^^^^ help: change this to: `context`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `-D clippy::needless-borrow` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::needless_borrow)]`
|
Lint and test server
Clippy had exited with the 101 exit code:
Checking cfg-if v1.0.0
Checking libc v0.2.169
Checking memchr v2.7.4
Checking serde v1.0.217
Checking pin-project-lite v0.2.15
Checking smallvec v1.13.2
Checking once_cell v1.20.2
Checking itoa v1.0.14
Checking futures-core v0.3.31
Checking bytes v1.9.0
Checking zerofrom v0.1.5
Checking stable_deref_trait v1.2.0
Checking yoke v0.7.5
Checking getrandom v0.2.15
Checking zerovec v0.10.4
Checking futures-io v0.3.31
Checking slab v0.4.9
Checking scopeguard v1.2.0
Checking writeable v0.5.5
Checking litemap v0.7.4
Checking value-bag v1.10.0
Checking lock_api v0.4.12
Checking parking_lot_core v0.9.10
Checking log v0.4.22
Checking byteorder v1.5.0
Checking futures-sink v0.3.31
Checking ryu v1.0.18
Checking zerocopy v0.7.35
Checking parking_lot v0.12.3
Checking tinystr v0.7.6
Checking tracing-core v0.1.33
Checking icu_locid v1.5.0
Checking percent-encoding v2.3.1
Checking icu_locid_transform_data v1.5.0
Checking form_urlencoded v1.2.1
Checking icu_collections v1.5.0
Checking mio v1.0.3
Checking icu_provider v1.5.0
Checking signal-hook-registry v1.4.2
Checking socket2 v0.5.8
Checking icu_locid_transform v1.5.0
Checking serde_json v1.0.136
Checking icu_properties_data v1.5.0
Checking tracing v0.1.41
Checking tokio v1.43.0
Checking write16 v1.0.0
Checking utf8_iter v1.0.4
Checking icu_properties v1.5.1
Checking pin-utils v0.1.0
Checking icu_normalizer_data v1.5.0
Checking spin v0.9.8
Checking utf16_iter v1.0.5
Checking libm v0.2.11
Checking futures-channel v0.3.31
Checking rand_core v0.6.4
Checking futures-task v0.3.31
Checking subtle v2.6.1
Checking num-traits v0.2.19
Checking futures-util v0.3.31
Checking uuid v1.12.0
Checking powerfmt v0.2.0
Checking icu_normalizer v1.5.0
Compiling num-conv v0.1.0
Compiling time-core v0.1.2
Compiling time-macros v0.2.19
Checking idna_adapter v1.2.0
Checking idna v1.0.3
Checking deranged v0.3.11
Checking ppv-lite86 v0.2.20
Checking const-oid v0.9.6
Checking typenum v1.17.0
Checking url v2.5.4
Checking rand_chacha v0.3.1
Checking rand v0.8.5
Checking crossbeam-utils v0.8.20
Checking generic-array v0.14.7
Checking time v0.3.37
Checking thiserror v1.0.69
Checking zeroize v1.8.1
Checking fnv v1.0.7
Checking hex v0.4.3
Checking concurrent-queue v2.5.0
Checking crypto-common v0.1.6
Checking block-buffer v0.10.4
Checking hashbrown v0.15.2
Checking equivalent v1.0.1
Checking digest v0.10.7
Checking parking v2.2.1
Checking num-integer v0.1.46
Checking bitflags v2.6.0
Checking untrusted v0.9.0
Checking rustls-pki-types v1.10.0
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/notification.rs#L5
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{authorization_guard::AuthorizationGuard, authorization_guard_with_context::Read},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/notification.rs#L1
Original:
```
use domain::types::authorization_guard_with_context::Read;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/message.rs#L19
Original:
```
usecase::UseCaseError::{AnswerNotFound, MessageNotFound},
```
Expected:
```
usecase::UseCaseError::{AnswerNotFound, FormNotFound, MessageNotFound},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/message.rs#L17
Original:
```
use errors::usecase::UseCaseError::FormNotFound;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/message.rs#L14
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{authorization_guard::AuthorizationGuard, authorization_guard_with_context::Read},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/message.rs#L11
Original:
```
form::{answer_repository::AnswerRepository, message_repository::MessageRepository},
```
Expected:
```
form::{
answer_repository::AnswerRepository, form_repository::FormRepository,
message_repository::MessageRepository,
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/message.rs#L6
Original:
```
answer::models::AnswerId,
```
Expected:
```
answer::{models::AnswerId, service::AnswerEntryAuthorizationContext},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/message.rs#L1
Original:
```
use domain::form::answer::service::AnswerEntryAuthorizationContext;
use domain::repository::form::form_repository::FormRepository;
use domain::types::authorization_guard_with_context::Read;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/comment.rs#L4
Original:
```
answer::models::AnswerId,
```
Expected:
```
answer::{models::AnswerId, service::AnswerEntryAuthorizationContext},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/comment.rs#L1
Original:
```
use domain::form::answer::service::AnswerEntryAuthorizationContext;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/answer.rs#L21
Original:
```
```
Expected:
```
use crate::dto::AnswerDto;
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/answer.rs#L18
Original:
```
use errors::usecase::UseCaseError::FormNotFound;
use errors::{usecase::UseCaseError::AnswerNotFound, Error};
```
Expected:
```
use errors::{
usecase::UseCaseError::{AnswerNotFound, FormNotFound},
Error,
};
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/answer.rs#L16
Original:
```
```
Expected:
```
types::authorization_guard_with_context::AuthorizationGuardWithContext,
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/answer.rs#L7
Original:
```
answer::models::{AnswerEntry, AnswerId, FormAnswerContent},
```
Expected:
```
answer::{
models::{AnswerEntry, AnswerId, AnswerTitle, FormAnswerContent},
service::AnswerEntryAuthorizationContext,
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/usecase/src/forms/answer.rs#L1
Original:
```
use crate::dto::AnswerDto;
use domain::form::answer::models::AnswerTitle;
use domain::form::answer::service::AnswerEntryAuthorizationContext;
use domain::types::authorization_guard_with_context::AuthorizationGuardWithContext;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/presentation/src/schemas/form/form_request_schemas.rs#L4
Original:
```
models::{AnswerId, AnswerLabelId, FormAnswerContent},
```
Expected:
```
models::{AnswerId, AnswerLabelId, AnswerTitle, FormAnswerContent},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/presentation/src/schemas/form/form_request_schemas.rs#L1
Original:
```
use domain::form::answer::models::AnswerTitle;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/notification_repository_impl.rs#L16
Original:
```
```
Expected:
```
use crate::{
database::components::{DatabaseComponents, NotificationDatabase},
repository::Repository,
};
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/notification_repository_impl.rs#L10
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{
authorization_guard::AuthorizationGuard,
authorization_guard_with_context::{Create, Read, Update},
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/notification_repository_impl.rs#L6
Original:
```
use domain::types::authorization_guard_with_context::{Create, Read, Update};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/notification_repository_impl.rs#L1
Original:
```
use crate::{
database::components::{DatabaseComponents, NotificationDatabase},
repository::Repository,
};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/message_repository_impl.rs#L9
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{
authorization_guard::AuthorizationGuard,
authorization_guard_with_context::{Create, Delete, Read, Update},
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/message_repository_impl.rs#L2
Original:
```
use domain::types::authorization_guard_with_context::{Create, Delete, Read, Update};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/form_repository_impl.rs#L9
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{
authorization_guard::AuthorizationGuard,
authorization_guard_with_context::{Create, Read},
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/form_repository_impl.rs#L2
Original:
```
use domain::types::authorization_guard_with_context::{Create, Read};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/form_label_repository_impl.rs#L15
Original:
```
```
Expected:
```
use crate::{
database::components::{DatabaseComponents, FormLabelDatabase},
repository::Repository,
};
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/form_label_repository_impl.rs#L10
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{
authorization_guard::AuthorizationGuard,
authorization_guard_with_context::{Create, Delete, Read, Update},
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/form_label_repository_impl.rs#L6
Original:
```
use domain::types::authorization_guard_with_context::{Create, Delete, Read, Update};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/form_label_repository_impl.rs#L1
Original:
```
use crate::{
database::components::{DatabaseComponents, FormLabelDatabase},
repository::Repository,
};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/answer_repository_impl.rs#L20
Original:
```
```
Expected:
```
use crate::{
database::components::{DatabaseComponents, FormAnswerDatabase},
repository::Repository,
};
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/answer_repository_impl.rs#L17
Original:
```
```
Expected:
```
types::authorization_guard_with_context::{
AuthorizationGuardWithContext, Create, Read, Update,
},
user::models::User,
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/answer_repository_impl.rs#L13
Original:
```
answer::models::{AnswerEntry, AnswerId, FormAnswerContent},
```
Expected:
```
answer::{
models::{AnswerEntry, AnswerId, FormAnswerContent},
service::AnswerEntryAuthorizationContext,
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/answer_repository_impl.rs#L6
Original:
```
use domain::form::answer::service::AnswerEntryAuthorizationContext;
use domain::types::authorization_guard_with_context::{
AuthorizationGuardWithContext, Create, Read, Update,
};
use domain::user::models::User;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/infra/resource/src/repository/form_repository_impls/answer_repository_impl.rs#L1
Original:
```
use crate::{
database::components::{DatabaseComponents, FormAnswerDatabase},
repository::Repository,
};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/types/authorization_guard_with_context.rs#L271
Original:
```
use crate::user::models::{Role, User};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/types/authorization_guard_with_context.rs#L268
Original:
```
use crate::types::authorization_guard_with_context::{
AuthorizationGuardWithContext, AuthorizationGuardWithContextDefinitions, Create,
```
Expected:
```
use crate::{
types::authorization_guard_with_context::{
AuthorizationGuardWithContext, AuthorizationGuardWithContextDefinitions, Create,
},
user::models::{Role, User},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/types/authorization_guard_with_context.rs#L6
Original:
```
```
Expected:
```
use errors::{domain::DomainError, Error};
use crate::user::models::User;
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/types/authorization_guard_with_context.rs#L1
Original:
```
use crate::user::models::User;
use errors::domain::DomainError;
use errors::Error;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/types/authorization_guard.rs#L7
Original:
```
```
Expected:
```
use crate::{
types::authorization_guard_with_context::{
Actions, AuthorizationGuardWithContext, AuthorizationGuardWithContextDefinitions, Create,
Delete, Read, Update,
},
user::models::User,
};
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/types/authorization_guard.rs#L1
Original:
```
use crate::types::authorization_guard_with_context::{
Actions, AuthorizationGuardWithContext, AuthorizationGuardWithContextDefinitions, Create,
Delete, Read, Update,
};
use crate::user::models::User;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/notification_repository.rs#L8
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{
authorization_guard::AuthorizationGuard,
authorization_guard_with_context::{Read, Update},
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/notification_repository.rs#L5
Original:
```
use crate::types::authorization_guard_with_context::{Read, Update};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/form/message_repository.rs#L11
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{
authorization_guard::AuthorizationGuard,
authorization_guard_with_context::{Create, Delete, Read, Update},
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/form/message_repository.rs#L5
Original:
```
use crate::types::authorization_guard_with_context::{Create, Delete, Read, Update};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/form/form_repository.rs#L11
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{authorization_guard::AuthorizationGuard, authorization_guard_with_context::Read},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/form/form_repository.rs#L5
Original:
```
use crate::types::authorization_guard_with_context::Read;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/form/form_label_repository.rs#L8
Original:
```
types::authorization_guard::AuthorizationGuard,
```
Expected:
```
types::{
authorization_guard::AuthorizationGuard,
authorization_guard_with_context::{Create, Delete, Read, Update},
},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/form/form_label_repository.rs#L5
Original:
```
use crate::types::authorization_guard_with_context::{Create, Delete, Read, Update};
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/form/answer_repository.rs#L10
Original:
```
use crate::types::authorization_guard_with_context::{
AuthorizationGuardWithContext, Create, Read, Update,
};
use crate::user::models::User;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/repository/form/answer_repository.rs#L5
Original:
```
use crate::form::answer::service::AnswerEntryAuthorizationContext;
use crate::form::{
answer::models::{AnswerEntry, AnswerId, FormAnswerContent},
models::FormId,
```
Expected:
```
use crate::{
form::{
answer::{
models::{AnswerEntry, AnswerId, FormAnswerContent},
service::AnswerEntryAuthorizationContext,
},
models::FormId,
},
types::authorization_guard_with_context::{
AuthorizationGuardWithContext, Create, Read, Update,
},
user::models::User,
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/form/answer/service.rs#L8
Original:
```
use chrono::Utc;
```
Expected:
```
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/form/answer/service.rs#L5
Original:
```
form::{answer::models::AnswerEntry, models::Visibility},
user::models::User,
```
Expected:
```
form::{
answer::{
models::AnswerEntry,
settings::models::{AnswerVisibility, ResponsePeriod},
},
models::Visibility,
},
types::authorization_guard_with_context::AuthorizationGuardWithContextDefinitions,
user::models::{Role, User},
```
|
rustfmt check:
/home/runner/work/seichi-portal-backend/seichi-portal-backend/server/domain/src/form/answer/service.rs#L1
Original:
```
use crate::form::answer::settings::models::{AnswerVisibility, ResponsePeriod};
use crate::types::authorization_guard_with_context::AuthorizationGuardWithContextDefinitions;
use crate::user::models::Role;
```
Expected:
```
use chrono::Utc;
```
|
rustfmt check
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Lint and test server
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|