Skip to content

Commit

Permalink
Merge pull request #1162 from DEVTomatoCake/feat/guild-discovery-cate…
Browse files Browse the repository at this point in the history
…gory-icons
  • Loading branch information
MaddyUnderStars authored Aug 14, 2024
2 parents 9d2f97a + df79469 commit 507d12f
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 8 deletions.
10 changes: 5 additions & 5 deletions src/api/routes/discovery.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Expand Down Expand Up @@ -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);
},
Expand Down
10 changes: 7 additions & 3 deletions src/util/entities/Categories.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Expand Down Expand Up @@ -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;
}
15 changes: 15 additions & 0 deletions src/util/migration/mariadb/1723577874393-discoveryCategoryIcon.ts
Original file line number Diff line number Diff line change
@@ -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`");
}
}
15 changes: 15 additions & 0 deletions src/util/migration/mysql/1723577874393-discoveryCategoryIcon.ts
Original file line number Diff line number Diff line change
@@ -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`");
}
}
13 changes: 13 additions & 0 deletions src/util/migration/postgres/1723577874393-discoveryCategoryIcon.ts
Original file line number Diff line number Diff line change
@@ -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");
}
}

0 comments on commit 507d12f

Please sign in to comment.