Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0d0f6fa90 | ||
|
|
4a016ed57d | ||
|
|
5ea63fb60b | ||
|
|
57cb683c64 |
@@ -1,3 +1,12 @@
|
|||||||
|
### [0.3.2](https://github.com/stonith404/pingvin-share/compare/v0.3.1...v0.3.2) (2022-12-07)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* make share password optional ([57cb683](https://github.com/stonith404/pingvin-share/commit/57cb683c64eaedec2697ea6863948bd2ae68dd75))
|
||||||
|
* unauthenticated dialog not shown ([4a016ed](https://github.com/stonith404/pingvin-share/commit/4a016ed57db526ee900c567f7b7f0991f948c631))
|
||||||
|
* use session storage for share token ([5ea63fb](https://github.com/stonith404/pingvin-share/commit/5ea63fb60be0c508c38ba228cc8ac6dd7b403aac))
|
||||||
|
|
||||||
### [0.3.1](https://github.com/stonith404/pingvin-share/compare/v0.3.0...v0.3.1) (2022-12-05)
|
### [0.3.1](https://github.com/stonith404/pingvin-share/compare/v0.3.0...v0.3.1) (2022-12-05)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { IsString } from "class-validator";
|
import { IsOptional, IsString } from "class-validator";
|
||||||
|
|
||||||
export class SharePasswordDto {
|
export class SharePasswordDto {
|
||||||
@IsString()
|
@IsString()
|
||||||
|
@IsOptional()
|
||||||
password: string;
|
password: string;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ const showCreateUploadModal = (
|
|||||||
modals: ModalsContextProps,
|
modals: ModalsContextProps,
|
||||||
options: {
|
options: {
|
||||||
isUserSignedIn: boolean;
|
isUserSignedIn: boolean;
|
||||||
ALLOW_UNAUTHENTICATED_SHARES: boolean;
|
allowUnauthenticatedShares: boolean;
|
||||||
ENABLE_EMAIL_RECIPIENTS: boolean;
|
enableEmailRecepients: boolean;
|
||||||
},
|
},
|
||||||
uploadCallback: (
|
uploadCallback: (
|
||||||
id: string,
|
id: string,
|
||||||
@@ -62,15 +62,13 @@ const CreateUploadModalBody = ({
|
|||||||
) => void;
|
) => void;
|
||||||
options: {
|
options: {
|
||||||
isUserSignedIn: boolean;
|
isUserSignedIn: boolean;
|
||||||
ALLOW_UNAUTHENTICATED_SHARES: boolean;
|
allowUnauthenticatedShares: boolean;
|
||||||
ENABLE_EMAIL_RECIPIENTS: boolean;
|
enableEmailRecepients: boolean;
|
||||||
};
|
};
|
||||||
}) => {
|
}) => {
|
||||||
const modals = useModals();
|
const modals = useModals();
|
||||||
|
|
||||||
const [showNotSignedInAlert, setShowNotSignedInAlert] = useState(
|
const [showNotSignedInAlert, setShowNotSignedInAlert] = useState(true);
|
||||||
options.ENABLE_EMAIL_RECIPIENTS
|
|
||||||
);
|
|
||||||
|
|
||||||
const validationSchema = yup.object().shape({
|
const validationSchema = yup.object().shape({
|
||||||
link: yup
|
link: yup
|
||||||
@@ -230,7 +228,7 @@ const CreateUploadModalBody = ({
|
|||||||
{ExpirationPreview({ form })}
|
{ExpirationPreview({ form })}
|
||||||
</Text>
|
</Text>
|
||||||
<Accordion>
|
<Accordion>
|
||||||
{options.ENABLE_EMAIL_RECIPIENTS && (
|
{options.enableEmailRecepients && (
|
||||||
<Accordion.Item value="recipients" sx={{ borderBottom: "none" }}>
|
<Accordion.Item value="recipients" sx={{ borderBottom: "none" }}>
|
||||||
<Accordion.Control>Email recipients</Accordion.Control>
|
<Accordion.Control>Email recipients</Accordion.Control>
|
||||||
<Accordion.Panel>
|
<Accordion.Panel>
|
||||||
|
|||||||
@@ -105,21 +105,19 @@ const Upload = () => {
|
|||||||
<Button
|
<Button
|
||||||
loading={isUploading}
|
loading={isUploading}
|
||||||
disabled={files.length <= 0}
|
disabled={files.length <= 0}
|
||||||
onClick={() =>
|
onClick={() => {
|
||||||
showCreateUploadModal(
|
showCreateUploadModal(
|
||||||
modals,
|
modals,
|
||||||
{
|
{
|
||||||
isUserSignedIn: user ? true : false,
|
isUserSignedIn: user ? true : false,
|
||||||
ALLOW_UNAUTHENTICATED_SHARES: config.get(
|
allowUnauthenticatedShares: config.get(
|
||||||
"ALLOW_UNAUTHENTICATED_SHARES"
|
"ALLOW_UNAUTHENTICATED_SHARES"
|
||||||
),
|
),
|
||||||
ENABLE_EMAIL_RECIPIENTS: config.get(
|
enableEmailRecepients: config.get("ENABLE_EMAIL_RECIPIENTS"),
|
||||||
"ENABLE_EMAIL_RECIPIENTS"
|
|
||||||
),
|
|
||||||
},
|
},
|
||||||
uploadFiles
|
uploadFiles
|
||||||
)
|
);
|
||||||
}
|
}}
|
||||||
>
|
>
|
||||||
Share
|
Share
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ const completeShare = async (id: string) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const get = async (id: string): Promise<Share> => {
|
const get = async (id: string): Promise<Share> => {
|
||||||
const shareToken = localStorage.getItem(`share_${id}_token`);
|
const shareToken = sessionStorage.getItem(`share_${id}_token`);
|
||||||
return (
|
return (
|
||||||
await api.get(`shares/${id}`, {
|
await api.get(`shares/${id}`, {
|
||||||
headers: { "X-Share-Token": shareToken ?? "" },
|
headers: { "X-Share-Token": shareToken ?? "" },
|
||||||
@@ -30,7 +30,7 @@ const get = async (id: string): Promise<Share> => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const getMetaData = async (id: string): Promise<ShareMetaData> => {
|
const getMetaData = async (id: string): Promise<ShareMetaData> => {
|
||||||
const shareToken = localStorage.getItem(`share_${id}_token`);
|
const shareToken = sessionStorage.getItem(`share_${id}_token`);
|
||||||
return (
|
return (
|
||||||
await api.get(`shares/${id}/metaData`, {
|
await api.get(`shares/${id}/metaData`, {
|
||||||
headers: { "X-Share-Token": shareToken ?? "" },
|
headers: { "X-Share-Token": shareToken ?? "" },
|
||||||
@@ -49,7 +49,7 @@ const getMyShares = async (): Promise<MyShare[]> => {
|
|||||||
const getShareToken = async (id: string, password?: string) => {
|
const getShareToken = async (id: string, password?: string) => {
|
||||||
const { token } = (await api.post(`/shares/${id}/token`, { password })).data;
|
const { token } = (await api.post(`/shares/${id}/token`, { password })).data;
|
||||||
|
|
||||||
localStorage.setItem(`share_${id}_token`, token);
|
sessionStorage.setItem(`share_${id}_token`, token);
|
||||||
};
|
};
|
||||||
|
|
||||||
const isShareIdAvailable = async (id: string): Promise<boolean> => {
|
const isShareIdAvailable = async (id: string): Promise<boolean> => {
|
||||||
@@ -57,7 +57,7 @@ const isShareIdAvailable = async (id: string): Promise<boolean> => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const getFileDownloadUrl = async (shareId: string, fileId: string) => {
|
const getFileDownloadUrl = async (shareId: string, fileId: string) => {
|
||||||
const shareToken = localStorage.getItem(`share_${shareId}_token`);
|
const shareToken = sessionStorage.getItem(`share_${shareId}_token`);
|
||||||
return (
|
return (
|
||||||
await api.get(`shares/${shareId}/files/${fileId}/download`, {
|
await api.get(`shares/${shareId}/files/${fileId}/download`, {
|
||||||
headers: { "X-Share-Token": shareToken ?? "" },
|
headers: { "X-Share-Token": shareToken ?? "" },
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pingvin-share",
|
"name": "pingvin-share",
|
||||||
"version": "0.3.1",
|
"version": "0.3.2",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"format": "cd frontend && npm run format && cd ../backend && npm run format",
|
"format": "cd frontend && npm run format && cd ../backend && npm run format",
|
||||||
"lint": "cd frontend && npm run lint && cd ../backend && npm run lint",
|
"lint": "cd frontend && npm run lint && cd ../backend && npm run lint",
|
||||||
|
|||||||
Reference in New Issue
Block a user