|
|
| |
| |
| const apiUrl = process.env.VC_VIDEOCHAIN_API_URL |
|
|
| export const GET = async <T>(path: string = '', defaultValue: T): Promise<T> => { |
| try { |
| const res = await fetch(`${apiUrl}/${path}`, { |
| method: "GET", |
| headers: { |
| Accept: "application/json", |
| Authorization: `Bearer ${process.env.VC_SECRET_ACCESS_TOKEN}`, |
| }, |
| cache: 'no-store', |
| |
| |
| }) |
|
|
| |
| |
| |
| |
| if (res.status !== 200) { |
| |
| throw new Error('Failed to fetch data') |
| } |
| |
| const data = await res.json() |
|
|
| return ((data as T) || defaultValue) |
| } catch (err) { |
| console.error(err) |
| return defaultValue |
| } |
| } |
|
|
|
|
| export const DELETE = async <T>(path: string = '', defaultValue: T): Promise<T> => { |
| try { |
| const res = await fetch(`${apiUrl}/${path}`, { |
| method: "DELETE", |
| headers: { |
| Accept: "application/json", |
| Authorization: `Bearer ${process.env.VC_SECRET_ACCESS_TOKEN}`, |
| }, |
| cache: 'no-store', |
| |
| |
| }) |
|
|
| |
| |
| |
| |
| if (res.status !== 200) { |
| |
| throw new Error('Failed to fetch data') |
| } |
| |
| const data = await res.json() |
|
|
| return ((data as T) || defaultValue) |
| } catch (err) { |
| console.error(err) |
| return defaultValue |
| } |
| } |
|
|
| export const POST = async <S, T>(path: string = '', payload: S, defaultValue: T): Promise<T> => { |
| try { |
| const res = await fetch(`${apiUrl}/${path}`, { |
| method: "POST", |
| headers: { |
| Accept: "application/json", |
| "Content-Type": "application/json", |
| Authorization: `Bearer ${process.env.VC_SECRET_ACCESS_TOKEN}`, |
| }, |
| body: JSON.stringify(payload), |
| |
| |
| next: { revalidate: 1 } |
| }) |
| |
| |
| |
| |
| if (res.status !== 200) { |
| |
| throw new Error('Failed to post data') |
| } |
| |
| const data = await res.json() |
|
|
| return ((data as T) || defaultValue) |
| } catch (err) { |
| return defaultValue |
| } |
| } |
|
|
|
|
| export const PUT = async <S, T>(path: string = '', payload: S, defaultValue: T): Promise<T> => { |
| try { |
| const res = await fetch(`${apiUrl}/${path}`, { |
| method: "PUT", |
| headers: { |
| Accept: "application/json", |
| "Content-Type": "application/json", |
| Authorization: `Bearer ${process.env.VC_SECRET_ACCESS_TOKEN}`, |
| }, |
| body: JSON.stringify(payload), |
| |
| |
| next: { revalidate: 1 } |
| }) |
| |
| |
| |
| |
| if (res.status !== 200) { |
| |
| throw new Error('Failed to post data') |
| } |
| |
| const data = await res.json() |
|
|
| return ((data as T) || defaultValue) |
| } catch (err) { |
| return defaultValue |
| } |
| } |
|
|
| export const PATCH = async <S, T>(path: string = '', payload: S, defaultValue: T): Promise<T> => { |
| try { |
| const res = await fetch(`${apiUrl}/${path}`, { |
| method: "PATCH", |
| headers: { |
| Accept: "application/json", |
| "Content-Type": "application/json", |
| Authorization: `Bearer ${process.env.VC_SECRET_ACCESS_TOKEN}`, |
| }, |
| body: JSON.stringify(payload), |
| |
| |
| next: { revalidate: 1 } |
| }) |
| |
| |
| |
| |
| if (res.status !== 200) { |
| |
| throw new Error('Failed to post data') |
| } |
| |
| const data = await res.json() |
|
|
| return ((data as T) || defaultValue) |
| } catch (err) { |
| return defaultValue |
| } |
| } |