1877 Commits

Author SHA1 Message Date
usbharu 1ac8a93619 refactor: 使用されてないApplicationServiceを削除 2024-09-06 18:46:29 +09:00
usbharu a284f4359e test: TestActorFactory.ktをiconとbannerに対応 2024-09-06 18:45:11 +09:00
usbharu 3a49b2ce9a test: GetActorDetailApplicationServiceTest.ktを追加 2024-09-06 18:44:36 +09:00
usbharu 5ae4d1577a refactor: ifEmptyを使用するように 2024-09-06 18:44:10 +09:00
usbharu 20a762b8f4 Merge pull request #585 from usbharu/ssr-client
noscript用の簡易SSRクライアントを追加
2024-09-06 17:50:36 +09:00
usbharu da106a6922 style: fix lint 2024-09-06 17:47:11 +09:00
usbharu ee23ce8b82 Merge branch 'develop' into ssr-client 2024-09-06 17:42:38 +09:00
usbharu 4acc1653d1 fix: errorのときもindexになってしまうためerrorのときのみ除外するように 2024-09-06 17:42:06 +09:00
usbharu 4d86cc0e41 feat: レイアウト等を統一し、ヘッダーを追加 2024-09-06 17:41:27 +09:00
renovate[bot] 92b6418202 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.20 2024-09-05 22:51:06 +00:00
usbharu f86a224ed2 style: fix lint (CI) 2024-09-05 15:39:25 +00:00
usbharu 5036e01c89 style: fix lint (CI) 2024-09-05 15:35:56 +00:00
usbharu ed41c025cf Merge branch 'develop' into ssr-client 2024-09-06 00:30:28 +09:00
usbharu c8a8e77021 feat: OGP用のクラスを追加 2024-09-05 15:31:10 +09:00
usbharu 48d325deed feat: OGP用のクラスを追加 2024-09-05 14:15:45 +09:00
usbharu df6d2940ed feat: privateなときは登録フォームへのリンクを出さないように
登録自体はまだできる
2024-09-05 12:59:25 +09:00
usbharu aa34fb0370 feat: /auth配下をMastodonと統一 2024-09-05 12:33:53 +09:00
usbharu 7b77b097ca feat: ログイン用ページをMastodonと統一 2024-09-05 11:55:35 +09:00
renovate[bot] fc8cb156da fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.19 2024-09-04 23:14:46 +00:00
usbharu 15cb1375c8 feat: 一部のnoscriptタグを削除 2024-09-04 19:12:42 +09:00
usbharu 4f9c431d9b feat: クエリパラメータでSSRを使用するかを切り替えれるように
SSRを使用するかの設定はセッショに保存され、次のアクセスから設定する必要はなくなる
サーバーはとりあえずSPA用のindexページを送信し、noscriptを検知してクエリパラメータ付きのページに遷移する
2024-09-04 18:55:10 +09:00
usbharu fec59ab622 fix: クエリパラメータのパラメータ名の形式を修正
fix #577
2024-09-04 16:50:27 +09:00
usbharu 975fd5160b feat: 投稿に直接返信できるように 2024-09-04 16:26:47 +09:00
usbharu 57afdcdd7b wip 2024-09-04 15:48:48 +09:00
renovate[bot] ec565039d1 fix(deps): update dependency org.mongodb:mongodb-driver-kotlin-coroutine to v5.1.4 2024-09-04 02:15:30 +00:00
renovate[bot] 4c5344426b fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.18 2024-09-03 21:53:56 +00:00
renovate[bot] 0cf8185e50 fix(deps): update dependency org.flywaydb:flyway-database-postgresql to v10.17.3 2024-09-02 13:37:16 +00:00
renovate[bot] 140351f5e7 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.17 2024-08-31 02:11:05 +00:00
renovate[bot] 9c445fba8c chore(deps): update madrapps/jacoco-report action to v1.7.0 2024-08-30 20:10:25 +00:00
renovate[bot] 79a10a27fc fix(deps): update exposed to v0.54.0 2024-08-30 14:18:31 +00:00
renovate[bot] baba7e8c0e fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.16 2024-08-29 22:35:59 +00:00
usbharu 0463ad6b69 wip 2024-08-29 14:02:16 +09:00
renovate[bot] c94bb81fb2 fix(deps): update protobuf to v4.28.0 2024-08-29 02:24:08 +00:00
renovate[bot] 8f3008b96c fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.15 2024-08-28 23:26:44 +00:00
renovate[bot] e9bac27608 fix(deps): update dependency io.swagger.core.v3:swagger-annotations to v2.2.23 2024-08-28 12:14:00 +00:00
renovate[bot] 37de9ccd00 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.14 2024-08-28 01:46:45 +00:00
renovate[bot] efb07f5927 fix(deps): update protobuf to v4.27.4 2024-08-27 23:06:39 +00:00
usbharu 992cc18c62 feat: /users/:idを追加 2024-08-27 10:43:08 +09:00
renovate[bot] b7caf11e3e fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.13 2024-08-27 00:41:27 +00:00
renovate[bot] f0d8ee979d chore(deps): update mongo docker tag to v7.0.14 2024-08-26 22:30:03 +00:00
usbharu c48694ab0b feat: /auth/sign_up を改良 2024-08-26 17:50:03 +09:00
usbharu 533582534f feat: messagesをホットリロードに対応 2024-08-26 17:47:41 +09:00
usbharu bd219b62e1 Merge pull request #568 from usbharu/develop-env
開発時の体験を向上
2024-08-26 15:51:02 +09:00
usbharu 92a9bbcfdb chore: GitHub ActionsでLinterの自動適用後に更にCIが起動するように 2024-08-26 15:47:22 +09:00
usbharu 623e56bb91 style: fix lint (CI) 2024-08-26 06:31:51 +00:00
usbharu 3b8156e16d chore: 開発時にホットリロード等ができるように 2024-08-26 15:24:12 +09:00
usbharu a60b709cb0 chore: .gitignoreにhttp-client.private.env.jsonを追加 2024-08-26 13:34:56 +09:00
usbharu 1115590ab2 chore: httpクライアントの整備
http-client.private.env.jsonを/api/v1/appsを実行した結果と以下の内容を合わせて作成することで使える
{
  "dev": {
    "client_id": "",
    "client_secret": "",
    "host": "localhost:8081"
  }
}
2024-08-26 13:34:20 +09:00
usbharu 456df222f2 feat: 設定ファイルの内容を自動的に生成するように 2024-08-26 13:32:00 +09:00
usbharu e054e47453 chore: 開発環境用の設定ファイルを追加 2024-08-24 18:21:13 +09:00
usbharu dd9749a536 Merge pull request #567 from usbharu/refactor
ログを改善
2024-08-24 15:49:15 +09:00
usbharu ac5d6800e1 style: fix lint (CI) 2024-08-24 04:22:10 +00:00
usbharu eed5e8a75a revert: MDCに対応してなかったので削除 2024-08-24 13:17:25 +09:00
usbharu 0c9faa509b feat: mdcを出力するように 2024-08-24 12:57:33 +09:00
usbharu e4947ce5a9 feat: ログを改善 2024-08-24 12:22:31 +09:00
usbharu 9b60099ad9 refactor: Thymeleafの警告をなくした 2024-08-24 12:13:21 +09:00
usbharu 7362d20565 fix: 起動しなかったので修正 2024-08-24 12:04:47 +09:00
usbharu 457b6a12be refactor: userdetailのtoStringを改良 2024-08-24 12:04:31 +09:00
usbharu c872a837eb refactor: SnowflakeIdGenerateServiceを改良 2024-08-24 11:31:36 +09:00
usbharu 4dcec9e806 Merge pull request #562 from usbharu/subscriber
Subscriberの初期化をinit関数でするように
2024-08-24 11:07:49 +09:00
usbharu 8e0aedf0db Merge branch 'develop' into subscriber 2024-08-24 11:03:23 +09:00
renovate[bot] 406668e958 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.12 2024-08-24 02:01:28 +00:00
usbharu 9663cba4af style: fix lint (CI) 2024-08-24 02:00:49 +00:00
usbharu e2c633a917 feat: init関数を使用して初期化するように 2024-08-24 10:54:16 +09:00
usbharu d5805089f5 feat: Subscriberにinit関数を追加 2024-08-24 10:53:44 +09:00
usbharu f9c10eeb7a Merge pull request #561 from usbharu/detekt
Detektをhideout-mastodonにも適用するように
2024-08-24 00:32:04 +09:00
usbharu 896e7de1ec style: fix lint (CI) 2024-08-23 15:20:28 +00:00
usbharu 486268609b Merge branch 'develop' into detekt 2024-08-24 00:16:19 +09:00
usbharu 2f0b5915fc Merge pull request #558 from usbharu/fix-actor-url
Actorのurlを修正 MediaにオーナーのActorIdを追加
2024-08-24 00:13:03 +09:00
usbharu ca92ce71b6 chore: hideout-mastodonもチェックするように 2024-08-24 00:11:54 +09:00
usbharu de56fa0547 style: fix lint 2024-08-23 23:56:47 +09:00
usbharu da1235f95c chore: hideout-mastodonにDetektを追加 2024-08-23 23:51:25 +09:00
usbharu fd0d6b9625 style: fix lint 2024-08-23 23:39:27 +09:00
usbharu 76abc69c6c style: fix lint (CI) 2024-08-23 13:49:15 +00:00
usbharu e15380c96c feat: MediaにオーナーのActorIdを追加 2024-08-23 22:43:11 +09:00
usbharu aa476256ac Merge branch 'develop' into fix-actor-url 2024-08-23 22:28:40 +09:00
usbharu 7e8d066144 fix: Actorのurlがoutboxのurlとなっていたのを修正 2024-08-23 22:22:16 +09:00
usbharu e21552df97 Merge pull request #557 from usbharu/docker
docker-compose.ymlを整備
2024-08-23 22:20:14 +09:00
usbharu fb3f3ddd4b Merge branch 'develop' into docker 2024-08-23 22:15:46 +09:00
renovate[bot] d4b9b67f08 chore(deps): update plugin spring-boot to v3.3.3 2024-08-23 02:10:35 +00:00
renovate[bot] 1d131e71c5 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.11 2024-08-22 22:19:16 +00:00
renovate[bot] 7cb3a48e46 fix(deps): update dependency org.postgresql:postgresql to v42.7.4 2024-08-22 17:47:22 +00:00
renovate[bot] b3d4ad8546 fix(deps): update dependency org.flywaydb:flyway-database-postgresql to v10.17.2 2024-08-22 13:36:39 +00:00
renovate[bot] ddc559807a fix(deps): update dependency org.jetbrains.kotlin:kotlin-test-junit to v2.0.20 2024-08-22 08:58:25 +00:00
renovate[bot] 7120e82827 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.10 2024-08-21 21:32:49 +00:00
renovate[bot] 15b8e65d2d fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.9 2024-08-21 01:18:05 +00:00
renovate[bot] 6758105394 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.8 2024-08-19 21:41:29 +00:00
renovate[bot] b248258808 chore(deps): update plugin openapi-generator to v7.8.0 2024-08-19 09:59:54 +00:00
usbharu 9efbf457a4 chore: docker-compose.ymlを整備 2024-08-18 16:59:09 +09:00
usbharu 65d8502a18 Merge pull request #547 from usbharu/timeline2
ホームタイムラインを見れるように
2024-08-17 20:09:26 +09:00
usbharu 29ff1269ce style: fix lint (CI) 2024-08-17 10:52:33 +00:00
usbharu 3105c6cf65 Merge branch 'develop' into timeline2 2024-08-17 19:49:05 +09:00
usbharu 11e2eb1e10 feat: ページングが動くように 2024-08-17 18:21:32 +09:00
renovate[bot] 3d638a4d63 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.7 2024-08-16 22:20:03 +00:00
renovate[bot] 77f72178dc fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.6 2024-08-16 17:38:31 +00:00
usbharu d53cdca9e5 feat: ホームタイムラインが読めるように 2024-08-16 15:10:53 +09:00
usbharu e1787423e8 feat: 自分自身をホームタイムラインに追加するように 2024-08-16 15:02:32 +09:00
usbharu e9d776f71a feat: トランザクションの問題で正常にドメインイベントを受け取ったあとの処理を実行できなかった問題を修正 2024-08-16 14:25:26 +09:00
renovate[bot] 707e4aef65 chore(deps): update plugin license-report to v2.9 2024-08-15 20:31:52 +00:00
usbharu 8d244b74c1 feat: ローカルユーザー追加時に自動でホームタイムライン等を作成するように 2024-08-16 02:49:48 +09:00
usbharu 711084e366 feat: タイムラインを読めるように 2024-08-15 18:22:56 +09:00
renovate[bot] 31bee9b15a fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.5 2024-08-15 04:33:21 +00:00
usbharu 88a61ba97f feat: タイムラインを読めるように 2024-08-15 00:02:26 +09:00
renovate[bot] 04a0059fb2 chore(deps): update dependency gradle to v8.10 2024-08-14 13:46:21 +00:00
renovate[bot] 1df1aae880 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.4 2024-08-13 23:38:38 +00:00
usbharu 60d71e1eb2 Merge pull request #539 from usbharu/ci-gradle
chore: ciを改善
2024-08-13 21:20:33 +09:00
usbharu 6c91b77eeb chore: no-daemon 2024-08-13 21:13:54 +09:00
usbharu f6fec05667 chore: detektの設定を更新 2024-08-13 21:09:31 +09:00
usbharu b2d59f619b chore: version catalogに統一 2024-08-13 21:06:59 +09:00
usbharu 6f11d1cd4e Merge branch 'develop' into ci-gradle 2024-08-13 20:17:38 +09:00
renovate[bot] c71ad2a28e fix(deps): update dependency org.flywaydb:flyway-database-postgresql to v10.17.1 2024-08-13 11:16:54 +00:00
usbharu 6d997e8012 style: fix lint (CI) 2024-08-13 11:16:14 +00:00
usbharu d5f08ef710 chore: ciを改善 2024-08-13 20:11:00 +09:00
usbharu 17bf2aade6 Merge pull request #536 from usbharu/ssr-front
OGPとnoscript時の簡易表示に対応
2024-08-13 15:48:33 +09:00
usbharu 4e8581ca94 test: 終わらないテストが発生したのでテストごと消した 2024-08-13 15:37:51 +09:00
usbharu 2db668e6ff Merge branch 'develop' into ssr-front 2024-08-13 14:26:14 +09:00
renovate[bot] 475efbe99a fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.3 2024-08-13 03:35:22 +00:00
usbharu 91573c0b2e feat: 投稿フォームを追加 2024-08-13 12:31:02 +09:00
renovate[bot] 3794ac2d3c fix(deps): update dependency com.h2database:h2 to v2.3.232 2024-08-13 02:07:26 +00:00
usbharu 1fc6a1fa38 feat: wip 投稿フォーム作成 2024-08-12 23:22:38 +09:00
usbharu 2bc9b17cdc feat: 画像読み込みに対応 2024-08-12 22:13:16 +09:00
usbharu be07a89b7f feat: ogpに対応 2024-08-12 22:04:42 +09:00
usbharu f4d30e837e feat: 投稿詳細ページを作成 2024-08-12 21:38:07 +09:00
usbharu ced41e64fd fix: メディア付き投稿に失敗する問題を修正 2024-08-12 13:28:03 +09:00
usbharu 42b9d4e64b Merge pull request #532 from usbharu/auth3
Mastodon APIから利用されるQuery Service等にも認可処理を追加
2024-08-11 18:13:51 +09:00
usbharu 7f1f566924 Merge branch 'develop' into auth3 2024-08-11 18:09:03 +09:00
usbharu 7ec997c1d5 fix: よくない修正だったのでロールバック 2024-08-11 16:33:22 +09:00
usbharu 94f790d039 test: 権限チェックのテストを追加 2024-08-11 16:07:10 +09:00
usbharu ed3b3f07fb fix: 自分自身の投稿が見えないようになっていた問題を修正 2024-08-11 13:10:10 +09:00
usbharu 146b907c69 feat: QueryServiceの認可処理を追加して起動できるように 2024-08-11 12:33:37 +09:00
usbharu 540fe0eaa5 feat: 権限チェック等を追加 2024-08-11 01:22:43 +09:00
usbharu 1a3fc05dad feat: ローカルユーザーのみ使用できる部分を変更 2024-08-11 00:30:24 +09:00
usbharu 507c1d8932 refactor: principalのactorIdを使用するように 2024-08-11 00:28:32 +09:00
renovate[bot] 4fb32d7928 fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.2 2024-08-10 15:24:55 +00:00
usbharu e082b0b7b9 Merge pull request #530 from usbharu/use-owl-jar
OWLをビルド済みライブラリをとして読み込むように
2024-08-10 19:48:32 +09:00
usbharu 700a8d8ed1 Merge branch 'develop' into use-owl-jar 2024-08-10 19:45:42 +09:00
usbharu cb408fd192 Merge pull request #524 from usbharu/renovate/actions-github-script-7.x
chore(deps): update actions/github-script action to v7
2024-08-10 19:44:43 +09:00
usbharu 2e38c64a3d chore: 構成キャッシュをしないように 2024-08-10 19:44:35 +09:00
usbharu 4a665029ec chore: 2024-08-10 19:40:09 +09:00
usbharu a1b4631a13 chore: 2024-08-10 19:38:36 +09:00
renovate[bot] 86c8fb0bad chore(deps): update actions/github-script action to v7 2024-08-10 08:08:43 +00:00
usbharu 96e2f9b420 Merge pull request #527 from usbharu/master
Master
2024-08-10 17:07:47 +09:00
usbharu ecd59cd886 Merge pull request #526 from usbharu/release
[OWL] Release 0.0.1
2024-08-10 17:03:13 +09:00
usbharu 0983f39a17 chore: snapshot 2024-08-10 17:01:26 +09:00
usbharu 0d671b2557 chore: トークン忘れてた2 2024-08-10 16:58:09 +09:00
usbharu 7b1e99095b chore: トークン忘れてた 2024-08-10 16:56:13 +09:00
usbharu 0b4a47f22a [OWL] Release 0.0.1 2024-08-10 16:48:25 +09:00
usbharu a70eb9864c chore: バージョン指定を一括でできるように 2024-08-10 16:47:46 +09:00
usbharu 11030e3a63 Merge pull request #525 from usbharu/develop
[OWL] Release 0.0.1
2024-08-10 16:46:20 +09:00
usbharu d8d6d053f7 Merge pull request #523 from usbharu/owl-release
Owl release
2024-08-10 16:34:15 +09:00
usbharu ed6a590450 chore: needsが設定できていなかった問題を修正 2024-08-10 16:31:55 +09:00
usbharu afffe046ef ??? 2024-08-10 16:30:33 +09:00
usbharu afbeee38a6 ?? 2024-08-10 16:28:47 +09:00
usbharu 67b37bce10 ? 2024-08-10 16:27:16 +09:00
usbharu 852ba5e415 chore: 構成キャッシュがあるとmaven-publishが動かないので削除 2024-08-10 16:24:12 +09:00
usbharu eaf0d4d7fb chore: これだから型のない言語はダメだ 2024-08-10 16:08:44 +09:00
usbharu 1a19afa4db ?????? 2024-08-10 16:06:57 +09:00
usbharu 556644d7e3 ????? 2024-08-10 16:05:56 +09:00
usbharu 19872ce50f ???? 2024-08-10 16:04:48 +09:00
usbharu e45dd333d7 ??? 2024-08-10 16:00:33 +09:00
usbharu 46e31c9878 ?? 2024-08-10 15:59:17 +09:00
usbharu 575554a36c chore: リリース先を追加 2024-08-10 15:55:00 +09:00
usbharu ef57349f95 chore: リリース先を追加 2024-08-10 15:51:03 +09:00
usbharu b7cc88d533 style 2024-08-10 15:43:20 +09:00
usbharu 41c506fa97 style 2024-08-10 15:41:38 +09:00
usbharu e706b2eb17 chore: テスト 2024-08-10 15:30:11 +09:00
usbharu 0b13fce03c wip 2024-08-10 14:52:26 +09:00
usbharu 1fbe3356fc wip 2024-08-10 14:49:41 +09:00
usbharu 53a4953c07 wip 2024-08-10 14:46:50 +09:00
usbharu 8a86c54edf wip 2024-08-10 14:44:05 +09:00
usbharu 80f33f7563 wip 2024-08-10 14:39:59 +09:00
usbharu ba46dcabcc wip 2024-08-10 14:39:00 +09:00
usbharu 5ab29d1449 wip 2024-08-10 14:37:57 +09:00
usbharu 2fecd697b6 wip 2024-08-10 14:37:03 +09:00
usbharu 8d9a6e5426 fix: git diffが失敗する問題を修正 2024-08-10 14:34:09 +09:00
usbharu 06a7b035e4 ????????????? 2024-08-10 14:23:20 +09:00
usbharu e4215df83f ????????????? 2024-08-10 14:17:03 +09:00
usbharu a6c6b110cf ????????????? 2024-08-10 14:15:51 +09:00
usbharu 7ebb29100d chore: fix base_ref 2024-08-10 14:12:27 +09:00
usbharu 3fcd7ae917 chore: fix base_ref 2024-08-10 14:11:15 +09:00
usbharu 6062230e78 chore: diff test 2024-08-10 13:53:10 +09:00
usbharu ceb206289c chore: build-test 2024-08-10 12:18:52 +09:00
usbharu e9f263bab1 Merge pull request #516 from usbharu/auth2
認可処理とテストを追加
2024-08-10 00:34:30 +09:00
usbharu d829b58f8c Merge branch 'develop' into auth2 2024-08-10 00:08:58 +09:00
usbharu 3ab86fc511 テストを追加 2024-08-09 23:06:43 +09:00
renovate[bot] 35a40727df fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.1 2024-08-09 01:06:36 +00:00
usbharu 29d356efac Merge remote-tracking branch 'origin/auth2' into auth2 2024-08-09 10:01:00 +09:00
usbharu 7db82462fa wip 2024-08-09 10:00:40 +09:00
renovate[bot] 15c5cc89cd fix(deps): update dependency org.slf4j:slf4j-api to v2.0.15 2024-08-08 15:44:02 +00:00
usbharu cf71c17464 Merge branch 'develop' into auth2 2024-08-09 00:37:39 +09:00
usbharu 2cfc8bc0d8 test: テストを追加 2024-08-09 00:16:14 +09:00
renovate[bot] 71c1b74975 fix(deps): update dependency org.mongodb:mongodb-driver-kotlin-coroutine to v5.1.3 2024-08-08 14:40:23 +00:00
usbharu f7de5b03f1 test: お引越しのテストを追加 2024-08-08 17:29:05 +09:00
renovate[bot] 322db23411 fix(deps): update grpc-java monorepo to v1.66.0 2024-08-08 07:38:26 +00:00
renovate[bot] 2f284c415d fix(deps): update dependency software.amazon.awssdk:s3 to v2.27.0 2024-08-08 00:45:24 +00:00
usbharu f96c16b2a3 test: タイムラインのテストを追加 2024-08-07 18:47:24 +09:00
usbharu 85ea4c9c09 Merge pull request #508 from usbharu/renovate/kotlin
chore(deps): update kotlin to v2.0.10 - autoclosed
2024-08-07 15:58:25 +09:00
usbharu f87b92df10 Merge branch 'develop' into renovate/kotlin 2024-08-07 15:53:42 +09:00
usbharu 046350ef84 wip 2024-08-07 12:13:52 +09:00
usbharu 4fd97b6182 feat: Postのアクセス制御を追加 2024-08-07 11:41:05 +09:00
renovate[bot] ac0d1d6fc0 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.31 2024-08-07 01:25:45 +00:00
renovate[bot] 6c9244839c fix(deps): update dependency org.slf4j:slf4j-api to v2.0.14 2024-08-06 22:00:23 +00:00
renovate[bot] 54cf58af55 fix(deps): update dependency org.jetbrains.kotlin:kotlin-test-junit to v2.0.10 2024-08-06 11:29:03 +00:00
renovate[bot] f61b64535a chore(deps): update kotlin to v2.0.10 2024-08-06 11:24:26 +00:00
usbharu 0825be76b3 test: テストを追加 2024-08-06 17:43:14 +09:00
usbharu c056b7598b feat: 新しい認可システムを組み込み 2024-08-06 13:00:00 +09:00
renovate[bot] e0203c5aef fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.30 2024-08-05 21:31:18 +00:00
usbharu 716bf190b5 Merge pull request #505 from usbharu/auth
認可システムの改善
2024-08-06 00:16:10 +09:00
usbharu deb0a05629 Merge remote-tracking branch 'origin/auth' into auth 2024-08-06 00:13:08 +09:00
usbharu cb886fc763 test: テストを修正 2024-08-06 00:12:59 +09:00
usbharu 488ca1018d Merge branch 'develop' into auth 2024-08-06 00:05:52 +09:00
usbharu f5fc4fd0ee feat: 多少の改善にはなっただろうか 2024-08-06 00:04:32 +09:00
usbharu 547ce1ae19 Merge pull request #504 from usbharu/renovate/gradle-actions-4.x
chore(deps): update gradle/actions action to v4
2024-08-04 16:51:50 +09:00
renovate[bot] 497f42af0c chore(deps): update gradle/actions action to v4 2024-08-03 23:11:59 +00:00
usbharu 884983f3e4 認可(Spring Security以外全部)を破壊 2024-08-03 16:37:55 +09:00
renovate[bot] 1cf06be012 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.29 2024-08-03 05:09:05 +00:00
renovate[bot] c9478f68b3 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.27 2024-08-03 04:37:43 +00:00
renovate[bot] 09feb573ad fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4.27.3 2024-08-01 20:01:42 +00:00
renovate[bot] 7f0ce7cf69 fix(deps): update dependency com.google.protobuf:protoc to v4.27.3 2024-08-01 16:19:49 +00:00
renovate[bot] cb0f06065c fix(deps): update exposed 2024-08-01 16:13:29 +00:00
usbharu b3a9be96c5 Merge pull request #475 from usbharu/timeline
タイムラインの実装
2024-07-30 10:58:26 +09:00
usbharu 8d0f87c84c Merge branch 'refs/heads/develop' into timeline 2024-07-30 10:52:24 +09:00
usbharu d9bd21661c feat: ページングに対応 2024-07-30 10:50:51 +09:00
renovate[bot] 2f84525f66 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.26 2024-07-29 23:01:28 +00:00
usbharu fcd6ebc518 feat: ページングに対応 2024-07-30 01:09:00 +09:00
usbharu 982a29f1e0 feat: ページングに対応 2024-07-30 01:01:26 +09:00
usbharu 175c0b38da Merge branch 'refs/heads/develop' into timeline 2024-07-30 00:36:35 +09:00
usbharu cc76cb18fe Merge pull request #497 from usbharu/github-action
chore: キャッシュを消した
2024-07-30 00:33:36 +09:00
usbharu afec1ed8ea chore: キャッシュを保存するように 2024-07-30 00:19:50 +09:00
usbharu 316e786fc4 chore: jetbrainsのを参考に改良2修正 2024-07-30 00:09:46 +09:00
usbharu 2fe5b1c278 chore: jetbrainsのを参考に改良2 2024-07-30 00:06:09 +09:00
usbharu ef281f1028 chore: jetbrainsのを参考に改良 2024-07-29 23:43:55 +09:00
usbharu d888a1fbbc chore: キャッシュを消した 2024-07-29 23:18:37 +09:00
usbharu 96be4e5577 Merge branch 'refs/heads/develop' into timeline 2024-07-29 22:52:42 +09:00
renovate[bot] 34768bdcf0 fix(deps): update dependency org.flywaydb:flyway-database-postgresql to v10.17.0 2024-07-29 11:02:57 +00:00
usbharu 1a17561f1e Merge pull request #495 from usbharu/k2
chore: k2に
2024-07-29 16:32:12 +09:00
usbharu 086f58bec6 chore: k2に 2024-07-29 16:26:41 +09:00
usbharu f0c4eb93f8 Merge pull request #494 from usbharu/koin-annotation
Koin annotation
2024-07-29 16:19:12 +09:00
usbharu 0461656738 fix: モジュールが読み込まれない場合があったので修正 2024-07-29 16:14:01 +09:00
usbharu da22a2a29f chore: Koin-Annotationを使用しないように 2024-07-29 16:12:07 +09:00
usbharu 1198d7e551 Merge pull request #493 from usbharu/java-21
chore: java toolchain のバージョンを21に
2024-07-29 15:43:51 +09:00
usbharu 58d55ae8dc chore: java toolchain のバージョンを21に 2024-07-29 15:37:28 +09:00
usbharu 92e3f7c13d Merge pull request #491 from usbharu/perf-spring-boot
perf: Spring Boot起動速度を向上
2024-07-29 15:25:13 +09:00
usbharu d975690f12 Merge branch 'develop' into perf-spring-boot 2024-07-29 15:22:53 +09:00
usbharu 97bbd1a407 perf: Spring Boot起動速度を向上 2024-07-29 15:13:02 +09:00
usbharu e70f104b5c wip 2024-07-29 00:15:40 +09:00
renovate[bot] cde57081ad fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.25 2024-07-26 00:53:42 +00:00
renovate[bot] d044ba909c fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.24 2024-07-24 21:36:50 +00:00
renovate[bot] ee4a0e4296 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.23 2024-07-23 22:27:29 +00:00
renovate[bot] 0d75682ed7 chore(deps): update plugin com.google.devtools.ksp to v1.9.25-1.0.20 2024-07-23 18:26:58 +00:00
renovate[bot] c864407c9e fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.22 2024-07-22 22:21:01 +00:00
usbharu e728b0f990 feat: アカウント作成時に自動でホームタイムラインを作成するように 2024-07-20 17:16:28 +09:00
usbharu 8e84c8e59c style: fix lint 2024-07-20 16:23:59 +09:00
usbharu edae599978 test: テストを修正 2024-07-20 16:19:34 +09:00
usbharu d0ff47525f feat: タイムラインを読み込めるように 2024-07-20 16:11:35 +09:00
usbharu efbf2b0af7 feat: DB自動修復を追加 2024-07-20 11:23:16 +09:00
usbharu 841289700b feat: Mongodbでタイムラインを構築できるように 2024-07-20 11:22:43 +09:00
renovate[bot] f47b8b3c5b chore(deps): update plugin kover to v0.8.3 2024-07-19 17:19:02 +00:00
usbharu c32e264575 feat: 起動できる状態に 2024-07-20 01:27:30 +09:00
usbharu b61282a058 feat: ページネーションを実装 2024-07-20 00:41:16 +09:00
usbharu 3057d9cc5a feat: DefaultTimelineStore 2024-07-19 23:49:14 +09:00
renovate[bot] d24d34787b chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.9.25 2024-07-19 12:14:08 +00:00
renovate[bot] 0ba8771468 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.21 2024-07-19 09:46:32 +00:00
renovate[bot] a7eb36ba80 chore(deps): update plugin spring-boot to v3.3.2 2024-07-18 20:09:18 +00:00
renovate[bot] 22a1ff5986 fix(deps): update dependency org.flywaydb:flyway-database-postgresql to v10.16.0 2024-07-18 14:47:55 +00:00
usbharu a3f8629561 Merge pull request #476 from usbharu/renovate/gradle-gradle-build-action-digest
chore(deps): update gradle/gradle-build-action digest to ac2d340
2024-07-16 10:12:00 +09:00
usbharu 3b5d80e539 Merge branch 'develop' into renovate/gradle-gradle-build-action-digest 2024-07-16 09:46:25 +09:00
renovate[bot] 353c3a532d chore(deps): update gradle/gradle-build-action action to v3.5.0 2024-07-16 00:44:03 +00:00
usbharu 965ce437a3 Merge branch 'develop' into renovate/gradle-gradle-build-action-digest 2024-07-16 09:40:28 +09:00
renovate[bot] 7799bc2821 fix(deps): update dependency com.h2database:h2 to v2.3.230 2024-07-15 23:02:36 +00:00
renovate[bot] 5566773e77 chore(deps): update gradle/gradle-build-action digest to ac2d340 2024-07-15 22:58:01 +00:00
usbharu b4c62fbd43 feat: タイムラインを実装 2024-07-15 17:30:28 +09:00
usbharu 5303b13b08 feat: タイムラインを実装 2024-07-14 21:11:22 +09:00
usbharu a550ddd5c3 feat: タイムラインの実装に必要なものを定義 2024-07-14 16:35:20 +09:00
usbharu 0143038707 feat: AbstractTimelineStoreを作成 2024-07-14 16:21:56 +09:00
renovate[bot] 92ca9343aa fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.20 2024-07-13 00:33:35 +00:00
renovate[bot] 183ce0ee52 fix(deps): update grpc-java monorepo to v1.65.1 2024-07-12 00:54:01 +00:00
renovate[bot] 1247ea3302 chore(deps): update dependency gradle to v8.9 2024-07-11 15:55:57 +00:00
renovate[bot] 6ea0bcd2d1 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.19 2024-07-10 21:54:14 +00:00
renovate[bot] b52d869a6c fix(deps): update dependency org.jsoup:jsoup to v1.18.1 2024-07-10 11:14:53 +00:00
renovate[bot] 99b69b9b92 fix(deps): update dependency org.mongodb:mongodb-driver-kotlin-coroutine to v5.1.2 2024-07-10 01:26:59 +00:00
renovate[bot] 93b380c40a fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.18 2024-07-10 00:32:11 +00:00
renovate[bot] f23977a40c fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v5.4.0 2024-07-09 10:11:19 +00:00
renovate[bot] 02e9ea80a7 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.17 2024-07-08 21:52:21 +00:00
usbharu 0d39e779c4 refactor: タイムラインの実装方式を変更 2024-07-06 18:30:02 +09:00
usbharu a4a3f4c0c4 refactor: タイムラインの実装方式を変更 2024-07-06 16:41:47 +09:00
renovate[bot] 2f565dbb3a fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.16 2024-07-05 23:26:56 +00:00
renovate[bot] afb843421a fix(deps): update jackson to v2.17.2 2024-07-05 18:53:02 +00:00
renovate[bot] f575ac4918 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.15 2024-07-03 22:50:41 +00:00
renovate[bot] 8133799d13 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.14 2024-07-02 21:15:30 +00:00
renovate[bot] 5d2e1682c8 fix(deps): update dependency org.flywaydb:flyway-database-postgresql to v10.15.2 2024-07-02 16:14:15 +00:00
renovate[bot] 8542ba7ab7 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.13 2024-07-02 14:31:58 +00:00
renovate[bot] 935b1053fd chore(deps): update plugin openapi-generator to v7.7.0 2024-07-02 10:07:27 +00:00
usbharu faee779cfb feat: Timelineの構築に必要なものを追加 2024-06-30 13:48:43 +09:00
usbharu ed872610f7 feat: Timelineの構築に必要なものを追加 2024-06-29 19:25:19 +09:00
usbharu 3f92ccab98 Merge remote-tracking branch 'origin/timeline' into timeline 2024-06-29 12:32:05 +09:00
usbharu 6188463a68 feat: Timelineの構築に必要なものを追加 2024-06-29 12:31:58 +09:00
usbharu c0f03560d5 feat: TimelinePostCreateSubscriberが機能するように 2024-06-29 12:31:57 +09:00
usbharu c74aba652e feat: ドメインイベントを受け取れるように 2024-06-29 12:31:57 +09:00
usbharu 0803877c8b Merge pull request #455 from usbharu/dependabot/github_actions/dot-github/workflows/github_actions-20315eca73
chore(deps): bump gradle/gradle-build-action from 2.3.3 to 3.4.2 in /.github/workflows in the github_actions group across 1 directory
2024-06-29 11:46:52 +09:00
usbharu 31f72787f8 Merge branch 'develop' into dependabot/github_actions/dot-github/workflows/github_actions-20315eca73 2024-06-29 11:44:25 +09:00
renovate[bot] eabe341ece chore(deps): update gradle/gradle-build-action action to v2.4.2 [security] 2024-06-29 02:36:39 +00:00
dependabot[bot] 001d5bc863 chore(deps): bump gradle/gradle-build-action
Bumps the github_actions group with 1 update in the /.github/workflows directory: [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action).


Updates `gradle/gradle-build-action` from 2.3.3 to 3.4.2
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
  dependency-type: direct:production
  dependency-group: github_actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 02:31:09 +00:00
renovate[bot] 5f41feda61 chore(deps): update gradle/gradle-build-action action to v2.3.3 2024-06-29 02:30:35 +00:00
renovate[bot] ac4d03200a fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.12 2024-06-28 22:59:35 +00:00
usbharu 5320be6c9a feat: TimelinePostCreateSubscriberが機能するように 2024-06-29 00:02:50 +09:00
usbharu dba4d85ff3 Merge pull request #446 from usbharu/renovate/serialization
fix(deps): update serialization to v1.7.1
2024-06-28 23:32:32 +09:00
usbharu f4db384a5a Merge branch 'develop' into renovate/serialization 2024-06-28 23:29:42 +09:00
renovate[bot] 5ac0b3f14d fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.11 2024-06-28 14:17:02 +00:00
renovate[bot] 379e41f506 fix(deps): update serialization to v1.7.1 2024-06-28 14:14:01 +00:00
renovate[bot] b1135e6794 chore(deps): update plugin kover to v0.8.2 2024-06-28 10:42:34 +00:00
usbharu 88775f50fe Merge branch 'refs/heads/develop' into timeline 2024-06-28 18:10:08 +09:00
renovate[bot] dbd7e55940 fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.10.3 2024-06-28 08:53:58 +00:00
usbharu dd0c93a0b4 Merge pull request #451 from usbharu/chore-renovate
Renovateのautomergeを有効化
2024-06-28 17:50:58 +09:00
usbharu ca90bbaa9c chore: Rnovateの自動マージを有効化 2024-06-28 17:46:08 +09:00
usbharu 5a11fe3e6e Merge pull request #450 from usbharu/renovate/grpc-java-monorepo
fix(deps): update grpc-java monorepo to v1.65.0
2024-06-28 17:20:39 +09:00
renovate[bot] 39979e8349 fix(deps): update grpc-java monorepo to v1.65.0 2024-06-28 07:42:44 +00:00
usbharu 45dbd09d31 Merge pull request #444 from usbharu/renovate/com.google.protobuf-protobuf-kotlin-4.x
fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4.27.2
2024-06-27 01:22:19 +09:00
renovate[bot] af73f93e47 fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4.27.2 2024-06-26 16:06:16 +00:00
usbharu bf2d7986cc feat: ドメインイベントを受け取れるように 2024-06-27 01:00:13 +09:00
usbharu 593029e2c3 Merge pull request #438 from usbharu/revert-437-devcontainer
Revert "Devcontainer"
2024-06-22 14:27:01 +09:00
usbharu c7ca317641 Revert "Devcontainer" 2024-06-22 14:22:36 +09:00
usbharu f8597dc540 Merge pull request #437 from usbharu/devcontainer
Devcontainer
2024-06-21 18:27:23 +09:00
usbharu c094f9f1d1 chore: devcontainerを追加 2024-06-21 18:26:05 +09:00
usbharu 830ebc058d chore: devcontainerで起動できるように 2024-06-21 09:10:40 +00:00
usbharu ab4a346935 Merge pull request #429 from usbharu/test
テストの追加
2024-06-21 17:01:42 +09:00
usbharu 94212fd128 Merge branch 'develop' into test 2024-06-21 16:56:56 +09:00
usbharu 8aaba5ebd3 Merge pull request #436 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.7
2024-06-21 16:56:12 +09:00
renovate[bot] 1013e6d440 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.7 2024-06-21 07:40:01 +00:00
usbharu 15808723d5 Merge pull request #435 from usbharu/renovate/ktor-monorepo
fix(deps): update ktor monorepo to v2.3.12
2024-06-21 16:39:15 +09:00
renovate[bot] 9b3ac6946b fix(deps): update ktor monorepo to v2.3.12 2024-06-21 07:33:18 +00:00
usbharu afa3e21186 Merge pull request #434 from usbharu/renovate/spring-boot
chore(deps): update plugin spring-boot to v3.3.1
2024-06-21 16:32:29 +09:00
renovate[bot] f3e63fe3b1 chore(deps): update plugin spring-boot to v3.3.1 2024-06-20 12:38:17 +00:00
usbharu e1b2ecc22b Merge pull request #433 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.6
2024-06-20 09:46:57 +09:00
renovate[bot] 6844f4c245 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.6 2024-06-19 21:58:39 +00:00
usbharu 8f93abebef Merge branch 'refs/heads/develop' into test 2024-06-19 10:56:49 +09:00
usbharu 1de6aff598 test: LocalActorMigrationCheckDomainServiceImplのテストを追加 2024-06-19 10:55:49 +09:00
usbharu 19ee832a6f test: Postのテストを追加 2024-06-19 10:23:03 +09:00
usbharu 032fa87588 Merge pull request #432 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.5
2024-06-19 09:28:44 +09:00
renovate[bot] d7e3e0255e fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.5 2024-06-18 21:13:26 +00:00
usbharu 047b70a181 Merge pull request #431 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.4
2024-06-18 23:40:27 +09:00
renovate[bot] 8ec8fd44e4 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.4 2024-06-18 14:38:19 +00:00
usbharu 405b111ee2 Merge pull request #430 from usbharu/renovate/gradle-gradle-build-action-digest
chore(deps): update gradle/gradle-build-action digest to 66535aa
2024-06-18 23:35:57 +09:00
renovate[bot] bf9fcb1cf7 chore(deps): update gradle/gradle-build-action digest to 66535aa 2024-06-18 09:58:54 +00:00
usbharu 7c3bec0808 Merge pull request #427 from usbharu/renovate/org.flywaydb-flyway-database-postgresql-10.x
fix(deps): update dependency org.flywaydb:flyway-database-postgresql to v10.15.0
2024-06-18 18:58:04 +09:00
renovate[bot] f9103def00 fix(deps): update dependency org.flywaydb:flyway-database-postgresql to v10.15.0 2024-06-18 09:55:56 +00:00
usbharu 548c12ea6f Merge pull request #426 from usbharu/renovate/org.gradle.toolchains.foojay-resolver-convention-0.x
chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.8.0
2024-06-18 18:54:57 +09:00
renovate[bot] 9732b82e8e chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.8.0 2024-06-18 09:52:50 +00:00
usbharu 60de043668 Merge pull request #425 from usbharu/renovate/gradle-gradle-build-action-3.x
chore(deps): update gradle/gradle-build-action action to v3.4.1
2024-06-18 16:43:17 +09:00
renovate[bot] 5799ab3c8c chore(deps): update gradle/gradle-build-action action to v3.4.2 2024-06-18 07:39:07 +00:00
usbharu dff51dc12d Merge pull request #424 from usbharu/renovate/gradle-8.x
chore(deps): update dependency gradle to v8.8
2024-06-18 16:38:21 +09:00
usbharu 34a049da5b test: Postのテストを追加 2024-06-18 15:58:49 +09:00
usbharu 4c431f0cb0 Merge remote-tracking branch 'origin/test' into test 2024-06-18 14:50:08 +09:00
usbharu ce731218ea Merge branch 'refs/heads/develop' into test
# Conflicts:
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/filter/FilterKeyword.kt
2024-06-18 10:19:11 +09:00
usbharu 1038e9e241 test: postsのテストを追加 2024-06-18 00:00:52 +09:00
renovate[bot] 1dcc2d6222 chore(deps): update dependency gradle to v8.8 2024-06-17 14:11:23 +00:00
usbharu b34dbbfe09 Merge pull request #423 from usbharu/renovate/org.jetbrains.kotlin.jvm-1.x
chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.9.24
2024-06-17 23:08:47 +09:00
renovate[bot] 466421225f chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.9.24 2024-06-17 14:04:44 +00:00
usbharu 2d539f74d2 Merge pull request #428 from usbharu/ci
CIの改善
2024-06-17 23:04:24 +09:00
usbharu 6297db32c6 test: テストを破壊したのを修正 2024-06-17 23:01:17 +09:00
usbharu 700ef6f70e chore: PRがdraft時にはCIを実行しないように 2024-06-17 22:51:43 +09:00
usbharu c866705b92 style: fix lint 2024-06-17 22:47:36 +09:00
usbharu b8402b0264 chore: ciでlintの自動修正を自動で適用するように 2024-06-17 22:31:22 +09:00
usbharu c28576a820 chore: renovateで自動マージを有効に 2024-06-17 22:25:05 +09:00
usbharu 571211f990 test: Filterのテストを追加 2024-06-17 16:10:02 +09:00
usbharu 845569a7f9 test: Actorのテストを追加 2024-06-17 14:40:23 +09:00
usbharu 2b23b21ec6 Merge pull request #407 from usbharu/ddd
作り直し
2024-06-16 16:58:43 +09:00
usbharu 446b87e3d9 style: fix lint 2024-06-16 16:54:56 +09:00
usbharu 0b062b6a68 chore: CIを修正 2024-06-16 16:38:29 +09:00
usbharu b14d36de3f Merge branch 'refs/heads/develop' into ddd
# Conflicts:
#	.github/workflows/pull-request-merge-check.yml
2024-06-16 16:34:07 +09:00
usbharu 6b4c5e3567 chore: CIを修正 2024-06-16 16:30:29 +09:00
usbharu 48a4874fc4 feat: メディアアップロードAPIを追加 2024-06-16 16:03:39 +09:00
usbharu 43ef619eee feat: メディアアップロード処理を追加 2024-06-16 15:45:41 +09:00
usbharu a93131b5dc feat: メディア処理を追加 2024-06-16 13:09:15 +09:00
usbharu 1bb908b1c3 Merge pull request #421 from usbharu/renovate/gradle-gradle-build-action-digest
chore(deps): update gradle/gradle-build-action digest to 04b20c0
2024-06-16 12:49:27 +09:00
renovate[bot] 8051f26c39 chore(deps): update gradle/gradle-build-action digest to 04b20c0 2024-06-16 03:45:28 +00:00
usbharu f5eb71a2f7 Merge pull request #420 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.3
2024-06-16 12:44:54 +09:00
renovate[bot] 6611eb8c32 fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.3 2024-06-16 03:34:05 +00:00
usbharu e04410daf8 Merge pull request #422 from usbharu/renovate/gradle-gradle-build-action-3.x
chore(deps): update gradle/gradle-build-action action to v3.4.1
2024-06-16 12:33:33 +09:00
renovate[bot] 8c2e6d136b chore(deps): update gradle/gradle-build-action action to v3.4.1 2024-06-15 04:06:13 +00:00
usbharu d903d558c1 gitignore 2024-06-15 02:02:07 +09:00
usbharu bf8c643d82 wip 2024-06-15 01:56:06 +09:00
usbharu b4b49fb1b0 Merge pull request #418 from usbharu/renovate/gradle-gradle-build-action-digest
chore(deps): update gradle/gradle-build-action digest to db35f23
2024-06-14 18:16:55 +09:00
usbharu 21ab0e0dfd feat: アイコンとバナーを設定できるように 2024-06-14 11:54:18 +09:00
renovate[bot] 25dd8baec7 chore(deps): update gradle/gradle-build-action digest to db35f23 2024-06-14 02:44:48 +00:00
usbharu 873dfc0fad Merge pull request #419 from usbharu/renovate/gradle-gradle-build-action-3.x
chore(deps): update gradle/gradle-build-action action to v3.4.0
2024-06-14 11:44:13 +09:00
renovate[bot] c61cacc915 chore(deps): update gradle/gradle-build-action action to v3.4.0 2024-06-13 22:04:38 +00:00
usbharu 078547d5ff feat: フィルターの追加と削除を実装 2024-06-13 17:23:35 +09:00
usbharu ea666cf0f8 style: fix lint 2024-06-13 15:38:48 +09:00
usbharu 5ab62d1250 修正 2024-06-13 15:31:47 +09:00
usbharu ad9a4852f3 Merge branch 'refs/heads/develop' into ddd
# Conflicts:
#	libs.versions.toml
2024-06-13 15:15:16 +09:00
usbharu 74e10672bd Merge remote-tracking branch 'origin/ddd' into ddd 2024-06-13 15:14:15 +09:00
usbharu 1a074b8760 hideout-workerを削除 2024-06-13 15:14:01 +09:00
usbharu 6fa3d1cd1c Merge pull request #417 from usbharu/renovate/org.mongodb-mongodb-driver-kotlin-coroutine-5.x
fix(deps): update dependency org.mongodb:mongodb-driver-kotlin-coroutine to v5.1.1
2024-06-13 10:54:12 +09:00
renovate[bot] 5fe74adfc5 fix(deps): update dependency org.mongodb:mongodb-driver-kotlin-coroutine to v5.1.1 2024-06-13 01:49:56 +00:00
usbharu 0125aa3f44 Merge pull request #416 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.1
2024-06-13 10:49:06 +09:00
renovate[bot] cdd3b13d6b fix(deps): update dependency software.amazon.awssdk:s3 to v2.26.1 2024-06-13 01:43:08 +00:00
usbharu 8c43ecf893 Merge pull request #415 from usbharu/renovate/org.jetbrains.kotlinx.kover-0.x
chore(deps): update plugin kover to v0.8.1
2024-06-13 10:42:32 +09:00
renovate[bot] 6dff51cf61 chore(deps): update plugin kover to v0.8.1 2024-06-10 15:20:07 +00:00
usbharu 57d3091b18 feat: フィルターの実装を追加 2024-06-10 14:37:16 +09:00
usbharu 70a1a17e37 wip 2024-06-10 00:12:01 +09:00
usbharu e37ba79d59 Merge pull request #413 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.69
2024-06-09 17:36:43 +09:00
renovate[bot] 4176b405b2 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.69 2024-06-09 06:07:01 +00:00
usbharu 62683fde66 Merge pull request #414 from usbharu/renovate/com.twelvemonkeys.imageio-imageio-webp-3.x
fix(deps): update dependency com.twelvemonkeys.imageio:imageio-webp to v3.11.0
2024-06-09 15:06:27 +09:00
renovate[bot] f67b64275e fix(deps): update dependency com.twelvemonkeys.imageio:imageio-webp to v3.11.0 2024-06-08 13:12:57 +00:00
usbharu 1245165516 feat: ミュート等ができるように 2024-06-08 18:49:57 +09:00
usbharu a939dd5f30 feat: ブロック等ができるように 2024-06-08 18:12:08 +09:00
usbharu 6a98e003ee Merge pull request #412 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.68
2024-06-08 17:01:33 +09:00
usbharu 54e3af2253 feat: ドメイン層に認可的なものを追加 2024-06-08 16:37:57 +09:00
renovate[bot] 843660cdf6 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.68 2024-06-07 13:05:34 +00:00
usbharu 86daf1041b feat: 投稿を取得できるように 2024-06-07 20:44:12 +09:00
usbharu 91867d6b83 feat: 投稿できるように 2024-06-07 19:10:49 +09:00
usbharu e0c0c8b22a sql 2024-06-07 19:10:32 +09:00
usbharu f79f90c8ef sql 2024-06-07 19:10:19 +09:00
usbharu 98a795c374 sql 2024-06-07 18:24:25 +09:00
usbharu 8b3a6fc15a feat: 投稿APIを叩けるように 2024-06-07 18:13:24 +09:00
usbharu 4d68b150dd feat: ログインできるように 2024-06-07 17:15:47 +09:00
usbharu e14a4aa89a wip 2024-06-07 15:03:53 +09:00
usbharu 97d9bf0898 feat: OAuth2でトークンの発行ができるように 2024-06-07 13:05:55 +09:00
usbharu dd59407942 Merge pull request #411 from usbharu/renovate/serialization
fix(deps): update serialization to v1.7.0
2024-06-07 04:09:43 +09:00
renovate[bot] 3d89c49b62 fix(deps): update serialization to v1.7.0 2024-06-06 19:04:54 +00:00
usbharu ccedb6ee74 Merge pull request #410 from usbharu/renovate/artifact
fix(deps): update dependency com.google.protobuf:protoc to v4.27.1
2024-06-07 01:33:22 +09:00
renovate[bot] bc5e40ef0b fix(deps): update dependency com.google.protobuf:protoc to v4.27.1 2024-06-06 16:28:43 +00:00
usbharu e0d2c61ba7 Merge pull request #409 from usbharu/renovate/com.google.protobuf-protobuf-kotlin-4.x
fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4.27.1
2024-06-07 01:27:55 +09:00
renovate[bot] 39309d8b93 fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4.27.1 2024-06-06 15:54:59 +00:00
usbharu a13fe45d0d feat: アプリケーションサービスの操作ログを残せるように 2024-06-07 00:37:34 +09:00
usbharu cf48ae651b feat: ローカルユーザーを作成できるように 2024-06-06 23:26:20 +09:00
usbharu 9c271b8cc8 feat: apiのコントローラーを復活 2024-06-06 15:08:59 +09:00
usbharu 6739bb0da2 test: postのテストを追加 2024-06-06 14:15:59 +09:00
usbharu 6dbd17dc66 Merge pull request #408 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.67
2024-06-06 09:30:49 +09:00
renovate[bot] 9fa2e4085c fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.67 2024-06-06 00:05:01 +00:00
usbharu c84517908e Merge branch 'refs/heads/develop' into ddd 2024-06-05 12:09:51 +09:00
usbharu 18b470310d Merge pull request #406 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.66
2024-06-05 12:09:14 +09:00
usbharu f794095ecf test: postのテストを追加 2024-06-05 12:07:58 +09:00
usbharu 2c298d2d26 test: postのテストを追加 2024-06-05 11:47:19 +09:00
usbharu 5de217fecc test: postのテストを追加 2024-06-05 10:45:10 +09:00
renovate[bot] caf303ff90 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.66 2024-06-04 23:02:36 +00:00
usbharu 5e7b538d1d 実際に起動できるように 2024-06-04 23:46:09 +09:00
usbharu bd747718d4 QueryMapperとResultRowMapperを作成 2024-06-04 22:46:48 +09:00
usbharu ed0b40c1ff Merge pull request #404 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.65
2024-06-04 22:43:08 +09:00
usbharu 21d0d7af69 wip 2024-06-04 22:08:14 +09:00
renovate[bot] d69584c3f0 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.65 2024-06-04 01:11:05 +00:00
usbharu 338e956d56 Merge pull request #405 from usbharu/renovate/exposed
fix(deps): update exposed to v0.51.1
2024-06-04 10:10:21 +09:00
renovate[bot] 7b794feb98 fix(deps): update exposed to v0.51.1 2024-06-04 00:34:30 +00:00
usbharu 23507f1812 chore: coreからmastodonにテンプレートを移動 2024-06-03 00:44:43 +09:00
usbharu 71eeb47169 wip 2024-06-02 23:18:45 +09:00
usbharu d5cb840270 wip 2024-06-02 21:35:03 +09:00
usbharu 92e13e3782 test: 動かなくなったテストを削除 2024-06-02 18:18:25 +09:00
usbharu ccd089fa8e wip 2024-06-02 17:49:59 +09:00
usbharu 922bdb4991 wip 2024-06-02 16:04:30 +09:00
usbharu e13858e068 wip 2024-06-01 20:47:36 +09:00
usbharu 869ef1e111 wip 2024-06-01 18:23:44 +09:00
usbharu 671d1e4f9e wip 2024-06-01 11:39:26 +09:00
usbharu 6997ab2502 Merge pull request #403 from usbharu/renovate/gradle-8.x
chore(deps): update dependency gradle to v8.8
2024-06-01 10:55:01 +09:00
renovate[bot] 50a057608d chore(deps): update dependency gradle to v8.8 2024-06-01 01:41:07 +00:00
usbharu 6427c00cc8 Merge pull request #401 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.64
2024-06-01 10:25:42 +09:00
usbharu 5193a3d2e3 Merge remote-tracking branch 'origin/ddd' into ddd
# Conflicts:
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/event/actor/ActorEvent.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/event/actorinstancerelationship/ActorInstanceRelationshipEvent.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/event/instance/InstanceEvent.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/event/post/PostEvent.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor2.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/ActorId.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/ActorName.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/ActorPostsCount.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actorinstancerelationship/ActorInstanceRelationship.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/instance/Instance.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post2.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/service/actor/RemoteActorCheckDomainService.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/factory/Actor2FactoryImpl.kt
2024-06-01 10:25:23 +09:00
usbharu 7f89701077 wip 2024-06-01 10:19:00 +09:00
usbharu 6b80d81410 wip 2024-06-01 10:19:00 +09:00
usbharu 99c27e45c2 wip 2024-06-01 10:18:47 +09:00
renovate[bot] 6379b0b551 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.64 2024-06-01 01:18:00 +00:00
usbharu 8423d6a3c0 Merge pull request #402 from usbharu/renovate/exposed
fix(deps): update exposed to v0.51.0
2024-06-01 10:17:16 +09:00
renovate[bot] 812e109cb2 fix(deps): update exposed to v0.51.0 2024-05-31 01:27:09 +00:00
usbharu 58077d13f6 wip 2024-05-29 12:31:51 +09:00
usbharu 997e28bdf6 wip 2024-05-29 11:56:51 +09:00
usbharu cdac60a942 Merge pull request #400 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.61
2024-05-29 10:47:42 +09:00
renovate[bot] 08eda895b3 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.61 2024-05-28 21:10:40 +00:00
usbharu 75f60a7a62 wip 2024-05-28 17:54:17 +09:00
usbharu 006d833cc0 Merge pull request #399 from usbharu/renovate/browser-actions-setup-chrome-1.x
chore(deps): update browser-actions/setup-chrome action to v1.7.1
2024-05-28 00:24:19 +09:00
usbharu c2e8c0ca1f wip 2024-05-28 00:18:44 +09:00
renovate[bot] e25301d381 chore(deps): update browser-actions/setup-chrome action to v1.7.1 2024-05-27 15:18:01 +00:00
usbharu ee8c8d4e14 wip 2024-05-27 21:59:06 +09:00
usbharu 7e65d7fb86 Merge pull request #396 from usbharu/renovate/artifact
fix(deps): update dependency com.google.protobuf:protoc to v4.27.0
2024-05-27 14:47:08 +09:00
renovate[bot] fb28a4479c fix(deps): update dependency com.google.protobuf:protoc to v4.27.0 2024-05-27 05:34:04 +00:00
usbharu ce453b4560 Merge pull request #395 from usbharu/renovate/com.google.protobuf-protobuf-kotlin-4.x
fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4.27.0
2024-05-27 14:33:23 +09:00
renovate[bot] b63d2c7c1a fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4.27.0 2024-05-27 05:28:53 +00:00
usbharu 34ed3aa15e Merge pull request #398 from usbharu/renovate/com.github.jk1.dependency-license-report-2.x
chore(deps): update plugin license-report to v2.8
2024-05-27 14:28:10 +09:00
renovate[bot] 4324cfc34f chore(deps): update plugin license-report to v2.8 2024-05-27 05:24:36 +00:00
usbharu b68818e208 Merge pull request #397 from usbharu/renovate/browser-actions-setup-chrome-1.x
chore(deps): update browser-actions/setup-chrome action to v1.7.0
2024-05-27 14:23:57 +09:00
renovate[bot] e728e5d26b chore(deps): update browser-actions/setup-chrome action to v1.7.0 2024-05-27 05:19:55 +00:00
usbharu e0c8c15ea4 Merge pull request #393 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.60
2024-05-27 14:19:06 +09:00
renovate[bot] 9166c03321 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.60 2024-05-24 21:52:10 +00:00
usbharu 40d4e70b25 Merge pull request #394 from usbharu/renovate/spring-boot
chore(deps): update plugin spring-boot to v3.3.0
2024-05-24 14:44:59 +09:00
renovate[bot] d1f129c814 chore(deps): update plugin spring-boot to v3.3.0 2024-05-23 14:45:21 +00:00
usbharu 0bc116888e Merge pull request #391 from usbharu/renovate/supercharge-mongodb-github-action-1.x
chore(deps): update supercharge/mongodb-github-action action to v1.11.0
2024-05-23 15:27:43 +09:00
renovate[bot] de450301a3 chore(deps): update supercharge/mongodb-github-action action to v1.11.0 2024-05-22 12:07:22 +00:00
usbharu d47b41b5aa Merge pull request #390 from usbharu/renovate/jakarta.validation-jakarta.validation-api-3.x
fix(deps): update dependency jakarta.validation:jakarta.validation-api to v3.1.0
2024-05-22 11:42:01 +09:00
renovate[bot] a8de3f4a24 fix(deps): update dependency jakarta.validation:jakarta.validation-api to v3.1.0 2024-05-22 02:38:15 +00:00
usbharu abd111bd36 Merge pull request #389 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.57
2024-05-22 11:37:24 +09:00
renovate[bot] 9a91670196 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.57 2024-05-22 00:09:43 +00:00
usbharu e37a03ee3d Merge pull request #387 from usbharu/kotlin2
chore: Kotlin 2.0に対応
2024-05-21 23:14:39 +09:00
usbharu 62190c88db Merge branch 'develop' into kotlin2 2024-05-21 22:41:55 +09:00
usbharu 56389c73aa chore: Kotlin 2.0に対応 2024-05-21 22:41:18 +09:00
usbharu aae6fb7e1c Merge pull request #383 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.56
2024-05-21 10:09:32 +09:00
renovate[bot] e9730b369f fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.56 2024-05-21 01:03:04 +00:00
usbharu cda572b7b8 Merge pull request #381 from usbharu/version-catalog
chore: Version Catalog化を勧めた
2024-05-20 16:07:28 +09:00
usbharu 0146ee9e94 chore: ktor-client-mockのモジュール名を修正 2024-05-20 16:00:57 +09:00
usbharu 9552aa1259 chore: jsoupのバージョンを修正 2024-05-20 15:57:51 +09:00
usbharu 2ea627c475 chore: Version Catalog化を勧めた 2024-05-20 15:53:47 +09:00
usbharu d0da23ee90 Merge pull request #371 from usbharu/renovate/org.jetbrains.kotlinx.kover-0.x
chore(deps): update plugin kover to v0.8.0
2024-05-18 16:26:08 +09:00
usbharu 610ecd121a chore: koverの修正 2024-05-18 16:18:54 +09:00
renovate[bot] b9da734298 chore(deps): update plugin kover to v0.8.0 2024-05-18 06:28:56 +00:00
usbharu 525c2acdc3 Merge pull request #379 from usbharu/mock
モックの作成をアノテーションベースに変更する
2024-05-18 15:28:08 +09:00
usbharu 7813cb2cbb Merge branch 'develop' into mock 2024-05-18 15:22:42 +09:00
usbharu ec14b7019f Merge pull request #380 from usbharu/detekt
chore: detektの実行時だけバージョンを変更するように
2024-05-18 15:22:30 +09:00
usbharu e2ee8430d1 Merge branch 'develop' into detekt 2024-05-18 15:17:26 +09:00
usbharu 802e81622d style: fix lint 2024-05-18 15:14:23 +09:00
usbharu 00482a0cba chore: detektの実行時だけバージョンを変更するように 2024-05-18 14:39:56 +09:00
usbharu fdab23f4e7 Merge pull request #378 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.55
2024-05-18 14:33:57 +09:00
usbharu f760bace4b test: モックの作成をアノテーションベースに 2024-05-18 14:08:36 +09:00
renovate[bot] b4352ddc50 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.55 2024-05-18 03:27:52 +00:00
usbharu 0090dee2de test: モックの作成をアノテーションベースに 2024-05-18 00:09:54 +09:00
usbharu 07b240961a Merge pull request #375 from usbharu/feature/undo-delete
ActorのUndo Deleteに対応
2024-05-17 23:21:03 +09:00
usbharu 7120b9a23f Merge remote-tracking branch 'origin/feature/undo-delete' into feature/undo-delete 2024-05-17 23:13:48 +09:00
usbharu 2e7efd5d6d feat: Repositoryを修正 2024-05-17 23:12:58 +09:00
usbharu 3830573032 Merge branch 'develop' into feature/undo-delete 2024-05-17 21:54:05 +09:00
usbharu 84b038f472 feat: 凍結されたユーザーの復旧に対応 2024-05-17 21:53:30 +09:00
usbharu c8294c4cb8 feat: 削除済みポストとActorを復元できるように 2024-05-17 21:31:08 +09:00
usbharu 7520718d00 Merge pull request #373 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.54
2024-05-17 14:40:39 +09:00
renovate[bot] 7f5990471e fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.54 2024-05-17 02:45:44 +00:00
usbharu 4232be3962 Merge pull request #372 from usbharu/renovate/grpc-java-monorepo
fix(deps): update grpc-java monorepo to v1.64.0
2024-05-16 16:59:38 +09:00
renovate[bot] 80aee82b20 fix(deps): update grpc-java monorepo to v1.64.0 2024-05-16 07:53:40 +00:00
usbharu 4b6787c242 Merge pull request #369 from usbharu/renovate/browser-actions-setup-chrome-1.x
chore(deps): update browser-actions/setup-chrome action to v1.6.2
2024-05-16 16:52:23 +09:00
usbharu c75800146b Merge branch 'develop' into renovate/browser-actions-setup-chrome-1.x 2024-05-16 16:52:08 +09:00
usbharu 668244026f Merge pull request #366 from usbharu/renovate/jakarta.annotation-jakarta.annotation-api-3.x
fix(deps): update dependency jakarta.annotation:jakarta.annotation-api to v3
2024-05-16 16:51:47 +09:00
usbharu 0eb386c99a Merge branch 'develop' into renovate/jakarta.annotation-jakarta.annotation-api-3.x 2024-05-16 16:51:39 +09:00
renovate[bot] e87f9c0f30 fix(deps): update dependency jakarta.annotation:jakarta.annotation-api to v3 2024-05-16 07:51:33 +00:00
usbharu d4c301d6e6 Merge pull request #370 from usbharu/renovate/ktor-monorepo
fix(deps): update ktor monorepo to v2.3.11
2024-05-16 16:51:16 +09:00
usbharu dcff44d0c9 Merge branch 'develop' into renovate/ktor-monorepo 2024-05-16 16:51:07 +09:00
usbharu 4252d919c7 Merge pull request #361 from usbharu/renovate/com.github.jk1.dependency-license-report-2.x
chore(deps): update plugin license-report to v2.7
2024-05-16 16:48:40 +09:00
usbharu 1616705aaa Merge branch 'develop' into renovate/com.github.jk1.dependency-license-report-2.x 2024-05-16 16:48:31 +09:00
usbharu 144b3bdf40 Merge pull request #360 from usbharu/renovate/gradle-8.x
chore(deps): update dependency gradle to v8.7
2024-05-16 16:46:04 +09:00
usbharu 1faed55c32 Merge branch 'develop' into renovate/gradle-8.x 2024-05-16 16:45:56 +09:00
renovate[bot] c9c4793f34 fix(deps): update ktor monorepo to v2.3.11 2024-05-16 07:44:52 +00:00
renovate[bot] 6b4f1c225f chore(deps): update browser-actions/setup-chrome action to v1.6.2 2024-05-16 07:44:48 +00:00
usbharu 7c72133e7d Merge pull request #358 from usbharu/renovate/swagger
fix(deps): update swagger to v2.2.22
2024-05-16 16:44:26 +09:00
usbharu 9e88053557 Merge branch 'develop' into renovate/swagger 2024-05-16 16:44:16 +09:00
usbharu 1334cb792c Merge pull request #359 from usbharu/renovate/tika-monorepo
fix(deps): update tika monorepo to v2.9.2
2024-05-16 16:43:57 +09:00
usbharu 8e5005f8bc Merge branch 'develop' into renovate/tika-monorepo 2024-05-16 16:43:43 +09:00
usbharu 7c84577de0 Merge pull request #347 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.53
2024-05-16 16:43:29 +09:00
renovate[bot] 5ff119c037 chore(deps): update plugin license-report to v2.7 2024-05-16 07:10:54 +00:00
renovate[bot] c1da0dcfb1 chore(deps): update dependency gradle to v8.7 2024-05-16 07:10:45 +00:00
renovate[bot] 991753a40d fix(deps): update tika monorepo to v2.9.2 2024-05-16 07:01:58 +00:00
renovate[bot] aa59def78c fix(deps): update swagger to v2.2.22 2024-05-16 07:01:53 +00:00
renovate[bot] 02b22b2366 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.53 2024-05-16 07:01:45 +00:00
usbharu b225e48cb8 Merge pull request #299 from usbharu/feature/register-account
アカウント作成の改善
2024-05-16 16:00:51 +09:00
usbharu 21ced0670a Merge remote-tracking branch 'origin/feature/register-account' into feature/register-account 2024-05-16 15:53:33 +09:00
usbharu b686ac295f test: 必要になった権限を追加 2024-05-16 15:53:17 +09:00
usbharu 5bf57c7f2f Merge branch 'develop' into feature/register-account 2024-05-16 15:43:41 +09:00
usbharu 931a7a638a chore: マージを修正 2024-05-16 15:34:32 +09:00
usbharu e986b6cf77 Merge branch 'refs/heads/develop' into feature/register-account
# Conflicts:
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/application/config/CaptchaConfig.kt
#	hideout-core/src/main/kotlin/dev/usbharu/hideout/core/interfaces/api/auth/SignUpForm.kt
2024-05-16 15:32:22 +09:00
usbharu 7d4cf8433a Merge pull request #368 from usbharu/feature/jsonld
JSON-LDとして正しいJSONを出力するように
2024-05-16 15:29:49 +09:00
usbharu 7f6298430c Merge branch 'develop' into feature/jsonld 2024-05-16 15:29:43 +09:00
usbharu 4151cda7b6 test: テストを修正 2024-05-16 15:23:29 +09:00
usbharu e5f6b7f776 Merge pull request #356 from usbharu/renovate/kotlin-monorepo
fix(deps): update dependency org.jetbrains.kotlin:kotlin-test-junit to v1.9.24
2024-05-16 14:17:44 +09:00
usbharu 301c07c38e feat: JSON-LDとして正しいJSONを返すように 2024-05-14 22:52:23 +09:00
usbharu f25e9df896 wip 2024-05-14 16:06:59 +09:00
usbharu 19458e9adc wip 2024-05-14 15:11:02 +09:00
usbharu 822c57c02b test: JsonLDのシリアライズのテストを追加 2024-05-14 13:27:44 +09:00
usbharu 4ee71416d9 style: 不要なprintlnを消した 2024-05-14 10:58:15 +09:00
usbharu fb029098b7 feat: @contextにオブジェクトが存在していてもシリアライズ・デシリアライズできるように 2024-05-14 10:54:18 +09:00
usbharu 8f553d3ecd wip 2024-05-14 10:47:51 +09:00
usbharu ae43b5e793 wip 2024-05-14 09:32:35 +09:00
renovate[bot] 72b2ae9a89 fix(deps): update dependency org.jetbrains.kotlin:kotlin-test-junit to v1.9.24 2024-05-12 07:56:34 +00:00
usbharu 0baabb9fd0 Merge pull request #367 from usbharu/feature/block
Blockを無視するように
2024-05-12 16:53:16 +09:00
usbharu 9a6c1ca1bc Merge branch 'develop' into feature/block 2024-05-12 16:53:07 +09:00
usbharu 757c07ef3a Merge pull request #364 from usbharu/renovate/exposed
fix(deps): update exposed to v0.50.1
2024-05-12 16:46:20 +09:00
usbharu fd0a90ee51 fix: Exposedの変更を修正 2024-05-12 16:44:31 +09:00
usbharu 89161babd2 Merge remote-tracking branch 'origin/renovate/exposed' into renovate/exposed 2024-05-12 16:29:05 +09:00
renovate[bot] 328170a7e8 fix(deps): update exposed to v0.50.1 2024-05-12 07:13:39 +00:00
usbharu 5cb99ebd75 fix: Exposedの変更を修正 2024-05-12 16:11:08 +09:00
usbharu 4506a47a19 Merge pull request #363 from usbharu/renovate/org.gradle.toolchains.foojay-resolver-convention-0.x
chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.8.0
2024-05-12 16:03:55 +09:00
renovate[bot] 58783c5d5c fix(deps): update exposed to v0.50.1 2024-05-12 06:08:32 +00:00
renovate[bot] 1b57790c75 chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.8.0 2024-05-12 03:03:28 +00:00
usbharu 6d71f08ac1 Merge pull request #355 from usbharu/revert-325-renovate/org.openapi.generator-7.x
Revert "chore(deps): update plugin openapi-generator to v7.5.0"
2024-05-12 02:37:06 +09:00
usbharu 53f966fb43 Merge branch 'develop' into revert-325-renovate/org.openapi.generator-7.x 2024-05-12 02:36:48 +09:00
usbharu cef834a387 Merge pull request #348 from usbharu/renovate/coroutines_version
fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-test to v1.8.1
2024-05-12 02:33:49 +09:00
renovate[bot] 5d9a5bf200 fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-test to v1.8.1 2024-05-11 17:31:19 +00:00
usbharu 2a30afde4e Merge branch 'develop' into revert-325-renovate/org.openapi.generator-7.x 2024-05-12 02:30:47 +09:00
usbharu f403ed84fa Merge pull request #351 from usbharu/renovate/kotlin
chore(deps): update kotlin to v1.9.24
2024-05-12 02:30:34 +09:00
renovate[bot] f4e0819e3f chore(deps): update kotlin to v1.9.24 2024-05-11 17:30:23 +00:00
usbharu eeadb478cf Merge pull request #352 from usbharu/renovate/coroutines
fix(deps): update coroutines to v1.8.1
2024-05-12 02:29:39 +09:00
renovate[bot] d485e42f5f fix(deps): update coroutines to v1.8.1 2024-05-11 17:28:25 +00:00
usbharu 788c453dae Merge pull request #349 from usbharu/renovate/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.x
fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.8.1
2024-05-12 02:27:26 +09:00
renovate[bot] e7dceb9f11 fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.8.1 2024-05-11 17:26:21 +00:00
usbharu 81d9b50184 Revert "chore(deps): update plugin openapi-generator to v7.5.0" 2024-05-12 02:26:09 +09:00
usbharu 52b92c6c77 Merge pull request #345 from usbharu/renovate/com.google.devtools.ksp-1.x
chore(deps): update plugin com.google.devtools.ksp to v1.9.24-1.0.20
2024-05-12 02:25:26 +09:00
renovate[bot] 3c3355ea93 chore(deps): update plugin com.google.devtools.ksp to v1.9.24-1.0.20 2024-05-11 17:23:40 +00:00
usbharu 60e21969c6 Merge pull request #354 from usbharu/renovate/jakarta.annotation-jakarta.annotation-api-2.x
fix(deps): update dependency jakarta.annotation:jakarta.annotation-api to v2.1.1
2024-05-12 02:22:47 +09:00
renovate[bot] 2e67a4905e fix(deps): update dependency jakarta.annotation:jakarta.annotation-api to v2.1.1 2024-05-11 17:21:12 +00:00
usbharu 6dabab4aaa Merge pull request #353 from usbharu/renovate/io.insert-koin-koin-bom-3.x
fix(deps): update dependency io.insert-koin:koin-bom to v3.5.6
2024-05-12 02:20:22 +09:00
renovate[bot] f9063bdf6f fix(deps): update dependency io.insert-koin:koin-bom to v3.5.6 2024-05-11 17:18:41 +00:00
usbharu 5df036ff40 Merge pull request #325 from usbharu/renovate/org.openapi.generator-7.x
chore(deps): update plugin openapi-generator to v7.5.0
2024-05-12 02:17:38 +09:00
renovate[bot] fe4fc2a46e chore(deps): update plugin openapi-generator to v7.5.0 2024-05-11 17:14:53 +00:00
usbharu 926efe3cea Merge pull request #346 from usbharu/renovate/ktor_version
fix(deps): update dependency io.ktor:ktor-client-mock to v2.3.11
2024-05-12 02:13:42 +09:00
renovate[bot] 88ec895bbd fix(deps): update dependency io.ktor:ktor-client-mock to v2.3.11 2024-05-11 16:53:19 +00:00
usbharu a51593b142 Merge pull request #350 from usbharu/feature/owl
ジョブキューを自作のものに変更
2024-05-12 01:52:16 +09:00
usbharu 5f534d83e9 test: 結合テストが壊れていたので修正 2024-05-12 01:46:32 +09:00
usbharu 6a4921cfac chore: プロジェクト構造を修正 2024-05-12 00:26:56 +09:00
usbharu abf3b329e2 chore: プロジェクト構造を修正 2024-05-12 00:19:09 +09:00
usbharu 683bbc5eec chore: プロジェクト構造を修正 2024-05-11 23:27:17 +09:00
usbharu 78e70c70c9 chore: プロジェクト構造を修正 2024-05-11 23:26:25 +09:00
usbharu 585907a4c4 chore: 依存関係を修正 2024-05-11 23:14:23 +09:00
usbharu 9d53444edd Merge branch 'refs/heads/develop' into feature/owl
# Conflicts:
#	gradle.properties
#	gradle/wrapper/gradle-wrapper.jar
#	hideout-core/build.gradle.kts
#	hideout-worker/gradle/wrapper/gradle-wrapper.properties
#	hideout-worker/gradlew
#	hideout-worker/gradlew.bat
#	owl/owl-broker/owl-broker-mongodb/build.gradle.kts
2024-05-11 23:02:19 +09:00
usbharu cd7c83b1d6 Merge branch 'refs/heads/develop' into feature/owl
# Conflicts:
#	hideout-core/build.gradle.kts
#	owl/owl-broker/build.gradle.kts
#	owl/owl-broker/owl-broker-mongodb/build.gradle.kts
2024-05-11 22:53:48 +09:00
usbharu 9c7fda27ea feat: OWLでタスクを実行できるように 2024-05-11 22:50:03 +09:00
usbharu 5cdf78483d feat: Consumerを読み込んで起動できるように 2024-05-11 19:04:57 +09:00
usbharu 918de02c86 feat: OWLを使用してキューにいれることができるように 2024-05-11 15:35:42 +09:00
usbharu de4ad8ecfd feat: 起動前にRepositoryのチェックをするように 2024-05-08 23:12:43 +09:00
usbharu f1f6166a78 feat: 起動時にタスク定義を読み込むように 2024-05-08 20:52:39 +09:00
usbharu 7324e0b0e1 chore: KJOB依存を完全になくした 2024-05-08 19:30:24 +09:00
usbharu bb5cef6c22 feat: KJOBの使用箇所をなくした 2024-05-08 18:55:12 +09:00
usbharu 71c75b52fc Merge pull request #341 from usbharu/renovate/kotlin-monorepo
fix(deps): update dependency org.jetbrains.kotlin:kotlin-test-junit to v1.9.24
2024-05-08 10:29:36 +09:00
renovate[bot] b6d334d53b fix(deps): update dependency org.jetbrains.kotlin:kotlin-test-junit to v1.9.24 2024-05-08 01:15:40 +00:00
usbharu 7801d909c8 Merge pull request #342 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.47
2024-05-08 10:14:40 +09:00
usbharu 3b9233c595 Merge pull request #327 from usbharu/renovate/org.mockito.kotlin-mockito-kotlin-5.x
fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v5.3.1
2024-05-08 10:14:03 +09:00
renovate[bot] c9f65cb6de fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v5.3.1 2024-05-08 01:08:29 +00:00
renovate[bot] 47fa72f3ca fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.47 2024-05-08 01:08:22 +00:00
usbharu a2c91ab3f1 Merge pull request #343 from usbharu/revert-329-renovate/exposed_version
Revert "fix(deps): update exposed_version to v0.50.0"
2024-05-08 10:07:39 +09:00
usbharu 57805b7d61 Revert "fix(deps): update exposed_version to v0.50.0" 2024-05-08 10:00:34 +09:00
usbharu f8ea9a2b3d Merge pull request #333 from usbharu/renovate/actions-setup-java-4.x
chore(deps): update actions/setup-java action to v4
2024-05-07 22:28:22 +09:00
renovate[bot] 4b0585cc9d chore(deps): update actions/setup-java action to v4 2024-05-07 13:26:23 +00:00
usbharu efdb307c52 Merge pull request #332 from usbharu/renovate/actions-checkout-4.x
chore(deps): update actions/checkout action to v4
2024-05-07 22:25:31 +09:00
renovate[bot] 3af2fa3031 chore(deps): update actions/checkout action to v4 2024-05-07 13:23:54 +00:00
usbharu eb1c0c1d26 Merge pull request #331 from usbharu/renovate/actions-cache-4.x
chore(deps): update actions/cache action to v4
2024-05-07 22:23:04 +09:00
renovate[bot] f8f40ed51c chore(deps): update actions/cache action to v4 2024-05-07 13:21:21 +00:00
usbharu 3281d6821c Merge pull request #330 from usbharu/renovate/grpc-java-monorepo
fix(deps): update grpc-java monorepo to v1.63.0
2024-05-07 22:20:24 +09:00
renovate[bot] 945fa1c0df fix(deps): update grpc-java monorepo to v1.63.0 2024-05-07 13:18:44 +00:00
usbharu dac99eba3d Merge pull request #328 from usbharu/renovate/org.mongodb-mongodb-driver-kotlin-coroutine-5.x
fix(deps): update dependency org.mongodb:mongodb-driver-kotlin-coroutine to v5.1.0
2024-05-07 22:17:57 +09:00
renovate[bot] e3cccaab91 fix(deps): update dependency org.mongodb:mongodb-driver-kotlin-coroutine to v5.1.0 2024-05-07 13:16:17 +00:00
usbharu 9935aac2d1 Merge pull request #339 from usbharu/renovate/org.jetbrains.kotlin.jvm-1.x
chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.9.24
2024-05-07 22:15:25 +09:00
renovate[bot] abc6c9fba5 chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.9.24 2024-05-07 13:13:24 +00:00
usbharu e9c6bc3648 Merge pull request #340 from usbharu/renovate/org.jetbrains.kotlin.plugin.spring-1.x
chore(deps): update plugin org.jetbrains.kotlin.plugin.spring to v1.9.24
2024-05-07 22:12:48 +09:00
renovate[bot] 90fa6e6c8c chore(deps): update plugin org.jetbrains.kotlin.plugin.spring to v1.9.24 2024-05-07 13:06:31 +00:00
usbharu 5395848010 Merge pull request #329 from usbharu/renovate/exposed_version
fix(deps): update exposed_version to v0.50.0
2024-05-07 22:05:44 +09:00
renovate[bot] 39e25da037 fix(deps): update exposed_version to v0.50.0 2024-05-07 13:02:48 +00:00
usbharu 523db5b2eb Merge pull request #334 from usbharu/renovate/gradle-gradle-build-action-3.x
chore(deps): update gradle/gradle-build-action action to v3
2024-05-07 22:01:51 +09:00
usbharu 5adf26e096 Merge branch 'develop' into renovate/gradle-gradle-build-action-3.x 2024-05-07 22:01:42 +09:00
usbharu e7fd6a3469 Merge pull request #335 from usbharu/renovate/mikepenz-action-junit-report-4.x
chore(deps): update mikepenz/action-junit-report action to v4
2024-05-07 21:59:33 +09:00
usbharu ed9c7d0d7f Merge pull request #326 from usbharu/renovate/nl.jqno.equalsverifier-equalsverifier-3.x
fix(deps): update dependency nl.jqno.equalsverifier:equalsverifier to v3.16.1
2024-05-07 21:59:03 +09:00
usbharu 2a68c7741f Merge pull request #324 from usbharu/renovate/org.gradle.toolchains.foojay-resolver-convention-0.x
chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.8.0
2024-05-07 21:57:59 +09:00
usbharu 581cc109f7 Merge pull request #323 from usbharu/renovate/com.github.jk1.dependency-license-report-2.x
chore(deps): update plugin com.github.jk1.dependency-license-report to v2.7
2024-05-07 21:57:50 +09:00
usbharu c46e824d18 Merge pull request #322 from usbharu/renovate/gradle-gradle-build-action-2.x
chore(deps): update gradle/gradle-build-action action to v2.12.0
2024-05-07 21:57:32 +09:00
usbharu e25f668c90 Merge pull request #321 from usbharu/renovate/gradle-8.x
chore(deps): update dependency gradle to v8.7
2024-05-07 21:57:18 +09:00
usbharu 5c9acb6d94 Merge pull request #336 from usbharu/renovate/com.google.protobuf-protobuf-kotlin-4.x
fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4
2024-05-07 21:57:05 +09:00
renovate[bot] 279baca3a9 fix(deps): update dependency com.google.protobuf:protobuf-kotlin to v4 2024-05-06 14:03:51 +00:00
renovate[bot] 4c4d9026a6 chore(deps): update mikepenz/action-junit-report action to v4 2024-05-06 14:03:47 +00:00
renovate[bot] 18d75a01a4 chore(deps): update gradle/gradle-build-action action to v3 2024-05-06 14:03:41 +00:00
renovate[bot] b6343c83e2 fix(deps): update dependency nl.jqno.equalsverifier:equalsverifier to v3.16.1 2024-05-06 14:03:04 +00:00
renovate[bot] 087f468ff9 chore(deps): update plugin org.gradle.toolchains.foojay-resolver-convention to v0.8.0 2024-05-06 14:02:58 +00:00
renovate[bot] 976bc77083 chore(deps): update plugin com.github.jk1.dependency-license-report to v2.7 2024-05-06 14:02:54 +00:00
renovate[bot] 4ae5cb1a60 chore(deps): update gradle/gradle-build-action action to v2.12.0 2024-05-06 14:02:49 +00:00
renovate[bot] 31886d9ac3 chore(deps): update dependency gradle to v8.7 2024-05-06 14:02:44 +00:00
usbharu 21637932ad Merge pull request #337 from usbharu/renovate/major-artifact
fix(deps): update dependency com.google.protobuf:protoc to v4
2024-05-06 22:57:34 +09:00
renovate[bot] 846ac62b42 fix(deps): update dependency com.google.protobuf:protoc to v4 2024-05-06 13:43:51 +00:00
usbharu 1bac4f2598 Merge pull request #318 from usbharu/renovate/tika-monorepo
fix(deps): update tika monorepo to v2.9.2
2024-05-06 22:37:31 +09:00
renovate[bot] 9bb2f2f2dd fix(deps): update tika monorepo to v2.9.2 2024-05-06 13:29:40 +00:00
usbharu e0f1faf453 Merge pull request #317 from usbharu/renovate/ktor_version
fix(deps): update ktor_version to v2.3.10
2024-05-06 22:28:52 +09:00
renovate[bot] 254ba3d387 fix(deps): update ktor_version to v2.3.10 2024-05-06 13:15:50 +00:00
usbharu 4311f7c0a9 Merge pull request #319 from usbharu/renovate/browser-actions-setup-chrome-1.x
chore(deps): update browser-actions/setup-chrome action to v1.6.1
2024-05-06 22:14:59 +09:00
renovate[bot] c74a514b94 chore(deps): update browser-actions/setup-chrome action to v1.6.1 2024-05-06 13:04:27 +00:00
usbharu 04410920ac Merge pull request #338 from usbharu/renovate/jakarta.annotation-jakarta.annotation-api-3.x
fix(deps): update dependency jakarta.annotation:jakarta.annotation-api to v3
2024-05-06 21:57:39 +09:00
usbharu 470795e572 Merge pull request #316 from usbharu/renovate/aws-java-sdk-v2-monorepo
fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.45
2024-05-06 21:56:36 +09:00
renovate[bot] 6be1057870 fix(deps): update dependency software.amazon.awssdk:s3 to v2.25.45 2024-05-06 12:56:08 +00:00
usbharu a38694994f Merge pull request #315 from usbharu/renovate/slf4j-monorepo
fix(deps): update dependency org.slf4j:slf4j-api to v2.0.13
2024-05-06 21:55:30 +09:00
usbharu 9617c54104 Merge branch 'develop' into renovate/slf4j-monorepo 2024-05-06 21:55:20 +09:00
usbharu 6bbc8172ec Merge pull request #314 from usbharu/renovate/log4j2-monorepo
fix(deps): update dependency org.apache.logging.log4j:log4j-slf4j2-impl to v2.23.1
2024-05-06 19:17:34 +09:00
renovate[bot] a19180a3aa fix(deps): update dependency jakarta.annotation:jakarta.annotation-api to v3 2024-05-06 10:10:38 +00:00
renovate[bot] ce61f96c1d fix(deps): update dependency org.slf4j:slf4j-api to v2.0.13 2024-05-06 10:03:33 +00:00
renovate[bot] 747bec7e55 fix(deps): update dependency org.apache.logging.log4j:log4j-slf4j2-impl to v2.23.1 2024-05-06 10:03:29 +00:00
usbharu ce7ec4e985 Merge pull request #313 from usbharu/renovate/jakarta.annotation-jakarta.annotation-api-2.x
fix(deps): update dependency jakarta.annotation:jakarta.annotation-api to v2.1.1
2024-05-06 19:02:38 +09:00
renovate[bot] 31991ec141 fix(deps): update dependency jakarta.annotation:jakarta.annotation-api to v2.1.1 2024-05-06 09:49:00 +00:00
usbharu c9301b8194 Merge pull request #310 from usbharu/renovate/io.insert-koin-koin-bom-3.x
fix(deps): update dependency io.insert-koin:koin-bom to v3.5.6
2024-05-06 18:48:23 +09:00
renovate[bot] 0e6a9f34b3 fix(deps): update dependency io.insert-koin:koin-bom to v3.5.6 2024-05-06 09:33:01 +00:00
usbharu 3d85cd74bc Merge pull request #312 from usbharu/renovate/io.swagger.core.v3-swagger-models-2.x
fix(deps): update dependency io.swagger.core.v3:swagger-models to v2.2.21
2024-05-06 18:32:11 +09:00
renovate[bot] 2ef0e6afdd fix(deps): update dependency io.swagger.core.v3:swagger-models to v2.2.21 2024-05-06 09:15:31 +00:00
usbharu 68c01a8b9d Merge pull request #311 from usbharu/renovate/io.swagger.core.v3-swagger-annotations-2.x
fix(deps): update dependency io.swagger.core.v3:swagger-annotations to v2.2.21
2024-05-06 18:14:34 +09:00
renovate[bot] 6cdde51997 fix(deps): update dependency io.swagger.core.v3:swagger-annotations to v2.2.21 2024-05-06 08:57:23 +00:00
usbharu b2fa38c00b Merge pull request #309 from usbharu/renovate/spring-boot
chore(deps): update plugin org.springframework.boot to v3.2.5
2024-05-06 17:56:36 +09:00
renovate[bot] cd72800d14 chore(deps): update plugin org.springframework.boot to v3.2.5 2024-05-06 08:37:19 +00:00
usbharu 70d24d7358 Merge pull request #308 from usbharu/renovate/org.jetbrains.kotlin.jvm-1.x
chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.9.23
2024-05-06 17:36:53 +09:00
renovate[bot] 90e2e78978 chore(deps): update plugin org.jetbrains.kotlin.jvm to v1.9.23 2024-05-06 08:27:54 +00:00
usbharu 102459e250 Merge pull request #307 from usbharu/renovate/com.google.devtools.ksp-1.x
chore(deps): update plugin com.google.devtools.ksp to v1.9.23-1.0.20
2024-05-06 17:24:57 +09:00
renovate[bot] 77b52519f2 chore(deps): update plugin com.google.devtools.ksp to v1.9.23-1.0.20 2024-05-06 08:21:22 +00:00
usbharu fadb89b3f2 Merge pull request #320 from usbharu/usbharu-patch-8
Update build.gradle.kts
2024-05-06 17:18:50 +09:00
usbharu 2a3312bdd2 Update build.gradle.kts 2024-05-06 17:17:37 +09:00
usbharu 9bb7e81197 Merge pull request #305 from usbharu/renovate/actions-cache-3.x
chore(deps): update actions/cache action to v3.3.3
2024-05-06 17:14:26 +09:00
usbharu 33f1a3b459 Merge pull request #304 from usbharu/renovate/gradle-gradle-build-action-digest
chore(deps): update gradle/gradle-build-action digest to 4c39dd8
2024-05-06 17:14:00 +09:00
renovate[bot] fab0eb56ed chore(deps): update actions/cache action to v3.3.3 2024-05-06 08:08:17 +00:00
renovate[bot] e92163116e chore(deps): update gradle/gradle-build-action digest to 4c39dd8 2024-05-06 08:08:10 +00:00
usbharu dc76a55d20 Merge pull request #303 from usbharu/renovate/configure
chore: Configure Renovate
2024-05-06 17:07:31 +09:00
renovate[bot] b44caa7d4c Add renovate.json 2024-05-06 08:01:29 +00:00
usbharu 5ef130c94f feat: ProducerのBeanを作成できるように 2024-05-06 16:55:57 +09:00
usbharu 3a541fa4b0 feat: ジョブキューをOWLに切り替え 2024-05-04 18:28:01 +09:00
usbharu 0b29c3356a chore: 不要なプロパティを削除 2024-05-04 17:34:09 +09:00
usbharu c3255af665 chore: バージョンカタログを導入 2024-05-04 17:31:48 +09:00
usbharu 374b5581f6 chore: プロジェクトの設定を変更 2024-05-04 13:11:49 +09:00
usbharu 6e1ca49023 chore: プロジェクト構成を変更 2024-05-04 02:16:01 +09:00
usbharu 5b627ab1bd chore: プロジェクト構成を変更 2024-05-04 02:01:06 +09:00
usbharu b1cba8b7ae doc: ドキュメントを追加 2024-05-02 11:16:24 +09:00
usbharu 949b0a935f feat: EmbeddedOwlProducerを追加 2024-05-01 22:21:00 +09:00
usbharu 297c29f020 wip: embedded producer 2024-05-01 00:01:12 +09:00
usbharu f34c9ad53a chore: owlを依存関係に追加 2024-04-30 22:09:05 +09:00
usbharu 507e03a07d Merge remote-tracking branch 'origin/develop' into develop 2024-04-30 18:44:46 +09:00
usbharu f0350c914a Merge remote-tracking branch 'owl/master' into develop 2024-04-30 18:42:41 +09:00
usbharu 43e1e5a62d chore: keep 2024-04-30 18:42:14 +09:00
usbharu ce87102e52 Merge pull request 'consumer' (#2) from consumer into master
Reviewed-on: usbharu/owl#2
2024-04-30 09:26:09 +00:00
usbharu cadf222e4f Merge branch 'master' into consumer 2024-04-30 09:25:52 +00:00
usbharu c6e40caf50 doc: ドキュメントを追加 2024-04-22 15:58:51 +09:00
usbharu 3315fe20e1 doc: ドキュメントを追加 2024-04-22 14:58:26 +09:00
usbharu 4e7600d3bf doc: ドキュメントを追加 2024-04-22 12:28:37 +09:00
usbharu 5349b1a060 doc: OwlProducerのドキュメントを追加 2024-04-22 10:58:44 +09:00
usbharu acd3555f97 fix: パッケージ名を修正 mapに格納するときのキー名を変更 2024-04-15 15:05:51 +09:00
usbharu 86d0366ab5 fix: パラメーターを忘れてたのを修正 2024-04-15 14:52:01 +09:00
usbharu 786740e294 feat: Consumerのみで起動するときのエントリーポイントを追加 2024-04-15 14:46:10 +09:00
usbharu 416467b5ec feat: wip consumer SPIでTaskRunnerをロードできるように 2024-04-15 11:49:05 +09:00
usbharu 17ae665441 feat: wip consumer Mainから起動できるように 2024-04-15 11:28:29 +09:00
usbharu 4218431012 fix: sitekeyとsecretを混同をしていたのを修正 2024-04-04 18:08:39 +09:00
usbharu 5b322ade29 feat: 登録不可時にHTMLでsubmitできないように 2024-04-04 17:37:05 +09:00
usbharu 9327bb0372 feat: デフォルトでは登録不可に 2024-04-04 17:26:15 +09:00
usbharu c579efb110 feat: reCAPTCHA二対応 2024-04-04 15:14:22 +09:00
usbharu a02c995b6a feat: 新規アカウント作成エンドポイントを分離 2024-04-04 12:57:24 +09:00
usbharu f49e824f86 Merge pull request #298 from usbharu/update-dependencies
chore: 依存関係をアップデート
2024-04-03 15:16:31 +09:00
usbharu ecb73a0da6 fix: 依存関係のアップデートで壊れた部分を修正 2024-04-03 15:09:20 +09:00
usbharu e3ee43f011 chore: 依存関係をアップデート 2024-04-03 14:48:06 +09:00
usbharu a3942a0330 Merge pull request #294 from usbharu/feature/activitypub-security
Feature/activitypub security
2024-04-03 14:37:01 +09:00
usbharu dc323f7d25 style: fix lint 2024-04-03 14:31:18 +09:00
usbharu 57eba8b238 Merge pull request 'consumer' (#1) from consumer into master
Reviewed-on: usbharu/owl#1
2024-04-03 04:47:44 +00:00
usbharu df35023c02 feat: Consumerを作成 2024-04-03 13:36:16 +09:00
usbharu 3e23662b95 feat: タスク実行部分を作成 2024-04-03 12:50:49 +09:00
usbharu 74dbd04f0b feat: MutexではなくStateFlowを使うように 2024-04-01 17:41:53 +09:00
usbharu 2e68e2ab1b feat: Consumerで同時実行数を制御できるように 2024-04-01 17:14:15 +09:00
usbharu f3a1761f1d feat: wip consumer 2024-04-01 15:22:31 +09:00
usbharu 7bdb4719f5 feat: Producerのデフォルト実装を追加 2024-03-31 12:12:20 +09:00
usbharu be59b5e446 feat: ビルダーを作成 2024-03-31 09:37:04 +09:00
usbharu 4dbffdb2d9 feat: Queueの割当に優先順位が適用されるように 2024-03-18 14:52:02 +09:00
usbharu cbfcc21dee feat: priorityを設定できるように 2024-03-18 14:35:02 +09:00
usbharu fbafee4e5e feat: Producerにタスク完了を通知する方法を追加 2024-03-09 13:36:16 +09:00
usbharu 159dd943ec feat: タスク完了時の処理を追加 2024-03-07 16:29:26 +09:00
usbharu 18ee65e237 chore: ログを改善 2024-03-07 13:12:06 +09:00
usbharu fd3989b604 feat: タスクをまとめて追加できるように 2024-03-07 12:15:07 +09:00
usbharu 5bcf24f7a3 feat: キューがタイムアウトしたらそれを保存するように 2024-03-06 21:17:29 +09:00
usbharu abb609c60b feat: MongoDBへのアクセスをIOスレッドで行うように 2024-03-06 18:27:28 +09:00
usbharu ea5605853e feat: キューのタイムアウトを監視するように 2024-03-06 17:44:18 +09:00
usbharu 653f47d5dc feat: 起動時に読み込んだモジュールの名前を表示するように 2024-03-06 15:11:10 +09:00
usbharu c17bd94f73 feat: 例外処理を追加 2024-03-05 17:46:36 +09:00
usbharu 4ac8f614ec feat: デフォルトのリトライポリシーを修正 2024-03-05 16:47:33 +09:00
usbharu 20d6cf3c32 feat: PropertySerializerを追加 2024-03-05 15:51:09 +09:00
usbharu f917809b77 chore: Gradleの設定を変更 2024-03-05 15:31:05 +09:00
usbharu 63fa08fd69 Propertyをジェネリックを使用して型安全に 2024-03-05 15:26:55 +09:00
usbharu 7043462b58 feat: システムプロパティからMongoDBへの接続情報を取得するように 2024-03-05 14:47:01 +09:00
usbharu 4e8126ee06 feat: SPIを使用してModuleContextを読み込むように 2024-03-05 12:32:30 +09:00
usbharu a88c23d5cf refactor: RetryPolicyをcommonパッケージのものに統一 2024-03-05 12:14:49 +09:00
usbharu 34dc90b937 chore: クラスパスを修正 2024-03-05 12:04:04 +09:00
usbharu de1e49d98f first commit 2024-03-04 18:24:57 +09:00
usbharu 4f084a375b feat: Instanceの取得に失敗したら仮の情報で保存するように 2024-02-27 11:16:59 +09:00
usbharu 32faf70116 feat: Instanceを必須に 2024-02-26 23:47:16 +09:00
usbharu 12ffbd7c51 feat: Postのインスタンス化時にチェックするように 2024-02-26 16:20:37 +09:00
usbharu 7719863b80 feat: Actorのインスタンス化時にチェックするように 2024-02-26 15:58:32 +09:00
usbharu 15b3cf6796 Merge pull request #292 from usbharu/feature/mastodon-config
セキュリティコンフィグをMastodon互換APIと分離
2024-02-26 12:44:34 +09:00
usbharu dcbef07251 style: fix lint 2024-02-26 12:40:52 +09:00
usbharu 88e78ff948 feat: セキュリティコンフィグをMastodon互換APIと分離 2024-02-25 13:19:45 +09:00
usbharu df68cd237a Merge pull request #289 from usbharu/bugfix/posts-count
アカウントの投稿数が増えなかった問題を修正
2024-02-24 16:06:58 +09:00
usbharu fa00116767 Merge branch 'develop' into bugfix/posts-count 2024-02-24 15:59:01 +09:00
usbharu 74f0426e54 Merge pull request #290 from usbharu/bugfix/failed-to-fetch-nodeinfo
nodeinfoの取得に失敗する問題を修正
2024-02-24 15:58:50 +09:00
usbharu 7848a5da29 feat: 未実装だったものを実装 2024-02-24 15:57:51 +09:00
usbharu 5692c62fe5 fix: nodeinfoの取得に失敗する問題を修正 2024-02-24 15:51:09 +09:00
usbharu 5fad278b0b feat: アカウントが見つからなかった場合のエラーハンドリングを追加 2024-02-24 15:26:13 +09:00
usbharu 208d1c519a feat: 明示的に情報をアップデートするように 2024-02-24 15:24:00 +09:00
usbharu 0779c92ec4 feat: 明示的にフォロワー/フォロイー/投稿の数を更新する関数を追加 2024-02-24 15:13:46 +09:00
usbharu a242748908 Merge pull request #287 from usbharu/feature/error-response
Mastodon互換APIに異常系レスポンスを追加
2024-02-24 14:31:02 +09:00
usbharu 23c830f390 style: fix lint 2024-02-24 14:25:59 +09:00
usbharu 5c8d7e8d36 feat: Null非許容のパラメーターにnullがきたときのエラーメッセージを改善 2024-02-24 13:53:48 +09:00
usbharu b33f62b656 feat: エラーレスポンスを返せるように 2024-02-24 11:41:10 +09:00
usbharu 7a22c9e3f0 feat: Mastodon 互換API用の例外を定義 2024-02-23 13:29:31 +09:00
usbharu 0b0d7c02f1 feat: エラーのレスポンス定義を追加 2024-02-23 11:36:40 +09:00
usbharu 32a4315952 Merge branch 'develop' into feature/error-response 2024-02-21 16:01:16 +09:00
usbharu fd269a52e2 Merge pull request #286 from usbharu/feature/bean-validation
Bean Validationの導入
2024-02-21 15:58:36 +09:00
usbharu c78e16b9cf test: 古いテストを修正 2024-02-21 15:56:19 +09:00
usbharu 56a7e9c891 feat: Mastodon互換APIのバリデーションを追加 2024-02-21 15:32:28 +09:00
usbharu 6603312021 feat: cacheする例外の種類を増やした 2024-02-21 14:43:26 +09:00
usbharu 079ad108c5 feat: jsonとform両方で受け付けるように 2024-02-21 11:09:36 +09:00
usbharu d116c5d0a4 fix: MethodArgumentNotValidExceptionをキャッチしたときは再throwするように 2024-02-21 11:09:13 +09:00
usbharu 53933b314c chore: 依存を修正 2024-02-21 11:08:36 +09:00
usbharu dc1929c8ab fix: HTTP Signatureの検証に失敗する問題を修正 2024-02-21 10:29:38 +09:00
usbharu cde1943711 Merge pull request #285 from usbharu/feature/validate-http-header-with-http-signature
HTTP Signatureに関連したHTTPヘッダーの検査を行うように
2024-02-21 00:22:53 +09:00
usbharu 343583e14b style: fix lint 2024-02-21 00:16:50 +09:00
usbharu 2367eb3c88 refactor: 長過ぎる関数を分割 2024-02-21 00:16:28 +09:00
usbharu 40b44b0e65 test: InboxCommonTestについて 保守コストが高すぎるため廃止 2024-02-20 23:18:18 +09:00
usbharu 2e4b82dc05 test: テストを修正 2024-02-20 23:01:01 +09:00
usbharu 5c2128704c feat: Digestヘッダーのパースを行うように 2024-02-20 23:00:27 +09:00
usbharu 0a38c8155c fix: Spring Securityのバグを回避するため設定を変更 2024-02-20 22:59:45 +09:00
usbharu 0d24f41145 test: InboxControllerImplのテストを追加 2024-02-20 13:13:04 +09:00
usbharu 526354df1f feat: InboxControllerでHTTP Signatureに関連するHTTPヘッダーの検査をするように 2024-02-20 13:12:33 +09:00
usbharu 1bdb19db45 test: HttpSignatureHeaderCheckerのテストを追加 2024-02-19 19:31:25 +09:00
usbharu cbd8fe610e feat: HTTP Signatureに関連したHTTP ヘッダーのチェックを追加 2024-02-19 19:30:45 +09:00
usbharu c80bc24c21 feat: エラーのレスポンス定義を追加 2024-02-18 16:48:19 +09:00
usbharu 8480d473e6 feat: エラーのレスポンス定義を追加 2024-02-18 16:29:16 +09:00
usbharu e21fc00eae Merge pull request #283 from usbharu/usbharu-patch-7
Create README.md
2024-02-18 12:36:20 +09:00
usbharu fe3efc5fbf Update src/main/kotlin/dev/usbharu/hideout/core/infrastructure/kjobexposed/ExposedJobRepository.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-18 12:32:31 +09:00
usbharu 93266c1d35 chore: テスト時のクラスパスからh2dbが消えていたのを修正 2024-02-18 12:28:07 +09:00
usbharu 3ba832b0d5 chore: ライセンスの確認をするように 2024-02-18 12:06:44 +09:00
usbharu 1855db9f9b chore: コードにライセンスを追加 2024-02-17 11:18:48 +09:00
usbharu e70e7698f2 chore: ライセンスの追加 2024-02-17 10:45:13 +09:00
usbharu 85647d1852 Create README.md 2024-02-16 22:06:15 +09:00
usbharu 584b9f41cb Merge pull request #282 from usbharu/configration
chore: カバレッジの計測から構成ファイル等をなくした
2024-02-16 20:07:06 +09:00
usbharu 5dec646612 chore: カバレッジの計測から構成ファイル等をなくした 2024-02-16 20:01:37 +09:00
usbharu 4aa9fdf2c5 Merge pull request #281 from usbharu/feature/role-hierarchy
階層ロールを使用する
2024-02-16 17:23:26 +09:00
usbharu 8d4785b002 style: fix lint 2024-02-16 17:19:57 +09:00
usbharu 4a7152b771 feat: 必要スコープの指定にRoleHierarchyを使用するように 2024-02-16 14:36:38 +09:00
usbharu 011e79b526 chore: e2eテスト用のDBをインメモリモードで起動するように 2024-02-16 14:34:42 +09:00
usbharu 00cf918720 feat: RoleHierarchyを使用するスコープ指定のユーティリティーを追加 2024-02-16 14:32:34 +09:00
usbharu 31075240a0 Merge pull request #276 from usbharu/feature/mute
ミュートを追加
2024-02-16 11:37:03 +09:00
usbharu a9a5735338 fix: GET /api/v1/filters の設定を間違えていたので修正 2024-02-14 18:29:25 +09:00
usbharu 0a1ca54856 test: テストを追加 2024-02-14 18:28:51 +09:00
usbharu aa25efccaf Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-14 14:13:57 +09:00
usbharu 240b82b66c test: テストを追加 2024-02-14 14:04:37 +09:00
usbharu 0fec05fa49 refactor: 不要な関数を削除 2024-02-14 14:04:12 +09:00
usbharu e7313645be test: postのテストも追加 2024-02-13 17:38:40 +09:00
usbharu 09bbdd6854 fix: 永続化の順序が逆になっていたのを修正 2024-02-13 17:36:43 +09:00
usbharu ce979a8dba feat: HandlerMethodArgumentResolverでバインド失敗時のスタックトレースを両方出力するように 2024-02-13 17:36:18 +09:00
usbharu 423b7f03e9 chore: 結合テストでクエリのトレースを出力するように 2024-02-13 17:33:06 +09:00
usbharu 5aa391e8d9 test: テストを追加 2024-02-13 14:07:57 +09:00
usbharu a4eb0e9e7b feat: テーブル定義を追加 2024-02-13 14:07:44 +09:00
usbharu dea80d2599 fix: テーブル名を修正 2024-02-13 14:07:29 +09:00
usbharu 70deaa92c6 feat: 実装を忘れていたエンドポイントを実装 2024-02-13 14:06:58 +09:00
usbharu d67a71dd57 feat: 権限の設定を追加 2024-02-12 18:38:19 +09:00
usbharu d06b4062c8 style: fix lint 2024-02-12 15:29:43 +09:00
usbharu 7189159cb0 style: fix lint 2024-02-12 12:36:23 +09:00
usbharu 41d1e59322 feat: 未実装箇所を実装 2024-02-12 12:36:04 +09:00
usbharu 5cb014730e feat: ミュートのMastodon互換APIを実装 2024-02-12 12:23:54 +09:00
usbharu 01ae2268d5 fix: API定義が間違っていたので修正2 2024-02-12 12:22:01 +09:00
usbharu 789f0c7fde fix: API定義が間違っていたので修正 2024-02-11 13:52:40 +09:00
usbharu 8f6e340442 feat: ミュートAPIの定義を追加 2024-02-11 13:49:47 +09:00
usbharu 827edb2d44 feat: ミュートの基本部分を実装 2024-02-09 18:10:22 +09:00
usbharu 20c4d3f4e6 Merge pull request #275 from usbharu/update-dependencies
Update dependencies
2024-02-04 16:49:42 +09:00
usbharu e2f7062770 chore: GitHub ActionsのJDKバージョンを21に変更 2024-02-04 16:19:33 +09:00
usbharu 4b205c1e0c chore: spring frameworkの仮想スレッド機能を有効化 2024-02-04 16:17:46 +09:00
usbharu 54224a9d56 chore: ExposedのAPIを更新 2024-02-04 16:07:29 +09:00
usbharu 4045a945ba chore: Kotlinの非推奨アノテーションの継承の修正 2024-02-04 16:01:57 +09:00
usbharu 45ac53dcff chore: 依存関係をアップデート 2024-02-04 16:00:58 +09:00
usbharu 166da83561 chore: とりあえずwindowsとlinuxのx86_64でのみ動く用に 2024-02-04 15:07:32 +09:00
usbharu bd5d0fadf0 Merge pull request #273 from usbharu/feature/repost
Feature/repost
2024-02-03 16:42:16 +09:00
usbharu 2f0629153b style: fix lint 2024-02-03 16:37:25 +09:00
usbharu 8b1d1a5b09 feat: equalsとtoStringを実装 2024-02-03 16:20:07 +09:00
usbharu 7b9ef770da Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-03 16:15:27 +09:00
usbharu 35d126703b feat: 引用リポストに対応 2024-02-03 16:06:56 +09:00
usbharu 09165783ae feat: Undo Announceを受け取れるように 2024-02-02 16:53:55 +09:00
usbharu ac5be2e2df feat: Announceを受け取れるように 2024-02-02 16:53:32 +09:00
usbharu 8e516420cf feat: Announceを追加 2024-02-02 16:52:46 +09:00
usbharu f011e43379 Merge pull request #272 from usbharu/bugfix/get-loginuser
Bugfix/get loginuser
2024-02-01 16:00:22 +09:00
usbharu 9b0d37722c test: 匿名認証時のテストを追加 2024-02-01 15:54:10 +09:00
usbharu a062d0b9c3 fix: アカウントの投稿一覧が未ログイン時に見れなくなっていた問題を修正 2024-02-01 15:53:18 +09:00
usbharu a089ab7a04 feat: 匿名認証時にログインユーザーを取得できない場合エラーではなくnullを返す関数を追加 2024-02-01 15:52:38 +09:00
usbharu 9a12c10f3a Merge pull request #266 from usbharu/feature/pagination
ページネーションの改善
2024-01-31 22:22:04 +09:00
usbharu e5f620749e style: fix lint 2024-01-31 22:17:07 +09:00
usbharu 61e61ec4bd fix: ページネーション対応忘れを修正 2024-01-31 21:56:28 +09:00
usbharu 40c2c93f89 test: アカウントの投稿一覧の取得のページネーションのテストを追加 2024-01-31 21:33:12 +09:00
usbharu 8d24b366e4 fix: アカウントの投稿一覧の取得のバグを修正 2024-01-31 16:44:20 +09:00
usbharu 8703a45fc2 test: アカウントの投稿一覧の取得テストを追加 2024-01-31 16:43:55 +09:00
usbharu 5d01be2d88 chore: Jacksonがnullableかつrequiredを理解しないので変更 2024-01-31 16:43:22 +09:00
usbharu a3518ddf53 test: テスト実行前にMongodbをクリアするように 2024-01-31 15:05:00 +09:00
usbharu 4ed61efe76 fix: Mongodbの通知APIがおかしくなっていたのを修正 2024-01-31 15:01:59 +09:00
usbharu 9859c36051 test: Mongodb使用時の通知APIのページネーションのテストを追加 2024-01-31 15:01:30 +09:00
usbharu ca33eb344b test: Mongodbでのテストを行えるようにするためにSQLを分割 2024-01-31 15:01:07 +09:00
usbharu 75a66ee2d3 test: 通知APIとページネーションのレスポンスチェックを追加 2024-01-31 14:40:11 +09:00
usbharu 48974d71fa chore: JacksonがRequiredだがnullableを理解しないので変更 2024-01-31 14:39:35 +09:00
usbharu 44bca9d373 fix: ページングのレスポンスが間違っていたのを修正 2024-01-31 00:46:12 +09:00
usbharu 637b2b84d5 test: Mastodon互換APIの通知エンドポイントのページングテストを追加 2024-01-31 00:45:42 +09:00
usbharu 9deff9fef8 Merge branch 'develop' into feature/pagination 2024-01-31 00:00:34 +09:00
usbharu cd41c2fd0e Merge pull request #269 from usbharu/bugfix/mastodon-notification-table
fix: 忘れていたテーブル定義を追加
2024-01-30 23:59:02 +09:00
usbharu 44da988141 fix: 忘れていたテーブル定義を追加 2024-01-30 23:51:51 +09:00
usbharu 31697ee5b7 test: 通知APIのページングのテスト用SQLを追加 2024-01-30 23:47:08 +09:00
usbharu 09e5ff7ea5 refactor: 不要なnullチェックを削除 2024-01-30 23:17:41 +09:00
usbharu 2d6d25763e test: prevとnextがnullになる場合のテストを追加 2024-01-30 22:59:13 +09:00
usbharu f80148815a refactor: 間違っている実装を削除 2024-01-30 22:55:06 +09:00
usbharu 3a6271a872 fix: 修正した実装に切り替え 2024-01-30 22:54:39 +09:00
usbharu 97f773144a test: 修正した実装の正しいテストを追加 2024-01-30 22:54:23 +09:00
usbharu e028da5925 feat: 修正した実装を追加 2024-01-30 22:26:27 +09:00
usbharu 2efae6f6da test: 間違っているテストを追加 2024-01-30 22:26:13 +09:00
usbharu ec7c1bdde5 fix: ページネーションのHTTPヘッダー変換のURL組み立て部分のバグを修正 2024-01-30 14:13:40 +09:00
usbharu 063692832d test: ページネーション系のテストを追加 2024-01-30 14:12:46 +09:00
usbharu 71a14c65c8 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-29 21:01:59 +09:00
usbharu 942d5d71e3 test: テストをPagination APIに対応 2024-01-29 20:55:28 +09:00
usbharu 370869af62 feat: デフォルト引数を追加 2024-01-29 20:55:08 +09:00
usbharu c0a7c2da34 refactor: 不要になった関数を削除 2024-01-29 20:30:35 +09:00
usbharu b63288ff28 refactor: Timeline APIをPagination APIに対応 2024-01-29 20:28:46 +09:00
usbharu 7141c7bc6a refactor: 不要になった関数を削除 2024-01-29 20:17:15 +09:00
usbharu ee88e29770 refactor: Notifications APIをPagination APIに対応 2024-01-29 19:44:50 +09:00
usbharu c187aeafa8 fix: コピペ後の編集忘れを修正 2024-01-29 19:44:35 +09:00
usbharu 0f4d008406 refactor: Notification APIをPagination APIに対応 2024-01-29 19:37:30 +09:00
usbharu a1cf528a59 refactor: 不要になった関数を削除 2024-01-29 19:26:02 +09:00
usbharu 7a116513b2 refactor: Pagination APIを追加 2024-01-29 19:22:08 +09:00
usbharu 592aba3edc style: 変数名を変更 2024-01-29 19:05:31 +09:00
usbharu 0a19ef572c refactor: 不要になった関数を削除 2024-01-29 19:04:04 +09:00
usbharu f616f72415 refactor: Pagination APIを使うように 2024-01-29 18:59:37 +09:00
usbharu 69c8a18bd1 refactor: Kotlin/JVMの制限のための変更 2024-01-29 18:03:48 +09:00
usbharu deb2d5b0b5 refactor: RelationshipRepositoryをPagination APIに変更 2024-01-29 17:59:46 +09:00
usbharu ba6e21decd feat: ページネーション情報を持つPaginationListを追加 2024-01-29 17:59:02 +09:00
usbharu 613afdffef feat: ページネーションの統一化 2024-01-29 16:10:17 +09:00
usbharu 98e47cbfe0 Merge pull request #264 from usbharu/bugfix/undo-published
Bugfix/undo published
2024-01-29 11:25:15 +09:00
usbharu 23b0c5e5fc feat: JSONのデシリアライズに失敗したときログを出すように 2024-01-29 11:17:58 +09:00
usbharu e3a5995acb test: UndoにMastodonのJSONのデシリアライズテストを追加 2024-01-29 11:00:11 +09:00
usbharu ed715e0af4 fix: undoにpublishedが必須になっていたのを修正 2024-01-29 10:59:32 +09:00
usbharu fe3082db59 Merge pull request #259 from usbharu/feature/notification
Feature/notification
2024-01-28 17:54:26 +09:00
usbharu beac1ccdcb style: fix lint 2024-01-28 17:49:44 +09:00
usbharu acd2dded30 fix: ReactionRepositoryImplのfindByIdに失敗する問題を修正 2024-01-28 17:18:07 +09:00
usbharu 5b1f9353b4 test: RelationshipNotificationManagementServiceImplのテストを追加 2024-01-28 17:17:38 +09:00
usbharu 234a9f4d7b test: NotificationRequestのテストを追加 2024-01-28 17:17:15 +09:00
usbharu 33a685b9d3 test: NotificationTypeのテストを追加 2024-01-28 12:17:41 +09:00
usbharu 862dded716 fix: admin.sign_upがadmin.aign_upになっていたのを修正 2024-01-28 12:17:22 +09:00
usbharu ea6e6c9619 Merge remote-tracking branch 'origin/feature/notification' into feature/notification 2024-01-28 11:49:59 +09:00
usbharu 4c15be67f7 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-28 11:42:03 +09:00
usbharu 72d937a104 test: テストを修正 2024-01-27 18:17:48 +09:00
usbharu 31240b8797 feat: 通知のMastodon互換APIを実装 2024-01-27 17:52:52 +09:00
usbharu ee3681468b feat: Mastodonの通知APIのNotificationStoreを追加 2024-01-27 16:31:06 +09:00
usbharu cf5c396d32 feat: NotificationStoreのエラーハンドリングとログを追加 2024-01-27 13:12:05 +09:00
usbharu e7a6f52ef1 feat: 通知を送信するように 2024-01-27 12:47:50 +09:00
usbharu cd0a659cd6 feat: notificationsのテーブル定義を追加 2024-01-27 11:27:45 +09:00
usbharu 7567cd6dcd feat: 忘れていたプライマリキーの指定を追加 2024-01-27 11:27:04 +09:00
usbharu 90da507e41 feat: 通知の仕組みを実装 2024-01-26 23:59:59 +09:00
usbharu ffdf34e934 feat: NotificationにRepositoryとExposed実装を追加 2024-01-26 21:22:41 +09:00
usbharu 3099d3ee3a feat: Notificationにidを追加 2024-01-26 21:09:51 +09:00
usbharu 921de7ac87 feat: 通知のインターフェイスを作成 2024-01-26 21:08:37 +09:00
usbharu da0f38a608 Merge pull request #256 from usbharu/feature/controller-login-user-id
Feature/controller login user
2024-01-26 12:54:29 +09:00
usbharu 70d7e94d4c Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-26 12:50:33 +09:00
usbharu 63632f7676 test: テストコードをログインユーザー取得に対応 2024-01-26 12:17:09 +09:00
usbharu 54b89c290a feat: Timeline APIのログインユーザー取得部分を共通化 2024-01-26 12:09:40 +09:00
usbharu 34170d9b80 feat: Statuses APIのログインユーザー取得部分を共通化 2024-01-26 12:09:29 +09:00
usbharu 91622bb33f feat: Account APIのログインユーザー取得部分を共通化 2024-01-26 12:06:53 +09:00
usbharu e2365c632b feat: ログインユーザー取得部分を共通化 2024-01-26 12:06:34 +09:00
usbharu a60b58daef Merge pull request #254 from usbharu/feature/mute
feat: ユーザーのミュートのMastodon互換APIを実装
2024-01-26 11:56:49 +09:00
usbharu 9e912c1bb4 test: ミュートのテストを追加 2024-01-26 11:50:28 +09:00
usbharu 94cc109dce feat: ミュートAPIの権限の設定を追加 2024-01-26 11:50:02 +09:00
usbharu d204cfc37f feat: ユーザーのミュートのMastodon互換APIを実装 2024-01-25 22:53:43 +09:00
usbharu 128e536330 Merge pull request #252 from usbharu/bugfix/issue-216
perf: Updateが多発する問題の一時的な修正
2024-01-25 22:52:52 +09:00
usbharu ce837a0494 perf: Updateが多発する問題の一時的な修正 2024-01-25 22:22:16 +09:00
usbharu 85d07e31f3 Merge pull request #250 from usbharu/delete-web-ui
chore: 不要になったWeb UIのコードを削除
2024-01-25 15:29:36 +09:00
usbharu b65f9dc120 chore: 不要になったWeb UIのコードを削除 2024-01-25 15:17:09 +09:00
usbharu 3e649ca13d Merge pull request #248 from usbharu/feature/remote-media-file-size-limit
feat: リモートのメディアのファイルサイズ制限ができるように
2024-01-25 15:06:56 +09:00
usbharu 995d40f0a4 Merge remote-tracking branch 'origin/feature/remote-media-file-size-limit' into feature/remote-media-file-size-limit 2024-01-25 15:03:15 +09:00
usbharu 8b9fe2d7be test: ファイルサイズ制限を超えたファイルのときファイルのダウンロードに失敗するように 2024-01-25 15:03:04 +09:00
usbharu c5aee7b35d Update src/main/kotlin/dev/usbharu/hideout/core/service/media/RemoteMediaDownloadServiceImpl.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-25 13:47:52 +09:00
usbharu 5db462d9d8 feat: リモートのメディアのファイルサイズ制限ができるように 2024-01-25 13:20:27 +09:00
usbharu 99081d6483 Merge pull request #246 from usbharu/feature/post-decoration
Feature/post decoration
2024-01-25 12:26:04 +09:00
usbharu 82f2742c0c Merge remote-tracking branch 'origin/feature/post-decoration' into feature/post-decoration 2024-01-25 12:22:02 +09:00
usbharu d00ae6aba5 test: テストのSQLを修正 2024-01-25 12:21:40 +09:00
usbharu 5a4f6c0733 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-25 12:12:02 +09:00
usbharu 06ce40991c feat: HTMLへのサニタイズを外部ライブラリで行うように 2024-01-24 21:25:27 +09:00
usbharu ea04150501 style: 不要なプライマリコンストラクタを削除 2024-01-24 16:18:11 +09:00
usbharu d9b1f0dfd7 feat: contentを永続化するように 2024-01-24 16:17:17 +09:00
usbharu b76e1d19a5 feat: suspendでない関数に変更 2024-01-24 16:16:58 +09:00
usbharu 45e0bd8edc feat: HTMLを整形し、不正なHTMLを含まないように 2024-01-24 15:27:38 +09:00
usbharu 20012782b7 feat: Note中のHTMLをPostBuilderにいれる準備 2024-01-18 17:03:53 +09:00
usbharu a4865be4a7 Merge pull request #242 from usbharu/bugfix/deliver-local-post-delete
Bugfix/deliver local post delete
2024-01-16 16:21:16 +09:00
usbharu 65991f9093 Merge branch 'develop' into bugfix/deliver-local-post-delete 2024-01-16 16:14:55 +09:00
usbharu 9a8fd22b92 test: ローカル投稿削除の配送テストを追加 2024-01-16 15:14:47 +09:00
usbharu bf2c50c445 fix: ローカル投稿削除の配送が行われていなかった問題を修正 2024-01-16 15:14:24 +09:00
usbharu 27ac24f68a Merge pull request #240 from usbharu/feature/follow-activity
feat: Followアクティビティにidを追加
2024-01-16 15:04:40 +09:00
usbharu 606b197299 Merge branch 'develop' into feature/follow-activity 2024-01-16 14:59:30 +09:00
usbharu afbddad21b Merge pull request #239 from usbharu/feature/user-agent
feat: ActivityPubの通信に使うHTTPクライアントのUserAgentを設定
2024-01-16 14:57:17 +09:00
usbharu b1493e266c Merge branch 'develop' into feature/follow-activity 2024-01-16 14:53:38 +09:00
usbharu bd01a5bc24 Update src/main/kotlin/dev/usbharu/hideout/application/config/HttpClientConfig.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-16 14:52:49 +09:00
usbharu 25440db1fb chore: ビルド時にバージョン情報等を含めるように 2024-01-16 14:42:29 +09:00
usbharu 8bf5382f19 test: テストを修正 2024-01-16 14:39:03 +09:00
usbharu 70831ab2a9 fix: toStringを修正 2024-01-16 14:38:47 +09:00
usbharu 0af53a7bf4 Merge branch 'develop' into feature/user-agent 2024-01-16 14:23:42 +09:00
usbharu 5e6843e883 feat: Followアクティビティにidを追加 2024-01-16 14:20:54 +09:00
usbharu 3a89a0942a feat: ActivityPubの通信に使うHTTPクライアントのUserAgentを設定 2024-01-16 14:06:35 +09:00
usbharu bb7bf7abc8 Merge pull request #238 from usbharu/feature/oauth2-client-credential-flow
fix: Client Credential Flowへの対応漏れを修正
2024-01-15 18:12:11 +09:00
usbharu 3934b0aa6d fix: Client Credential Flowへの対応漏れを修正 2024-01-11 14:29:48 +09:00
usbharu c1e1a4d963 Merge pull request #231 from usbharu/feature/custom-emoji
Feature/custom emoji
2024-01-08 18:43:24 +09:00
usbharu 606d6f4ecc test: fix test timezone 2024-01-08 17:57:37 +09:00
usbharu 905f0f7c2f style: fix lint 2024-01-08 17:39:55 +09:00
usbharu c83b990a78 test: リアクション重複時の挙動の変更をテストに反映 2024-01-08 17:30:23 +09:00
usbharu f06961b0bd feat: 絵文字リアクションAPIを修正 2024-01-08 17:06:09 +09:00
usbharu a5618e3307 feat: 絵文字リアクションAPIを追加 2024-01-07 12:56:32 +09:00
usbharu a015566e52 feat: emoji-ktを追加 2024-01-07 12:55:52 +09:00
usbharu 855055d49a feat: リアクションを一人1投稿あたり一つまでに制限 2023-12-28 12:06:55 +09:00
usbharu 458a1d7717 fix: リアクション受信時の重複検査を修正 2023-12-28 11:35:49 +09:00
usbharu bed0b84d16 fix: Objectのデイシリアライズに失敗したときnullを返すように 2023-12-22 16:23:18 +09:00
usbharu 87cd172165 test: テストを修正 2023-12-22 16:22:53 +09:00
usbharu fff1296d4c fix: ResourceAccessExceptionをSQLExceptionにして再throwするように 2023-12-22 16:13:39 +09:00
usbharu 9c5aaedf4d feat: DBへの保存に失敗したときロールバックを明示的にしてその後Selectできるように 2023-12-22 15:45:55 +09:00
usbharu 51837ea379 feat: 絵文字リアクションの受信ができるように 2023-12-22 15:13:39 +09:00
usbharu 8af489c93c feat: Mastodon 互換APIでカスタム絵文字を使用できるように 2023-12-22 14:32:11 +09:00
usbharu 2d84ad073f fix: 不要なカラムを削除 2023-12-22 14:02:52 +09:00
usbharu 43033b6f4b feat: 受け取ったノートのEmojiを認識するように 2023-12-22 14:02:23 +09:00
usbharu 0a54bdfc15 fix: SQLのミスを修正 2023-12-22 12:20:58 +09:00
usbharu 4b59802c8d style: fix lint 2023-12-22 12:20:41 +09:00
usbharu a389036827 feat: ReactionServiceをカスタム絵文字に対応 2023-12-22 12:02:28 +09:00
usbharu 32e60dc6f8 feat: カスタム絵文字のリアクションの対応 2023-12-22 02:29:37 +09:00
usbharu 0607fe2bc5 feat: 投稿に絵文字データを使えるように 2023-12-21 19:41:27 +09:00
usbharu cf52ebfd12 feat: ActorのMapperの修正 2023-12-21 19:15:00 +09:00
usbharu 80f4e9fb04 feat: 絵文字を識別するIDの生成を追加 2023-12-21 19:14:02 +09:00
usbharu b070b8c71d feat: Actorに絵文字情報を含めることが可能に 2023-12-21 19:13:36 +09:00
usbharu 086539e2a6 feat: 絵文字のテーブル定義を追加 2023-12-21 18:36:14 +09:00
usbharu 55af96bd6c feat: 絵文字のエンティティとRepositoryを追加 2023-12-21 18:35:53 +09:00
usbharu f32102fef1 Merge pull request #228 from usbharu/feature/for-update-transaction
Feature/for update transaction
2023-12-21 15:12:27 +09:00
usbharu 5be0d7d9c2 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-21 15:07:28 +09:00
usbharu f38d339802 style: fix lint 2023-12-21 14:56:48 +09:00
usbharu 7684a03015 Merge branch 'develop' into feature/for-update-transaction
# Conflicts:
#	src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor.kt
2023-12-21 14:50:36 +09:00
usbharu 3323229ef3 style: fix lint 2023-12-21 14:48:21 +09:00
usbharu 2105c47b03 feat: AbstractRepositoryを継承していないRepositoryで継承するように 2023-12-21 14:28:17 +09:00
usbharu 0e547fce3d fix: 削除済みユーザーとアクティビティactorがないときのフォールバックを修正 2023-12-21 13:36:45 +09:00
usbharu e7743c77f2 test: テストを修正 2023-12-21 12:57:06 +09:00
usbharu a3aaeae8c8 Merge pull request #227 from usbharu/feature/debug-json
feat: デバッグ用のトレースをオン・オフできるように
2023-12-21 12:07:10 +09:00
usbharu 0d7dfc6d27 feat: デバッグ用のトレースをオン・オフできるように 2023-12-21 12:06:51 +09:00
usbharu e3a819f94d feat: 未実装項目を実装 2023-12-21 11:27:46 +09:00
usbharu fddc29bdfd fix: 削除されていなかった実装を削除 2023-12-21 11:15:16 +09:00
usbharu bf4d694aa2 refactor: 不要なQueryServiceを削除 2023-12-21 11:08:59 +09:00
usbharu 3571ab22e3 refactor: FailedToGetResourceExceptionを使わないように 2023-12-19 17:52:08 +09:00
usbharu aa2741d614 feat: 重複排除 2023-12-19 17:00:15 +09:00
usbharu f98178b37c refactor: actorのDBからの取得に関する大規模な変更 2023-12-17 19:08:18 +09:00
usbharu a36d937239 Merge pull request #219 from usbharu/feature/test3
テストを追加
2023-12-14 16:48:23 +09:00
usbharu fdf3065953 style: fix lint 2023-12-14 16:44:15 +09:00
usbharu 11d82e7fbf chore: カバレッジレポートを作成するGitHub Actionを変更 2023-12-14 16:24:50 +09:00
usbharu 8a064b9e33 chore: カバレッジレポートを作成するGitHub Actionを変更 2023-12-14 16:20:10 +09:00
usbharu bccd16d9da chore: カバレッジ計測でキャッシュを使わないように 2023-12-14 16:05:26 +09:00
usbharu 3eb310f306 fix: equalsを修正 2023-12-14 15:50:19 +09:00
usbharu e8b6b6784c test: Equalsのテストを修正 2023-12-14 15:50:01 +09:00
usbharu ec848630ca fix: toStringを修正 2023-12-14 14:37:59 +09:00
usbharu 48bbf6a53b test: テストを追加 2023-12-14 14:37:36 +09:00
usbharu 382fe89142 Merge pull request #218 from usbharu/feature/actor-count-column
Feature/actor count column
2023-12-14 12:53:14 +09:00
usbharu 4e3a711506 test: テストを修正 2023-12-14 12:07:47 +09:00
usbharu 53d195bd8d Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-14 01:13:16 +09:00
usbharu bdd69d258c refactor: Mastodon APIでAccountの箇所を修正 2023-12-14 00:55:40 +09:00
usbharu 77d79e2279 refactor: Actorsテーブルにフォロワー数情報とフォロー数情報を追加 2023-12-14 00:16:45 +09:00
usbharu e0368ab7c5 Merge pull request #215 from usbharu/feature/delete
Feature/delete
2023-12-13 17:48:26 +09:00
usbharu cc4c642d8c style: fix lint 2023-12-13 17:40:20 +09:00
usbharu db45838d95 Update src/main/kotlin/dev/usbharu/hideout/core/service/user/UserServiceImpl.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-13 17:31:59 +09:00
usbharu a39ab545df Update src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepositoryImpl.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-13 17:31:53 +09:00
usbharu 9afa0cb194 Update src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/delete/APSendDeleteService.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-13 17:31:43 +09:00
usbharu e39747c703 Update src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/delete/APSendDeleteService.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-13 17:31:23 +09:00
usbharu 57a5a92ee5 Update src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/delete/APDeleteProcessor.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-13 17:31:16 +09:00
usbharu 6655537a2b Update src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/delete/APDeleteProcessor.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-13 17:31:11 +09:00
usbharu b83fd6e205 Update src/main/kotlin/dev/usbharu/hideout/activitypub/domain/model/Person.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-13 17:30:55 +09:00
usbharu 0f51ea7a17 test: テストを修正 2023-12-13 17:02:00 +09:00
usbharu 9f05e296a6 feat: アカウント削除をすることができるように 2023-12-13 16:45:14 +09:00
usbharu c98a90e2fc feat: アカウント削除アクティビティに対応 2023-12-13 16:21:23 +09:00
usbharu 511288f4bb feat: アカウント削除に対応 2023-12-13 16:08:05 +09:00
usbharu 8a7ff91a95 fix: #214 2023-12-13 16:07:43 +09:00
usbharu b3723da219 fix: 削除フラグが永続化されていなかったのを修正 2023-12-13 15:04:18 +09:00
usbharu 8a18780963 feat: 削除された投稿はレコードを完全に削除せず、返信などの情報を維持したまま削除されるように 2023-12-13 15:02:17 +09:00
usbharu 8d1f339a5d Merge pull request #210 from usbharu/feature/remove-reaction
feat: リアクションの削除に対応
2023-12-13 11:07:11 +09:00
usbharu 0c647cc96d Update src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/ReactionQueryServiceImpl.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-13 11:02:31 +09:00
usbharu 3b4a6a04e0 feat: リアクションの削除に対応 2023-12-13 10:54:45 +09:00
usbharu c699357e01 Merge pull request #208 from usbharu/feature/refactor-user-table
Feature/refactor user table
2023-12-12 18:33:52 +09:00
usbharu f0a3251ea1 style: fix lint 2023-12-12 17:52:58 +09:00
usbharu a0b434b023 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-12 17:11:55 +09:00
usbharu 14149001c9 Merge pull request #209 from usbharu/feature/auto_accept_follow_request
Feature/auto accept follow request
2023-12-12 17:04:14 +09:00
usbharu 69a889a8d7 feat: AccountQueryServiceを作成し、アカウントAPIから取得される情報を正確に 2023-12-12 16:48:25 +09:00
usbharu ef6c97b08c fix: フォローリクエストAPIを修正 2023-12-12 13:54:35 +09:00
usbharu ddaf630ed3 feat: フォローリクエストAPIを追加 2023-12-12 13:02:19 +09:00
usbharu 4e8cffdbe2 refactor: Hideoutユーザー側の設定もActivityPubと合わせるように 2023-12-12 12:02:54 +09:00
usbharu fe74d1e30b feat: フォロー承認制ユーザーかの情報をActivityPub側でも持たせるように 2023-12-12 01:32:55 +09:00
usbharu 6b535a042a feat: フォロー承認制ユーザーとするかの設定をMastodon APIから行えるように 2023-12-12 00:03:48 +09:00
usbharu 1eaac1247a test: テストを修正 2023-12-11 18:08:32 +09:00
usbharu bbd7754385 refactor: passwordをUserDetailに移動 2023-12-11 17:58:22 +09:00
usbharu 9c2107eac1 refactor: 命名をプログラムにも適用 2023-12-11 17:13:29 +09:00
usbharu b74e359123 refactor: リモートユーザーとローカルユーザーをactor、Hideout自身のユーザーをuserに統一 2023-12-11 17:12:33 +09:00
usbharu e56604ec26 Merge pull request #207 from usbharu/bugfix/timeline
Bugfix/timeline
2023-12-11 16:29:24 +09:00
usbharu 35a6fbdb96 test: テストを修正 2023-12-11 16:26:03 +09:00
usbharu f7a9dd00e3 test: テストを修正 2023-12-11 16:19:44 +09:00
usbharu f5a406d222 test: タイムラインのテストを追加 2023-12-11 15:43:42 +09:00
usbharu da4d9d698b fix: #206 タイムラインが未ログイン状態で見れなくなっている問題を修正 2023-12-11 15:43:28 +09:00
usbharu 32cd7ad1db Merge pull request #205 from usbharu/feature/refactor-user-relationship
Feature/refactor user relationship
2023-12-11 14:49:14 +09:00
usbharu aba7460672 test: APDeliverBlockJobProcessorとAPSendAcceptServiceImplのテストを追加 2023-12-11 14:35:35 +09:00
usbharu 93d6b74c23 test: APAcceptProcessorとAPDeliverAcceptJobProcessorのテストを追加 2023-12-11 14:17:12 +09:00
usbharu 578247b966 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-11 13:22:43 +09:00
usbharu 35d957567c test: rejectFollowRequestのテストを修正 2023-12-11 12:43:27 +09:00
usbharu 31e69f8141 feat: フォロー承認を取り消しの方法を追加 2023-12-11 12:29:08 +09:00
usbharu de5bc691bc feat: フォロワーを解除に対応 2023-12-11 12:18:09 +09:00
usbharu 686fecf0bc fix: ブロックされたときブロックされたactorからブロックしたactorへのフォローを解除するように 2023-12-11 11:41:56 +09:00
usbharu 2dd0bfcb8d fix: ブロックとフォロー承認が出来なかった問題を修正 2023-12-11 11:29:15 +09:00
usbharu 539c65ada2 feat: Mastodon APIからフォロー解除・ブロック解除ができるように 2023-12-11 11:28:43 +09:00
usbharu c57ba6d434 refactor: 不要な依存を削除 fix lint 2023-12-11 01:47:23 +09:00
usbharu e9e96508ba Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-11 01:34:21 +09:00
usbharu 55783fefa2 fix: フォロー承認に失敗するのを修正 2023-12-11 01:22:17 +09:00
usbharu 8038232334 feat: JobProcessorを追加 2023-12-10 17:58:55 +09:00
usbharu 0071759ee4 refactor: JSONマッピング用のPOJOの変数名を修正 2023-12-10 17:44:40 +09:00
usbharu 6dead7462e feat: 仮の実装をちゃんと実装 2023-12-10 17:43:46 +09:00
usbharu eae606e0e3 test: テスト用のSQLを修正 2023-12-10 16:47:36 +09:00
usbharu 12d248076d wip 未実装のものを仮で実装 2023-12-10 16:47:18 +09:00
usbharu ed7b3e8c65 refactor: テーブル定義を修正 2023-12-10 16:20:29 +09:00
usbharu d2faa7f204 feat: RelationshipRepositoryとRelationshipQueryServiceの実装を追加 2023-12-10 16:13:51 +09:00
usbharu a011d22587 refactor: 不要なメソッドを削除、FollowQueryServiceの実体をRelationshipQueryServiceに 2023-12-10 15:55:09 +09:00
usbharu 30b190584a test: テストを修正 2023-12-10 15:43:12 +09:00
usbharu fb1022aa41 refactor: その他の部分でRelationshipServiceに置き換え 2023-12-10 15:42:59 +09:00
usbharu 0f65f242b6 refactor: MastodonAPIをRelationshipServiceでの操作に置き換え 2023-12-10 15:13:13 +09:00
usbharu b5e2981095 test: RelationshipServiceImplTestを追加 2023-12-10 14:32:43 +09:00
usbharu 5b6aa9e4e8 feat: リモートとの不整合の解決を追加 2023-12-10 14:32:13 +09:00
usbharu 0b3c27619e feat: ユーザー間の関係をRelationshipServiceで管理するように 2023-12-09 21:09:52 +09:00
usbharu 03ae444d54 feat: ブロック操作ユーザーとブロック対象ユーザーが両方リモートになっている異常なアクティビティを無視するように 2023-12-08 13:12:40 +09:00
usbharu 1a7cec5c7b doc: ドキュメントを追加 2023-12-08 12:59:43 +09:00
usbharu 2c1da54a77 feat: ブロックのMastodon APIを追加 2023-12-08 12:46:52 +09:00
usbharu 7e93db6c7e fix: #201 2023-12-08 12:29:26 +09:00
usbharu 0ac4e37f0a feat: テーブル定義を追加 2023-12-08 12:28:21 +09:00
usbharu da8d3b9aea feat: Blockアクティビティ受診時の処理を追加 2023-12-08 12:22:38 +09:00
usbharu 5559948ba6 feat: Blockの配送処理を追加 2023-12-08 12:22:24 +09:00
usbharu bbc91ab981 feat: BlockServiceを追加 2023-12-08 12:22:08 +09:00
usbharu 25970ebd4b feat: ObjectDeserializerにRejectを追加 2023-12-08 12:21:23 +09:00
usbharu 1cb54ee08e test: Rejectのシリアライズデシリアライズのテストを追加 2023-12-07 17:52:57 +09:00
usbharu 4d3a1233d9 feat: RejectのJSONデシリアライズ用のPOJOを追加 2023-12-07 17:52:12 +09:00
usbharu 430686436f test: Blockのシリアライズテストを修正 2023-12-07 17:29:57 +09:00
usbharu 2a28eddf99 chore: 不要なライブラリを削除 2023-12-07 17:21:37 +09:00
usbharu 785adbd15a test: Blockのシリアライズ、デシリアライズテストを追加 2023-12-07 17:19:33 +09:00
usbharu eb4ba010e5 fix: 何故かabstract classがBean登録されていたのを修正 2023-12-07 16:32:25 +09:00
usbharu 2ffa880c11 feat: BlockのJSONデシリアライズ用POJOを追加 2023-12-07 16:27:55 +09:00
usbharu c4798d7803 fix: #195 ActivityPubProcessor not found. の例外メッセージをわかりやすく 2023-12-07 16:02:12 +09:00
usbharu d05e8cf68b Merge pull request #197 from usbharu/feature/mastodon-follow-api
Feature/mastodon follow api
2023-12-07 15:13:27 +09:00
usbharu 08c1f63f3a Merge remote-tracking branch 'origin/feature/mastodon-follow-api' into feature/mastodon-follow-api 2023-12-07 15:01:38 +09:00
usbharu 12e2a967a2 test: テストを修正 2023-12-07 15:01:17 +09:00
usbharu 05537c4a3b Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-07 14:30:35 +09:00
usbharu 5bef3be653 test: フォローの結合テストを追加 2023-12-07 11:53:02 +09:00
usbharu 6adba9894a fix: OAuth2のスコープを修正 2023-12-07 11:14:51 +09:00
usbharu 229bcd1ee9 test: accounts api の結合テストを追加 2023-12-07 11:14:32 +09:00
usbharu 00c6fbf2a0 test: account api のUnitテストを追加 2023-12-07 10:32:54 +09:00
usbharu b3002625a4 fix: Misskeyの脆弱性修正でHTTP Signatureの検証エラーが出て連合できなくなっていた問題を修正 2023-12-07 01:10:33 +09:00
usbharu 06561569ab feat: ActivityPubリソースへアクセスできなくなっていたのを修正 2023-12-07 01:09:47 +09:00
usbharu 8eab0be498 fix: APに配信するアイコンのURLを修正 2023-12-07 01:08:48 +09:00
usbharu ff4d605480 feat: Twidereでフォローボタンが表示されるように 2023-12-07 00:02:41 +09:00
usbharu 9067b91148 Merge branch 'develop' into feature/mastodon-follow-api 2023-12-06 22:31:04 +09:00
usbharu 66c003ce8e Merge pull request #196 from usbharu/feature/local-file-controller
Feature/local file controller
2023-12-06 22:28:14 +09:00
usbharu de2761e3cf style: fix lint 2023-12-06 22:19:56 +09:00
usbharu a614459485 feature: 暫定でユーザーアイコンを返却するように 2023-12-06 21:45:14 +09:00
usbharu 4fd5c487c6 fix: #188 で指定したエンドポイントでファイルを取得できない問題を修正 2023-12-06 21:37:00 +09:00
usbharu e722ddd910 feat: #193 #194 ユーザー詳細画面で使われるAPIを実装 2023-12-06 21:11:59 +09:00
usbharu e40e600547 feat: ジョブキューのログにjobIdを追加するように 2023-12-06 20:46:46 +09:00
usbharu 5da03cf200 fix: 不要なトランザクション宣言を削除 2023-12-06 20:46:20 +09:00
usbharu b3bbefb543 fix: #191 Documentのnameがnullのとき空文字になるように 2023-12-06 18:24:23 +09:00
usbharu 73e04bdd8a fix: #191 ImageのmediaTypeをnullableに 2023-12-06 18:19:33 +09:00
usbharu b785d241f8 fix: #190 PostgreSQLを使用しているときにOAuth2クライアントを作成できない問題を修正 2023-12-06 18:12:35 +09:00
usbharu b9ecd2feff Merge branch 'develop' into feature/mastodon-follow-api
# Conflicts:
#	src/main/kotlin/dev/usbharu/hideout/application/config/SecurityConfig.kt
#	src/main/kotlin/dev/usbharu/hideout/application/infrastructure/exposed/ExposedTransaction.kt
#	src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/httpsignature/HttpSignatureFilter.kt
#	src/main/resources/application.yml
#	src/main/resources/db/migration/V1__Init_DB.sql
2023-12-06 17:18:16 +09:00
usbharu e75abfa018 Merge pull request #188 from usbharu/feature/media-local-file-system
Feature/media local file system
2023-12-06 16:15:38 +09:00
usbharu aca1be114d feat: Spring Configurationを修正 2023-12-06 16:15:38 +09:00
usbharu bc186a4433 chore: gitignoreを修正 2023-12-06 16:15:06 +09:00
usbharu 39841b9d88 test: LocalFileSystemMediaDataStore.ktのテストを追加 2023-12-06 15:32:15 +09:00
usbharu 21e91e58a7 fix: リソースのクローズを行うように 2023-12-06 15:31:50 +09:00
usbharu 037bbd9da6 refactor: LocalFileSystemMediaDataStore.ktにログとエラーハンドリングを追加 2023-12-06 14:39:31 +09:00
usbharu 9cdbe195a6 doc: LocalStorageConfigにドキュメントを追加 2023-12-06 14:29:54 +09:00
usbharu b56c5410aa doc: LocalFileSystemMediaDataStore.ktにドキュメントを追加 2023-12-06 14:24:36 +09:00
usbharu a8da0f5366 feat: S3以外にもメディアを保存できるように 2023-12-06 14:17:19 +09:00
usbharu 4943b8e94e Merge pull request #185 from usbharu/feature/e2e-test
Feature/e2e test
2023-12-04 18:39:18 +09:00
usbharu 3f5a573fb3 test: headless chromeのオプションを変更 2023-12-04 18:33:55 +09:00
usbharu bad5a2e268 chore: ステップidを追加 2023-12-03 17:26:10 +09:00
usbharu 1fdb5895a7 chore: ステップ名を修正 2023-12-03 17:21:23 +09:00
usbharu 78622b5827 style: fix lint 2023-12-03 17:20:13 +09:00
usbharu 32bb44c8a1 chore: e2eテスト用にChromeを追加 2023-12-03 17:14:22 +09:00
usbharu 488659e767 chore: e2eテスト用にChromeを追加 2023-12-03 16:39:52 +09:00
usbharu 2a9fac47b7 Merge remote-tracking branch 'origin/feature/e2e-test' into feature/e2e-test 2023-12-03 16:22:34 +09:00
usbharu 3676961a40 chore: テストレポートを修正 2023-12-03 16:22:06 +09:00
usbharu 96402acf1c Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-03 16:15:55 +09:00
usbharu 96196cf7ba chore: e2eテストのチェックを修正 2023-12-03 16:14:17 +09:00
usbharu b5872e5c76 chore: e2eテストのチェックを追加 2023-12-03 16:00:05 +09:00
usbharu 2b3b2b48d3 test: FollowAcceptTestを無効化 https://github.com/usbharu/Hideout/issues/179#issuecomment-1837388337 2023-12-03 15:52:01 +09:00
usbharu aaa8bcdad8 test: FollowAcceptTestを追加 2023-12-03 15:50:23 +09:00
usbharu 8d4288247a test: inboxのConsumesのテストを追加 2023-12-03 14:01:11 +09:00
usbharu beeb27350e test: user-inboxの認証テストを追加 2023-12-03 13:09:21 +09:00
usbharu e1d99b7ea9 fix: #184 ResourceResolverで利用しているCacheManagerで例外が発生した場合にロックが解放されないバグを修正 2023-12-03 13:03:45 +09:00
usbharu 5a77b9e669 test: user-inboxのテストを追加 2023-12-03 13:02:54 +09:00
usbharu 14034cd1b9 test: テスト用のダミーデータを変更 2023-12-03 11:10:59 +09:00
usbharu 51aeff6015 fix: トランザクションの修正 2023-12-03 10:29:22 +09:00
usbharu 0d5fecbd4d fix: ジョブキューの修正 ログの追加 2023-12-03 10:28:44 +09:00
usbharu 158cd3a6df fix: Inbox処理のトランザクションを修正 2023-12-03 10:28:19 +09:00
usbharu be7bd590eb fix: HTTP Signatureのヘッダー取得時に大文字小文字の差を無視するように 2023-12-03 10:27:46 +09:00
usbharu bfc5c9e110 fix: 一部のAP Objectがデシリアライズできなくなっていた問題を修正 2023-12-03 10:26:48 +09:00
usbharu faff15f559 test: inboxにアクセスしてきたユーザーを取得するe2eテストを追加 2023-12-03 10:18:27 +09:00
usbharu e52064c330 test: 不要なテストを削除 2023-12-01 23:54:44 +09:00
usbharu 5ff06b88f7 test: 別のスコープを要求するトークンのテストを追加 2023-12-01 23:53:22 +09:00
usbharu 58dbcb810e chore: 過剰にログを出力していたものを停止 2023-12-01 23:10:47 +09:00
usbharu d94099bacf chore: gitignoreを編集 2023-12-01 23:00:27 +09:00
usbharu c1c2e1e843 test: OAuth2でのトークン作成のテストを追加 2023-12-01 22:59:39 +09:00
usbharu aff9b68480 fix: OAuth2でログインできなくなっていたのを修正 2023-12-01 17:32:36 +09:00
usbharu ef40b94b5e test: e2eテストを追加 2023-12-01 17:32:10 +09:00
usbharu 1ad9eb8e88 test: 不要な変数を削除 2023-12-01 10:50:52 +09:00
usbharu 6727a1c8da fix: POST: /api/v1/accountsに対するリクエストにCSRFトークンが必須に 2023-11-30 23:11:09 +09:00
usbharu 50415688d5 test: e2eテストを追加 2023-11-30 23:01:18 +09:00
usbharu 579d6a4d3e Merge pull request #180 from usbharu/feature/refactor-github-actions
GitHub Actionsの改善
2023-11-30 20:09:28 +09:00
usbharu 479181e5b7 chore: jobに名前をつけた 2023-11-30 20:04:30 +09:00
usbharu b1d6cbfdb6 chore: キャッシュを修正 2023-11-30 20:01:25 +09:00
usbharu d905583f01 chore: テストレポートを修正 2023-11-30 19:51:57 +09:00
usbharu bcda472c26 chore: テストレポートを修正 Lintを追加 2023-11-30 19:35:39 +09:00
usbharu ef3d8abe6a chore: テストレポートを修正 2023-11-30 19:28:03 +09:00
usbharu 708300201f chore: 結合テストを修正、テストレポートを修正 2023-11-30 19:22:00 +09:00
usbharu 9d77e51981 chore: Github Actionsを並列実行するように 2023-11-30 18:52:42 +09:00
usbharu c5c2a2508a chore: Github Actionsを並列実行するように 2023-11-30 18:49:29 +09:00
usbharu da5f8c76ac Merge pull request #178 from usbharu/feature/spring-security-kotlin-dsl
refactor: Spring SecurityのコンフィグをKotlin DSLで記述するように
2023-11-30 13:19:11 +09:00
usbharu 56458fc53c refactor: Spring SecurityのコンフィグをKotlin DSLで記述するように 2023-11-30 13:15:02 +09:00
usbharu 6af7cd67c8 Merge pull request #177 from usbharu/bugfix/duplicate-media
Bugfix/duplicate media
2023-11-30 01:59:52 +09:00
usbharu b3fb870cbe test: 存在しないユーザーの名前を複雑にしてうっかり被ったりしないように 2023-11-30 01:56:29 +09:00
usbharu fbfcc8f67a test: 結合テストもランダム順で実行するように 2023-11-30 01:51:06 +09:00
usbharu 0da9d6e9f8 test: ユニークインデックスの制約に対応する修正 2023-11-30 01:50:44 +09:00
usbharu 4ab2fe1fa3 feat: リモートのメディア保存前に重複チェックを実施するように 2023-11-30 01:28:44 +09:00
usbharu 717756deac fix: リモートのメディアを取得するときにResourceResolverを使用するように変更 2023-11-30 01:19:22 +09:00
usbharu 3fd051d014 Merge pull request #175 from usbharu/feature/mastodon-api-int-test
Feature/mastodon api int test
2023-11-30 00:55:32 +09:00
usbharu 1a3333d5f8 chore: テスト時のログを変更 2023-11-30 00:52:05 +09:00
usbharu 2175653c54 test: 全テスト後にDBをDropするように 2023-11-30 00:50:18 +09:00
usbharu 2d5f547f13 chore: build logging 2023-11-29 18:25:02 +09:00
usbharu 0efd92a371 Merge branch 'develop' into feature/mastodon-api-int-test 2023-11-29 17:03:42 +09:00
usbharu d6cf0246d1 Merge pull request #176 from usbharu/usbharu-patch-6
Update integration-test.yml
2023-11-29 17:03:29 +09:00
usbharu 56dcfa68e2 Merge branch 'develop' into usbharu-patch-6 2023-11-29 16:59:06 +09:00
usbharu 738571e0a3 Merge pull request #172 from usbharu/feature/inbx-auth
Feature/inbx auth
2023-11-29 16:56:10 +09:00
usbharu dd8a08b84d Update integration-test.yml 2023-11-29 16:55:29 +09:00
usbharu 18e675367c style: fix lint 2023-11-29 16:53:01 +09:00
usbharu 8746258104 fix: 投稿のスコープの設定を修正 2023-11-29 16:24:54 +09:00
usbharu 0b63f95c17 fix: 返信が無視されていたのを修正 2023-11-29 16:24:30 +09:00
usbharu 032342262c test: Statusのテストを追加 2023-11-29 16:23:59 +09:00
usbharu 3f4d24ba1c refactor: MediaTest.ktを移動 2023-11-29 15:33:53 +09:00
usbharu db6f9d5eb1 fix: メディアアップロードのスコープの設定を修正 2023-11-29 15:18:12 +09:00
usbharu 072767b56a test: メディアアップロードのスコープのテストを追加 2023-11-29 15:17:52 +09:00
usbharu 2c63cad80e fix: png形式の画像の一時ファイルの作成に失敗する問題を修正 2023-11-29 15:03:21 +09:00
usbharu a91bb89859 test: メディアアップロードのテストを追加 2023-11-29 15:02:46 +09:00
usbharu fcb3d39881 test: apps apiのテストを追加 2023-11-29 12:49:18 +09:00
usbharu 9c24c736ec test: account apiのテストを追加 2023-11-29 12:48:56 +09:00
usbharu e8ae1f5827 Merge remote-tracking branch 'origin/feature/inbx-auth' into feature/inbx-auth
# Conflicts:
#	src/main/kotlin/dev/usbharu/hideout/activitypub/service/inbox/InboxJobProcessor.kt
2023-11-28 15:25:42 +09:00
usbharu b1356e8496 test: テストを修正 2023-11-28 15:24:54 +09:00
usbharu f0366ec5ba feat: HTTP Signatureで必要なヘッダーが含まれているかを検証するように 2023-11-28 14:18:51 +09:00
usbharu cc046393d6 feat: Signatureヘッダーがない場合コントローラーの時点で401を返すように 2023-11-28 13:56:39 +09:00
usbharu 631acc534e feat: http-signatureのSpring Securityを使用した認証をpostのみに変更 2023-11-28 13:34:21 +09:00
usbharu 820364813f feat: 登録されていなかったJobProcessorやActivityPubProcessorを登録 2023-11-28 13:24:01 +09:00
usbharu 38bd655653 Merge pull request #170 from usbharu/feature/null-safe-ap-pojo
Feature/null safe ap pojo
2023-11-28 12:44:32 +09:00
usbharu c28b1ab11e Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-28 12:41:26 +09:00
usbharu 259ff937dc refactor: objectをapObjectにしてエスケープの必要をなくした 2023-11-28 12:34:56 +09:00
usbharu 34d8eabea1 refactor: 不要な宣言等を削除 2023-11-28 12:28:32 +09:00
usbharu 4542fdf68b reafactor: その他の部分もNull-safeに 2023-11-28 12:10:40 +09:00
usbharu 2e1cee4e1a refactor: POJOの変更を反映 2023-11-28 11:58:30 +09:00
usbharu 7a34b11147 refactor: Objectを継承するJSONマッピング用のPOJOをNull-safeに 2023-11-28 11:19:27 +09:00
usbharu 6c2d5dae94 refactor: 一部のAPのJSONマッピング用のPOJOをNull-safeに 2023-11-28 10:44:54 +09:00
usbharu e2f355f4d3 Merge pull request #168 from usbharu/feature/refactor2
Feature/refactor2
2023-11-27 18:33:48 +09:00
usbharu 6cf93f0624 refactor: 長すぎるメソッドなどを修正 2023-11-27 18:28:41 +09:00
usbharu 8925c321bd refactor: 長すぎるメソッドなどを修正 2023-11-27 17:29:11 +09:00
usbharu 5580a8af53 Merge pull request #167 from usbharu/activitypub-interface
Activitypub interface
2023-11-27 16:07:19 +09:00
usbharu db2046b6e1 style: fix lint 2023-11-27 16:04:06 +09:00
usbharu e5d1a8d4a6 style: fix lint 2023-11-27 15:52:49 +09:00
usbharu c0dffe7c98 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-27 15:10:22 +09:00
usbharu e40e2c0d96 refactor: 不要な依存を削除 2023-11-27 15:03:26 +09:00
usbharu a3adba6813 test: 不要なテストを削除 2023-11-27 14:23:51 +09:00
usbharu 640dff53cf refactor: 不要になったAPServiceを削除 2023-11-27 14:13:08 +09:00
usbharu 1b721c5a0c feat: その他のJobProcessorを追加 2023-11-27 14:09:44 +09:00
usbharu 3243a0126f feat: 不要になったAPServiceを削除 2023-11-27 13:52:42 +09:00
usbharu ac4aa8a231 feat: その他のActivityPubプロセッサーを追加 2023-11-27 13:43:37 +09:00
usbharu 8757d059be feat: followのジョブプロセッサーを追加 2023-11-27 11:57:42 +09:00
usbharu 14998f514d refactor: tmpから正式なパッケージに移動 2023-11-26 15:47:40 +09:00
usbharu 9171e3a063 feat: Inboxのジョブキューを型安全ジョブキュー実装に切り替え 2023-11-26 15:36:43 +09:00
usbharu abce56e52d feat: Inboxのジョブキューを型安全ジョブキュー実装に切り替え 2023-11-26 13:17:49 +09:00
usbharu 25b689b73a feat: 型安全ジョブキューの骨組みを作成 2023-11-26 12:40:59 +09:00
usbharu 1e8f49b554 feat: 型安全なジョブキューのプロセッサーを追加 2023-11-26 11:19:25 +09:00
usbharu dcac609b94 feat: 型安全ジョブキューをすべてのジョブキューに適用 2023-11-25 16:46:03 +09:00
usbharu ea9a999ae9 feat: 型安全ジョブキュー 2023-11-25 16:23:00 +09:00
usbharu 3009ca1532 feat: Createのアクティビティに対応 2023-11-22 02:14:21 +09:00
usbharu 89c299d3c0 feat: InboxJobProcessorを使用するように 2023-11-22 02:00:19 +09:00
usbharu c4c9b48722 feat: InboxJobProcessorを追加 2023-11-22 01:57:42 +09:00
usbharu 2dbbed9a5a feat: ActivityPubの処理共通interfaceを追加 2023-11-22 00:56:12 +09:00
usbharu 9540e8809d Merge pull request #166 from usbharu/feature/inbox-jobqueue
Feature/inbox jobqueue
2023-11-22 00:39:09 +09:00
usbharu cedebb794b refactor: ActivityPubStringResponseを削除 2023-11-22 00:27:44 +09:00
usbharu 986d16f442 feat: ジョブキューでHTTP Signatureの検証を行うように 2023-11-22 00:07:38 +09:00
usbharu 65b37cbb5e refactor: 不要な依存関係を削除 2023-11-21 18:00:53 +09:00
usbharu e4eaef7277 feat: inboxをジョブキューに載せた 2023-11-21 17:58:13 +09:00
usbharu f4d4380c7f Merge pull request #161 from usbharu/feature/db
Feature/db
2023-11-21 17:21:53 +09:00
usbharu 25fbb12e5b test: fix test 2023-11-21 17:18:34 +09:00
usbharu e71a1f74a3 fix: トランザクションの問題をある程度解決 2023-11-21 17:03:12 +09:00
usbharu 3ac0782246 fix: userの一意性を保証できるように 2023-11-21 16:40:57 +09:00
usbharu 4655156e35 fix: instanceの一意性を保証できるように 2023-11-21 16:25:31 +09:00
usbharu 8fa96b771e feat: PostgreSQLで使用できるように 2023-11-21 16:25:08 +09:00
usbharu 699dceea2e feat: PostgreSQLで使用できるように 2023-11-21 16:24:46 +09:00
usbharu 9ce7b6e6dd fix: リモートユーザーを取得時に使用したURLでurlが登録されてしまう問題を修正 2023-11-21 15:47:38 +09:00
usbharu d286c73277 wip 2023-11-21 15:38:56 +09:00
usbharu f232183679 fix: OAuth2認証に失敗するようになっているのを修正 2023-11-21 12:38:41 +09:00
usbharu 44563e2251 feat: フォローのMastodon互換APIを作成 2023-11-21 12:38:06 +09:00
usbharu d93c34adb4 Merge pull request #159 from usbharu/revert-153-feature/oauth-scopes
Revert "feat: OAuth2のスコープの処理方法を変更"
2023-11-21 11:22:44 +09:00
usbharu ea860d1bc1 Revert "feat: OAuth2のスコープの処理方法を変更" 2023-11-21 11:16:35 +09:00
usbharu 2d7440bd10 Merge pull request #158 from usbharu/feature/db-migration
feat: DBのマイグレーションをFlywayで行うように
2023-11-19 13:56:44 +09:00
usbharu 5a8b4604c0 test: fix test sql 2023-11-19 13:47:07 +09:00
usbharu ff0416ee83 feat: DBのマイグレーションをFlywayで行うように 2023-11-19 13:25:47 +09:00
usbharu f2ab68adcb Merge pull request #155 from usbharu/feature/instance
Feature/instance
2023-11-19 12:18:29 +09:00
usbharu bdd183178a Update src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/User.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-19 12:16:24 +09:00
usbharu 8b6182c6e7 test: テストを修正 2023-11-19 12:09:44 +09:00
usbharu c05ea300f7 style: fix lint 2023-11-19 11:50:19 +09:00
usbharu 8bc6abb5ee Merge branch 'develop' into feature/instance 2023-11-18 13:41:35 +09:00
usbharu 6fa136d618 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-18 13:41:13 +09:00
usbharu 2dd10890da feat: userにinstanceのidを追加 2023-11-18 12:29:20 +09:00
usbharu 9cc8c77cbd feat: Instanceの重複チェックを追加 2023-11-18 12:20:29 +09:00
usbharu ee56adcf27 feat: Nodeinfoのデシリアライズ用クラスを別に準備 2023-11-18 12:02:40 +09:00
usbharu 4837192139 feat: 新規ユーザー作成時にInstanceを取得するように 2023-11-18 11:37:51 +09:00
usbharu bb87cab45f feat: 汎用ResourceResolverを追加 2023-11-18 11:05:02 +09:00
usbharu 1db8f31b5f feat: InstanceServiceを追加 2023-11-18 10:39:37 +09:00
usbharu 22d6ba40ed feat: Instanceのリポジトリを追加 2023-11-18 00:51:57 +09:00
usbharu 6dbac87d23 feat: Instanceのエンティティを追加 2023-11-18 00:35:52 +09:00
usbharu 57059f7e02 Merge pull request #153 from usbharu/feature/oauth-scopes
feat: OAuth2のスコープの処理方法を変更
2023-11-18 00:31:59 +09:00
usbharu 02aa3a7b06 Merge branch 'develop' into feature/oauth-scopes 2023-11-18 00:28:26 +09:00
usbharu 227c9544e1 Update src/main/kotlin/dev/usbharu/hideout/mastodon/service/app/AppApiService.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-18 00:28:20 +09:00
usbharu b588f201e1 feat: OAuth2のスコープの処理方法を変更 2023-11-18 00:06:49 +09:00
usbharu dfaaa3574f Merge pull request #149 from usbharu/feature/jdbc-timeline
feat: タイムラインのJDBC実装
2023-11-16 23:43:35 +09:00
usbharu e11872aac5 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-16 23:38:24 +09:00
usbharu 6268850a5b feat: タイムラインのJDBC実装 2023-11-16 23:33:10 +09:00
usbharu 7c105e946c Merge pull request #145 from usbharu/feature/refactor-media
メディア関係の改善
2023-11-16 21:04:07 +09:00
usbharu ac0e05ade8 fix: lint 2023-11-16 20:59:22 +09:00
usbharu f0a84e7fa1 feat: 動画のアップロード 2023-11-16 15:36:45 +09:00
usbharu 477d12fa61 feat: メディアのリネームを別クラスに切り出し 2023-11-15 20:50:03 +09:00
usbharu c9d802dae7 test: sqlを修正 2023-11-15 20:25:41 +09:00
usbharu 94065578b4 feat: ALTの永続化 2023-11-15 20:17:02 +09:00
usbharu 58b0931a49 feat: リモートの画像のOOM対策を追加 2023-11-15 14:36:41 +09:00
usbharu 5f50f4fb28 test: SQLを修正 2023-11-15 13:07:42 +09:00
usbharu 3a2286e8fe refactor: MediaServiceImplをリファクタリング 2023-11-14 22:47:00 +09:00
usbharu cdf0f23332 refactor: メディア関係をリファクタリング 2023-11-14 22:04:41 +09:00
usbharu 19de2d544d Merge pull request #142 from usbharu/usbharu-patch-5
Create integration-test.yml
2023-11-13 16:05:03 +09:00
usbharu 16eebafe52 chore: github actionsを修正 2023-11-13 15:59:32 +09:00
usbharu 82f2df86da Create integration-test.yml 2023-11-13 15:34:45 +09:00
usbharu f73b6532f1 Merge pull request #141 from usbharu/feature/integration-test
Feature/integration test
2023-11-13 15:29:51 +09:00
usbharu 875650c2c0 test: メディア付き投稿とリプライの投稿のテストを追加 2023-11-13 15:04:11 +09:00
usbharu 31d61435dd fix: リプライ先取得失敗時のエラーハンドリングを修正 2023-11-13 15:03:38 +09:00
usbharu 41da5f1acd test: フォロワーがフォロワー限定投稿の取得のテストを追加 2023-11-12 17:24:56 +09:00
usbharu 2dccf3ff3d test: SQLのファイル名を修正 2023-11-12 16:29:51 +09:00
usbharu 87d6b61b25 test: WithMockHttpSignatureを追加 2023-11-12 15:05:23 +09:00
usbharu 59298f77c2 test: noteの匿名のときのテストを追加 2023-11-11 17:37:22 +09:00
usbharu ee0ad59d40 test: Inboxのセキュリティテストを追加 2023-11-11 14:20:26 +09:00
usbharu 3a0d91de79 test: WebFingerの統合テストを追加 2023-11-11 11:59:54 +09:00
usbharu f2fea24fce chore: 不要な依存を削除 2023-11-09 18:03:45 +09:00
usbharu 8992ff1928 test: 統合テストをできるように 2023-11-09 17:48:48 +09:00
usbharu 4b6316074f Merge pull request #139 from usbharu/usbharu-patch-3
Create coverage.yml
2023-11-09 15:55:43 +09:00
usbharu bab2e538ef Update coverage.yml 2023-11-09 15:49:29 +09:00
usbharu 60bd0951fd Merge branch 'develop' into usbharu-patch-3 2023-11-09 15:37:10 +09:00
usbharu 8a10672be1 Merge pull request #137 from usbharu/feature/test-serialize
Feature/test serialize
2023-11-09 15:36:58 +09:00
usbharu 1089f63e36 test: テストを修正 2023-11-09 15:32:35 +09:00
usbharu 64cd9c0a34 fix: コントローラーのバグ修正 2023-11-09 15:32:14 +09:00
usbharu 217a010b77 test: APSendCreateServiceImplのテストを追加 2023-11-08 17:19:27 +09:00
usbharu b4df1fdeba test: Outboxのテストを追加 2023-11-08 17:04:24 +09:00
usbharu 66fb3c3c93 test: equalsとtostringでカバレッジ計測時に無視できるようなテストを追加(テストを目的としていない) 2023-11-08 16:48:28 +09:00
usbharu 3ec6ace113 test: timelineServiceのテストを追加 2023-11-07 15:12:25 +09:00
usbharu 6a51a9be37 test: ReactionServiceImplのテストを追加 2023-11-07 14:35:23 +09:00
usbharu c6cd6e82cf test: postServiceImplのテストを追加 2023-11-07 12:52:27 +09:00
usbharu 9e7d833a3d Merge branch 'develop' into feature/test-serialize 2023-11-07 00:53:20 +09:00
usbharu 8de3191e90 Merge pull request #138 from usbharu/usbharu-patch-2
Update test.yml
2023-11-07 00:53:01 +09:00
usbharu 0192e799e6 Merge branch 'develop' into feature/test-serialize 2023-11-07 00:50:00 +09:00
usbharu 549eebe962 Update test.yml 2023-11-07 00:48:52 +09:00
usbharu cfe962ee90 Create coverage.yml 2023-11-07 00:45:38 +09:00
usbharu fd6eeac77e Update test.yml 2023-11-07 00:40:37 +09:00
usbharu 8ea8a6b00f chore: カバレッジ計測時のみテストを失敗しないように 2023-11-06 23:59:17 +09:00
usbharu ad25a45c42 chore: テストに失敗してもタスク自体は継続するように 2023-11-06 23:12:04 +09:00
usbharu 1a34981288 test: mastodonTimelineApiControllerのテストを追加 2023-11-06 23:11:36 +09:00
usbharu 4719098037 chore: Koverのカバレッジレポートを出力できるように 2023-11-06 17:49:34 +09:00
usbharu 8a770ab1f2 test: mastodonStatusesApiControllerのテストを追加 2023-11-06 17:22:01 +09:00
usbharu 09f5794357 test: MastodonMediaApiControllerのテストを追加 2023-11-06 16:56:06 +09:00
usbharu 9649105999 test: MastodonInstanceApiControllerのテストを追加 2023-11-06 16:32:51 +09:00
usbharu 948f24c451 test: MastodonAccountApiControllerのテストを追加 2023-11-06 15:05:28 +09:00
usbharu 3684d3f2ef test: MastodonAppsApiControllerのテストを追加 2023-11-06 15:05:03 +09:00
usbharu 22475bfed0 test: テスト名が間違っていたので修正 2023-11-05 14:51:16 +09:00
usbharu 5bf7a1a25c refactor: 不要なデフォルト実装を削除 2023-11-05 14:50:06 +09:00
usbharu 117a97123c test: noteのエンドポイントのテストを追加 2023-11-05 14:46:20 +09:00
usbharu d650586a7a test: inboxのコントローラーのテストにuser-inboxのテストを追加 2023-11-05 13:30:25 +09:00
usbharu a2420622c5 test: actorのエンドポイントのテストを追加 2023-11-05 13:28:04 +09:00
usbharu ec24100f0a test: inboxのテストを追加 2023-11-05 00:34:01 +09:00
usbharu 3ed6b20dc5 test: inboxのテストを追加 2023-11-05 00:24:56 +09:00
usbharu df61e65fb0 test: WebFingerControllerのテストを追加 2023-11-04 19:10:52 +09:00
usbharu 4418caaf99 test: Noteのシリアライズテストを追加 2023-11-03 15:04:09 +09:00
usbharu ef352d43a6 test: Objectのシリアライズテストを追加 2023-11-03 14:46:07 +09:00
usbharu 00d24b5030 test: テストを修正 2023-11-03 14:11:14 +09:00
usbharu 31a3bfd714 test: jsonldのシリアライズテストを追加 2023-11-03 13:59:42 +09:00
usbharu 381d07bf62 Merge pull request #136 from usbharu/bugfix/timeline-duplicate-exception
fix: タイムライン重複判定で発生する例外のcatchの失敗を修正
2023-11-03 01:37:47 +09:00
usbharu 08fac14c89 Merge branch 'develop' into bugfix/timeline-duplicate-exception 2023-11-03 01:36:46 +09:00
usbharu 9a457e25c3 test: Deleteのシリアライズのテストを追加 2023-11-03 01:36:39 +09:00
usbharu ed6dec521e fix: タイムライン重複判定で発生する例外のcatchの失敗を修正 2023-11-03 01:09:06 +09:00
usbharu 8596c3efca Merge pull request #134 from usbharu/feature/receive-delete
feat: リモートのNoteのDelete Activityの受信に対応
2023-11-03 01:08:35 +09:00
usbharu 88fbec075f style: fix lint 2023-11-03 01:05:58 +09:00
usbharu 318ff91eb4 Merge remote-tracking branch 'origin/feature/receive-delete' into feature/receive-delete 2023-11-03 01:00:43 +09:00
usbharu 8915f18eab test: テストを修正 2023-11-03 01:00:35 +09:00
usbharu f023c1ddb0 Update src/main/kotlin/dev/usbharu/hideout/activitypub/domain/model/Delete.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-03 00:57:57 +09:00
usbharu 5c6987f2b0 feat: リモートのNoteのDelete Activityの受信に対応 2023-11-03 00:52:33 +09:00
usbharu ce7024849a Merge pull request #132 from usbharu/feature/remote-media
Feature/remote media
2023-11-02 20:13:06 +09:00
usbharu 8264d798b8 style: fix lint 2023-11-02 20:09:45 +09:00
usbharu 8eead0d115 Merge branch 'develop' into feature/remote-media 2023-11-02 20:01:17 +09:00
usbharu c4c7ae92e0 Merge pull request #133 from usbharu/bugfix/timeline-duplicate
fix: タイムラインが重複する現象を修正
2023-11-02 20:00:55 +09:00
usbharu 61f4a49756 Merge remote-tracking branch 'origin/feature/remote-media' into feature/remote-media 2023-11-02 19:58:48 +09:00
usbharu 67d284ffcc test: テストを修正 2023-11-02 19:58:37 +09:00
usbharu b1a7d8adf9 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-02 19:56:06 +09:00
usbharu 4b935b8c12 fix: タイムラインが重複する現象を修正 2023-11-02 19:55:44 +09:00
usbharu f8c54e3d9f chore: webp対応 2023-11-02 19:41:36 +09:00
usbharu c02b7efc83 feat: リモートのメディアをローカルに保存するように 2023-11-02 19:34:07 +09:00
usbharu 1e322fb8ae feat: リモートのメディアを保存したように動かす処理を追加 2023-11-02 18:46:48 +09:00
usbharu 82974b5abe feat: リモートのメディアを保存するように 2023-11-02 18:25:50 +09:00
usbharu 38b34b0424 Merge pull request #130 from usbharu/feature/mongodb-url
feat: mongodbのurlを変更可能に
2023-11-02 18:25:17 +09:00
usbharu f391221bc0 feat: mongodbのurlを変更可能に 2023-11-02 18:17:46 +09:00
usbharu 3c1b262d6f Merge pull request #108 from usbharu/feature/refactor-note-service-2
Feature/refactor note service 2
2023-11-02 17:48:07 +09:00
usbharu 5530ad7320 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-02 17:42:52 +09:00
usbharu 4a25c4290e refactor: nullチェックをrequirenotnullに置換 2023-11-02 17:19:01 +09:00
usbharu 64ca262343 refactor: 投稿の配送Jobの改善 2023-11-02 16:43:06 +09:00
usbharu 015376d32e refactor: 投稿作成時のjob発行箇所をリファクタリング 2023-11-02 16:19:08 +09:00
usbharu 36aa131c3d Merge pull request #107 from usbharu/feature/refactor-note-service
refactor: APNoteServiceをNote取得クエリを少なくなるようにリファクタリング
2023-11-02 12:44:50 +09:00
usbharu 3d47d15f5d Update src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteService.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-02 12:44:44 +09:00
usbharu 5ddec3d981 refactor: APNoteServiceをNote取得クエリを少なくなるようにリファクタリング 2023-11-02 12:40:20 +09:00
usbharu 725f6e54a4 feat: postgres対応 2023-11-02 11:56:03 +09:00
usbharu 9f0eaaddbd Merge pull request #105 from usbharu/feature/refactor
Feature/refactor
2023-11-01 14:13:59 +09:00
usbharu 5586a61298 refactor: 予約語を使っていたパッケージ名を修正 2023-11-01 14:10:59 +09:00
usbharu 570895bfdd Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-01 13:57:19 +09:00
usbharu 3e6f657cb4 test: テストのパッケージを修正 2023-11-01 13:51:11 +09:00
usbharu 820a688ae6 test: テストを修正 2023-11-01 13:41:20 +09:00
usbharu ab6f8b4f15 Merge branch 'develop' into feature/refactor
# Conflicts:
#	src/test/kotlin/dev/usbharu/hideout/service/ap/APNoteServiceImplTest.kt
#	src/test/kotlin/dev/usbharu/hideout/service/ap/resource/APResourceResolveServiceImplTest.kt
2023-11-01 13:38:45 +09:00
usbharu bfc341b28d refactor: パッケージ構成を変更 2023-11-01 13:34:24 +09:00
usbharu 6995c88d10 Merge pull request #104 from usbharu/feature/test-2
Feature/test 2
2023-11-01 13:32:18 +09:00
usbharu 23db387054 test: 無効化していたAPResourceResolveServiceImplのテストを有効化 2023-10-31 18:50:40 +09:00
usbharu 3ad36109e0 fix: LikeのUndoのidが間違っていたのを修正 2023-10-31 18:10:20 +09:00
usbharu adc477998b test: APReactionJobServiceImplのテストを追加 2023-10-31 18:10:01 +09:00
usbharu 33015817fd fix: 投稿の配送処理のtoが間違っていたのを修正 2023-10-31 17:32:04 +09:00
usbharu 95f3da5bb6 test: ApNoteJobServiceImplのテストを移動 2023-10-31 17:30:07 +09:00
usbharu 89e1675611 Merge pull request #102 from usbharu/feature/test
Feature/test
2023-10-31 16:47:02 +09:00
usbharu eecfde0960 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-31 16:40:31 +09:00
usbharu 85337420cd refactor: 不要な依存を削除 2023-10-31 16:35:05 +09:00
usbharu 1eabe75cd9 fix: apPost時にbodyがnullのときリクエストボディにnullと出力されてしまう問題を修正 2023-10-31 16:34:20 +09:00
usbharu dbfc4ed1a7 fix: FollowのUndoの処理に成功しているのに未実装エラーが出るのを修正 2023-10-31 16:26:46 +09:00
usbharu 496206a7ad fix: ActivityのTypeのパース時のエラーを修正 2023-10-31 16:24:15 +09:00
usbharu 40d1b6cbd3 test: APUndoServiceImplのテストを追加 2023-10-31 16:15:49 +09:00
usbharu 353fc8f87a test: APServiceImplのテストを追加 2023-10-31 15:48:03 +09:00
usbharu d0b5cd411d test: APSendFollowServiceImplのテストを追加 2023-10-31 15:25:52 +09:00
usbharu aec68aaeba test: APRequestServiceImplのテストを追加 2023-10-31 15:19:53 +09:00
usbharu e0b471fb7f test: APReactionServiceImplのテストを追加 2023-10-30 16:46:30 +09:00
usbharu 8e4a0d6584 test: APNoteServiceImplのテストを追加 2023-10-30 11:57:18 +09:00
usbharu f2fe870888 test: APLikeServiceImplのテストを追加 2023-10-29 17:32:04 +09:00
usbharu 24ae118bb6 test: APCreateServiceimplのテストを追加 2023-10-29 16:58:42 +09:00
usbharu 0e665dac34 test: APAcceptServiceImplのテストを追加 2023-10-29 16:36:24 +09:00
usbharu 6dd9400113 Merge pull request #98 from usbharu/feature/job-queue
Feature/job queue
2023-10-27 14:17:59 +09:00
usbharu 6fe7ec0f3c test: テストを修正 2023-10-27 14:13:07 +09:00
usbharu a099b63706 style: fix lint 2023-10-27 14:10:04 +09:00
usbharu 2d8deb0d4f style: fix lint 2023-10-27 14:08:38 +09:00
usbharu 61ee7ab59f refactor: jobを別のクラスに切り出し2 2023-10-27 13:54:33 +09:00
usbharu ab25e136dd refactor: jobを別のクラスに切り出し 2023-10-27 13:22:18 +09:00
usbharu 1118ca30fb Merge pull request #97 from usbharu/feature/logging-2
Feature/logging 2
2023-10-27 11:43:57 +09:00
usbharu eebcc09c5a Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-27 11:38:21 +09:00
usbharu c1dc1011b3 feat: 署名されないリクエストもログをとるように 2023-10-27 11:28:35 +09:00
usbharu 94900cc32c feat: ActivityPubリクエストのログを追加 2023-10-27 11:17:05 +09:00
usbharu cec0c620f6 feat: フォローリクエストが飛んできたときのログを追加 2023-10-27 11:16:40 +09:00
usbharu 31a06a3e9e Merge pull request #96 from usbharu/feature/logging-2
Feature/logging 2
2023-10-24 20:52:02 +09:00
usbharu 98d3234e18 feat: セキュリティフィルターの前にMDCを追加するように 2023-10-24 20:19:22 +09:00
usbharu a98af0185c feat: ログのMDCをkotlinx.coroutineに対応 2023-10-24 20:05:53 +09:00
usbharu 63c15b35d1 refactor: ログを追加 2023-10-24 12:52:15 +09:00
usbharu 8347bd7d0f Merge pull request #94 from usbharu/feature/entity-builder
Feature/entity builder
2023-10-23 14:00:36 +09:00
usbharu db41101475 Merge remote-tracking branch 'origin/feature/entity-builder' into feature/entity-builder 2023-10-23 13:57:01 +09:00
usbharu adfac74816 test: fix test 2023-10-23 13:56:49 +09:00
usbharu 9065db5f44 Merge branch 'develop' into feature/entity-builder 2023-10-23 13:44:53 +09:00
usbharu 2eca02e1c3 Merge pull request #93 from usbharu/feature/enhanced-timeline
feat: タイムラインにメディア情報と純粋なリポスト日の情報を追加
2023-10-23 13:43:20 +09:00
usbharu 8aecd26cfe Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-23 13:40:12 +09:00
usbharu 66cf62f1a7 style: fix lint 2023-10-23 13:39:36 +09:00
usbharu 9943809bfc style: fix lint 2023-10-23 13:39:30 +09:00
usbharu 046ca2c155 Update src/main/kotlin/dev/usbharu/hideout/service/post/MongoGenerateTimelineService.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-23 13:33:14 +09:00
usbharu 9bef6db051 feat: 不要になったコンフィグを削除 2023-10-23 13:32:50 +09:00
usbharu 2a8eaf09b4 feat: 不要になったマッピングを削除 2023-10-23 13:29:09 +09:00
usbharu fe38cd93ef feat: Userのマッピングを追加 2023-10-23 13:28:28 +09:00
usbharu b11dc9f7b0 feat: 不要になったマッピングを削除 2023-10-23 13:16:07 +09:00
usbharu 6155e61285 feat: クエリ実行結果とのマッピングをクラスに切り出し 2023-10-23 13:15:28 +09:00
usbharu e869fad11d feat: 不要なコンフィグを削除 2023-10-23 12:50:25 +09:00
usbharu 004aad7dea feat: DBの文字数制限をハードコード 2023-10-23 12:49:08 +09:00
usbharu 45e196edab feat: UserBUilderを追加 2023-10-23 12:35:48 +09:00
usbharu 657936c3d9 feat: Postをビルダーを使って生成するように 2023-10-23 12:17:48 +09:00
usbharu f38523d969 feat: タイムラインにメディア情報と純粋なリポスト日の情報を追加 2023-10-23 11:03:37 +09:00
usbharu 05142e0a55 feat: 投稿のURLで取得できるNoteの情報を正確に表すように 2023-10-21 16:07:58 +09:00
usbharu 16f67dc040 Merge pull request #92 from usbharu/feature/ap-posts-endpoint
Feature: 投稿のURLにアクセスすると投稿を取得できるように
2023-10-21 15:30:34 +09:00
usbharu 915bf69f06 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-21 15:18:53 +09:00
usbharu 59c6fc06c8 feat: Signatureヘッダーが存在するが、認証に失敗したときは401を返すように 2023-10-21 15:12:31 +09:00
usbharu 22ab5a8988 wip 2023-10-21 04:02:58 +09:00
usbharu 1547c0edaa feat: 投稿のap idにアクセスすると投稿を取得できるように 2023-10-21 00:31:54 +09:00
usbharu 108f521f23 Merge pull request #91 from usbharu/bugfix/visibility
fix: 公開範囲を修正
2023-10-20 12:53:48 +09:00
usbharu a4481a2ccb fix: 公開範囲を修正 2023-10-20 12:48:23 +09:00
usbharu 3fac808293 Merge pull request #90 from usbharu/feature/http-signature
Feature/http signature
2023-10-20 12:23:48 +09:00
usbharu f3dd22caa9 style: スタイルを修正 2023-10-20 12:21:52 +09:00
usbharu 7b65458b2f Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-20 12:01:47 +09:00
usbharu 888b650e23 Merge remote-tracking branch 'origin/feature/http-signature' into feature/http-signature 2023-10-20 11:58:21 +09:00
usbharu de4d5ca339 feat: ActivityPub関係のリクエストは署名を検証するように 2023-10-20 11:55:42 +09:00
usbharu d6fe604253 feat: HttpSignatureで署名を検証する実装を追加 2023-10-20 11:05:02 +09:00
usbharu 21f0f1d7b3 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-19 13:44:23 +09:00
usbharu 0021061aa2 feat: 連合に失敗する問題を修正 2023-10-19 13:24:30 +09:00
usbharu ecd25436a4 Merge pull request #89 from usbharu/feature/user-db
feat: DBにfollowing,followersとkeyidを追加
2023-10-19 13:23:15 +09:00
usbharu 34ed98c82b feat: DBにfollowing,followersとkeyidを追加 2023-10-19 12:17:02 +09:00
usbharu 72289625b4 feat: HTTP Signatureのフィルターを追加 2023-10-19 11:51:39 +09:00
usbharu b6037d02fe chore: 不要になった依存と実装を削除 2023-10-19 11:35:57 +09:00
usbharu 22a2f4aee5 feat: HttpSignatureを自作ライブラリに変更 2023-10-19 11:30:07 +09:00
usbharu b221b55fdf Merge pull request #88 from usbharu/feature/reactive-controller
feat: suspendなcontrollerに変更
2023-10-15 10:44:50 +09:00
usbharu e314c01ad5 feat: suspendなcontrollerに変更 2023-10-15 10:40:26 +09:00
usbharu e3b7e0ed23 Merge pull request #87 from usbharu/feature/http-client
Feature/http client
2023-10-15 00:16:43 +09:00
usbharu 0556b65fd2 Merge branch 'develop' into feature/http-client 2023-10-15 00:13:41 +09:00
usbharu b65f580733 chore: lintに言うことを聞かせた 2023-10-15 00:11:32 +09:00
usbharu ae376d55d0 style: スタイルを修正 2023-10-14 23:34:57 +09:00
usbharu 25ad32918b test: テストを修正 2023-10-14 23:25:39 +09:00
usbharu f796f27880 fix: APRequestServiceImplを修正 2023-10-14 23:25:18 +09:00
usbharu 0814258bfa feat: APRequestServiceに切り替え 2023-10-14 19:43:25 +09:00
usbharu f385e4fc8c fix: 署名ヘッダーを追加するのを忘れていたのを修正 2023-10-14 11:54:24 +09:00
usbharu 1f633b0d25 feat: APRequestServiceを追加 2023-10-14 11:53:49 +09:00
usbharu 468b318daa refactor: HttpSignatureSignerImplをリファクタリング 2023-10-14 10:10:21 +09:00
usbharu 4ca5132183 test: HTTP Signature署名器のテストを追加 2023-10-13 17:00:19 +09:00
usbharu c750bf86c8 feat: アルゴリズムの指定を追加 2023-10-13 16:43:35 +09:00
usbharu 10d50815b8 feat: HTTP Signatureの署名器を実装 2023-10-13 15:57:01 +09:00
usbharu cddaad0433 feat: 不要な依存関係を削除 2023-10-13 14:56:50 +09:00
usbharu 6aabc7e98d feat: メモリリークの原因となるキャッシュの開放忘れを修正 2023-10-12 17:53:02 +09:00
usbharu 3e7d05a128 feat: 既存のgetAPの箇所を apResourceResolveServiceに切り替え 2023-10-12 16:35:04 +09:00
usbharu 5b65630556 feat: 型安全に 2023-10-12 16:20:18 +09:00
usbharu 1fef97c8ce feat: CacheManagerを使用した実装に切り替え 2023-10-12 16:02:01 +09:00
usbharu 52b609bac8 test: テストを追加 2023-10-12 14:58:45 +09:00
usbharu c27599ac55 feat: 微修正 2023-10-12 14:58:34 +09:00
usbharu ed296637d9 feat: 同じ内容のリクエストが同時多発的に発生しない仕組みを追加 2023-10-12 13:22:09 +09:00
usbharu 6b9ae48eb1 Merge pull request #84 from usbharu/feature/fix-lint
Feature/fix lint
2023-10-12 11:20:21 +09:00
usbharu e7374591a5 style: fix lint 2023-10-12 11:15:34 +09:00
usbharu e799f8900c style: fix lint 2023-10-12 11:11:36 +09:00
usbharu 65ad6409f2 Merge pull request #83 from usbharu/bugfix/fix-timeline
fix: タイムラインが読み込まれないのを修正
2023-10-12 10:53:26 +09:00
usbharu 664b213346 fix: タイムラインが読み込まれないのを修正 2023-10-12 02:32:33 +09:00
usbharu 3babce2f0c Merge pull request #82 from usbharu/feature/logging
Feature/logging
2023-10-12 02:29:11 +09:00
usbharu b6c77daed8 chore: 依存関係を更新 2023-10-12 02:12:45 +09:00
usbharu 91c18c4c64 style: スタイルを修正 2023-10-12 02:04:08 +09:00
usbharu 9c6c0a450b Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-12 01:55:32 +09:00
usbharu cac777a8c0 feat: ログを追加 2023-10-12 01:48:05 +09:00
usbharu 7cc3094084 feat: タイムラインが表示されない問題を修正 2023-10-11 16:30:32 +09:00
usbharu 7fac732150 feat: キャッチする例外を修正 2023-10-11 15:44:43 +09:00
usbharu f33e04faa5 feat: キャッシュを導入 2023-10-11 15:34:12 +09:00
usbharu 30cd1274ac fix 色々直した 2023-10-11 14:58:46 +09:00
usbharu 03498d05fa Merge pull request #75 from usbharu/feature/post-with-media
Feature/post with media
2023-10-11 11:09:18 +09:00
usbharu 6d5f7500c9 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-11 11:07:43 +09:00
usbharu d9f0ce074f style: fix lint 2023-10-11 11:02:57 +09:00
usbharu 63c22627c5 Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-10 18:57:11 +09:00
usbharu 3bd8cfc02b Update src/main/kotlin/dev/usbharu/hideout/service/ap/APNoteService.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-10 18:52:45 +09:00
usbharu cb72ac747f Update src/main/kotlin/dev/usbharu/hideout/config/JsonOrFormModelMethodProcessor.kt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-10 18:52:20 +09:00
usbharu 86626a6046 fix: 自動生成が消えていた部分を修正 2023-10-10 18:48:00 +09:00
usbharu b1f77e63ec chore: 不要なデバッグ情報を削除 2023-10-10 18:11:57 +09:00
usbharu 6b2270356f chore: テスト同時実行数の設定を修正 2023-10-10 18:03:25 +09:00
usbharu 3f830097ed test: fix test 2023-10-10 18:01:57 +09:00
usbharu 7fff8e39d4 feat: ストレージ設定でpublic urlが正常に指定されていなかった問題を修正 2023-10-10 16:19:25 +09:00
usbharu 216ee78da0 feat: メディア付き投稿を配送可能に 2023-10-10 16:07:21 +09:00
usbharu db517cf288 feat: メディア付き投稿が可能に 2023-10-10 15:18:16 +09:00
usbharu 426105f6a5 feat: テンプレートを修正 2023-10-10 11:32:35 +09:00
usbharu ca5779b35b feat: テンプレートを追加 2023-10-08 15:06:06 +09:00
usbharu 16462198f6 feat: JsonOrFormBindを追加 2023-10-08 15:00:22 +09:00
usbharu 6b01927133 feat: メディア付き投稿をできるように 2023-10-05 19:26:10 +09:00
usbharu 82d51e2660 Merge pull request #74 from usbharu/usbharu-patch-1
Update lint.yml
2023-10-05 17:24:56 +09:00
usbharu 30e206c21c Update lint.yml
Lint失敗時もreviewdogを動作させるように
2023-10-05 17:19:44 +09:00
usbharu a7f5a33b9e Merge pull request #73 from usbharu/refactor-all
refactor: 不要なファイルを削除、インスペクションを解消
2023-10-05 13:10:11 +09:00
usbharu f3285c30de refactor: 不要なファイルを削除、インスペクションを解消 2023-10-05 13:04:30 +09:00
usbharu 889aaf60b2 Merge pull request #71 from usbharu/feature/media-upload
Feature/media upload
2023-10-05 12:26:07 +09:00
usbharu d19a6029e2 style: スタイルを調整 2023-10-05 12:23:11 +09:00
usbharu 7c66ceac00 feat: メディアのアップロード処理の結果を返却するように 2023-10-05 11:58:37 +09:00
usbharu e4ac377404 feat: S3にアップロードできるように 2023-10-05 11:54:27 +09:00
usbharu 97cf5eac65 feat: ファイルの削除に対応 2023-10-05 00:20:42 +09:00
usbharu 60242693f9 feat: S3アップロードを実装 2023-10-05 00:16:56 +09:00
usbharu 0fd620d16e feat: メディアの変換処理を実装 2023-10-04 23:07:55 +09:00
usbharu bbf3249c45 feat: ローカルのアップロードの処理の一部が完成 2023-10-04 18:41:36 +09:00
usbharu 7fa2e97368 feat: メディア関係のクラスを追加 2023-10-04 14:48:12 +09:00
usbharu 9e570dc1bf feat: Mediaアップロードのエンドポイントを追加 2023-10-04 01:45:55 +09:00
usbharu 6b632c81c7 Merge pull request #68 from usbharu/bugfix/fix-conditional-parameter
fix: mongo-dbを選択してもエラーが出ていたのを修正
2023-10-04 00:57:27 +09:00
usbharu 6dc6a0ecd3 fix: mongo-dbを選択してもエラーが出ていたのを修正 2023-10-04 00:53:17 +09:00
usbharu f6c25d77d3 Merge pull request #67 from usbharu/feature/mongo-option
ジョブキューとタイムライン構築に使うDBを選択できるように
2023-10-04 00:33:17 +09:00
usbharu 5fadd58079 ジョブキューとタイムライン構築に使うDBを選択できるように 2023-10-03 14:38:38 +09:00
usbharu 8e217c16ec Revert "refactor: ID生成を全てIdGenerateServiceで行うように"
This reverts commit 4be4603f
2023-10-03 11:51:04 +09:00
usbharu cbdce824e5 Merge pull request #65 from usbharu/test
Test
2023-09-30 15:21:44 +09:00
usbharu 19c06bf586 chore: テストをランダム順に実施するように 2023-09-30 15:17:06 +09:00
usbharu dc66402431 chore: テストを並列で実行するように 2023-09-30 15:04:44 +09:00
usbharu b94404258e Merge pull request #64 from usbharu/github-action
chore: GitHub Actionの改善
2023-09-30 14:51:14 +09:00
usbharu d19a0b3adf chore: GitHub Actionの改善 2023-09-30 14:49:32 +09:00
usbharu 56cafd2c17 chore: GitHub Actionの改善 2023-09-30 14:44:58 +09:00
usbharu 5760938881 chore: GitHub Actionの改善 2023-09-30 14:43:51 +09:00
usbharu 81c2f45c58 chore: GitHub Actionの改善 2023-09-30 14:38:03 +09:00
usbharu 9ebcedd093 chore: GitHub Actionの改善 2023-09-30 14:33:00 +09:00
usbharu 88a9919ff7 chore: GitHub Actionの改善 2023-09-30 14:29:32 +09:00
usbharu 401f5e103c Merge pull request #62 from usbharu/feature/refactor-exposed
Feature/refactor exposed
2023-09-30 14:03:01 +09:00
usbharu 6b80c387fe くそったれLintを黙らせた 2023-09-30 13:59:45 +09:00
usbharu a0c24f98bd style: スタイルを調整 2023-09-30 13:51:55 +09:00
usbharu c9eaf899d5 test: テストを修正 2023-09-30 13:50:29 +09:00
usbharu 0df65ad9b7 refactor: ID生成を全てIdGenerateServiceで行うように 2023-09-30 13:48:24 +09:00
usbharu c10d7e5204 feat: 不要な設定を削除 2023-09-30 13:44:10 +09:00
usbharu 0e5d7c92f6 feat: Exposedで初期化を自動でするように 2023-09-30 13:41:42 +09:00
usbharu 36ad81ddd1 chore: update exposed 2023-09-30 13:26:44 +09:00
usbharu b641c4b5fb refactor: 不要なクラスを削除 2023-09-30 13:26:27 +09:00
usbharu 171a5ad26c Merge pull request #61 from usbharu/feature/timeline
Feature/timeline
2023-09-30 11:28:50 +09:00
usbharu 21fdded27d style: スタイルを調整 2023-09-30 11:25:31 +09:00
usbharu a21a4d7d96 style: スタイルを調整 2023-09-30 11:19:06 +09:00
usbharu bbdfb59bb0 test: テストを修正 2023-09-30 11:14:30 +09:00
usbharu 577f9fbfe0 feat: publicタイムラインは専用の特殊ユーザーで見るように 2023-09-30 10:38:23 +09:00
usbharu c30a813900 refactor: 不要な依存を削除 2023-09-30 09:55:34 +09:00
usbharu b91716bba2 fix: リモートユーザーの場合はタイムラインに自分自身を含めないように 2023-09-29 19:20:57 +09:00
usbharu 588b54ea7e feat: タイムラインの構築時に自分自身を対象に含めるように 2023-09-29 19:19:30 +09:00
usbharu 4f411dddbf feat: 動的にクエリを構築するように 2023-09-29 19:19:05 +09:00
usbharu 8b93e929dc feat: Timelineのエンドポイントを作成 2023-09-29 18:14:42 +09:00
usbharu d9fed726fb feat: GenerateTimelineServiceを作成 2023-09-29 17:49:34 +09:00
usbharu 5b89c681b0 feat: TimelineServiceを作成 2023-09-29 15:44:58 +09:00
usbharu 8c34019728 feat: Timelineを追加 2023-09-29 15:18:29 +09:00
usbharu 0f0b2037f6 feat: PostServiceの依存関係を見直し 2023-09-29 13:57:39 +09:00
usbharu c880e9c5d1 fix: JWTトークンの有効期限を設定 2023-09-29 13:52:10 +09:00
usbharu d3a84b3157 Merge pull request #59 from usbharu/feature/kjob-mongodb
feat: KJobがMongoDBでも動くように
2023-09-27 14:53:52 +09:00
usbharu 3f4341c05c style: スタイルを調整 2023-09-27 14:50:28 +09:00
usbharu b735e4bf5d test: 不要なテストを削除 2023-09-27 14:45:54 +09:00
usbharu 3a85917f97 feat: KJobがMongoDBでも動くように 2023-09-27 14:40:14 +09:00
usbharu 0bb74b3a5f refactor: 不要なコードを削除、古い構成を更新 2023-09-26 15:13:41 +09:00
usbharu b5a8c0ff35 Merge pull request #55 from usbharu/feature/mastodon-register-account
Feature/mastodon register account
2023-09-26 14:20:31 +09:00
usbharu b2c41d11bf fix: sign_upに対するCSRF保護を追加 2023-09-26 13:01:17 +09:00
usbharu c916897874 fix: CSRF保護を有効化 2023-09-26 12:55:48 +09:00
usbharu 5c1ef939d8 feat: ユーザー作成できるように 2023-09-26 12:36:56 +09:00
usbharu 3f7f9b9804 feat: ユーザー作成エンドポイント定義を追加 2023-09-26 11:46:37 +09:00
usbharu 74cea24a77 Merge pull request #54 from usbharu/feature/fix-jobqueue
fix: ジョブキュー等を修正
2023-09-25 17:44:11 +09:00
usbharu 778d8a4968 test: テストを修正 2023-09-25 17:40:51 +09:00
usbharu 09442d2bdf style: スタイルを調整 2023-09-25 17:27:42 +09:00
usbharu 3c310952b5 fix: ジョブキュー等を修正 2023-09-25 17:08:01 +09:00
usbharu a0ffd3cfe1 Merge pull request #48 from usbharu/feature/wellknown-endpoin
Feature/wellknown endpoint
2023-09-24 17:11:11 +09:00
usbharu 52a3ae72dc feat: 404が帰らないことがあるので修正 2023-09-24 16:18:28 +09:00
usbharu 2674bb0788 feat: nodeinfo2.0のエンドポイントを追加 2023-09-24 13:49:41 +09:00
usbharu 6b5426a827 feat: hostmetaのエンドポイントを追加 2023-09-24 11:56:31 +09:00
usbharu 721cdc9d49 fix: runBlockingで包むように 2023-09-24 11:37:15 +09:00
usbharu 0171012912 feat: セキュリティの設定を修正 2023-09-24 11:36:22 +09:00
usbharu 63cb3427e4 feat: WebFingerのエンドポイントを追加 2023-09-24 10:41:32 +09:00
usbharu b36e79048a feat: remove Spring WebFlux 2023-09-24 10:40:22 +09:00
usbharu ad11b072a8 refactor: Koinのコードを削除 2023-09-23 00:14:40 +09:00
usbharu 332ad1bb41 chore: Koinの依存関係を削除 2023-09-23 00:14:09 +09:00
usbharu 34b19829f4 Merge pull request #44 from usbharu/feature/delete-ktor
Feature/delete ktor
2023-09-23 00:05:21 +09:00
usbharu d94b05e50d style: スタイルを調整 2023-09-23 00:00:19 +09:00
usbharu b8e4d2dc3b refactor: Ktorに関連するテストを削除 2023-09-22 23:59:42 +09:00
usbharu 9b68f1941f chore: 必要な依存関係を追加 2023-09-22 23:59:17 +09:00
usbharu 89963c489e chore: Ktorの依存関係を削除 2023-09-22 23:49:45 +09:00
usbharu 70ba6ae4f8 refactor: Ktor使用箇所を削除 2023-09-22 23:42:22 +09:00
usbharu 887249c68d Merge pull request #38 from usbharu/feature/mastodon-api
Feature/mastodon api
2023-09-22 23:35:55 +09:00
usbharu 43a914331f feat: TwidereでOAuth2ログインができるように 2023-09-22 17:32:47 +09:00
usbharu 834e40894b feat: OAuth2が動くように 2023-09-21 16:12:24 +09:00
usbharu 0e00e9526d feat: 投稿APIを追加 2023-09-20 16:25:13 +09:00
usbharu 19e44c4675 feat: 不要なものを削除 2023-09-20 14:53:23 +09:00
usbharu e67b60197f chore: Mastodon APIを生成できるように 2023-09-20 13:55:25 +09:00
usbharu 20d135ab9a feat: エンドポイント /api/v1/instance/*と /api/v2/instanceを追加 2023-09-20 12:23:52 +09:00
usbharu 9234e5ed82 feat: v1 instanceを追加 2023-09-20 12:07:27 +09:00
usbharu ca3438b6aa feat: Account,Status,Instanceを追加 2023-09-20 11:32:48 +09:00
usbharu edd2465ad7 Merge pull request #37 from usbharu/feature/spring-boot
Feature/spring boot
2023-09-19 16:50:28 +09:00
usbharu 4b84a83304 chore: Github ActionsのJavaのバージョンを変更 2023-09-19 16:44:54 +09:00
usbharu 3f2cff7e64 chore: ビルド時に強制的にコード生成を行うように 2023-09-19 16:43:07 +09:00
usbharu 5f44510010 chore: Github ActionsのJavaのバージョンを変更 2023-09-19 16:30:42 +09:00
usbharu ec1285e6fb style: スタイルを修正 2023-09-19 16:27:45 +09:00
usbharu 8ab55cb248 style: スタイルを修正 2023-09-19 16:21:35 +09:00
usbharu e05db6dd91 feat: Securityの設定を変更 2023-09-19 15:46:51 +09:00
usbharu 4361fb2db5 chore: Ktorを非推奨に 2023-09-19 13:05:40 +09:00
usbharu afb606c9e2 feat: Spring MVCのControllerでActivityPubのエンドポイントを実装 2023-09-19 12:49:39 +09:00
usbharu 656e935ce2 feat: Spring Frameworkで起動できるように 2023-09-19 11:01:55 +09:00
usbharu 6aaf01a026 feat: Spring Securityの導入 2023-08-28 21:05:34 +09:00
usbharu ef6f9ae6ab feat: Controllerの自動生成 2023-08-18 15:25:42 +09:00
usbharu ebbf153b9b fix: プロパティ名間違えていたので修正 2023-08-18 13:36:18 +09:00
usbharu 7f1aec3398 feat: 依存関係を修正 2023-08-18 13:29:08 +09:00
usbharu e5b744eef0 feat: serviceとrepositoryにアノテーションを追加 2023-08-18 12:24:26 +09:00
usbharu 60706ee413 feat: SpringBootで起動できるように 2023-08-18 12:01:32 +09:00
usbharu ad65094c3e Merge pull request #36 from usbharu/feature/character-limit
Feature/character limit
2023-08-18 11:21:38 +09:00
usbharu 1a30407d83 style: スタイルを修正 2023-08-18 11:05:08 +09:00
usbharu b07a0ffabb feat: Postのドメイン知識を追加 2023-08-16 17:46:02 +09:00
usbharu dff3397bab feat: DBの定義をコンフィグから生成するように 2023-08-15 15:37:56 +09:00
usbharu 53936455c1 feat: トランザクションを調整 2023-08-15 15:10:44 +09:00
usbharu 269289966c feat: Userにドメイン知識を追加 2023-08-15 13:30:35 +09:00
usbharu 5a56c61ee4 Merge pull request #33 from usbharu/feature/resource-not-found-exception
Feature/resource not found exception
2023-08-15 01:56:31 +09:00
usbharu 6e6e2a911c style: スタイルを修正 2023-08-15 01:53:33 +09:00
usbharu 16fd6a017e test: テストを修正 2023-08-15 01:42:28 +09:00
usbharu 4985af4291 style: スタイルを修正 2023-08-15 01:42:17 +09:00
usbharu 34333b1a2d fix: 連合関係のエラーを修正 2023-08-15 01:33:07 +09:00
usbharu 9fa26375d9 fix: ノートの重複判定を修正 2023-08-14 20:45:48 +09:00
usbharu 6b7016ddf6 fix: ログイン後に再読込する必要があるのを修正 2023-08-13 17:23:06 +09:00
usbharu ed71a86698 Merge pull request #30 from usbharu/feature/refactor-filename
Feature/refactor filename
2023-08-11 16:48:49 +09:00
usbharu e4ff750f25 refactor: 命名規則を統一 2023-08-11 16:44:23 +09:00
usbharu 60f0e1a4bf refactor: interfaceとデフォルト実装を同じファイルに 2023-08-11 16:38:56 +09:00
usbharu 5f85a25daf refactor: ActivityPubをAPに変更 2023-08-11 16:29:52 +09:00
usbharu f61c6c1713 Merge pull request #28 from usbharu/feature/refactor-query
Feature/refactor query
2023-08-11 16:09:45 +09:00
usbharu 8c1423b227 style: スタイルを修正 2023-08-11 16:06:12 +09:00
usbharu d163fc0948 test: テストを修正 2023-08-11 15:58:53 +09:00
usbharu 37db201f87 feat: トランザクションエラーがある程度発生しないように 2023-08-11 15:47:25 +09:00
usbharu ee8bbf5091 feat: トランザクション管理を抽象化 2023-08-11 14:23:52 +09:00
usbharu 0d346b7368 refactor: リアクションAPIを変更 2023-08-11 13:37:06 +09:00
usbharu 3f96397768 feat: 起動からユーザー作成、ログインまでのトランザクションを修正 2023-08-11 12:22:56 +09:00
usbharu de79c91710 refactor: 不要なコードを削除 2023-08-11 11:25:26 +09:00
usbharu 8654c627d1 refactor: 不要なコードを削除 2023-08-11 10:54:30 +09:00
usbharu ca541278df refactor: ReactionのQueryServiceを追加 2023-08-10 20:58:33 +09:00
usbharu 1d4e916f3a refactor: トランザクションを削除 2023-08-10 20:33:23 +09:00
usbharu 23711f430f refactor: PostのQueryServiceを追加 2023-08-10 20:29:18 +09:00
usbharu ba743d3a36 refactor: 不要なコードを削除 2023-08-10 20:08:56 +09:00
usbharu cff8640b86 refactor: 不要なコードを削除 2023-08-10 20:05:40 +09:00
usbharu b44d60b0d4 feat: PostResponseのQueryServiceを追加 2023-08-10 19:55:46 +09:00
usbharu ab73da01a7 refactor: Repositoryに不要な関数を削除 2023-08-10 19:42:18 +09:00
usbharu 4fcc096a42 refactor: 不要なコードを削除、DI用アノテーションを追加 2023-08-10 19:26:52 +09:00
usbharu 4fa0b07dff refactor: 不要な関数を削除 2023-08-10 19:23:42 +09:00
usbharu d2524a5684 refactor: 一括検索を都度検索に変更 2023-08-10 19:23:12 +09:00
usbharu 6265d0772a refactor: 不要な関数を削除 2023-08-10 19:17:07 +09:00
usbharu 642912d5f3 refactor: 不要な関数を削除 2023-08-10 19:13:42 +09:00
usbharu e781d1467f refactor: 不要な関数を削除 2023-08-10 19:07:48 +09:00
usbharu 4e39c05e6c refactor: 不要な関数を削除 2023-08-10 19:04:16 +09:00
usbharu 399d7d369e refactor: 不要な関数を削除 2023-08-10 18:46:14 +09:00
usbharu 22bb8a910b feat: FollowのQueryServiceを追加 2023-08-10 18:23:09 +09:00
usbharu dc25dda7fe feat: UserのQueryServiceを追加 2023-08-10 18:22:43 +09:00
usbharu 2a6edd7da9 Merge pull request #26 from usbharu/feature/deliver-reaction
Feature/deliver reaction
2023-08-08 18:01:55 +09:00
usbharu bc2fb43495 test: テストの型エラーを修正 2023-08-08 17:58:28 +09:00
usbharu bddee7ab17 chore: package-lock.jsonを最新の状態に更新 2023-08-08 17:52:15 +09:00
usbharu 474680bd2a fix: リアクションAPIのレスポンス指定忘れを修正 2023-08-08 17:46:08 +09:00
usbharu 377a73a878 fix: JavaScriptがBigIntを扱えない問題を修正 2023-08-08 17:37:40 +09:00
usbharu 0b57b438f9 feat: Favoriteボタンが機能するように 2023-08-08 17:36:25 +09:00
usbharu fa6896a124 feat: リアクションのAPI定義を追加 2023-08-08 16:21:59 +09:00
usbharu dd06415e09 fix: マージミスを修正 2023-08-08 15:30:54 +09:00
usbharu 10ea1bf51b Merge branch 'develop' into feature/deliver-reaction
# Conflicts:
#	package-lock.json
#	package.json
#	src/main/kotlin/dev/usbharu/hideout/Application.kt
#	src/main/kotlin/dev/usbharu/hideout/domain/model/ap/ObjectDeserializer.kt
#	src/main/kotlin/dev/usbharu/hideout/plugins/Routing.kt
2023-08-08 15:28:38 +09:00
usbharu 2deed2980d test: テストの型が落ちてるのを修正 2023-08-08 15:12:38 +09:00
usbharu cb9930513f feat: リアクション取り消しの実装を追加 2023-08-02 11:29:00 +09:00
usbharu 105b8d520a feat: リアクションのAPIを作成 2023-08-02 11:05:00 +09:00
usbharu e340d68dc0 feat: リアクション情報の配送の実装を作成 2023-07-31 01:07:14 +09:00
usbharu 88f8b405e3 feat: リアクション情報を配送するinterfaceを定義 2023-07-31 00:32:15 +09:00
usbharu 20fbcbf72e chore: gitignoreを更新 2023-07-31 00:31:43 +09:00
usbharu 58f8005ce4 feat: 投稿できるように 2023-07-06 22:06:10 +09:00
usbharu 539a9cf41f feat: ログインページでログイン成功時にトークンを保存するように 2023-07-06 17:50:28 +09:00
usbharu 0a6d488836 feat: サイドバー、ログインフォームを作成 2023-06-28 18:36:38 +09:00
usbharu 24819e7224 feat: APIのモデルを変更 2023-06-27 13:04:21 +09:00
usbharu 1a019a604c chore: viteをアップデート 2023-06-16 17:59:33 +09:00
usbharu c48ae3b698 feat: APIの返答にuserも含めるように 2023-06-16 17:15:40 +09:00
usbharu 3c55a36fed feat: タイムラインを作成 2023-06-16 10:12:39 +09:00
usbharu 6b1b6f8bf2 feat: WebUIを追加 2023-06-15 00:43:21 +09:00
usbharu 9c5da79389 Merge pull request #21 from usbharu/feature/openapi
Feature/openapi
2023-06-14 13:12:18 +09:00
usbharu 02a6d12063 style: openapiのスタイルを修正 2023-06-12 18:01:34 +09:00
usbharu ebe5f45444 feat: その他のopenapiも書いた 2023-06-12 17:33:31 +09:00
usbharu 5100814840 feat: openapiにpostの定義を書いた 2023-06-12 16:56:33 +09:00
usbharu de45bcf164 feat: openapiにpostの定義を書いた 2023-06-12 15:46:29 +09:00
usbharu 160839a089 Merge pull request #20 from usbharu/feature/activitypub-like
Feature/activitypub like
2023-06-08 22:57:45 +09:00
usbharu e34ef3b6f8 style: スタイルを修正 2023-06-08 22:54:37 +09:00
usbharu 0eb60669f5 fix: ドメイン取得方法を修正 2023-06-08 22:29:30 +09:00
usbharu 2d4fed7649 feat: ノートが正常に取得できなくなっていた問題を修正 2023-06-04 12:32:40 +09:00
usbharu 67f9fbee47 feat: Likeを受け取れるように 2023-06-04 02:09:01 +09:00
usbharu 3fb5c0e19a Merge pull request #19 from usbharu/feature/refactor-service
Feature/refactor service
2023-06-04 01:03:55 +09:00
usbharu 31e6b0f8d2 style: スタイルを修正 2023-06-04 00:59:47 +09:00
usbharu 1a63ae104c fix: ActivityPubのidが重複した際の処理を修正 2023-06-04 00:47:09 +09:00
usbharu d3d91fc2bc feat: Postのidが同じ時、上書きするように 2023-06-03 23:54:13 +09:00
usbharu cec78bff00 feat: PostServiceを実装 2023-06-03 23:33:20 +09:00
usbharu 4d60a7eeb8 test: テストを修正 2023-06-03 23:31:33 +09:00
usbharu 3b188f3033 feat: PostApiServiceを実装 2023-06-03 21:25:54 +09:00
usbharu a9a7e23d1c refactor: postのサービスをリファクタリング 2023-06-03 20:55:54 +09:00
usbharu d2e9c2b10c test: テストのクラスを移動 2023-06-03 11:31:07 +09:00
usbharu 97e2a9be21 refactor: serviceのクラスを移動 2023-06-03 11:28:05 +09:00
usbharu c581e563d9 Merge pull request #17 from usbharu/feature/ap-create
Feature/ap create
2023-06-03 10:55:03 +09:00
usbharu 0826170031 fix: テストが落ちるのを修正 2023-06-03 10:51:30 +09:00
usbharu e7b0df8afb style: スタイルを修正 2023-06-02 17:31:54 +09:00
usbharu f2c2370659 style: スタイルを修正 2023-06-02 17:11:52 +09:00
usbharu c3788c8127 refactor: 同じURLをまとめた 2023-05-24 00:19:23 +09:00
usbharu f9e47c0a31 fix: Createを正常に処理できていなかったのを修正 2023-05-23 23:51:53 +09:00
usbharu b8613e2bf1 feat: Createに対応 2023-05-23 23:39:32 +09:00
usbharu 5b6e0a3657 feat: フォローリクエストに対応。フォローした後無限ループする問題を修正 2023-05-22 23:33:33 +09:00
usbharu c1f7f838ca Merge pull request #16 from usbharu/feature/ap-follow
Feature/ap follow
2023-05-22 16:45:24 +09:00
usbharu 9c41b6543a feat: 秘密にすべき情報を見えないように 2023-05-22 16:39:21 +09:00
usbharu 152d7ea5d6 feat: Acceptを受け取ったときの処理を追加 2023-05-22 16:36:49 +09:00
usbharu 194a648862 feat: Followを送れるように 2023-05-22 16:08:28 +09:00
usbharu acd305d289 refactor: ActivityPubFollowServiceをActivityPubReceiveFollowServiceにリネーム 2023-05-22 15:35:45 +09:00
usbharu 3d0ef1cb76 Merge pull request #15 from usbharu/feature/ab-undo
Feature/ab undo
2023-05-22 15:25:47 +09:00
usbharu bfda7478ee style: スタイルを修正 2023-05-22 15:20:15 +09:00
usbharu cb2ee6ca3f feat: Undoを実装 2023-05-21 17:52:36 +09:00
usbharu fbff97c247 Merge pull request #14 from usbharu/feature/api
Feature/api
2023-05-20 19:22:55 +09:00
usbharu 4ba606b5d1 chore: インデントの重要度を0に 2023-05-20 19:19:51 +09:00
usbharu 67610f2c02 style: スタイルを修正 2023-05-20 19:11:14 +09:00
usbharu 27b561976a style: スタイルを修正 2023-05-20 18:10:09 +09:00
usbharu 3a58e72e0f style: 名前付き引数を使用するように 2023-05-20 18:02:25 +09:00
usbharu 2ba2b455da fix: APのKeyにidがなくなっていたのを修正 2023-05-20 17:56:11 +09:00
usbharu efd85112ca feat: 実装し忘れていた部分を実装 2023-05-20 17:19:38 +09:00
usbharu c40576b3c7 chore: OpenAPI定義を修正 2023-05-20 16:45:36 +09:00
usbharu 3742fb5691 feat: Usersのルーティングを追加 2023-05-20 15:29:44 +09:00
usbharu ec5dca4ed2 feat: UsersのAPIの返り値を修正 2023-05-20 15:05:27 +09:00
usbharu 9c8aef6c44 test: Usersのテストを追加 2023-05-20 15:04:56 +09:00
usbharu 22ac04a991 test: Postsのテストを追加 2023-05-19 22:54:22 +09:00
usbharu 050efb1ee0 test: 認証関係を修正2 2023-05-18 15:45:37 +09:00
usbharu f0d5d8b672 test: 認証関係を修正 2023-05-18 15:33:00 +09:00
usbharu d3bab9a247 feat: usersのAPIを追加 2023-05-18 15:11:07 +09:00
usbharu 21ea966ca3 feat: 投稿取得のAPIを追加 2023-05-17 21:56:06 +09:00
usbharu 5b2d2956bd feat: 投稿のテストを追加 2023-05-08 16:07:19 +09:00
usbharu 27ae5f039c style: スタイルを修正 2023-05-08 11:48:27 +09:00
usbharu 5422aeeb60 refactor: 公開範囲を列挙型に変更 2023-05-08 11:42:55 +09:00
usbharu 7fad9fcfa6 feat: 投稿のAPIを作成 2023-05-08 11:13:01 +09:00
usbharu e1f10ab064 feat: usernameからuidに変更 2023-05-08 11:11:52 +09:00
usbharu 05ceab0379 refactor: Postをリファクタリング 2023-05-05 16:04:48 +09:00
usbharu 1b6147db7f test: JwtRefreshTokenRepositoryのテストを追加 2023-05-05 13:19:35 +09:00
usbharu 6d9ef35903 test: ContentTypeRouteSelectorのテストを追加 2023-05-05 12:41:04 +09:00
usbharu 36c35cf45a test: MetaService、ServerInitialiseServiceのテストを追加 2023-05-04 14:01:21 +09:00
usbharu 20907ca1bc Merge pull request #13 from usbharu/feature/di-with-annotation
Feature/di with annotation
2023-05-04 12:06:40 +09:00
usbharu 6fc803e2f2 feat: アノテーションでDIの設定をするように 2023-05-04 11:50:38 +09:00
usbharu 8c89860795 chore: koin-annotationの依存を追加 2023-05-04 11:48:39 +09:00
usbharu 85bbe55628 Merge pull request #12 from usbharu/feature/auth
Feature/auth
2023-05-03 17:04:23 +09:00
usbharu 3d40e64406 Merge branch 'develop' into feature/auth 2023-05-03 17:01:41 +09:00
usbharu e4aee24480 chore: CIの名前を変更 2023-05-03 17:00:55 +09:00
usbharu dfe4621ec1 chore: Lintを実行するように 2023-05-03 16:57:04 +09:00
usbharu 7e3edf90bd style: テストのスタイルを修正 2023-05-03 16:53:26 +09:00
usbharu 8c4e6f516b test: JWTの発行、リフレッシュトークンのテストを追加 2023-05-03 16:44:46 +09:00
usbharu 2734ea3ffc test: リフレッシュトークンのテストを追加 2023-05-03 15:32:13 +09:00
usbharu c50f8a0594 test: JWTでログインのテストを追加 2023-05-03 14:53:35 +09:00
usbharu a053a17924 style: スタイルを修正 2023-05-02 16:23:36 +09:00
usbharu 2f1df0bcfd style: スタイルを修正 2023-05-02 16:21:12 +09:00
usbharu 95e47a0e9b refactor: JWT関係のコードをリファクタリング 2023-05-02 15:53:04 +09:00
usbharu 8640fc44ee feat: トークン、リフレッシュトークンの発行とリフレッシュトークンからトークンの再生成ができるように 2023-05-02 08:48:23 +09:00
usbharu 6b30fc1f4d feat: リフレッシュトークンを追加 2023-05-01 16:07:22 +09:00
usbharu 96c54d26fd feat: パスワード、ユーザー名が間違っているときに正常なHTTP Status Codeを返すように 2023-05-01 10:48:59 +09:00
usbharu bf6fe19ede feat: 認証の確認の実装を追加 2023-05-01 09:12:15 +09:00
usbharu f153ca85f3 feat: kid,issuer,audを指定するように 2023-05-01 07:27:28 +09:00
usbharu 638915230b fix: jwkの形式を修正 2023-05-01 07:19:30 +09:00
usbharu aebf0862e0 feat: 自動で鍵を作成するように 2023-05-01 07:09:26 +09:00
usbharu f0383e3a95 feat: 初回起動チェックを追加 2023-05-01 06:38:30 +09:00
usbharu 83b99e305d feat: サンプルの値を使ってJWTでログイントークンを発行できるように 2023-04-30 17:05:10 +09:00
usbharu 8a3b83f644 chore: 依存にktor-auth-jwtを追加 2023-04-30 13:49:11 +09:00
usbharu daf6acf4f8 Merge pull request #11 from usbharu/feature/detekt
Feature/detekt
2023-04-30 02:02:15 +09:00
usbharu d556313866 chore: Lintエラーの許容範囲を20に設定 2023-04-30 01:55:07 +09:00
usbharu 028c988475 style: テストのスタイルを修正 2023-04-30 01:38:59 +09:00
usbharu fcabce7380 style: スタイルを修正 2023-04-30 01:25:54 +09:00
usbharu 5ca049f588 chore: Lintを追加 2023-04-29 23:57:25 +09:00
usbharu b9a51363e7 chore: ビルド高速化の設定を追加 2023-04-29 23:01:27 +09:00
usbharu d51eccfe8d chore: Kotlin,Ktor,Gradleのバージョンを変更 2023-04-29 22:40:22 +09:00
usbharu b79063e08f chore: Ktorのバージョンを2.3.0に 2023-04-29 22:25:41 +09:00
usbharu 1a6edbdac6 Merge pull request #10 from usbharu/feature/refactor-user
Feature/refactor user
2023-04-29 21:53:23 +09:00
usbharu ccc9659a78 test: Jsonのシリアライズが少し変わっていたので修正 2023-04-29 21:50:01 +09:00
usbharu fada03297e feat: CreateのIDを修正 2023-04-29 18:52:37 +09:00
usbharu 3b64cbea52 feat: Createにidを追加するように 2023-04-29 18:27:15 +09:00
usbharu 5ca2d8b0e9 fix: actorが初期化されていなかったのを修正 2023-04-29 17:59:57 +09:00
usbharu a0d661d9f0 feat: Createアクティビティにactorを追加 2023-04-29 17:54:36 +09:00
usbharu a4feef5f75 feat: Createアクティビティにactorを追加 2023-04-29 17:49:29 +09:00
usbharu c644a66071 fix: Signatureヘッダーの形式を変更2 2023-04-29 17:10:58 +09:00
usbharu 7b45451dca fix: Signatureヘッダーの形式を変更 2023-04-29 17:01:02 +09:00
usbharu 4a689901d9 fix: 鍵を強固に、PEMを修正 2023-04-29 16:47:58 +09:00
usbharu 099428ef00 fix: PEMを修正 2023-04-29 16:27:42 +09:00
usbharu d130f5c133 fix: Signatureヘッダーの変更をすべてのヘッダーに適用 2023-04-29 16:19:07 +09:00
usbharu 28a543166a fix: Signatureヘッダーを少し新しい仕様に準拠するように変更 2023-04-29 16:04:17 +09:00
usbharu 08f45e1a8e fix: ホストのポート番号がおかしくなるのでとりあえず削除 2023-04-29 15:52:59 +09:00
usbharu 068cbbc076 feat: Hostの署名に対応 2023-04-29 15:44:48 +09:00
usbharu d2971d02a5 feat: Getリクエストのログを追加 2023-04-29 15:24:28 +09:00
usbharu b0551ade76 fix: ContentTypeの判定を修正 2023-04-29 15:11:24 +09:00
usbharu 6ae140a58d fix: getリクエストからdigestを削除 2023-04-29 14:46:22 +09:00
usbharu 2c844022ef fix: なぜか必ずJsonを返すようになっていたので修正 2023-04-29 14:44:43 +09:00
usbharu f4820dfeb5 fix: Signatureヘッダーを修正 2023-04-29 14:25:12 +09:00
usbharu f9c6ed539a feat: Getリクエストも署名できるように 2023-04-29 14:16:48 +09:00
usbharu 8aab1e5907 fix: Acceptヘッダーの判定方法を修正 2023-04-29 13:36:41 +09:00
usbharu 1f4df77f98 feat: Acceptヘッダーのログを追加 2023-04-29 13:25:12 +09:00
usbharu c61710f476 fix: 軽微な修正、ロガーを追加 2023-04-29 13:02:38 +09:00
usbharu a31b1226e9 fix: ドメインの抽出を修正 2023-04-28 23:36:27 +09:00
usbharu bd122ea164 fix: Userのinbox/outbox/urlを修正 2023-04-28 23:06:07 +09:00
usbharu c93a00cd4b test: UserServiceのテストを追加 2023-04-28 17:54:59 +09:00
usbharu 8893f8c398 fix: PrivateKeyを文字列にする処理を修正 2023-04-28 17:54:42 +09:00
usbharu 25b6f8caea refactor: UserServiceをインターフェースに抽出 2023-04-28 16:00:01 +09:00
usbharu 2f29cf882f feat: リモートユーザーの作成を追加 2023-04-28 15:41:31 +09:00
usbharu 6106109742 refactor: 不要なフィールドを削除 2023-04-28 15:28:30 +09:00
usbharu e0aee75930 refactor: 一部の命名を変更。ユーザーを作成できるように 2023-04-28 15:04:59 +09:00
usbharu d369c68d94 refactor: Userを移動 2023-04-28 13:56:46 +09:00
usbharu be531684b5 feat: UserCreateDtoを作成 2023-04-28 13:56:20 +09:00
usbharu 24999b0524 refactor: UserAuthenticationを削除 2023-04-28 13:51:48 +09:00
usbharu 07d6c66ba0 refactor: UsersFollowersを移動 2023-04-28 13:49:57 +09:00
usbharu b7dfc328eb feat: RepositoryにID発行を追加 2023-04-28 11:57:18 +09:00
usbharu 2a2b12a1d6 test: テストを修正 2023-04-28 11:46:27 +09:00
usbharu 561509f23b feat: saveをinsertからupsertに 2023-04-28 11:08:18 +09:00
usbharu 48f455d4bc refactor: updateを非推奨にしてcreateをsaveに変更 2023-04-28 11:00:58 +09:00
usbharu cabecd4fce style: コードを整形 2023-04-26 17:55:45 +09:00
usbharu 5e11b70d22 feat: LocalDateTimeからInstantに変更 2023-04-26 17:55:24 +09:00
usbharu ef7a6f6bbb refactor: UserAuth関連を削除 2023-04-26 17:28:59 +09:00
usbharu da5beb01db fix: 重複したindexを削除 2023-04-26 17:10:19 +09:00
usbharu fb6bf63c11 refactor: UserEntityを削除 2023-04-26 17:08:27 +09:00
usbharu 98178ef5ab refactor: UserAuthenticationを非推奨に 2023-04-26 16:52:05 +09:00
usbharu 8101354e91 Merge pull request #9 from usbharu/feature/native
Feature/native
2023-04-22 11:26:07 +09:00
usbharu 5ff0f4d581 feat: ネイティブイメージのリフレクションを改善 2023-04-22 11:20:11 +09:00
usbharu d91d7b58cd feat: ネイティブイメージで起動できるように 2023-04-22 09:13:53 +09:00
usbharu 2e441bb063 Merge pull request #8 from usbharu/feature/post
Feature/post
2023-04-21 22:23:22 +09:00
usbharu 902af86c89 feat: summaryが無いときは空にするように 2023-04-21 22:19:00 +09:00
usbharu ae166f7bce style: 改行を追加 2023-04-21 22:16:58 +09:00
usbharu bab4f03053 fix: 間違えてNoteを直接送りつけていたのでCreateを送りつけるように 2023-04-21 21:43:20 +09:00
usbharu 98c2c88fa4 fix: 間違えてpostEntityをデシリアライズしていたので変換するように 2023-04-21 21:35:16 +09:00
usbharu 6f31908215 feat: DeliverPostJobを登録 2023-04-21 21:16:38 +09:00
usbharu 801aed834f feat: ログを追加 2023-04-21 21:05:26 +09:00
usbharu c9f86a16e7 feat: ログを追加 2023-04-21 20:52:02 +09:00
usbharu a0fe4ffbd5 feat: ユーザーをurlで一括取得を実装 2023-04-21 20:25:50 +09:00
usbharu d5232c6a7f feat: ユーザーページにフォロワーの情報を表示するように 2023-04-21 20:10:27 +09:00
usbharu 48d49fe18d feat: ユーザーページに仮の情報を表示するように 2023-04-21 19:47:15 +09:00
usbharu 7a11f3cd46 fix: nameがnullのときpreferredUsernameを変わりに使用するように 2023-04-21 19:30:32 +09:00
usbharu 42dc455873 feat: APIから投稿できるように 2023-04-21 18:24:13 +09:00
usbharu 8ccf2546b4 test: postの作成のテストを追加 2023-04-21 01:07:24 +09:00
usbharu 3ccdc81b20 feat: DIに登録 2023-04-21 00:14:17 +09:00
usbharu d91d810e4d feat: 投稿をinboxに送りつける処理を追加 2023-04-21 00:10:17 +09:00
usbharu 6234315086 feat: 投稿を追加 2023-04-20 22:30:36 +09:00
usbharu 7f11c1b605 feat: ID生成器を追加 2023-04-20 22:02:14 +09:00
usbharu 8355df70cb Merge pull request #7 from usbharu/feature/refactor-ap-model
refactor: AP関係のモデルを移動
2023-04-14 15:54:45 +09:00
usbharu 5fbaa07b53 refactor: AP関係のモデルを移動 2023-04-14 15:38:49 +09:00
usbharu a3bf8c78bc Merge pull request #6 from usbharu/feature/client
feat: Webクライアントを追加
2023-04-14 09:49:44 +09:00
usbharu 1efd6557b5 feat: Webクライアントを追加 2023-04-13 15:56:25 +09:00
usbharu a23f26a399 Merge pull request #4 from usbharu/feature/refactor
refactor: 不要なファイルを削除
2023-04-13 11:44:33 +09:00
usbharu a9bbcdcf62 fix: 削除しきれていなかった設定を削除 2023-04-13 11:41:58 +09:00
usbharu 5bab0d4c55 refactor: 不要なファイルを削除 2023-04-13 11:36:15 +09:00
usbharu effe075180 chore: 重複した依存関係の記述を削除 2023-04-13 11:21:42 +09:00
usbharu b4140d710e Merge pull request #3 from usbharu/bugfix/fix-ci
chore: gradlewを修正、不要なファイルを削除
2023-04-13 01:53:23 +09:00
usbharu a6e338b460 Merge branch 'develop' into bugfix/fix-ci 2023-04-13 01:48:26 +09:00
usbharu 3fcdda2614 chore: gradlewを修正、不要なファイルを削除 2023-04-13 01:47:19 +09:00
usbharu 24609b09fc Merge pull request #2 from usbharu/master
Merge pull request #1 from usbharu/develop
2023-04-13 01:43:57 +09:00
usbharu 8acd58626f Merge pull request #1 from usbharu/develop
Create .github/workflows/gradle.yml
2023-04-13 01:39:55 +09:00
usbharu 5bb6d9a63c Create .github/workflows/gradle.yml 2023-04-13 01:38:35 +09:00
711 changed files with 34775 additions and 4076 deletions
+8
View File
@@ -0,0 +1,8 @@
{
"projects": {
"./hideout-activitypub": "hideout-activitypub",
"./hideout-core": "hideout-core",
"./hideout-mastodon": "hideout-mastodon",
"./owl": "owl"
}
}
@@ -0,0 +1,82 @@
name: master-publish-package.yaml
on:
pull_request:
branches:
- "master"
- "release-test-master"
jobs:
release-diff-check:
name: Release diff check
runs-on: ubuntu-latest
outputs:
diff: ${{ steps.check-diff.outputs.result }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: fetch git
run: git fetch --depth 1 origin
- name: Check diff
id: check-diff
uses: actions/github-script@v7
with:
result-encoding: 'json'
script: |
const fs = require('fs')
const {execSync} = require('child_process');
const jsonData = JSON.parse(fs.readFileSync('./.github/monorepo.json', 'utf8'));
const baseRef = context.payload.pull_request.base.ref
console.log(baseRef)
var tags = []
for (let [key, value] of Object.entries(jsonData.projects)) {
console.log(execSync("git branch", {encoding: 'utf8'}))
const command = "git diff origin/" + baseRef + " -- HEAD --name-only --relative=" + key + "\n";
const output = execSync(command, {encoding: 'utf8'});
console.log(output)
if (output.trim() === '') {
tags.push(value)
}
}
return tags
- name: show diff
env:
DIFF: ${{ steps.check-diff.outputs.result }}
run: echo "$DIFF"
publish-package:
runs-on: ubuntu-latest
needs: release-diff-check
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: false
gradle-home-cache-cleanup: true
- name: Publish OWL Local
if: ${{ github.base_ref == 'release-test-master' && contains( needs.release-diff-check.outputs.diff, 'owl') }}
run: ./owl/gradlew :owl:publishMavenPublicationToMavenLocal
- name: Publish OWL Gitea
if: ${{ github.base_ref == 'master' && contains( needs.release-diff-check.outputs.diff , 'owl')}}
run: ./owl/gradlew :owl:publishMavenPublicationToGiteaRepository
env:
USERNAME: ${{ github.actor }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITEA: ${{ secrets.GITEA }}
@@ -0,0 +1,129 @@
name: PullRequest Merge Check
on:
pull_request:
paths-ignore:
- 'owl/**'
branches:
- "develop"
types:
- opened # default
- reopened # default
- synchronize # default
- ready_for_review # 必要
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
checks: write
id-token: write
pull-requests: write
jobs:
setup:
name: Setup
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.PAT }}
- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: false
gradle-home-cache-cleanup: true
- name: Build
run: ./gradlew classes --no-daemon
unit-test:
name: Unit Test
needs: [ setup ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.PAT }}
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: false
gradle-home-cache-cleanup: true
- name: Unit Test
run: ./hideout-core/gradlew :hideout-core:koverXmlReport
- name: Add coverage report to PR
if: always()
id: kover
uses: madrapps/jacoco-report@v1.7.0
with:
paths: |
${{ github.workspace }}/hideout-core/build/reports/kover/report.xml
token: ${{ secrets.GITHUB_TOKEN }}
title: Code Coverage
update-comment: true
min-coverage-overall: 80
min-coverage-changed-files: 80
coverage-counter-type: LINE
- name: JUnit Test Report
uses: mikepenz/action-junit-report@v4
with:
report_paths: '**/TEST-*.xml'
lint:
name: Lint
needs: [ setup ]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
token: '${{ secrets.PAT }}'
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: false
gradle-home-cache-cleanup: true
- name: Build with Gradle
run: ./gradlew :hideout-core:detektMain :hideout-mastodon:detektMain
- name: Auto Commit
if: ${{ always() }}
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "style: fix lint (CI)"
+14
View File
@@ -35,3 +35,17 @@ out/
### VS Code ###
.vscode/
*.db
/src/main/resources/static/
/node_modules/
/src/main/web/generated/
/stats.html
/tomcat/
/tomcat-e2e/
/e2eTest.log
/files/
*.log
/hideout-core/files/
/hideout-core/.kotlin/sessions/
/hideout-mastodon/.kotlin/sessions/
/http-client.private.env.json
+202
View File
@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
https://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+75
View File
@@ -0,0 +1,75 @@
# Hideout
HideoutはMastodon互換APIを備えたSNSで、ActivityPubに対応し、KotlinとSpring Frameworkを使用して制作されているソフトウェアです。現在は開発中で、SNSとして主要な機能を備えていますが、セキュリティの問題や不安定なテーブル定義などがあるためホストすることはおすすめしません。
## 特徴
### ActivityPubでつながるネットワーク
ActivityPubを実装しているためMastodonやMisskey、Pleromaとつながることができます。また、ActivityPub以外の分散型の通信プロトコルを実装することがあるかもしれません。
### Mastodon互換API
OAuth2プロバイダーを含めたほとんどのAPIがMastodonとの互換性を持っているため、既存のMastodon クライアントを使用することができます!また、今後Fedibirdやglitch-soc互換のAPIを実装するかもしれません。
## セルフホスト
> [!CAUTION]
> **免責事項**
>
> 本ソフトウェアを利用して発生したすべての事象に対して開発者は責任を負いません。
> 本ソフトウェアはApache License 2.0を採用しています。
現時点でセルフホストはおすすめしませんが、実験用としてホストすることはできます!
### 使用技術
- **Kotlin** 強力な言語機能でアプリケーションの安全性を高めます。
- **Spring Framework** (Spring Boot/Spring Security/Spring Web/Spring Data) 豊富な機能と堅牢なライブラリでソフトウェアの基幹部分を担います。
- **OpenAPI** スキーマファーストのエンドポイント自動生成はAPIの安定性を高めます。
### 要件
#### 起動
- Java 21
- PostgreSQL 12+
- MongoDB(必須でない) 4.4.x+
#### ビルド
- Java 21
- Gradle 8+
実験用途として、PostgreSQLはH2DB(バンドル)のPostgreSQL互換モードでも問題ありません。
Java 17でもビルド/起動ができますが、サポートしません。
MongoDBを使用しない場合、構成で`hideout.use-mongodb`をfalseにする必要があります。
### ビルド
今後のリリースでビルド済みjarなどを使う場合はスキップしてください。
```bash
gradle bootJar
```
`build/libs/hideout-x.x.x.jar`が生成されます。
### 起動
適切に設定した`application-dev.yml`などをクラスパス上に準備します。
`dev``prod`などに置き換えたり、[複数指定すること](https://spring.pleiades.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.core.spring.profiles.active)もできます。
```bash
java -jar build/libs/hideout-x.x.x.jar --spring.profiles.active=dev
```
https://spring.pleiades.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.first-application.executable-jar.gradle
### 注意事項
本ソフトウェアは開発中です。正常に機能しない場合があります。また、連合先に迷惑をかける事になる可能性があります。DB/設定ファイル/その他リソースなどの利用方法に破壊的な変更が入る可能性があります。
+51 -81
View File
@@ -1,100 +1,70 @@
val ktor_version: String by project
val kotlin_version: String by project
val logback_version: String by project
val exposed_version: String by project
val h2_version: String by project
val koin_version: String by project
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
plugins {
kotlin("jvm") version "1.8.10"
id("io.ktor.plugin") version "2.2.4"
// id("org.jetbrains.kotlin.plugin.serialization") version "1.8.10"
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.spring.boot)
alias(libs.plugins.kotlin.spring)
}
group = "dev.usbharu"
version = "0.0.1"
application {
mainClass.set("io.ktor.server.netty.EngineMain")
val isDevelopment: Boolean = project.ext.has("development")
applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment")
}
tasks.withType<Test> {
useJUnitPlatform()
apply {
plugin("io.spring.dependency-management")
}
repositories {
mavenCentral()
}
maven {
url = uri("https://git.usbharu.dev/api/packages/usbharu/maven")
}
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/usbharu/http-signature")
credentials {
kotlin {
target {
compilations.all {
kotlinOptions.jvmTarget = JavaVersion.VERSION_11.toString()
username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
}
}
maven {
name = "GitHubPackages2"
url = uri("https://maven.pkg.github.com/multim-dev/emoji-kt")
credentials {
username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
}
}
}
configurations {
all {
exclude("org.springframework.boot", "spring-boot-starter-logging")
exclude("ch.qos.logback", "logback-classic")
}
}
dependencies {
implementation("io.ktor:ktor-server-core-jvm:$ktor_version")
implementation("io.ktor:ktor-server-auth-jvm:$ktor_version")
implementation("io.ktor:ktor-server-sessions-jvm:$ktor_version")
implementation("io.ktor:ktor-server-auto-head-response-jvm:$ktor_version")
implementation("io.ktor:ktor-server-cors-jvm:$ktor_version")
implementation("io.ktor:ktor-server-default-headers-jvm:$ktor_version")
implementation("io.ktor:ktor-server-forwarded-header-jvm:$ktor_version")
implementation("io.ktor:ktor-server-call-logging-jvm:$ktor_version")
implementation("io.ktor:ktor-server-content-negotiation-jvm:$ktor_version")
implementation("io.ktor:ktor-serialization-jackson:$ktor_version")
implementation("org.jetbrains.exposed:exposed-core:$exposed_version")
implementation("org.jetbrains.exposed:exposed-jdbc:$exposed_version")
implementation("com.h2database:h2:$h2_version")
implementation("org.xerial:sqlite-jdbc:3.40.1.0")
implementation("io.ktor:ktor-server-websockets-jvm:$ktor_version")
implementation("io.ktor:ktor-server-netty-jvm:$ktor_version")
implementation("ch.qos.logback:logback-classic:$logback_version")
implementation("io.insert-koin:koin-core:$koin_version")
implementation("io.insert-koin:koin-ktor:$koin_version")
implementation("io.insert-koin:koin-logger-slf4j:$koin_version")
implementation("io.ktor:ktor-client-logging-jvm:2.2.4")
implementation("io.ktor:ktor-server-host-common-jvm:2.2.4")
implementation("io.ktor:ktor-server-status-pages-jvm:2.2.4")
testImplementation("io.ktor:ktor-server-tests-jvm:$ktor_version")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version")
testImplementation ("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4")
testImplementation("io.ktor:ktor-client-mock:$ktor_version")
implementation("io.ktor:ktor-client-core:$ktor_version")
implementation("io.ktor:ktor-client-cio:$ktor_version")
implementation("io.ktor:ktor-client-content-negotiation:$ktor_version")
testImplementation("io.ktor:ktor-client-mock:$ktor_version")
implementation("tech.barbero.http-messages-signing:http-messages-signing-core:1.0.0")
testImplementation("org.junit.jupiter:junit-jupiter:5.8.1")
testImplementation("org.mockito.kotlin:mockito-kotlin:4.1.0")
testImplementation("org.mockito:mockito-inline:5.2.0")
implementation("org.drewcarlson:kjob-core:0.6.0")
testImplementation("io.ktor:ktor-server-test-host-jvm:2.2.4")
testImplementation("org.slf4j:slf4j-simple:2.0.7")
implementation("dev.usbharu:hideout-core:0.0.1")
implementation("dev.usbharu:hideout-mastodon:1.0-SNAPSHOT")
}
jib {
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
dockerClient.environment = mapOf(
"DOCKER_HOST" to "localhost:2375"
)
}
tasks.register("run") {
dependsOn(gradle.includedBuild("hideout-core").task(":run"))
}
ktor {
docker {
localImageName.set("hideout")
}
springBoot {
mainClass = "dev.usbharu.hideout.SpringApplicationKt"
}
+179
View File
@@ -0,0 +1,179 @@
build:
maxIssues: 20
weights:
Indentation: 0
MagicNumber: 0
EnumEntryNameCase: 0
VariableNaming: 0
NoNameShadowing: 0
style:
ClassOrdering:
active: true
MandatoryBracesIfStatements:
active: true
MandatoryBracesLoops:
active: true
MultilineLambdaItParameter:
active: false
UseEmptyCounterpart:
active: true
ExpressionBodySyntax:
active: true
WildcardImport:
active: false
ReturnCount:
active: false
MagicNumber:
ignorePropertyDeclaration: true
ForbiddenComment:
active: false
ThrowsCount:
active: false
UseCheckOrError:
active: false
UseRequire:
active: false
VarCouldBeVal:
ignoreLateinitVar: true
complexity:
CognitiveComplexMethod:
active: true
ComplexCondition:
active: true
ComplexInterface:
active: true
threshold: 30
LabeledExpression:
active: false
NamedArguments:
active: true
ignoreArgumentsMatchingNames: true
threshold: 5
NestedBlockDepth:
active: true
NestedScopeFunctions:
active: true
ReplaceSafeCallChainWithRun:
active: false
StringLiteralDuplication:
active: false
LongParameterList:
constructorThreshold: 10
TooManyFunctions:
ignoreDeprecated: true
ignoreOverridden: true
ignorePrivate: true
LongMethod:
active: true
excludes:
- "**/test/**"
exceptions:
ExceptionRaisedInUnexpectedLocation:
active: true
NotImplementedDeclaration:
active: false
ObjectExtendsThrowable:
active: true
ThrowingExceptionInMain:
active: true
ThrowingExceptionsWithoutMessageOrCause:
active: true
ThrowingNewInstanceOfSameException:
active: true
TooGenericExceptionCaught:
active: true
TooGenericExceptionThrown:
active: true
formatting:
Indentation:
indentSize: 4
NoWildcardImports:
active: false
naming:
FunctionMaxLength:
active: true
excludes:
- "**/test/**"
FunctionMinLength:
ignoreFunction:
- of
active: true
LambdaParameterNaming:
active: true
ConstructorParameterNaming:
excludes:
- "**/domain/model/ap/*"
ignoreOverridden: true
VariableNaming:
excludes:
- "**/domain/model/ap/*"
performance:
UnnecessaryPartOfBinaryExpression:
active: true
UnnecessaryTemporaryInstantiation:
active: true
SpreadOperator:
active: false
potential-bugs:
CastToNullableType:
active: true
DontDowncastCollectionTypes:
active: true
ElseCaseInsteadOfExhaustiveWhen:
active: true
HasPlatformType:
active: false
coroutines:
RedundantSuspendModifier:
active: false
InjectDispatcher:
active: false
+16
View File
@@ -0,0 +1,16 @@
version: "3"
services:
db:
image: postgres:16
ports:
- "5432:5432"
environment:
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "hideout"
mongodb:
image: mongo:7.0.14
ports:
- "27017:27017"
+4 -7
View File
@@ -1,7 +1,4 @@
ktor_version=2.2.4
kotlin_version=1.8.10
logback_version=1.4.6
kotlin.code.style=official
exposed_version=0.41.1
h2_version=2.1.214
koin_version=3.3.1
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.caching=true
org.gradle.jvmargs=-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
Binary file not shown.
+3 -1
View File
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Vendored Regular → Executable
+31 -13
View File
@@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
@@ -55,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -80,13 +82,12 @@ do
esac
done
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -133,22 +134,29 @@ location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
@@ -193,11 +201,15 @@ if "$cygwin" || "$msys" ; then
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
@@ -205,6 +217,12 @@ set -- \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
Vendored
+94 -89
View File
@@ -1,89 +1,94 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
+21
View File
@@ -0,0 +1,21 @@
plugins {
kotlin("jvm") version "1.9.25"
}
group = "dev.usbharu"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation(kotlin("test"))
}
tasks.test {
useJUnitPlatform()
}
kotlin {
jvmToolchain(21)
}
Binary file not shown.
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
+252
View File
@@ -0,0 +1,252 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
+94
View File
@@ -0,0 +1,94 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
+5
View File
@@ -0,0 +1,5 @@
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
}
rootProject.name = "hideout-activitypub"
@@ -0,0 +1,5 @@
package dev.usbharu
fun main() {
println("Hello World!")
}
+25
View File
@@ -0,0 +1,25 @@
{
"allowedLicenses": [
{
"moduleLicense": "Apache License, Version 2.0"
},
{
"moduleLicense": "MIT License"
},
{
"moduleLicense": "MIT-0"
},
{
"moduleLicense": "The BSD License"
},
{
"moduleLicense": "PUBLIC DOMAIN"
},
{
"moduleLicense": "The 2-Clause BSD License"
},
{
"moduleLicense": "GNU GENERAL PUBLIC LICENSE, Version 2 + Classpath Exception"
}
]
}
+249
View File
@@ -0,0 +1,249 @@
import com.github.jk1.license.filter.DependencyFilter
import com.github.jk1.license.filter.LicenseBundleNormalizer
import com.github.jk1.license.importer.DependencyDataImporter
import com.github.jk1.license.importer.XmlReportImporter
import com.github.jk1.license.render.*
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.detekt)
alias(libs.plugins.spring.boot)
alias(libs.plugins.kotlin.spring)
alias(libs.plugins.kover)
alias(libs.plugins.license.report)
}
apply {
plugin("io.spring.dependency-management")
}
group = "dev.usbharu"
version = "0.0.1"
tasks.withType<Test> {
useJUnitPlatform()
doFirst {
jvmArgs = arrayOf(
"--add-opens", "java.base/java.lang=ALL-UNNAMED",
"--add-opens", "java.base/java.util=ALL-UNNAMED",
"--add-opens", "java.naming/javax.naming=ALL-UNNAMED",
"--add-opens", "java.base/java.util.concurrent.locks=ALL-UNNAMED"
).toMutableList()
}
}
kotlin {
jvmToolchain(21)
compilerOptions {
freeCompilerArgs.add("-Xjsr305=strict")
jvmTarget = JvmTarget.JVM_21
}
}
repositories {
mavenCentral()
maven {
url = uri("https://git.usbharu.dev/api/packages/usbharu/maven")
}
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/usbharu/http-signature")
credentials {
username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
}
}
maven {
name = "GitHubPackages2"
url = uri("https://maven.pkg.github.com/multim-dev/emoji-kt")
credentials {
username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
}
}
}
val os = org.gradle.nativeplatform.platform.internal
.DefaultNativePlatform.getCurrentOperatingSystem()
dependencies {
developmentOnly(libs.h2db)
developmentOnly("org.springframework.boot:spring-boot-devtools")
detektPlugins(libs.detekt.formatting)
implementation(libs.bundles.exposed)
implementation(libs.bundles.coroutines)
implementation(libs.bundles.ktor.client)
implementation(libs.bundles.apache.tika)
implementation(libs.bundles.openapi)
implementation(libs.bundles.owl.producer)
implementation(libs.bundles.owl.broker)
implementation(libs.bundles.spring.boot.oauth2)
implementation(libs.bundles.spring.boot.data.mongodb)
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
implementation("org.springframework.boot:spring-boot-starter-log4j2")
implementation("org.springframework.boot:spring-boot-starter-validation")
annotationProcessor("org.springframework:spring-context-indexer")
implementation(libs.blurhash)
implementation(libs.aws.s3)
implementation(libs.jsoup)
implementation(libs.owasp.java.html.sanitizer)
implementation(libs.postgresql)
implementation(libs.imageio.webp)
implementation(libs.thumbnailator)
implementation(libs.flyway.core)
runtimeOnly(libs.flyway.postgresql)
implementation(libs.owl.common.serialize.jackson)
implementation(libs.javacv) {
exclude(module = "opencv")
exclude(module = "flycapture")
exclude(module = "artoolkitplus")
exclude(module = "libdc1394")
exclude(module = "librealsense")
exclude(module = "librealsense2")
exclude(module = "tesseract")
exclude(module = "libfreenect")
exclude(module = "libfreenect2")
}
if (os.isWindows) {
implementation(variantOf(libs.javacv.ffmpeg) { classifier("windows-x86_64") })
} else {
implementation(variantOf(libs.javacv.ffmpeg) { classifier("linux-x86_64") })
}
implementation(libs.http.signature)
implementation(libs.emoji.kt)
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation(libs.kotlin.junit)
testImplementation(libs.coroutines.test)
testImplementation(libs.ktor.client.mock)
testImplementation(libs.h2db)
testImplementation(libs.mockito.kotlin)
}
detekt {
parallel = true
config.setFrom(files("../detekt.yml"))
buildUponDefaultConfig = true
basePath = "${rootDir.absolutePath}/src/main/kotlin"
autoCorrect = true
}
configurations.matching { it.name == "detekt" }.all {
resolutionStrategy.eachDependency {
if (requested.group == "org.jetbrains.kotlin") {
useVersion(io.gitlab.arturbosch.detekt.getSupportedKotlinVersion())
}
}
}
//tasks{
// bootRun {
// sourceResources(sourceSets.main.get())
// }
//}
tasks.withType<io.gitlab.arturbosch.detekt.Detekt> {
exclude("**/generated/**")
doFirst {
}
setSource("src/main/kotlin")
exclude("build/")
}
tasks.withType<io.gitlab.arturbosch.detekt.Detekt>().configureEach {
exclude("**/org/koin/ksp/generated/**", "**/generated/**")
}
tasks.withType<io.gitlab.arturbosch.detekt.DetektCreateBaselineTask>().configureEach {
exclude("**/org/koin/ksp/generated/**", "**/generated/**")
}
configurations {
all {
exclude("org.springframework.boot", "spring-boot-starter-logging")
exclude("ch.qos.logback", "logback-classic")
}
}
project.gradle.taskGraph.whenReady {
println(this.allTasks)
this.allTasks.map { println(it.name) }
if (this.hasTask(":koverGenerateArtifact")) {
println("has task")
val task = this.allTasks.find { it.name == "test" }
val verificationTask = task as VerificationTask
verificationTask.ignoreFailures = true
}
}
kover {
currentProject {
sources {
excludedSourceSets.addAll(
"aot", "e2eTest", "intTest"
)
}
}
reports {
filters {
excludes {
packages(
"dev.usbharu.hideout.activitypub.domain.exception",
"dev.usbharu.hideout.core.domain.exception",
"dev.usbharu.hideout.core.domain.exception.media",
"dev.usbharu.hideout.core.domain.exception.resource",
"dev.usbharu.hideout.core.domain.exception.resource.local"
)
annotatedBy("org.springframework.context.annotation.Configuration")
annotatedBy("org.springframework.boot.context.properties.ConfigurationProperties")
packages(
"dev.usbharu.hideout.controller.mastodon.generated",
"dev.usbharu.hideout.domain.mastodon.model.generated"
)
packages("org.springframework")
packages("org.jetbrains")
}
}
}
}
springBoot {
buildInfo {
}
}
licenseReport {
excludeOwnGroup = true
importers = arrayOf<DependencyDataImporter>(XmlReportImporter("hideout", File("$projectDir/license-list.xml")))
renderers = arrayOf<ReportRenderer>(
InventoryHtmlReportRenderer(),
CsvReportRenderer(),
JsonReportRenderer(),
XmlReportRenderer()
)
filters = arrayOf<DependencyFilter>(LicenseBundleNormalizer("$projectDir/license-normalizer-bundle.json", true))
allowedLicensesFile = File("$projectDir/allowed-licenses.json")
configurations = arrayOf("productionRuntimeClasspath")
}
+20
View File
@@ -0,0 +1,20 @@
#
# Copyright (C) 2024 usbharu
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
kotlin.code.style=official
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.caching=true
org.gradle.jvmargs=-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Vendored Executable
+252
View File
@@ -0,0 +1,252 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
+94
View File
@@ -0,0 +1,94 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
@@ -0,0 +1,56 @@
{
"bundles": [
{
"bundleName": "Apache-2.0",
"licenseName": "Apache License, Version 2.0",
"licenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
},
{
"bundleName": "EPL-1.0",
"licenseName": "Eclipse Public License - v 1.0",
"licenseUrl": "http://www.eclipse.org/legal/epl-v10.html"
}
],
"transformationRules": [
{
"bundleName": "Apache-2.0",
"licenseNamePattern": ".*The Apache Software License, Version 2.0.*"
},
{
"bundleName": "Apache-2.0",
"licenseNamePattern": "Apache 2"
},
{
"bundleName": "Apache-2.0",
"licenseUrlPattern": "http://www.apache.org/licenses/LICENSE-2.0.txt"
},
{
"bundleName": "Apache-2.0",
"licenseUrlPattern": "https://www.apache.org/licenses/LICENSE-2.0"
},
{
"bundleName": "Apache-2.0",
"licenseUrlPattern": "https://aws.amazon.com/apache2.0"
},
{
"bundleName": "Apache-2.0",
"licenseUrlPattern": "https://www.apache.org/licenses/LICENSE-2.0.txt"
},
{
"bundleName": "Apache-2.0",
"licenseNamePattern": "Special Apache"
},
{
"bundleName": "Apache-2.0",
"licenseNamePattern": "Keep this name"
},
{
"bundleName": "Apache-2.0",
"licenseNamePattern": "The Apache Software License, Version 2.0"
},
{
"bundleName": "EPL-1.0",
"licenseNamePattern": "EPL 1.0"
}
]
}
+22
View File
@@ -0,0 +1,22 @@
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
}
rootProject.name = "hideout-core"
//ローカルで変更した時、リリースまではアンコメント リリース後はコメントアウト
//includeBuild("../owl")
dependencyResolutionManagement {
repositories {
mavenCentral()
maven {
url = uri("https://git.usbharu.dev/api/packages/usbharu/maven")
}
}
versionCatalogs {
create("libs") {
from(files("../libs.versions.toml"))
}
}
}
@@ -0,0 +1,32 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.context.properties.ConfigurationPropertiesScan
import org.springframework.boot.runApplication
import org.springframework.cache.annotation.EnableCaching
@SpringBootApplication
@ConfigurationPropertiesScan
@EnableCaching
class SpringApplication
@Suppress("SpreadOperator")
fun main(args: Array<String>) {
runApplication<SpringApplication>(*args)
}
@@ -0,0 +1,38 @@
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.domain.model.actor.Actor
import java.net.URI
data class ActorDetail(
val id: Long,
val name: String,
val screenName: String,
val host: String,
val remoteUrl: String?,
val locked: Boolean,
val description: String,
val postsCount: Int,
val iconUrl: URI?,
val bannerURL: URI?,
val followingCount: Int?,
val followersCount: Int?,
) {
companion object {
fun of(actor: Actor, iconUrl: URI?, bannerURL: URI?): ActorDetail {
return ActorDetail(
id = actor.id.id,
name = actor.name.name,
screenName = actor.screenName.screenName,
host = actor.url.host,
remoteUrl = actor.url.toString(),
locked = actor.locked,
description = actor.description.description,
postsCount = actor.postsCount.postsCount,
iconUrl = iconUrl,
bannerURL = bannerURL,
followingCount = actor.followingCount?.relationshipCount,
followersCount = actor.followersCount?.relationshipCount,
)
}
}
}
@@ -0,0 +1,5 @@
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
data class DeleteLocalActor(val actorId: ActorId)
@@ -0,0 +1,8 @@
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.domain.model.support.acct.Acct
data class GetActorDetail(
val actorName: Acct? = null,
val id: Long? = null
)
@@ -0,0 +1,47 @@
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.config.ApplicationConfig
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.media.MediaRepository
import dev.usbharu.hideout.core.domain.model.support.principal.Principal
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Component
@Component
class GetActorDetailApplicationService(
private val actorRepository: ActorRepository,
private val mediaRepository: MediaRepository,
private val applicationConfig: ApplicationConfig,
transaction: Transaction
) :
AbstractApplicationService<GetActorDetail, ActorDetail>(
transaction,
logger
) {
override suspend fun internalExecute(command: GetActorDetail, principal: Principal): ActorDetail {
val actor = if (command.id != null) {
actorRepository.findById(ActorId(command.id))
?: throw IllegalArgumentException("Actor ${command.id} not found.")
} else if (command.actorName != null) {
val host = command.actorName.host.ifEmpty {
applicationConfig.url.host
}
actorRepository.findByNameAndDomain(command.actorName.userpart, host)
?: throw IllegalArgumentException("Actor ${command.actorName} not found.")
} else {
throw IllegalArgumentException("id and actorName are null.")
}
val iconUrl = actor.icon?.let { mediaRepository.findById(it)?.url }
val bannerUrl = actor.banner?.let { mediaRepository.findById(it)?.url }
return ActorDetail.of(actor, iconUrl, bannerUrl)
}
companion object {
private val logger = LoggerFactory.getLogger(GetActorDetailApplicationService::class.java)
}
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.actor
data class GetUserDetail(val id: Long)
@@ -0,0 +1,52 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiRepository
import dev.usbharu.hideout.core.domain.model.support.principal.Principal
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class GetUserDetailApplicationService(
private val actorRepository: ActorRepository,
private val userDetailRepository: UserDetailRepository,
private val customEmojiRepository: CustomEmojiRepository,
transaction: Transaction,
) :
AbstractApplicationService<GetUserDetail, UserDetail>(transaction, Companion.logger) {
override suspend fun internalExecute(command: GetUserDetail, principal: Principal): UserDetail {
val userDetail = userDetailRepository.findById(UserDetailId(command.id))
?: throw IllegalArgumentException("User ${command.id} does not exist")
val actor = actorRepository.findById(userDetail.actorId)
?: throw InternalServerException("Actor ${userDetail.actorId} not found")
val emojis = customEmojiRepository.findByIds(actor.emojis.map { it.emojiId })
return UserDetail.of(actor, userDetail, emojis)
}
companion object {
val logger = LoggerFactory.getLogger(GetUserDetailApplicationService::class.java)
}
}
@@ -0,0 +1,3 @@
package dev.usbharu.hideout.core.application.actor
data class MigrationLocalActor(val from: Long, val to: Long)
@@ -0,0 +1,76 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.exception.PermissionDeniedException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import dev.usbharu.hideout.core.domain.service.actor.local.AccountMigrationCheck.*
import dev.usbharu.hideout.core.domain.service.actor.local.LocalActorMigrationCheckDomainService
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class MigrationLocalActorApplicationService(
private val actorRepository: ActorRepository,
private val localActorMigrationCheckDomainService: LocalActorMigrationCheckDomainService,
transaction: Transaction,
private val userDetailRepository: UserDetailRepository,
) : LocalUserAbstractApplicationService<MigrationLocalActor, Unit>(transaction, logger) {
override suspend fun internalExecute(command: MigrationLocalActor, principal: LocalUser) {
if (command.from != principal.actorId.id) {
throw PermissionDeniedException()
}
val userDetail = userDetailRepository.findById(principal.userDetailId)
?: throw InternalServerException("User detail ${principal.userDetailId} not found.")
val fromActorId = ActorId(command.from)
val toActorId = ActorId(command.to)
val fromActor =
actorRepository.findById(fromActorId) ?: throw IllegalArgumentException("Actor ${command.from} not found.")
val toActor =
actorRepository.findById(toActorId) ?: throw IllegalArgumentException("Actor ${command.to} not found.")
val canAccountMigration =
localActorMigrationCheckDomainService.canAccountMigration(userDetail, fromActor, toActor)
if (canAccountMigration.canMigration) {
fromActor.moveTo = toActorId
actorRepository.save(fromActor)
} else {
when (canAccountMigration) {
is AlreadyMoved -> throw IllegalArgumentException(canAccountMigration.message)
is CanAccountMigration -> throw InternalServerException()
is CircularReferences -> throw IllegalArgumentException(canAccountMigration.message)
is SelfReferences -> throw IllegalArgumentException("Self references are not supported")
is AlsoKnownAsNotFound -> throw IllegalArgumentException(canAccountMigration.message)
is MigrationCoolDown -> throw IllegalArgumentException(canAccountMigration.message)
}
}
}
companion object {
private val logger = LoggerFactory.getLogger(MigrationLocalActorApplicationService::class.java)
}
}
@@ -0,0 +1,22 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.actor
data class RegisterLocalActor(
val name: String,
val password: String,
)
@@ -0,0 +1,78 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.config.ApplicationConfig
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.instance.InstanceRepository
import dev.usbharu.hideout.core.domain.model.support.principal.Principal
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetail
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import dev.usbharu.hideout.core.domain.service.actor.local.LocalActorDomainService
import dev.usbharu.hideout.core.domain.service.userdetail.UserDetailDomainService
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
import dev.usbharu.hideout.core.infrastructure.factory.ActorFactoryImpl
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
import java.net.URI
@Service
class RegisterLocalActorApplicationService(
transaction: Transaction,
private val actorDomainService: LocalActorDomainService,
private val actorRepository: ActorRepository,
private val actorFactoryImpl: ActorFactoryImpl,
private val instanceRepository: InstanceRepository,
private val applicationConfig: ApplicationConfig,
private val userDetailDomainService: UserDetailDomainService,
private val userDetailRepository: UserDetailRepository,
private val idGenerateService: IdGenerateService,
) : AbstractApplicationService<RegisterLocalActor, URI>(transaction, Companion.logger) {
override suspend fun internalExecute(command: RegisterLocalActor, principal: Principal): URI {
if (actorDomainService.usernameAlreadyUse(command.name)) {
throw IllegalArgumentException("Username already exists")
}
val instance = instanceRepository.findByUrl(applicationConfig.url.toURI())
?: throw InternalServerException("Local instance not found.")
val actor = actorFactoryImpl.createLocal(
command.name,
actorDomainService.generateKeyPair(),
instance.id
)
actorRepository.save(actor)
val userDetail = UserDetail.create(
id = UserDetailId(idGenerateService.generateId()),
actorId = actor.id,
password = userDetailDomainService.hashPassword(command.password),
autoAcceptFolloweeFollowRequest = false,
lastMigration = null,
homeTimelineId = null
)
userDetailRepository.save(userDetail)
return actor.url
}
companion object {
private val logger = LoggerFactory.getLogger(RegisterLocalActorApplicationService::class.java)
}
}
@@ -0,0 +1,46 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.exception.PermissionDeniedException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class StartDeleteLocalActorApplicationService(
transaction: Transaction,
private val actorRepository: ActorRepository,
) : LocalUserAbstractApplicationService<DeleteLocalActor, Unit>(transaction, logger) {
override suspend fun internalExecute(command: DeleteLocalActor, principal: LocalUser) {
if (command.actorId != principal.actorId) {
throw PermissionDeniedException()
}
val findById = actorRepository.findById(command.actorId)
?: throw InternalServerException("Actor ${command.actorId} Not found")
findById.delete()
actorRepository.save(findById)
}
companion object {
private val logger = LoggerFactory.getLogger(StartDeleteLocalActorApplicationService::class.java)
}
}
@@ -0,0 +1,70 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.domain.model.actor.Actor
import dev.usbharu.hideout.core.domain.model.emoji.CustomEmoji
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetail
import java.time.Instant
data class UserDetail(
val id: Long,
val userDetailId: Long,
val name: String,
val domain: String,
val screenName: String,
val url: String,
val iconUrl: String,
val description: String,
val locked: Boolean,
val emojis: List<CustomEmoji>,
val createdAt: Instant,
val lastPostAt: Instant?,
val postsCount: Int,
val followingCount: Int?,
val followersCount: Int?,
val moveTo: Long?,
val suspend: Boolean,
) {
companion object {
fun of(
actor: Actor,
userDetail: UserDetail,
customEmojis: List<CustomEmoji>,
): dev.usbharu.hideout.core.application.actor.UserDetail {
return UserDetail(
id = actor.id.id,
userDetailId = userDetail.id.id,
name = actor.name.name,
domain = actor.domain.domain,
screenName = actor.screenName.screenName,
url = actor.url.toString(),
iconUrl = actor.url.toString(),
description = actor.description.description,
locked = actor.locked,
emojis = customEmojis,
createdAt = actor.createdAt,
lastPostAt = actor.lastPostAt,
postsCount = actor.postsCount.postsCount,
followingCount = actor.followingCount?.relationshipCount,
followersCount = actor.followersCount?.relationshipCount,
moveTo = actor.moveTo?.id,
suspend = actor.suspend
)
}
}
}
@@ -0,0 +1,26 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.application
import java.net.URI
data class RegisterApplication(
val name: String,
val redirectUris: Set<URI>,
val useRefreshToken: Boolean,
val scopes: Set<String>,
)
@@ -0,0 +1,97 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.application
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.application.Application
import dev.usbharu.hideout.core.domain.model.application.ApplicationId
import dev.usbharu.hideout.core.domain.model.application.ApplicationName
import dev.usbharu.hideout.core.domain.model.application.ApplicationRepository
import dev.usbharu.hideout.core.domain.model.support.principal.Principal
import dev.usbharu.hideout.core.domain.service.userdetail.PasswordEncoder
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
import dev.usbharu.hideout.core.infrastructure.springframework.oauth2.SecureTokenGenerator
import org.slf4j.LoggerFactory
import org.springframework.security.oauth2.core.AuthorizationGrantType
import org.springframework.security.oauth2.core.ClientAuthenticationMethod
import org.springframework.security.oauth2.server.authorization.client.RegisteredClient
import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository
import org.springframework.security.oauth2.server.authorization.settings.ClientSettings
import org.springframework.security.oauth2.server.authorization.settings.TokenSettings
import org.springframework.stereotype.Service
import java.time.Duration
@Service
class RegisterApplicationApplicationService(
private val idGenerateService: IdGenerateService,
private val passwordEncoder: PasswordEncoder,
private val secureTokenGenerator: SecureTokenGenerator,
private val registeredClientRepository: RegisteredClientRepository,
transaction: Transaction,
private val applicationRepository: ApplicationRepository,
) : AbstractApplicationService<RegisterApplication, RegisteredApplication>(transaction, logger) {
override suspend fun internalExecute(command: RegisterApplication, principal: Principal): RegisteredApplication {
val id = idGenerateService.generateId()
val clientSecret = secureTokenGenerator.generate()
val registeredClient = RegisteredClient
.withId(id.toString())
.clientId(id.toString())
.clientSecret(passwordEncoder.encode(clientSecret))
.clientName(command.name)
.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_POST)
.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_JWT)
.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC)
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
.authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS)
.apply {
if (command.useRefreshToken) {
authorizationGrantType(AuthorizationGrantType.REFRESH_TOKEN)
} else {
tokenSettings(
TokenSettings
.builder()
.accessTokenTimeToLive(Duration.ofSeconds(31536000000))
.build()
)
}
}
.redirectUris { set ->
set.addAll(command.redirectUris.map { it.toString() })
}
.clientSettings(ClientSettings.builder().requireAuthorizationConsent(true).build())
.scopes { it.addAll(command.scopes) }
.build()
registeredClientRepository.save(registeredClient)
val application = Application(ApplicationId(id), ApplicationName(command.name))
applicationRepository.save(application)
return RegisteredApplication(
id = id,
name = command.name,
clientSecret = clientSecret,
clientId = id.toString(),
redirectUris = command.redirectUris
)
}
companion object {
private val logger = LoggerFactory.getLogger(RegisterApplicationApplicationService::class.java)
}
}
@@ -0,0 +1,27 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.application
import java.net.URI
data class RegisteredApplication(
val id: Long,
val name: String,
val redirectUris: Set<URI>,
val clientSecret: String,
val clientId: String,
)
@@ -0,0 +1,10 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
import dev.usbharu.hideout.core.domain.shared.domainevent.DomainEvent
import dev.usbharu.hideout.core.domain.shared.domainevent.DomainEventBody
interface DomainEventSubscriber {
fun <T : DomainEventBody> subscribe(eventName: String, domainEventConsumer: DomainEventConsumer<T>)
}
typealias DomainEventConsumer<T> = suspend (DomainEvent<T>) -> Unit
@@ -0,0 +1,5 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
data class RegisterHomeTimeline(
val userDetailId: Long
)
@@ -0,0 +1,21 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
import dev.usbharu.hideout.core.domain.event.userdetail.UserDetailEvent
import dev.usbharu.hideout.core.domain.event.userdetail.UserDetailEventBody
import dev.usbharu.hideout.core.domain.model.support.principal.Anonymous
import org.springframework.stereotype.Component
@Component
class RegisterLocalUserSetHomeTimelineSubscriber(
private val domainEventSubscriber: DomainEventSubscriber,
private val userRegisterHomeTimelineApplicationService: UserRegisterHomeTimelineApplicationService
) : Subscriber {
override fun init() {
domainEventSubscriber.subscribe<UserDetailEventBody>(UserDetailEvent.CREATE.eventName) {
userRegisterHomeTimelineApplicationService.execute(
RegisterHomeTimeline(it.body.getUserDetail().id),
Anonymous
)
}
}
}
@@ -0,0 +1,21 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
import dev.usbharu.hideout.core.application.timeline.SetTimelineToTimelineStoreApplicationService
import dev.usbharu.hideout.core.application.timeline.SetTimleineStore
import dev.usbharu.hideout.core.domain.event.timeline.TimelineEvent
import dev.usbharu.hideout.core.domain.event.timeline.TimelineEventBody
import dev.usbharu.hideout.core.domain.model.support.principal.Anonymous
import org.springframework.stereotype.Component
@Component
class RegisterTimelineSetTimelineStoreSubscriber(
private val domainEventSubscriber: DomainEventSubscriber,
private val setTimelineToTimelineStoreApplicationService: SetTimelineToTimelineStoreApplicationService
) : Subscriber {
override fun init() {
domainEventSubscriber.subscribe<TimelineEventBody>(TimelineEvent.CREATE.eventName) {
setTimelineToTimelineStoreApplicationService.execute(SetTimleineStore(it.body.getTimelineId()), Anonymous)
}
}
}
@@ -0,0 +1,5 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
interface Subscriber {
fun init()
}
@@ -0,0 +1,12 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
import org.springframework.boot.ApplicationArguments
import org.springframework.boot.ApplicationRunner
import org.springframework.stereotype.Component
@Component
class SubscriberRunner(private val subscribers: List<Subscriber>) : ApplicationRunner {
override fun run(args: ApplicationArguments?) {
subscribers.forEach { it.init() }
}
}
@@ -0,0 +1,20 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
import dev.usbharu.hideout.core.application.timeline.AddPost
import dev.usbharu.hideout.core.application.timeline.TimelineAddPostApplicationService
import dev.usbharu.hideout.core.domain.event.post.PostEvent
import dev.usbharu.hideout.core.domain.event.post.PostEventBody
import dev.usbharu.hideout.core.domain.model.support.principal.Anonymous
import org.springframework.stereotype.Component
@Component
class TimelinePostCreateSubscriber(
private val timelineAddPostApplicationService: TimelineAddPostApplicationService,
private val domainEventSubscriber: DomainEventSubscriber,
) : Subscriber {
override fun init() {
domainEventSubscriber.subscribe<PostEventBody>(PostEvent.CREATE.eventName) {
timelineAddPostApplicationService.execute(AddPost(it.body.getPostId()), Anonymous)
}
}
}
@@ -0,0 +1,52 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.timeline.AddTimelineRelationship
import dev.usbharu.hideout.core.application.timeline.UserAddTimelineRelationshipApplicationService
import dev.usbharu.hideout.core.domain.event.relationship.RelationshipEvent
import dev.usbharu.hideout.core.domain.event.relationship.RelationshipEventBody
import dev.usbharu.hideout.core.domain.model.timelinerelationship.TimelineRelationship
import dev.usbharu.hideout.core.domain.model.timelinerelationship.TimelineRelationshipId
import dev.usbharu.hideout.core.domain.model.timelinerelationship.Visible
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Component
@Component
class TimelineRelationshipFollowSubscriber(
private val userAddTimelineRelationshipApplicationService: UserAddTimelineRelationshipApplicationService,
private val idGenerateService: IdGenerateService,
private val userDetailRepository: UserDetailRepository,
private val domainEventSubscriber: DomainEventSubscriber
) : Subscriber {
override fun init() {
domainEventSubscriber.subscribe<RelationshipEventBody>(RelationshipEvent.FOLLOW.eventName) {
val relationship = it.body.getRelationship()
val userDetail = userDetailRepository.findByActorId(relationship.actorId.id)
?: throw InternalServerException("Userdetail ${relationship.actorId} not found by actorid.")
if (userDetail.homeTimelineId == null) {
logger.warn("Home timeline for ${relationship.actorId} is not found")
return@subscribe
}
@Suppress("UnsafeCallOnNullableType")
userAddTimelineRelationshipApplicationService.execute(
AddTimelineRelationship(
TimelineRelationship(
TimelineRelationshipId(idGenerateService.generateId()),
userDetail.homeTimelineId!!,
relationship.targetActorId,
Visible.FOLLOWERS
)
),
it.body.principal
)
}
}
companion object {
private val logger = LoggerFactory.getLogger(TimelineRelationshipFollowSubscriber::class.java)
}
}
@@ -0,0 +1,56 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.support.principal.Principal
import dev.usbharu.hideout.core.domain.model.timeline.*
import dev.usbharu.hideout.core.domain.model.timelinerelationship.TimelineRelationship
import dev.usbharu.hideout.core.domain.model.timelinerelationship.TimelineRelationshipId
import dev.usbharu.hideout.core.domain.model.timelinerelationship.TimelineRelationshipRepository
import dev.usbharu.hideout.core.domain.model.timelinerelationship.Visible
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Component
@Component
class UserRegisterHomeTimelineApplicationService(
private val userDetailRepository: UserDetailRepository,
private val timelineRepository: TimelineRepository,
private val idGenerateService: IdGenerateService,
transaction: Transaction,
private val timelineRelationshipRepository: TimelineRelationshipRepository
) : AbstractApplicationService<RegisterHomeTimeline, Unit>(transaction, logger) {
override suspend fun internalExecute(command: RegisterHomeTimeline, principal: Principal) {
val userDetail = (
userDetailRepository.findById(UserDetailId(command.userDetailId))
?: throw IllegalArgumentException("UserDetail ${command.userDetailId} not found.")
)
val timeline = Timeline.create(
TimelineId(idGenerateService.generateId()),
UserDetailId(command.userDetailId),
TimelineName("System-LocalUser-HomeTimeline-${command.userDetailId}"),
TimelineVisibility.PRIVATE,
true
)
timelineRepository.save(timeline)
userDetail.homeTimelineId = timeline.id
val timelineRelationship = TimelineRelationship(
TimelineRelationshipId(idGenerateService.generateId()),
timeline.id,
userDetail.actorId,
Visible.DIRECT
)
timelineRelationshipRepository.save(timelineRelationship)
userDetailRepository.save(userDetail)
}
companion object {
private val logger = LoggerFactory.getLogger(UserRegisterHomeTimelineApplicationService::class.java)
}
}
@@ -0,0 +1,14 @@
package dev.usbharu.hideout.core.application.exception
class InternalServerException : RuntimeException {
constructor() : super()
constructor(message: String?) : super(message)
constructor(message: String?, cause: Throwable?) : super(message, cause)
constructor(cause: Throwable?) : super(cause)
constructor(message: String?, cause: Throwable?, enableSuppression: Boolean, writableStackTrace: Boolean) : super(
message,
cause,
enableSuppression,
writableStackTrace
)
}
@@ -0,0 +1,14 @@
package dev.usbharu.hideout.core.application.exception
class PermissionDeniedException : RuntimeException {
constructor() : super()
constructor(message: String?) : super(message)
constructor(message: String?, cause: Throwable?) : super(message, cause)
constructor(cause: Throwable?) : super(cause)
constructor(message: String?, cause: Throwable?, enableSuppression: Boolean, writableStackTrace: Boolean) : super(
message,
cause,
enableSuppression,
writableStackTrace
)
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
data class DeleteFilter(val filterId: Long)
@@ -0,0 +1,49 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.domain.model.filter.Filter
import dev.usbharu.hideout.core.domain.model.filter.FilterAction
import dev.usbharu.hideout.core.domain.model.filter.FilterContext
data class Filter(
val filterId: Long,
val userDetailId: Long,
val name: String,
val filterContext: Set<FilterContext>,
val filterAction: FilterAction,
val filterKeywords: Set<FilterKeyword>,
) {
companion object {
fun of(filter: Filter): dev.usbharu.hideout.core.application.filter.Filter {
return Filter(
filterId = filter.id.id,
userDetailId = filter.userDetailId.id,
name = filter.name.name,
filterContext = filter.filterContext,
filterAction = filter.filterAction,
filterKeywords = filter.filterKeywords.map {
FilterKeyword(
it.id.id,
it.keyword.keyword,
it.mode
)
}.toSet()
)
}
}
}
@@ -0,0 +1,25 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.domain.model.filter.FilterMode
data class FilterKeyword(
val id: Long,
val keyword: String,
val filterMode: FilterMode,
)
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
data class GetFilter(val filterId: Long)
@@ -0,0 +1,27 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.domain.model.filter.FilterAction
import dev.usbharu.hideout.core.domain.model.filter.FilterContext
data class RegisterFilter(
val filterName: String,
val filterContext: Set<FilterContext>,
val filterAction: FilterAction,
val filterKeywords: Set<RegisterFilterKeyword>,
)
@@ -0,0 +1,24 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.domain.model.filter.FilterMode
data class RegisterFilterKeyword(
val keyword: String,
val filterMode: FilterMode,
)
@@ -0,0 +1,46 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.application.exception.PermissionDeniedException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.filter.FilterId
import dev.usbharu.hideout.core.domain.model.filter.FilterRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UserDeleteFilterApplicationService(private val filterRepository: FilterRepository, transaction: Transaction) :
LocalUserAbstractApplicationService<DeleteFilter, Unit>(
transaction,
logger
) {
override suspend fun internalExecute(command: DeleteFilter, principal: LocalUser) {
val filter =
filterRepository.findByFilterId(FilterId(command.filterId)) ?: throw IllegalArgumentException("not found")
if (filter.userDetailId != principal.userDetailId) {
throw PermissionDeniedException()
}
filterRepository.delete(filter)
}
companion object {
private val logger = LoggerFactory.getLogger(UserDeleteFilterApplicationService::class.java)
}
}
@@ -0,0 +1,46 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.application.exception.PermissionDeniedException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.filter.FilterId
import dev.usbharu.hideout.core.domain.model.filter.FilterRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UserGetFilterApplicationService(private val filterRepository: FilterRepository, transaction: Transaction) :
LocalUserAbstractApplicationService<GetFilter, Filter>(
transaction,
logger
) {
override suspend fun internalExecute(command: GetFilter, principal: LocalUser): Filter {
val filter =
filterRepository.findByFilterId(FilterId(command.filterId)) ?: throw IllegalArgumentException("Not Found")
if (filter.userDetailId != principal.userDetailId) {
throw PermissionDeniedException()
}
return Filter.of(filter)
}
companion object {
private val logger = LoggerFactory.getLogger(UserGetFilterApplicationService::class.java)
}
}
@@ -0,0 +1,63 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.filter.*
import dev.usbharu.hideout.core.domain.model.filter.FilterKeyword
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UserRegisterFilterApplicationService(
private val idGenerateService: IdGenerateService,
private val filterRepository: FilterRepository,
transaction: Transaction,
) :
LocalUserAbstractApplicationService<RegisterFilter, Filter>(
transaction,
logger
) {
override suspend fun internalExecute(command: RegisterFilter, principal: LocalUser): Filter {
val filter = dev.usbharu.hideout.core.domain.model.filter.Filter.create(
id = FilterId(idGenerateService.generateId()),
userDetailId = principal.userDetailId,
name = FilterName(command.filterName),
filterContext = command.filterContext,
filterAction = command.filterAction,
filterKeywords = command.filterKeywords
.map {
FilterKeyword(
FilterKeywordId(idGenerateService.generateId()),
FilterKeywordKeyword(it.keyword),
it.filterMode
)
}.toSet()
)
filterRepository.save(filter)
return Filter.of(filter)
}
companion object {
private val logger = LoggerFactory.getLogger(UserRegisterFilterApplicationService::class.java)
}
}
@@ -0,0 +1,44 @@
package dev.usbharu.hideout.core.application.instance
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.config.ApplicationConfig
import dev.usbharu.hideout.core.domain.model.instance.InstanceRepository
import dev.usbharu.hideout.core.domain.model.support.principal.Principal
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class GetLocalInstanceApplicationService(
private val applicationConfig: ApplicationConfig,
private val instanceRepository: InstanceRepository,
transaction: Transaction
) :
AbstractApplicationService<Unit, Instance>(
transaction,
logger
) {
private var cachedInstance: Instance? = null
override suspend fun internalExecute(command: Unit, principal: Principal): Instance {
if (cachedInstance != null) {
logger.trace("Use cache {}", cachedInstance)
@Suppress("UnsafeCallOnNullableType")
return cachedInstance!!
}
val instance = (
instanceRepository.findByUrl(applicationConfig.url.toURI())
?: throw InternalServerException("Local instance not found.")
)
cachedInstance = Instance.of(instance)
@Suppress("UnsafeCallOnNullableType")
return cachedInstance!!
}
companion object {
private val logger = LoggerFactory.getLogger(GetLocalInstanceApplicationService::class.java)
}
}
@@ -0,0 +1,59 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.instance
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.config.ApplicationConfig
import dev.usbharu.hideout.core.domain.model.instance.*
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
import org.springframework.boot.context.event.ApplicationReadyEvent
import org.springframework.boot.info.BuildProperties
import org.springframework.context.event.EventListener
import org.springframework.stereotype.Service
import java.time.Instant
@Service
class InitLocalInstanceApplicationService(
private val applicationConfig: ApplicationConfig,
private val instanceRepository: InstanceRepository,
private val idGenerateService: IdGenerateService,
private val buildProperties: BuildProperties,
private val transaction: Transaction,
) {
@EventListener(ApplicationReadyEvent::class)
suspend fun init() = transaction.transaction {
val findByUrl = instanceRepository.findByUrl(applicationConfig.url.toURI())
if (findByUrl == null) {
val instance = Instance(
id = InstanceId(idGenerateService.generateId()),
name = InstanceName(applicationConfig.url.host),
description = InstanceDescription(""),
url = applicationConfig.url.toURI(),
iconUrl = applicationConfig.url.toURI(),
sharedInbox = null,
software = InstanceSoftware("hideout"),
version = InstanceVersion(buildProperties.version),
isBlocked = false,
isMuted = false,
moderationNote = InstanceModerationNote(""),
createdAt = Instant.now(),
)
instanceRepository.save(instance)
}
}
}
@@ -0,0 +1,17 @@
package dev.usbharu.hideout.core.application.instance
import dev.usbharu.hideout.core.domain.model.instance.Instance
import java.net.URI
data class Instance(val id: Long, val name: String, val url: URI, val description: String) {
companion object {
fun of(instance: Instance): dev.usbharu.hideout.core.application.instance.Instance {
return Instance(
instance.id.instanceId,
instance.name.name,
instance.url,
instance.description.description
)
}
}
}
@@ -0,0 +1,50 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.media
import dev.usbharu.hideout.core.domain.model.media.FileType
import dev.usbharu.hideout.core.domain.model.media.Media
import dev.usbharu.hideout.core.domain.model.media.MimeType
import java.net.URI
data class Media(
val id: Long,
val name: String,
val url: URI,
val thumbprintURI: URI?,
val remoteURL: URI?,
val type: FileType,
val mimeType: MimeType,
val blurHash: String?,
val description: String?
) {
companion object {
fun of(media: Media): dev.usbharu.hideout.core.application.media.Media {
return Media(
id = media.id.id,
name = media.name.name,
url = media.url,
thumbprintURI = media.thumbnailUrl,
remoteURL = media.remoteUrl,
type = media.type,
mimeType = media.mimeType,
blurHash = media.blurHash?.hash,
description = media.description?.description
)
}
}
}
@@ -0,0 +1,22 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.media
import java.net.URI
import java.nio.file.Path
data class UploadMedia(val path: Path, val name: String, val remoteUri: URI?, val description: String?)
@@ -0,0 +1,73 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.media
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.media.*
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
import dev.usbharu.hideout.core.external.media.MediaProcessor
import dev.usbharu.hideout.core.external.mediastore.MediaStore
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Qualifier
import org.springframework.stereotype.Service
import dev.usbharu.hideout.core.domain.model.media.Media as MediaModel
@Service
class UploadMediaApplicationService(
@Qualifier("delegate") private val mediaProcessor: MediaProcessor,
private val mediaStore: MediaStore,
private val mediaRepository: MediaRepository,
private val idGenerateService: IdGenerateService,
transaction: Transaction
) : LocalUserAbstractApplicationService<UploadMedia, Media>(
transaction,
logger
) {
override suspend fun internalExecute(command: UploadMedia, principal: LocalUser): Media {
val process = mediaProcessor.process(command.path, command.name, null)
val id = idGenerateService.generateId()
val thumbnailUri = if (process.thumbnailPath != null) {
mediaStore.upload(process.thumbnailPath, "thumbnail-$id.${process.mimeType.subtype}")
} else {
null
}
val uri = mediaStore.upload(process.path, "$id.${process.mimeType.subtype}")
val media = MediaModel(
id = MediaId(id),
name = MediaName(command.name),
url = uri,
remoteUrl = command.remoteUri,
thumbnailUrl = thumbnailUri,
type = process.fileType,
mimeType = process.mimeType,
blurHash = process.blurHash?.let { MediaBlurHash(it) },
description = command.description?.let { MediaDescription(it) },
actorId = principal.actorId
)
mediaRepository.save(media)
return Media.of(media)
}
companion object {
private val logger = LoggerFactory.getLogger(UploadMediaApplicationService::class.java)
}
}
@@ -0,0 +1,31 @@
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.domain.model.actor.Actor
import dev.usbharu.hideout.core.domain.model.media.Media
import java.net.URI
data class ActorDetail(
val actorId: Long,
val instanceId: Long,
val name: String,
val domain: String,
val screenName: String,
val url: URI,
val locked: Boolean,
val icon: URI?,
) {
companion object {
fun of(actor: Actor, iconMedia: Media?): ActorDetail {
return ActorDetail(
actorId = actor.id.id,
instanceId = actor.instance.instanceId,
name = actor.name.name,
domain = actor.domain.domain,
screenName = actor.screenName.screenName,
url = actor.url,
locked = actor.locked,
icon = iconMedia?.url
)
}
}
}
@@ -0,0 +1,3 @@
package dev.usbharu.hideout.core.application.post
data class DeleteLocalPost(val postId: Long)
@@ -0,0 +1,52 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.exception.PermissionDeniedException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.post.PostId
import dev.usbharu.hideout.core.domain.model.post.PostRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class DeleteLocalPostApplicationService(
private val postRepository: PostRepository,
private val actorRepository: ActorRepository,
transaction: Transaction,
) : LocalUserAbstractApplicationService<DeleteLocalPost, Unit>(transaction, logger) {
override suspend fun internalExecute(command: DeleteLocalPost, principal: LocalUser) {
val findById = postRepository.findById(PostId(command.postId))
?: throw IllegalArgumentException("Post ${command.postId} not found.")
if (findById.actorId != principal.actorId) {
throw PermissionDeniedException()
}
val actor = actorRepository.findById(principal.actorId)
?: throw InternalServerException("Actor ${principal.actorId} not found.")
findById.delete(actor)
postRepository.save(findById)
}
companion object {
private val logger = LoggerFactory.getLogger(DeleteLocalPostApplicationService::class.java)
}
}
@@ -0,0 +1,21 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.post
data class GetPost(
val postId: Long,
)
@@ -0,0 +1,48 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.application.exception.PermissionDeniedException
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.post.PostId
import dev.usbharu.hideout.core.domain.model.post.PostRepository
import dev.usbharu.hideout.core.domain.model.support.principal.Principal
import dev.usbharu.hideout.core.domain.service.post.IPostReadAccessControl
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class GetPostApplicationService(
private val postRepository: PostRepository,
private val iPostReadAccessControl: IPostReadAccessControl,
transaction: Transaction
) :
AbstractApplicationService<GetPost, Post>(transaction, logger) {
override suspend fun internalExecute(command: GetPost, principal: Principal): Post {
val post = postRepository.findById(PostId(command.postId)) ?: throw IllegalArgumentException("Post not found")
if (iPostReadAccessControl.isAllow(post, principal).not()) {
throw PermissionDeniedException()
}
return Post.of(post)
}
companion object {
private val logger = LoggerFactory.getLogger(GetPostApplicationService::class.java)
}
}
@@ -0,0 +1,3 @@
package dev.usbharu.hideout.core.application.post
data class GetPostDetail(val postId: Long)
@@ -0,0 +1,82 @@
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.Actor
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.media.Media
import dev.usbharu.hideout.core.domain.model.media.MediaRepository
import dev.usbharu.hideout.core.domain.model.post.PostId
import dev.usbharu.hideout.core.domain.model.post.PostRepository
import dev.usbharu.hideout.core.domain.model.support.principal.Principal
import dev.usbharu.hideout.core.domain.service.post.IPostReadAccessControl
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class GetPostDetailApplicationService(
transaction: Transaction,
private val postRepository: PostRepository,
private val actorRepository: ActorRepository,
private val mediaRepository: MediaRepository,
private val iPostReadAccessControl: IPostReadAccessControl
) : AbstractApplicationService<GetPostDetail, PostDetail>(
transaction,
logger
) {
override suspend fun internalExecute(command: GetPostDetail, principal: Principal): PostDetail {
val post = postRepository.findById(PostId(command.postId))
?: throw IllegalArgumentException("Post ${command.postId} not found.")
if (iPostReadAccessControl.isAllow(post, principal).not()) {
throw IllegalArgumentException("Post ${command.postId} not found.")
}
val actor =
actorRepository.findById(post.actorId) ?: throw InternalServerException("Actor ${post.actorId} not found.")
val iconMedia = actor.icon?.let { mediaRepository.findById(it) }
val mediaList = mediaRepository.findByIds(post.mediaIds)
return PostDetail.of(
post = post,
actor = actor,
iconMedia = iconMedia,
mediaList = mediaList,
reply = post.replyId?.let { fetchChild(it, actor, iconMedia, principal) },
repost = post.repostId?.let { fetchChild(it, actor, iconMedia, principal) },
moveTo = post.moveTo?.let { fetchChild(it, actor, iconMedia, principal) },
)
}
private suspend fun fetchChild(
postId: PostId,
actor: Actor,
iconMedia: Media?,
principal: Principal
): PostDetail? {
val post = postRepository.findById(postId) ?: return null
if (iPostReadAccessControl.isAllow(post, principal).not()) {
return null
}
val (first, third) = if (actor.id != post.actorId) {
(actorRepository.findById(post.actorId) ?: return null) to actor.icon?.let { mediaRepository.findById(it) }
} else {
actor to iconMedia
}
val mediaList = mediaRepository.findByIds(post.mediaIds)
return PostDetail.of(
post,
first,
third,
mediaList
)
}
companion object {
private val logger = LoggerFactory.getLogger(GetPostDetailApplicationService::class.java)
}
}
@@ -0,0 +1,30 @@
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.domain.model.media.Media
import java.net.URI
data class MediaDetail(
val mediaId: Long,
val type: String,
val url: URI,
val thumbnailUrl: URI?,
val sensitive: Boolean,
val description: String,
val blurhash: String,
val actorId: Long
) {
companion object {
fun of(media: Media): MediaDetail {
return MediaDetail(
mediaId = media.id.id,
type = media.type.name,
url = media.url,
thumbnailUrl = media.thumbnailUrl,
sensitive = false,
description = media.description?.description.orEmpty(),
blurhash = media.blurHash?.hash.orEmpty(),
actorId = media.actorId.id
)
}
}
}
@@ -0,0 +1,58 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.domain.model.post.Post
import dev.usbharu.hideout.core.domain.model.post.Visibility
import java.net.URI
import java.time.Instant
data class Post(
val id: Long,
val actorId: Long,
val overview: String?,
val text: String,
val content: String,
val createdAt: Instant,
val visibility: Visibility,
val url: URI,
val repostId: Long?,
val replyId: Long?,
val sensitive: Boolean,
val mediaIds: List<Long>,
val moveTo: Long?,
) {
companion object {
fun of(post: Post): dev.usbharu.hideout.core.application.post.Post {
return Post(
id = post.id.id,
actorId = post.actorId.id,
overview = post.overview?.overview,
text = post.text,
content = post.content.content,
createdAt = post.createdAt,
visibility = post.visibility,
url = post.url,
repostId = post.repostId?.id,
replyId = post.replyId?.id,
sensitive = post.sensitive,
mediaIds = post.mediaIds.map { it.id },
moveTo = post.moveTo?.id
)
}
}
}
@@ -0,0 +1,59 @@
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.domain.model.actor.Actor
import dev.usbharu.hideout.core.domain.model.media.Media
import dev.usbharu.hideout.core.domain.model.post.Post
import dev.usbharu.hideout.core.domain.model.post.Visibility
import java.net.URI
import java.time.Instant
data class PostDetail(
val id: Long,
val actor: ActorDetail,
val overview: String?,
val text: String,
val content: String,
val createdAt: Instant,
val visibility: Visibility,
val pureRepost: Boolean,
val url: URI,
val apId: URI,
val repost: PostDetail?,
val reply: PostDetail?,
val sensitive: Boolean,
val deleted: Boolean,
val mediaDetailList: List<MediaDetail>,
val moveTo: PostDetail?
) {
companion object {
@Suppress("LongParameterList")
fun of(
post: Post,
actor: Actor,
iconMedia: Media?,
mediaList: List<Media>,
reply: PostDetail? = null,
repost: PostDetail? = null,
moveTo: PostDetail? = null,
): PostDetail {
return PostDetail(
id = post.id.id,
actor = ActorDetail.of(actor, iconMedia),
overview = post.overview?.overview,
text = post.text,
content = post.content.content,
createdAt = post.createdAt,
visibility = post.visibility,
pureRepost = post.isPureRepost,
url = post.url,
apId = post.apId,
repost = repost,
reply = reply,
sensitive = post.sensitive,
deleted = false,
mediaDetailList = mediaList.map { MediaDetail.of(it) },
moveTo = moveTo
)
}
}
}
@@ -0,0 +1,29 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.domain.model.post.Visibility
data class RegisterLocalPost(
val content: String,
val overview: String?,
val visibility: Visibility,
val repostId: Long?,
val replyId: Long?,
val sensitive: Boolean,
val mediaIds: List<Long>,
)
@@ -0,0 +1,66 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.media.MediaId
import dev.usbharu.hideout.core.domain.model.post.PostId
import dev.usbharu.hideout.core.domain.model.post.PostOverview
import dev.usbharu.hideout.core.domain.model.post.PostRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import dev.usbharu.hideout.core.infrastructure.factory.PostFactoryImpl
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class RegisterLocalPostApplicationService(
private val postFactory: PostFactoryImpl,
private val actorRepository: ActorRepository,
private val postRepository: PostRepository,
transaction: Transaction,
) : LocalUserAbstractApplicationService<RegisterLocalPost, Long>(transaction, Companion.logger) {
override suspend fun internalExecute(command: RegisterLocalPost, principal: LocalUser): Long {
val actorId = principal.actorId
val actor = actorRepository.findById(actorId) ?: throw InternalServerException("Actor $actorId not found.")
val post = postFactory.createLocal(
actor = actor,
actorName = actor.name,
overview = command.overview?.let { PostOverview(it) },
content = command.content,
visibility = command.visibility,
repostId = command.repostId?.let { PostId(it) },
replyId = command.replyId?.let { PostId(it) },
sensitive = command.sensitive,
mediaIds = command.mediaIds.map { MediaId(it) },
)
postRepository.save(post)
return post.id.id
}
companion object {
val logger: Logger = LoggerFactory.getLogger(RegisterLocalPostApplicationService::class.java)
}
}
@@ -0,0 +1,25 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.post
data class UpdateLocalNote(
val postId: Long,
val overview: String?,
val content: String,
val sensitive: Boolean,
val mediaIds: List<Long>
)
@@ -0,0 +1,66 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.exception.PermissionDeniedException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.media.MediaId
import dev.usbharu.hideout.core.domain.model.post.PostId
import dev.usbharu.hideout.core.domain.model.post.PostOverview
import dev.usbharu.hideout.core.domain.model.post.PostRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import dev.usbharu.hideout.core.infrastructure.factory.PostContentFactoryImpl
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UpdateLocalNoteApplicationService(
transaction: Transaction,
private val postRepository: PostRepository,
private val postContentFactoryImpl: PostContentFactoryImpl,
private val userDetailRepository: UserDetailRepository,
private val actorRepository: ActorRepository,
) : LocalUserAbstractApplicationService<UpdateLocalNote, Unit>(transaction, logger) {
override suspend fun internalExecute(command: UpdateLocalNote, principal: LocalUser) {
val post = postRepository.findById(PostId(command.postId))
?: throw IllegalArgumentException("Post ${command.postId} not found.")
if (post.actorId != principal.actorId) {
throw PermissionDeniedException()
}
val userDetail = userDetailRepository.findById(principal.userDetailId)
?: throw InternalServerException("User detail ${principal.userDetailId} not found.")
val actor = actorRepository.findById(userDetail.actorId)
?: throw InternalServerException("Actor ${principal.actorId} not found.")
post.setContent(postContentFactoryImpl.create(command.content), actor)
post.setOverview(command.overview?.let { PostOverview(it) }, actor)
post.addMediaIds(command.mediaIds.map { MediaId(it) }, actor)
post.setSensitive(command.sensitive, actor)
postRepository.save(post)
}
companion object {
private val logger = LoggerFactory.getLogger(UpdateLocalNoteApplicationService::class.java)
}
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.acceptfollowrequest
data class AcceptFollowRequest(val sourceActorId: Long)
@@ -0,0 +1,54 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.acceptfollowrequest
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UserAcceptFollowRequestApplicationService(
private val relationshipRepository: RelationshipRepository,
transaction: Transaction,
private val actorRepository: ActorRepository,
) :
LocalUserAbstractApplicationService<AcceptFollowRequest, Unit>(transaction, logger) {
override suspend fun internalExecute(command: AcceptFollowRequest, principal: LocalUser) {
val actor = actorRepository.findById(principal.actorId)
?: throw InternalServerException("Actor ${principal.actorId} not found")
val targetId = ActorId(command.sourceActorId)
val relationship = relationshipRepository.findByActorIdAndTargetId(targetId, actor.id)
?: throw InternalServerException("Follow request not found")
relationship.acceptFollowRequest()
relationshipRepository.save(relationship)
}
companion object {
private val logger = LoggerFactory.getLogger(UserBlockApplicationService::class.java)
}
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.block
data class Block(val targetActorId: Long)
@@ -0,0 +1,63 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.block
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import dev.usbharu.hideout.core.domain.service.relationship.RelationshipDomainService
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UserBlockApplicationService(
private val relationshipRepository: RelationshipRepository,
transaction: Transaction,
private val actorRepository: ActorRepository,
private val relationshipDomainService: RelationshipDomainService,
) :
LocalUserAbstractApplicationService<Block, Unit>(transaction, logger) {
override suspend fun internalExecute(command: Block, principal: LocalUser) {
val actor = actorRepository.findById(principal.actorId)
?: throw IllegalStateException("Actor ${principal.actorId} not found")
val targetId = ActorId(command.targetActorId)
val relationship = relationshipRepository.findByActorIdAndTargetId(actor.id, targetId) ?: Relationship.default(
actor.id,
targetId
)
val inverseRelationship =
relationshipRepository.findByActorIdAndTargetId(targetId, actor.id) ?: Relationship.default(
targetId,
actor.id
)
relationshipDomainService.block(relationship, inverseRelationship)
relationshipRepository.save(relationship)
relationshipRepository.save(inverseRelationship)
}
companion object {
private val logger = LoggerFactory.getLogger(UserBlockApplicationService::class.java)
}
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.followrequest
data class FollowRequest(val targetActorId: Long)
@@ -0,0 +1,58 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.followrequest
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UserFollowRequestApplicationService(
private val relationshipRepository: RelationshipRepository,
transaction: Transaction,
private val actorRepository: ActorRepository,
) : LocalUserAbstractApplicationService<FollowRequest, Unit>(
transaction,
logger
) {
override suspend fun internalExecute(command: FollowRequest, principal: LocalUser) {
val actor = actorRepository.findById(principal.actorId)
?: throw InternalServerException("Actor ${principal.actorId} not found.")
val targetId = ActorId(command.targetActorId)
val relationship = relationshipRepository.findByActorIdAndTargetId(actor.id, targetId) ?: Relationship.default(
actor.id,
targetId
)
relationship.followRequest()
relationshipRepository.save(relationship)
}
companion object {
private val logger = LoggerFactory.getLogger(UserFollowRequestApplicationService::class.java)
}
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.get
data class GetRelationship(val targetActorId: Long)
@@ -0,0 +1,71 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.get
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.actorinstancerelationship.ActorInstanceRelationship
import dev.usbharu.hideout.core.domain.model.actorinstancerelationship.ActorInstanceRelationshipRepository
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class GetRelationshipApplicationService(
private val relationshipRepository: RelationshipRepository,
private val actorRepository: ActorRepository,
private val actorInstanceRelationshipRepository: ActorInstanceRelationshipRepository,
transaction: Transaction,
) :
LocalUserAbstractApplicationService<GetRelationship, Relationship>(
transaction,
logger
) {
override suspend fun internalExecute(command: GetRelationship, principal: LocalUser): Relationship {
val actor = actorRepository.findById(principal.actorId)
?: throw InternalServerException("Actor ${principal.actorId} not found.")
val targetId = ActorId(command.targetActorId)
val target = actorRepository.findById(targetId)
?: throw IllegalArgumentException("Actor ${command.targetActorId} not found.")
val relationship = (
relationshipRepository.findByActorIdAndTargetId(actor.id, targetId)
?: dev.usbharu.hideout.core.domain.model.relationship.Relationship.default(actor.id, targetId)
)
val relationship1 = (
relationshipRepository.findByActorIdAndTargetId(targetId, actor.id)
?: dev.usbharu.hideout.core.domain.model.relationship.Relationship.default(targetId, actor.id)
)
val actorInstanceRelationship =
actorInstanceRelationshipRepository.findByActorIdAndInstanceId(actor.id, target.instance)
?: ActorInstanceRelationship.default(
actor.id,
target.instance
)
return Relationship.of(relationship, relationship1, actorInstanceRelationship)
}
companion object {
private val logger = LoggerFactory.getLogger(GetRelationshipApplicationService::class.java)
}
}
@@ -0,0 +1,58 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.get
import dev.usbharu.hideout.core.domain.model.actorinstancerelationship.ActorInstanceRelationship
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
data class Relationship(
val actorId: Long,
val targetId: Long,
val following: Boolean,
val followedBy: Boolean,
val blocking: Boolean,
val blockedBy: Boolean,
val muting: Boolean,
val followRequesting: Boolean,
val followRequestedBy: Boolean,
val domainBlocking: Boolean,
val domainMuting: Boolean,
val domainDoNotSendPrivate: Boolean,
) {
companion object {
fun of(
relationship: Relationship,
relationship2: Relationship,
actorInstanceRelationship: ActorInstanceRelationship,
): dev.usbharu.hideout.core.application.relationship.get.Relationship {
return Relationship(
actorId = relationship.actorId.id,
targetId = relationship.targetActorId.id,
following = relationship.following,
followedBy = relationship2.following,
blocking = relationship.blocking,
blockedBy = relationship2.blocking,
muting = relationship.muting,
followRequesting = relationship.followRequesting,
followRequestedBy = relationship2.followRequesting,
domainBlocking = actorInstanceRelationship.blocking,
domainMuting = actorInstanceRelationship.muting,
domainDoNotSendPrivate = actorInstanceRelationship.doNotSendPrivate
)
}
}
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.mute
data class Mute(val targetActorId: Long)
@@ -0,0 +1,56 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.mute
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UserMuteApplicationService(
private val relationshipRepository: RelationshipRepository,
transaction: Transaction,
private val actorRepository: ActorRepository,
) :
LocalUserAbstractApplicationService<Mute, Unit>(transaction, logger) {
override suspend fun internalExecute(command: Mute, principal: LocalUser) {
val actor = actorRepository.findById(principal.actorId)
?: throw InternalServerException("Actor ${principal.actorId} not found.")
val targetId = ActorId(command.targetActorId)
val relationship = relationshipRepository.findByActorIdAndTargetId(actor.id, targetId) ?: Relationship.default(
actor.id,
targetId
)
relationship.mute()
relationshipRepository.save(relationship)
}
companion object {
private val logger = LoggerFactory.getLogger(UserBlockApplicationService::class.java)
}
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.rejectfollowrequest
data class RejectFollowRequest(val sourceActorId: Long)
@@ -0,0 +1,54 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.rejectfollowrequest
import dev.usbharu.hideout.core.application.exception.InternalServerException
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.LocalUserAbstractApplicationService
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
import dev.usbharu.hideout.core.domain.model.support.principal.LocalUser
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@Service
class UserRejectFollowRequestApplicationService(
private val relationshipRepository: RelationshipRepository,
transaction: Transaction,
private val actorRepository: ActorRepository,
) :
LocalUserAbstractApplicationService<RejectFollowRequest, Unit>(transaction, logger) {
override suspend fun internalExecute(command: RejectFollowRequest, principal: LocalUser) {
val actor = actorRepository.findById(principal.actorId)
?: throw InternalServerException("Actor ${principal.actorId} not found.")
val targetId = ActorId(command.sourceActorId)
val relationship = relationshipRepository.findByActorIdAndTargetId(targetId, actor.id)
?: throw IllegalArgumentException("Follow request not found")
relationship.rejectFollowRequest()
relationshipRepository.save(relationship)
}
companion object {
private val logger = LoggerFactory.getLogger(UserBlockApplicationService::class.java)
}
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 usbharu
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.usbharu.hideout.core.application.relationship.removefromfollowers
data class RemoveFromFollowers(val targetActorId: Long)

Some files were not shown because too many files have changed in this diff Show More