Icon for discovery categories & fix "primary_only"

This commit is contained in:
TomatoCake 2024-08-13 21:43:19 +02:00
parent 9d2f97a92a
commit df794695ff
5 changed files with 55 additions and 8 deletions

View File

@ -39,8 +39,8 @@ router.get(
const { primary_only } = req.query;
const out = primary_only
? await Categories.find()
: await Categories.find({ where: { is_primary: true } });
? await Categories.find({ where: { is_primary: true } })
: await Categories.find();
res.send(out);
},

View File

@ -46,6 +46,10 @@ export class Categories extends BaseClassWithoutId {
@Column({ type: "simple-json" })
localizations: string;
// Whether to show the category prominently (e.g. in a sidebar) instead of only secondary (e.g. in search results)
@Column({ nullable: true })
is_primary: boolean;
@Column({ nullable: true })
icon?: string;
}

View File

@ -0,0 +1,15 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class DiscoveryCategoryIcon1723577874393 implements MigrationInterface {
name = "DiscoveryCategoryIcon1723577874393";
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
"ALTER TABLE `categories` ADD `icon` text NULL",
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query("ALTER TABLE `categories` DROP COLUMN `icon`");
}
}

View File

@ -0,0 +1,15 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class DiscoveryCategoryIcon1723577874393 implements MigrationInterface {
name = "DiscoveryCategoryIcon1723577874393";
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
"ALTER TABLE `categories` ADD `icon` text NULL",
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query("ALTER TABLE `categories` DROP COLUMN `icon`");
}
}

View File

@ -0,0 +1,13 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class DiscoveryCategoryIcon1723577874393 implements MigrationInterface {
name = "DiscoveryCategoryIcon1723577874393";
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query("ALTER TABLE categories ADD icon text NULL");
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query("ALTER TABLE categories DROP COLUMN icon");
}
}