feat(creatives): implement agency and client views (Tasks 6 & 7) with fatigue panel and Claude queue
This commit is contained in:
@@ -49,10 +49,10 @@ export function applyVisibilityScope<T extends Record<string, any>>(
|
||||
// Rol CLIENT: reglas estrictas de la sección 4
|
||||
switch (resource) {
|
||||
case 'creatives':
|
||||
// Solo status in ('pendiente_aprobacion','aprobada','publicada','retirada') Y visibility = 'client'
|
||||
// Solo status visibles para el cliente Y visibility = 'client'
|
||||
query = query
|
||||
.eq('visibility', 'client')
|
||||
.in('status', ['pendiente_aprobacion', 'aprobada', 'publicada', 'retirada']);
|
||||
.in('status', ['pendiente_aprobacion', 'aprobada', 'publicada', 'fatigada', 'retirada', 'rechazada']);
|
||||
break;
|
||||
|
||||
case 'creative_events':
|
||||
|
||||
@@ -7,7 +7,7 @@ export interface ActionActor {
|
||||
userId?: string | null;
|
||||
}
|
||||
|
||||
function getAdminClient() {
|
||||
export function getAdminClient() {
|
||||
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL!;
|
||||
const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY!;
|
||||
return createClient(supabaseUrl, serviceRoleKey);
|
||||
|
||||
@@ -96,10 +96,10 @@ export const DASHBOARD_MODULES: DashboardModuleDef[] = [
|
||||
},
|
||||
{
|
||||
id: 'creatives',
|
||||
href: '/dashboard/creatives',
|
||||
label: 'Pipeline creatividades',
|
||||
href: '/dashboard/creatividades',
|
||||
label: 'Creatividades Ads',
|
||||
providers: ['google_drive', 'meta_ads', 'google_ads'],
|
||||
hint: 'Aprobación de piezas ads y RRSS',
|
||||
hint: 'Aprobación de anuncios Meta y rendimiento',
|
||||
},
|
||||
{
|
||||
id: 'asistente',
|
||||
|
||||
Reference in New Issue
Block a user