mirror of
https://github.com/umami-software/umami.git
synced 2025-12-06 01:18:00 +01:00
Compare commits
4 commits
f5896f071b
...
b0f38b266b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0f38b266b | ||
|
|
e7cb613cec | ||
|
|
170821e2f9 | ||
|
|
935517ce3a |
3 changed files with 51 additions and 32 deletions
|
|
@ -7,7 +7,7 @@ import { checkPassword } from '@/lib/password';
|
|||
import redis from '@/lib/redis';
|
||||
import { parseRequest } from '@/lib/request';
|
||||
import { json, unauthorized } from '@/lib/response';
|
||||
import { getUserByUsername } from '@/queries/prisma';
|
||||
import { getAllUserTeams, getUserByUsername } from '@/queries/prisma';
|
||||
|
||||
export async function POST(request: Request) {
|
||||
const schema = z.object({
|
||||
|
|
@ -39,8 +39,10 @@ export async function POST(request: Request) {
|
|||
token = createSecureToken({ userId: user.id, role }, secret());
|
||||
}
|
||||
|
||||
const teams = await getAllUserTeams(id);
|
||||
|
||||
return json({
|
||||
token,
|
||||
user: { id, username, role, createdAt, isAdmin: role === ROLES.admin },
|
||||
user: { id, username, role, createdAt, isAdmin: role === ROLES.admin, teams },
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,12 @@ export function Legend({
|
|||
return (
|
||||
<Row key={text} onClick={() => onClick(item)}>
|
||||
<StatusLight color={color.alpha(color.alpha() + 0.2).toHex()}>
|
||||
<Text size="2" color={hidden ? 'disabled' : undefined} wrap="nowrap">
|
||||
<Text
|
||||
size="2"
|
||||
color={hidden ? 'disabled' : undefined}
|
||||
truncate={true}
|
||||
style={{ maxWidth: '300px' }}
|
||||
>
|
||||
{text}
|
||||
</Text>
|
||||
</StatusLight>
|
||||
|
|
|
|||
|
|
@ -137,6 +137,9 @@ export async function resetWebsite(websiteId: string) {
|
|||
|
||||
return transaction(
|
||||
[
|
||||
client.revenue.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.eventData.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
|
|
@ -175,35 +178,44 @@ export async function deleteWebsite(websiteId: string) {
|
|||
const { client, transaction } = prisma;
|
||||
const cloudMode = !!process.env.CLOUD_MODE;
|
||||
|
||||
return transaction([
|
||||
client.eventData.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.sessionData.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.websiteEvent.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.session.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.report.deleteMany({
|
||||
where: {
|
||||
websiteId,
|
||||
},
|
||||
}),
|
||||
cloudMode
|
||||
? client.website.update({
|
||||
data: {
|
||||
deletedAt: new Date(),
|
||||
},
|
||||
where: { id: websiteId },
|
||||
})
|
||||
: client.website.delete({
|
||||
where: { id: websiteId },
|
||||
}),
|
||||
]).then(async data => {
|
||||
return transaction(
|
||||
[
|
||||
client.revenue.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.eventData.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.sessionData.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.websiteEvent.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.session.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.report.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
client.segment.deleteMany({
|
||||
where: { websiteId },
|
||||
}),
|
||||
cloudMode
|
||||
? client.website.update({
|
||||
data: {
|
||||
deletedAt: new Date(),
|
||||
},
|
||||
where: { id: websiteId },
|
||||
})
|
||||
: client.website.delete({
|
||||
where: { id: websiteId },
|
||||
}),
|
||||
],
|
||||
{
|
||||
timeout: 30000,
|
||||
},
|
||||
).then(async data => {
|
||||
if (cloudMode) {
|
||||
await redis.client.del(`website:${websiteId}`);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue