feat: reverse shares (#86)
* add first concept * add reverse share funcionality to frontend * allow creator to limit share expiration * moved reverse share in seperate module * add table to manage reverse shares * delete complete share if reverse share was deleted * optimize function names * add db migration * enable reverse share email notifications * fix config variable descriptions * fix migration for new installations
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import { setCookie } from "cookies-next";
|
||||
import { FileUploadResponse } from "../types/File.type";
|
||||
import {
|
||||
CreateShare,
|
||||
MyReverseShare,
|
||||
MyShare,
|
||||
Share,
|
||||
ShareMetaData,
|
||||
@@ -98,6 +100,34 @@ const uploadFile = async (
|
||||
).data;
|
||||
};
|
||||
|
||||
const createReverseShare = async (
|
||||
shareExpiration: string,
|
||||
maxShareSize: number,
|
||||
sendEmailNotification: boolean
|
||||
) => {
|
||||
return (
|
||||
await api.post("reverseShares", {
|
||||
shareExpiration,
|
||||
maxShareSize: maxShareSize.toString(),
|
||||
sendEmailNotification,
|
||||
})
|
||||
).data;
|
||||
};
|
||||
|
||||
const getMyReverseShares = async (): Promise<MyReverseShare[]> => {
|
||||
return (await api.get("reverseShares")).data;
|
||||
};
|
||||
|
||||
const setReverseShare = async (reverseShareToken: string) => {
|
||||
const { data } = await api.get(`/reverseShares/${reverseShareToken}`);
|
||||
setCookie("reverse_share_token", reverseShareToken);
|
||||
return data;
|
||||
};
|
||||
|
||||
const removeReverseShare = async (id: string) => {
|
||||
await api.delete(`/reverseShares/${id}`);
|
||||
};
|
||||
|
||||
export default {
|
||||
create,
|
||||
completeShare,
|
||||
@@ -109,4 +139,8 @@ export default {
|
||||
isShareIdAvailable,
|
||||
downloadFile,
|
||||
uploadFile,
|
||||
setReverseShare,
|
||||
createReverseShare,
|
||||
getMyReverseShares,
|
||||
removeReverseShare,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user