summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2023-02-26 11:28:05 +0900
committerGitHub <noreply@github.com>2023-02-26 11:28:05 +0900
commit18dbcfa0b09715a234a4eca0288e17d5cbf7622c (patch)
treeefd9e83b3e11919926fd80790ad272d1d9e7bda6 /CONTRIBUTING.md
parentSimplify search.vue (remove dead code) (#10088) (diff)
downloadmisskey-18dbcfa0b09715a234a4eca0288e17d5cbf7622c.tar.gz
misskey-18dbcfa0b09715a234a4eca0288e17d5cbf7622c.tar.bz2
misskey-18dbcfa0b09715a234a4eca0288e17d5cbf7622c.zip
test(server): add validation test of api:notes/create (#10090)
* fix(server): notes/createのバリデーションが効いていない Fix #10079 Co-Authored-By: mei23 <m@m544.net> * anyOf内にバリデーションを書いても最初の一つしかチェックされない * :v: * wip * wip * :v: * RequiredProp * Revert "RequiredProp" This reverts commit 74693900119a590263106fa3adefd008d69ce80c. * add api:notes/create * fix lint * text * :v: * improve readability --------- Co-authored-by: mei23 <m@m544.net> Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 668989f122..10d93cd9fb 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -299,6 +299,27 @@ pnpm dlx typeorm migration:generate -d ormconfig.js -o <migration name>
- 生成後、ファイルをmigration下に移してください
- 作成されたスクリプトは不必要な変更を含むため除去してください
+### JSON SchemaのobjectでanyOfを使うとき
+JSON Schemaで、objectに対してanyOfを使う場合、anyOfの中でpropertiesを定義しないこと。
+バリデーションが効かないため。(SchemaTypeもそのように作られており、objectのanyOf内のpropertiesは捨てられます)
+https://github.com/misskey-dev/misskey/pull/10082
+
+テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合:
+
+```
+export const paramDef = {
+ type: 'object',
+ properties: {
+ hoge: { type: 'string', minLength: 1 },
+ fuga: { type: 'string', minLength: 1 },
+ },
+ anyOf: [
+ { required: ['hoge'] },
+ { required: ['fuga'] },
+ ],
+} as const;
+```
+
### コネクションには`markRaw`せよ
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。