fix: removal condition fetching
This commit is contained in:
parent
a5fd3dd7fc
commit
c28afda4bf
3 changed files with 29 additions and 7 deletions
|
@ -428,7 +428,9 @@ export class UserEntityService implements OnModuleInit {
|
|||
const profile = isDetailed
|
||||
? (opts.userProfile ?? await this.userProfilesRepository.findOneByOrFail({ userId: user.id }))
|
||||
: null;
|
||||
|
||||
const autoRemovalCondition = await this.autoRemovalConditionRepository.findOneBy({ id: user.autoRemovalConditionId });
|
||||
|
||||
let relation: UserRelation | null = null;
|
||||
if (meId && !isMe && isDetailed) {
|
||||
if (opts.userRelations) {
|
||||
|
|
|
@ -5,8 +5,10 @@
|
|||
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { Endpoint } from '@/server/api/endpoint-base.js';
|
||||
import type { AutoRemovalConditionRepository, UsersRepository } from '@/models/_.js';
|
||||
import type { AutoRemovalConditionRepository, MiAutoRemovalCondition, UsersRepository } from '@/models/_.js';
|
||||
import { DI } from '@/di-symbols.js';
|
||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
||||
|
||||
export const meta = {
|
||||
tags: ['account'],
|
||||
|
@ -47,6 +49,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
|||
|
||||
@Inject(DI.usersRepository)
|
||||
private usersRepository: UsersRepository,
|
||||
|
||||
private userEntityService: UserEntityService,
|
||||
private globalEventService: GlobalEventService,
|
||||
) {
|
||||
super(meta, paramDef, async (ps, me) => {
|
||||
await this.usersRepository.update(me.id, { autoRemoval: ps.active });
|
||||
|
@ -55,7 +60,21 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
|||
noPiningNotes: ps.noPiningNotes,
|
||||
noSpecifiedNotes: ps.noSpecifiedNotes,
|
||||
};
|
||||
await this.autoRemovalConditionRepository.update(me.autoRemovalConditionId, updated);
|
||||
const updates = {} as Partial<MiAutoRemovalCondition>;
|
||||
if (ps.deleteAfter !== undefined) updates.deleteAfter = ps.deleteAfter;
|
||||
if (ps.noPiningNotes !== undefined) updates.noPiningNotes = ps.noPiningNotes;
|
||||
if (ps.noSpecifiedNotes !== undefined) updates.noSpecifiedNotes = ps.noSpecifiedNotes;
|
||||
if (Object.keys(updates).length > 0) await this.autoRemovalConditionRepository.update(me.autoRemovalConditionId, updated);
|
||||
|
||||
const iObj = await this.userEntityService.pack(me.id, me, {
|
||||
schema: 'MeDetailed',
|
||||
includeSecrets: true,
|
||||
});
|
||||
|
||||
// Publish meUpdated event
|
||||
this.globalEventService.publishMainStream(me.id, 'meUpdated', iObj);
|
||||
|
||||
return iObj;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue