RAHHHHHHH

This commit is contained in:
Jesse Wierzbinski 2023-09-13 16:25:45 -10:00
parent 298c5bceae
commit 91242b73bf
No known key found for this signature in database
GPG key ID: F9A1E418934E40B0
14 changed files with 358 additions and 76 deletions

View file

@ -24,6 +24,9 @@ export class Application extends BaseEntity {
})
vapid_key!: string | null;
@Column("varchar")
client_id!: string;
@Column("varchar")
secret!: string;

View file

@ -1,29 +0,0 @@
import {
BaseEntity,
Column,
Entity,
ManyToOne,
PrimaryGeneratedColumn,
} from "typeorm";
import { User } from "./User";
import { Status } from "./Status";
/**
* Stores an ActivityPub Like event
*/
@Entity({
name: "favourites",
})
export class Favourite extends BaseEntity {
@PrimaryGeneratedColumn("uuid")
id!: string;
@ManyToOne(() => User, user => user.id)
actor!: User;
@ManyToOne(() => Status, status => status.id)
object!: Status;
@Column("datetime")
published!: Date;
}

View file

@ -1,29 +0,0 @@
import {
BaseEntity,
Column,
Entity,
ManyToOne,
PrimaryGeneratedColumn,
} from "typeorm";
import { User } from "./User";
import { Status } from "./Status";
/**
* Stores an ActivityPub Renote event
*/
@Entity({
name: "renotes",
})
export class Renote extends BaseEntity {
@PrimaryGeneratedColumn("uuid")
id!: string;
@ManyToOne(() => User, user => user.id)
actor!: User;
@ManyToOne(() => Status, status => status.id)
object!: Status;
@Column("datetime")
published!: Date;
}

View file

@ -13,7 +13,6 @@ import { APIStatus } from "~types/entities/status";
import { User } from "./User";
import { Application } from "./Application";
import { Emoji } from "./Emoji";
import { Favourite } from "./Favourite";
import { RawActivity } from "./RawActivity";
const config = getConfig();
@ -70,20 +69,10 @@ export class Status extends BaseEntity {
emojis!: Emoji[];
@ManyToMany(() => RawActivity, activity => activity.id, {})
likes: RawActivity[] = [];
likes!: RawActivity[];
@ManyToMany(() => RawActivity, activity => activity.id, {})
announces: RawActivity[] = [];
async getFavourites(): Promise<Favourite[]> {
return Favourite.find({
where: {
object: {
id: this.id,
},
},
});
}
announces!: RawActivity[];
async toAPI(): Promise<APIStatus> {
return {
@ -95,7 +84,7 @@ export class Status extends BaseEntity {
this.emojis.map(async emoji => await emoji.toAPI())
),
favourited: false,
favourites_count: (await this.getFavourites()).length,
favourites_count: 0,
id: this.id,
in_reply_to_account_id: null,
in_reply_to_id: null,

View file

@ -10,7 +10,7 @@ import { User } from "./User";
import { Application } from "./Application";
export enum TokenType {
BEARER = "bearer",
BEARER = "Bearer",
}
@Entity({
@ -21,7 +21,7 @@ export class Token extends BaseEntity {
id!: string;
@Column("varchar")
token_type!: TokenType;
token_type: TokenType = TokenType.BEARER;
@Column("varchar")
scope!: string;
@ -29,6 +29,9 @@ export class Token extends BaseEntity {
@Column("varchar")
access_token!: string;
@Column("varchar")
code!: string;
@CreateDateColumn()
created_at!: Date;