| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import { ilike, inArray, or } from 'drizzle-orm';
- import { db } from '../src/db';
- import { permissions, rolePermissions, users } from '../src/db/schema/auth';
- import { media } from '../src/db/schema/media';
- import { aclRules, resources } from '../src/db/schema/resource';
- import { cleanupMediaRecord } from './helpers/media-cleanup';
- async function cleanupTestArtifacts() {
- const mediaRows = await db.select({ id: media.id }).from(media).where(or(
- ilike(media.filename, 'e2e-%'),
- ilike(media.filename, 'media-status-%'),
- ilike(media.filename, 'media-list-%'),
- ilike(media.filename, 'permission-test%'),
- ));
- for (const row of mediaRows) {
- await cleanupMediaRecord(row.id);
- }
- const resourceRows = await db.select({ id: resources.id }).from(resources).where(or(
- ilike(resources.path, '/permission-admin/%'),
- ilike(resources.path, '/media-status/%'),
- ilike(resources.path, '/media-list/%'),
- ));
- const resourceIds = resourceRows.map((row) => row.id);
- if (resourceIds.length > 0) {
- await db.delete(aclRules).where(inArray(aclRules.resourceId, resourceIds));
- await db.delete(resources).where(inArray(resources.id, resourceIds));
- }
- const permissionRows = await db
- .select({ id: permissions.id })
- .from(permissions)
- .where(ilike(permissions.action, 'read-1%'));
- const permissionIds = permissionRows.map((row) => row.id);
- if (permissionIds.length > 0) {
- await db.delete(rolePermissions).where(inArray(rolePermissions.permissionId, permissionIds));
- await db.delete(permissions).where(inArray(permissions.id, permissionIds));
- }
- const userRows = await db
- .select({ id: users.id })
- .from(users)
- .where(ilike(users.email, 'admin-flow-%@ekb.com'));
- const userIds = userRows.map((row) => row.id);
- if (userIds.length > 0) {
- await db.delete(users).where(inArray(users.id, userIds));
- }
- console.log('Cleaned test artifacts:', {
- media: mediaRows.length,
- resources: resourceRows.length,
- permissions: permissionRows.length,
- users: userRows.length,
- });
- }
- cleanupTestArtifacts().catch((error) => {
- console.error('Failed to clean test artifacts:', error);
- process.exit(1);
- });
|