refactor/adds-result-type-to-other-features #2
@@ -1,5 +1,6 @@
|
||||
'use server';
|
||||
|
||||
import { getSessionData } from '@/lib/session/session-storage';
|
||||
import { createStorageProvider } from '@/lib/storage/storage.factory';
|
||||
import { StorageProvider } from '@/lib/storage/storage.interface';
|
||||
import { TypedResult } from '@/utils/types/results';
|
||||
@@ -13,6 +14,10 @@ export const getSignedUrl = async (
|
||||
if (!storageProvider) {
|
||||
storageProvider = storage;
|
||||
}
|
||||
const session = await getSessionData();
|
||||
if (!session || !session?.user || session?.user.role !== 'admin') {
|
||||
throw new Error('Unauthorized: Only admin users can delete articles.');
|
||||
}
|
||||
return await storageProvider.get(key);
|
||||
};
|
||||
|
||||
@@ -23,6 +28,10 @@ export const checkExists = async (
|
||||
if (!storageProvider) {
|
||||
storageProvider = storage;
|
||||
}
|
||||
const session = await getSessionData();
|
||||
if (!session || !session?.user || session?.user.role !== 'admin') {
|
||||
throw new Error('Unauthorized: Only admin users can delete articles.');
|
||||
}
|
||||
return await storageProvider.exists(key);
|
||||
};
|
||||
|
||||
@@ -34,6 +43,10 @@ export const getPutUrl = async (
|
||||
if (!storageProvider) {
|
||||
storageProvider = storage;
|
||||
}
|
||||
const session = await getSessionData();
|
||||
if (!session || !session?.user || session?.user.role !== 'admin') {
|
||||
throw new Error('Unauthorized: Only admin users can delete articles.');
|
||||
}
|
||||
return await storageProvider.put(key, contentType);
|
||||
};
|
||||
|
||||
@@ -44,5 +57,9 @@ export const deleteByKey = async (
|
||||
if (!storageProvider) {
|
||||
storageProvider = storage;
|
||||
}
|
||||
const session = await getSessionData();
|
||||
if (!session || !session?.user || session?.user.role !== 'admin') {
|
||||
throw new Error('Unauthorized: Only admin users can delete articles.');
|
||||
}
|
||||
return await storageProvider.delete(key);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user