Skip to content

Commit 481a5ce

Browse files
authored
Job tab dark theme fix, demo mode (#317)
1 parent 3434e8d commit 481a5ce

4 files changed

Lines changed: 16 additions & 1 deletion

File tree

packages/backend/src/api/controllers/api-key.controller.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Request, Response } from 'express';
22
import { ApiKeyService } from '../../services/ApiKeyService';
33
import { z } from 'zod';
44
import { UserService } from '../../services/UserService';
5+
import { config } from '../../config';
56

67
const generateApiKeySchema = z.object({
78
name: z
@@ -18,6 +19,9 @@ export class ApiKeyController {
1819
private userService = new UserService();
1920
public generateApiKey = async (req: Request, res: Response) => {
2021
try {
22+
if (config.app.isDemo) {
23+
return res.status(403).json({ message: req.t('errors.demoMode') });
24+
}
2125
const { name, expiresInDays } = generateApiKeySchema.parse(req.body);
2226
if (!req.user || !req.user.sub) {
2327
return res.status(401).json({ message: 'Unauthorized' });
@@ -58,6 +62,9 @@ export class ApiKeyController {
5862
};
5963

6064
public deleteApiKey = async (req: Request, res: Response) => {
65+
if (config.app.isDemo) {
66+
return res.status(403).json({ message: req.t('errors.demoMode') });
67+
}
6168
const { id } = req.params;
6269
if (!req.user || !req.user.sub) {
6370
return res.status(401).json({ message: 'Unauthorized' });

packages/backend/src/api/controllers/user.controller.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { UserService } from '../../services/UserService';
33
import * as schema from '../../database/schema';
44
import { sql } from 'drizzle-orm';
55
import { db } from '../../database';
6+
import { config } from '../../config';
67

78
const userService = new UserService();
89

@@ -92,6 +93,9 @@ export const getProfile = async (req: Request, res: Response) => {
9293
};
9394

9495
export const updateProfile = async (req: Request, res: Response) => {
96+
if (config.app.isDemo) {
97+
return res.status(403).json({ message: req.t('errors.demoMode') });
98+
}
9599
const { email, first_name, last_name } = req.body;
96100
if (!req.user || !req.user.sub) {
97101
return res.status(401).json({ message: 'Unauthorized' });
@@ -111,6 +115,9 @@ export const updateProfile = async (req: Request, res: Response) => {
111115
};
112116

113117
export const updatePassword = async (req: Request, res: Response) => {
118+
if (config.app.isDemo) {
119+
return res.status(403).json({ message: req.t('errors.demoMode') });
120+
}
114121
const { currentPassword, newPassword } = req.body;
115122
if (!req.user || !req.user.sub) {
116123
return res.status(401).json({ message: 'Unauthorized' });

packages/backend/src/config/app.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ export const app = {
77
syncFrequency: process.env.SYNC_FREQUENCY || '* * * * *', //default to 1 minute
88
enableDeletion: process.env.ENABLE_DELETION === 'true',
99
allInclusiveArchive: process.env.ALL_INCLUSIVE_ARCHIVE === 'true',
10+
isDemo: process.env.IS_DEMO === 'true',
1011
};

packages/frontend/src/routes/dashboard/admin/jobs/[queueName]/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133
<Table.Row id={`error-${job.id}`} class="hidden">
134134
<Table.Cell colspan={7} class="p-0">
135135
<pre
136-
class="max-w-full text-wrap rounded-md bg-gray-100 p-4 text-xs">{job.error}</pre>
136+
class="bg-muted max-w-full text-wrap rounded-md p-4 text-xs">{job.error}</pre>
137137
</Table.Cell>
138138
</Table.Row>
139139
{/if}

0 commit comments

Comments
 (0)