server/database/entities/RawActivity.ts

30 lines
575 B
TypeScript
Raw Normal View History

2023-09-13 05:06:47 +02:00
import {
BaseEntity,
Column,
Entity,
2023-09-14 05:39:11 +02:00
JoinTable,
2023-09-13 05:06:47 +02:00
ManyToMany,
PrimaryGeneratedColumn,
} from "typeorm";
import { APActivity } from "activitypub-types";
import { RawObject } from "./RawObject";
/**
* Stores an ActivityPub activity as raw JSON-LD data
*/
@Entity({
name: "activities",
})
export class RawActivity extends BaseEntity {
@PrimaryGeneratedColumn("uuid")
id!: string;
2023-09-14 05:39:11 +02:00
@Column("jsonb")
2023-09-13 05:06:47 +02:00
data!: APActivity;
// Any associated objects (there is typically only one)
@ManyToMany(() => RawObject, object => object.id)
2023-09-14 05:39:11 +02:00
@JoinTable()
2023-09-13 05:06:47 +02:00
objects!: RawObject[];
}