Skip to content

refactor: 回答情報の変更時に AuthorizationGuardWithContext を使用する #1442

refactor: 回答情報の変更時に AuthorizationGuardWithContext を使用する

refactor: 回答情報の変更時に AuthorizationGuardWithContext を使用する #1442

Triggered via push January 25, 2025 17:10
Status Failure
Total duration 4m 30s
Artifacts

ci.yaml

on: push
rustfmt check
14s
rustfmt check
Lint and test server
3m 58s
Lint and test server
Fit to window
Zoom out
Zoom in

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#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#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