Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 21 additions & 2 deletions app/actions/get-admin-users.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
'use server'

import { createClient } from '@supabase/supabase-js';
import { createClient as createServerClient } from '@/lib/supabase/server';

export async function getAdminUsersDetails() {
const adminKey = process.env.SUPABASE_SERVICE_ROLE_KEY || process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;
const supabaseServer = await createServerClient();
if (!supabaseServer) {
return { success: false, extraData: {}, error: 'Brak połączenia z bazą.' };
}
const { data: { user } } = await supabaseServer.auth.getUser();
if (!user || user.app_metadata?.role !== 'admin') {
return { success: false, extraData: {}, error: 'Brak uprawnień administratora.' };
}

const adminKey = process.env.SUPABASE_SERVICE_ROLE_KEY;
const url = process.env.NEXT_PUBLIC_SUPABASE_URL;
if (!adminKey || !url) {
if (process.env.NODE_ENV !== 'production' || !process.env.CI) {
Expand Down Expand Up @@ -43,7 +53,16 @@ export async function getAdminUsersDetails() {

// 🚀 OMIJA Zabezpieczenia RLS do sczytania cudzych kuponów z bazy
export async function getAdminUserCoupons(userId: string) {
const adminKey = process.env.SUPABASE_SERVICE_ROLE_KEY || process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;
const supabaseServer = await createServerClient();
if (!supabaseServer) {
return { success: false, coupons: [], error: 'Brak połączenia z bazą.' };
}
const { data: { user } } = await supabaseServer.auth.getUser();
if (!user || user.app_metadata?.role !== 'admin') {
return { success: false, coupons: [], error: 'Brak uprawnień administratora.' };
}

const adminKey = process.env.SUPABASE_SERVICE_ROLE_KEY;
const url = process.env.NEXT_PUBLIC_SUPABASE_URL;
if (!adminKey || !url) {
return { success: false, coupons: [], error: 'Brak kluczy do bazy.' };
Expand Down