Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: リモートインスタンスのソフトウェア一覧 #659

Merged
merged 11 commits into from
Mar 14, 2025

Conversation

penginn-net
Copy link
Collaborator

@penginn-net penginn-net commented Mar 3, 2025

What

image

Why

Close #441

Additional info (optional)

Checklist

  • コントリビューションガイドを読みました( Read the contribution guide)
  • ローカル環境で動作しました(Test working in a local environment)
  • (必要なら)CHANGELOG_YOJO.mdの更新((If needed) Update CHANGELOG_YOJO.md)
  • (必要なら)テストの追加((If possible) Add tests)

Copy link

codecov bot commented Mar 3, 2025

Codecov Report

Attention: Patch coverage is 40.29851% with 120 lines in your changes missing coverage. Please review.

Project coverage is 42.92%. Comparing base (a7fa2bf) to head (d601f1d).
Report is 2 commits behind head on develop.

Files with missing lines Patch % Lines
...server/api/endpoints/federation/remote-software.ts 39.75% 100 Missing ⚠️
...ckages/frontend/src/components/MkInstanceStats.vue 0.00% 20 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #659      +/-   ##
===========================================
+ Coverage    41.06%   42.92%   +1.86%     
===========================================
  Files         1775     1780       +5     
  Lines       193897   200455    +6558     
  Branches      4368     4448      +80     
===========================================
+ Hits         79617    86041    +6424     
- Misses      113747   113881     +134     
  Partials       533      533              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

github-actions bot commented Mar 3, 2025

이 PR에 의한 api.json 차이

차이점은 여기에서 볼 수 있음
--- base
+++ head
@@ -38390,6 +38390,430 @@
         }
       }
     },
+    "/federation/remote-software": {
+      "get": {
+        "operationId": "get___federation___remote-software",
+        "summary": "federation/remote-software",
+        "description": "No description provided.\n\n**Credential required**: *No*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/yojo-art/cherrypick/blob/develop/packages/backend/src/server/api/endpoints/federation/remote-software.ts"
+        },
+        "tags": [
+          "federation"
+        ],
+        "requestBody": {
+          "required": true,
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "blocked": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "notResponding": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "suspended": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "silenced": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "federating": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "subscribing": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "publishing": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "quarantined": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  }
+                }
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK (with results)",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "type": "object",
+                    "properties": {
+                      "softwareName": {
+                        "type": "string"
+                      },
+                      "color": {
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "count": {
+                        "type": "integer"
+                      }
+                    },
+                    "required": [
+                      "softwareName",
+                      "color",
+                      "count"
+                    ]
+                  }
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Client error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INVALID_PARAM": {
+                    "value": {
+                      "error": {
+                        "message": "Invalid param.",
+                        "code": "INVALID_PARAM",
+                        "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "CREDENTIAL_REQUIRED": {
+                    "value": {
+                      "error": {
+                        "message": "Credential required.",
+                        "code": "CREDENTIAL_REQUIRED",
+                        "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "403": {
+            "description": "Forbidden error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "AUTHENTICATION_FAILED": {
+                    "value": {
+                      "error": {
+                        "message": "Authentication failed. Please ensure your token is correct.",
+                        "code": "AUTHENTICATION_FAILED",
+                        "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "418": {
+            "description": "I'm Ai",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "I_AM_AI": {
+                    "value": {
+                      "error": {
+                        "message": "You sent a request to Ai-chan, CherryPick's showgirl, instead of the server.",
+                        "code": "I_AM_AI",
+                        "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "500": {
+            "description": "Internal server error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INTERNAL_ERROR": {
+                    "value": {
+                      "error": {
+                        "message": "Internal error occurred. Please contact us if the error persists.",
+                        "code": "INTERNAL_ERROR",
+                        "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      },
+      "post": {
+        "operationId": "post___federation___remote-software",
+        "summary": "federation/remote-software",
+        "description": "No description provided.\n\n**Credential required**: *No*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/yojo-art/cherrypick/blob/develop/packages/backend/src/server/api/endpoints/federation/remote-software.ts"
+        },
+        "tags": [
+          "federation"
+        ],
+        "requestBody": {
+          "required": true,
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "blocked": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "notResponding": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "suspended": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "silenced": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "federating": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "subscribing": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "publishing": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  },
+                  "quarantined": {
+                    "type": [
+                      "boolean",
+                      "null"
+                    ]
+                  }
+                }
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK (with results)",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "type": "object",
+                    "properties": {
+                      "softwareName": {
+                        "type": "string"
+                      },
+                      "color": {
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "count": {
+                        "type": "integer"
+                      }
+                    },
+                    "required": [
+                      "softwareName",
+                      "color",
+                      "count"
+                    ]
+                  }
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Client error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INVALID_PARAM": {
+                    "value": {
+                      "error": {
+                        "message": "Invalid param.",
+                        "code": "INVALID_PARAM",
+                        "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "CREDENTIAL_REQUIRED": {
+                    "value": {
+                      "error": {
+                        "message": "Credential required.",
+                        "code": "CREDENTIAL_REQUIRED",
+                        "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "403": {
+            "description": "Forbidden error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "AUTHENTICATION_FAILED": {
+                    "value": {
+                      "error": {
+                        "message": "Authentication failed. Please ensure your token is correct.",
+                        "code": "AUTHENTICATION_FAILED",
+                        "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "418": {
+            "description": "I'm Ai",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "I_AM_AI": {
+                    "value": {
+                      "error": {
+                        "message": "You sent a request to Ai-chan, CherryPick's showgirl, instead of the server.",
+                        "code": "I_AM_AI",
+                        "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "500": {
+            "description": "Internal server error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INTERNAL_ERROR": {
+                    "value": {
+                      "error": {
+                        "message": "Internal error occurred. Please contact us if the error persists.",
+                        "code": "INTERNAL_ERROR",
+                        "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
     "/federation/show-instance": {
       "post": {
         "operationId": "post___federation___show-instance",

Get diff files from Workflow Page

@penginn-net penginn-net requested a review from kozakura913 March 4, 2025 12:29
@penginn-net penginn-net self-assigned this Mar 4, 2025
@penginn-net penginn-net marked this pull request as ready for review March 4, 2025 12:50
@penginn-net penginn-net changed the title feat: 観測済みインスタンスのソフトウェア一覧 feat: リモートインスタンスのソフトウェア一覧 Mar 6, 2025
@penginn-net penginn-net merged commit cfa4060 into yojo-art:develop Mar 14, 2025
35 checks passed
@kozakura913 kozakura913 mentioned this pull request Mar 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

連合グラフ(ソフトウェア)
2 participants