strictNullChecks (#4666)
* wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip
This commit is contained in:
@@ -66,7 +66,7 @@ export const meta = {
|
||||
export default define(meta, async (ps, me) => {
|
||||
const user = await Users.findOne(ps.userId != null
|
||||
? { id: ps.userId }
|
||||
: { usernameLower: ps.username.toLowerCase(), host: toPuny(ps.host) });
|
||||
: { usernameLower: ps.username!.toLowerCase(), host: toPuny(ps.host!) });
|
||||
|
||||
if (user == null) {
|
||||
throw new ApiError(meta.errors.noSuchUser);
|
||||
@@ -76,7 +76,7 @@ export default define(meta, async (ps, me) => {
|
||||
.andWhere(`following.followeeId = :userId`, { userId: user.id });
|
||||
|
||||
const followings = await query
|
||||
.take(ps.limit)
|
||||
.take(ps.limit!)
|
||||
.getMany();
|
||||
|
||||
return await Followings.packMany(followings, me, { populateFollower: true });
|
||||
|
||||
@@ -66,7 +66,7 @@ export const meta = {
|
||||
export default define(meta, async (ps, me) => {
|
||||
const user = await Users.findOne(ps.userId != null
|
||||
? { id: ps.userId }
|
||||
: { usernameLower: ps.username.toLowerCase(), host: toPuny(ps.host) });
|
||||
: { usernameLower: ps.username!.toLowerCase(), host: toPuny(ps.host!) });
|
||||
|
||||
if (user == null) {
|
||||
throw new ApiError(meta.errors.noSuchUser);
|
||||
@@ -76,7 +76,7 @@ export default define(meta, async (ps, me) => {
|
||||
.andWhere(`following.followerId = :userId`, { userId: user.id });
|
||||
|
||||
const followings = await query
|
||||
.take(ps.limit)
|
||||
.take(ps.limit!)
|
||||
.getMany();
|
||||
|
||||
return await Followings.packMany(followings, me, { populateFollowee: true });
|
||||
|
||||
@@ -94,7 +94,7 @@ export default define(meta, async (ps, me) => {
|
||||
const repliedUsersSorted = Object.keys(repliedUsers).sort((a, b) => repliedUsers[b] - repliedUsers[a]);
|
||||
|
||||
// Extract top replied users
|
||||
const topRepliedUsers = repliedUsersSorted.slice(0, ps.limit);
|
||||
const topRepliedUsers = repliedUsersSorted.slice(0, ps.limit!);
|
||||
|
||||
// Make replies object (includes weights)
|
||||
const repliesObj = await Promise.all(topRepliedUsers.map(async (user) => ({
|
||||
|
||||
@@ -153,11 +153,11 @@ export default define(meta, async (ps, me) => {
|
||||
query.andWhere('note.fileIds != \'{}\'');
|
||||
}
|
||||
|
||||
if (ps.fileType) {
|
||||
if (ps.fileType != null) {
|
||||
query.andWhere('note.fileIds != \'{}\'');
|
||||
query.andWhere(new Brackets(qb => {
|
||||
for (const type of ps.fileType) {
|
||||
const i = ps.fileType.indexOf(type);
|
||||
for (const type of ps.fileType!) {
|
||||
const i = ps.fileType!.indexOf(type);
|
||||
qb.orWhere(`:type${i} = ANY(note.attachedFileTypes)`, { [`type${i}`]: type });
|
||||
}
|
||||
}));
|
||||
@@ -194,7 +194,7 @@ export default define(meta, async (ps, me) => {
|
||||
|
||||
//#endregion
|
||||
|
||||
const timeline = await query.take(ps.limit).getMany();
|
||||
const timeline = await query.take(ps.limit!).getMany();
|
||||
|
||||
return await Notes.packMany(timeline, user);
|
||||
});
|
||||
|
||||
@@ -53,7 +53,7 @@ export default define(meta, async (ps, me) => {
|
||||
|
||||
query.setParameters(followingQuery.getParameters());
|
||||
|
||||
const users = await query.take(ps.limit).skip(ps.offset).getMany();
|
||||
const users = await query.take(ps.limit!).skip(ps.offset).getMany();
|
||||
|
||||
return await Users.packMany(users, me, { detail: true });
|
||||
});
|
||||
|
||||
@@ -71,16 +71,16 @@ export default define(meta, async (ps, me) => {
|
||||
.where('user.host IS NULL')
|
||||
.andWhere('user.isSuspended = FALSE')
|
||||
.andWhere('user.usernameLower like :username', { username: ps.query.replace('@', '').toLowerCase() + '%' })
|
||||
.take(ps.limit)
|
||||
.take(ps.limit!)
|
||||
.skip(ps.offset)
|
||||
.getMany();
|
||||
|
||||
if (users.length < ps.limit && !ps.localOnly) {
|
||||
if (users.length < ps.limit! && !ps.localOnly) {
|
||||
const otherUsers = await Users.createQueryBuilder('user')
|
||||
.where('user.host IS NOT NULL')
|
||||
.andWhere('user.isSuspended = FALSE')
|
||||
.andWhere('user.usernameLower like :username', { username: ps.query.replace('@', '').toLowerCase() + '%' })
|
||||
.take(ps.limit - users.length)
|
||||
.take(ps.limit! - users.length)
|
||||
.getMany();
|
||||
|
||||
users = users.concat(otherUsers);
|
||||
|
||||
@@ -74,7 +74,7 @@ export default define(meta, async (ps, me) => {
|
||||
})));
|
||||
} else {
|
||||
// Lookup user
|
||||
if (typeof ps.host === 'string') {
|
||||
if (typeof ps.host === 'string' && typeof ps.username === 'string') {
|
||||
user = await resolveUser(ps.username, ps.host).catch(e => {
|
||||
apiLogger.warn(`failed to resolve remote user: ${e}`);
|
||||
throw new ApiError(meta.errors.failedToResolveRemoteUser);
|
||||
@@ -82,7 +82,7 @@ export default define(meta, async (ps, me) => {
|
||||
} else {
|
||||
const q: any = ps.userId != null
|
||||
? { id: ps.userId }
|
||||
: { usernameLower: ps.username.toLowerCase(), host: null };
|
||||
: { usernameLower: ps.username!.toLowerCase(), host: null };
|
||||
|
||||
user = await Users.findOne(q);
|
||||
}
|
||||
@@ -94,7 +94,7 @@ export default define(meta, async (ps, me) => {
|
||||
// ユーザー情報更新
|
||||
if (Users.isRemoteUser(user)) {
|
||||
if (user.lastFetchedAt == null || Date.now() - user.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24) {
|
||||
resolveUser(ps.username, ps.host, { }, true);
|
||||
resolveUser(user.username, user.host, { }, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user