rename activity_log and activity_context to ap_inbox_log and ap_context

This commit is contained in:
Hazelnoot 2024-12-09 10:00:25 -05:00
parent 0979392925
commit cc2edae7ab
11 changed files with 113 additions and 65 deletions

View file

@ -81,8 +81,8 @@ import {
MiUserSecurityKey,
MiWebhook,
NoteEdit,
SkActivityContext,
SkActivityLog,
SkApContext,
SkApInboxLog,
} from './_.js';
import type { DataSource } from 'typeorm';
@ -128,15 +128,15 @@ const $latestNotesRepository: Provider = {
inject: [DI.db],
};
const $activityContextRepository: Provider = {
provide: DI.activityContextRepository,
useFactory: (db: DataSource) => db.getRepository(SkActivityContext).extend(miRepository as MiRepository<SkActivityContext>),
const $apContextRepository: Provider = {
provide: DI.apContextsRepository,
useFactory: (db: DataSource) => db.getRepository(SkApContext).extend(miRepository as MiRepository<SkApContext>),
inject: [DI.db],
};
const $activityLogsRepository: Provider = {
provide: DI.activityLogsRepository,
useFactory: (db: DataSource) => db.getRepository(SkActivityLog).extend(miRepository as MiRepository<SkActivityLog>),
const $apInboxLogsRepository: Provider = {
provide: DI.apInboxLogsRepository,
useFactory: (db: DataSource) => db.getRepository(SkApInboxLog).extend(miRepository as MiRepository<SkApInboxLog>),
inject: [DI.db],
};
@ -540,8 +540,8 @@ const $noteScheduleRepository: Provider = {
$appsRepository,
$avatarDecorationsRepository,
$latestNotesRepository,
$activityContextRepository,
$activityLogsRepository,
$apContextRepository,
$apInboxLogsRepository,
$noteFavoritesRepository,
$noteThreadMutingsRepository,
$noteReactionsRepository,
@ -616,8 +616,8 @@ const $noteScheduleRepository: Provider = {
$appsRepository,
$avatarDecorationsRepository,
$latestNotesRepository,
$activityContextRepository,
$activityLogsRepository,
$apContextRepository,
$apInboxLogsRepository,
$noteFavoritesRepository,
$noteThreadMutingsRepository,
$noteReactionsRepository,

View file

@ -5,10 +5,10 @@
import { Column, PrimaryColumn, Entity } from 'typeorm';
@Entity('activity_context')
export class SkActivityContext {
@Entity('ap_context')
export class SkApContext {
@PrimaryColumn('text', {
primaryKeyConstraintName: 'PK_activity_context',
primaryKeyConstraintName: 'PK_ap_context',
})
public md5: string;
@ -17,7 +17,7 @@ export class SkActivityContext {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
public json: any;
constructor(data?: Partial<SkActivityContext>) {
constructor(data?: Partial<SkApContext>) {
if (data) {
Object.assign(this, data);
}

View file

@ -4,19 +4,22 @@
*/
import { Column, Entity, Index, JoinColumn, ManyToOne, PrimaryColumn } from 'typeorm';
import { SkActivityContext } from '@/models/SkActivityContext.js';
import { SkApContext } from '@/models/SkApContext.js';
import { MiUser } from '@/models/_.js';
import { id } from './util/id.js';
@Entity('activity_log')
export class SkActivityLog {
/**
* Records activities received in the inbox
*/
@Entity('ap_inbox_log')
export class SkApInboxLog {
@PrimaryColumn({
...id(),
primaryKeyConstraintName: 'PK_activity_log',
primaryKeyConstraintName: 'PK_ap_inbox_log',
})
public id: string;
@Index('IDX_activity_log_at')
@Index('IDX_ap_inbox_log_at')
@Column('timestamptz')
public at: Date;
@ -26,13 +29,21 @@ export class SkActivityLog {
@Column('double precision', { nullable: true })
public duration: number | null = null;
/**
* Key ID that was used to sign this request.
* Untrusted unless verified is true.
*/
@Column({
type: 'text',
name: 'key_id',
})
public keyId: string;
@Index('IDX_activity_log_host')
/**
* Instance that the activity was sent from.
* Untrusted unless verified is true.
*/
@Index('IDX_ap_inbox_log_host')
@Column('text')
public host: string;
@ -57,16 +68,19 @@ export class SkActivityLog {
})
public contextHash: string | null;
@ManyToOne(() => SkActivityContext, {
@ManyToOne(() => SkApContext, {
onDelete: 'CASCADE',
nullable: true,
})
@JoinColumn({
name: 'context_hash',
foreignKeyConstraintName: 'FK_activity_log_context_hash',
foreignKeyConstraintName: 'FK_ap_inbox_log_context_hash',
})
public context: SkActivityContext | null;
public context: SkApContext | null;
/**
* ID of the user who signed this request.
*/
@Column({
...id(),
name: 'auth_user_id',
@ -74,17 +88,20 @@ export class SkActivityLog {
})
public authUserId: string | null;
/**
* User who signed this request.
*/
@ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
nullable: true,
})
@JoinColumn({
name: 'auth_user_id',
foreignKeyConstraintName: 'FK_activity_log_auth_user_id',
foreignKeyConstraintName: 'FK_ap_inbox_log_auth_user_id',
})
public authUser: MiUser | null;
constructor(data?: Partial<SkActivityLog>) {
constructor(data?: Partial<SkApInboxLog>) {
if (data) {
Object.assign(this, data);
}

View file

@ -82,8 +82,8 @@ import { NoteEdit } from '@/models/NoteEdit.js';
import { MiBubbleGameRecord } from '@/models/BubbleGameRecord.js';
import { MiReversiGame } from '@/models/ReversiGame.js';
import { MiNoteSchedule } from '@/models/NoteSchedule.js';
import { SkActivityLog } from '@/models/SkActivityLog.js';
import { SkActivityContext } from './SkActivityContext.js';
import { SkApInboxLog } from '@/models/SkApInboxLog.js';
import { SkApContext } from '@/models/SkApContext.js';
import type { QueryDeepPartialEntity } from 'typeorm/query-builder/QueryPartialEntity.js';
export interface MiRepository<T extends ObjectLiteral> {
@ -131,8 +131,8 @@ export const miRepository = {
export {
SkLatestNote,
SkActivityContext,
SkActivityLog,
SkApContext,
SkApInboxLog,
MiAbuseUserReport,
MiAbuseReportNotificationRecipient,
MiAccessToken,
@ -233,8 +233,8 @@ export type HashtagsRepository = Repository<MiHashtag> & MiRepository<MiHashtag>
export type InstancesRepository = Repository<MiInstance> & MiRepository<MiInstance>;
export type MetasRepository = Repository<MiMeta> & MiRepository<MiMeta>;
export type LatestNotesRepository = Repository<SkLatestNote> & MiRepository<SkLatestNote>;
export type ActivityContextRepository = Repository<SkActivityContext> & MiRepository<SkActivityContext>;
export type ActivityLogsRepository = Repository<SkActivityLog> & MiRepository<SkActivityLog>;
export type ApContextsRepository = Repository<SkApContext> & MiRepository<SkApContext>;
export type ApInboxLogsRepository = Repository<SkApInboxLog> & MiRepository<SkApInboxLog>;
export type ModerationLogsRepository = Repository<MiModerationLog> & MiRepository<MiModerationLog>;
export type MutingsRepository = Repository<MiMuting> & MiRepository<MiMuting>;
export type RenoteMutingsRepository = Repository<MiRenoteMuting> & MiRepository<MiRenoteMuting>;