Fixed 267U.pre2

This commit is contained in:
2026-07-26 18:25:37 +09:00
parent 50bfaeafdf
commit 317d00a284
1286 changed files with 80222 additions and 1 deletions
@@ -0,0 +1,45 @@
import { IsNull } from "typeorm";
import { Users, UsedUsernames } from "../../../../models/index.js";
import config from "../../../../config/index.js";
import define from "../../define.js";
export const meta = {
tags: [
"users"
],
requireCredential: false,
res: {
type: "object",
optional: false,
nullable: false,
properties: {
available: {
type: "boolean",
optional: false,
nullable: false
}
}
}
};
export const paramDef = {
type: "object",
properties: {
username: Users.localUsernameSchema
},
required: [
"username"
]
};
export default define(meta, paramDef, async (ps)=>{
// Get exist
const exist = await Users.countBy({
host: IsNull(),
usernameLower: ps.username.toLowerCase()
});
const exist2 = await UsedUsernames.countBy({
username: ps.username.toLowerCase()
});
const reserved = config.reservedUsernames?.includes(ps.username.toLowerCase());
return {
available: exist === 0 && exist2 === 0 && !reserved
};
});