async createShare() {
this.loading = true
- // This should never happen™
- if (this.expirationDate == null) {
- throw new Error('Expiration date is missing')
+ let expireDate = ''
+ if (this.expirationDate) {
+ const year = this.expirationDate.getFullYear()
+ const month = (this.expirationDate.getMonth() + 1).toString().padStart(2, '0')
+ const day = this.expirationDate.getDate().toString().padStart(2, '0')
+
+ // Format must be YYYY-MM-DD
+ expireDate = `${year}-${month}-${day}`
}
-
- const year = this.expirationDate.getFullYear()
- const month = (this.expirationDate.getMonth() + 1).toString().padStart(2, '0')
- const day = this.expirationDate.getDate().toString().padStart(2, '0')
-
- // Format must be YYYY-MM-DD
- const expireDate = this.expirationDate
- ? `${year}-${month}-${day}`
- : undefined
const shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')
try {
const request = await axios.post<OCSResponse>(shareUrl, {
note: this.note,
password: this.password || undefined,
- expireDate,
+ expireDate: expireDate || undefined,
// Empty string
shareWith: '',
:readonly="true"
:show-trailing-button="true"
:trailing-button-label="t('files_sharing', 'Copy to clipboard')"
+ data-cy-file-request-dialog-fieldset="link"
@click="copyShareLink"
@trailing-button-click="copyShareLink">
<template #trailing-button-icon>
<NcTextField :value.sync="email"
:label="t('files_sharing', 'Send link via email')"
:placeholder="t('files_sharing', 'Enter an email address or paste a list')"
+ data-cy-file-request-dialog-fieldset="email"
type="email"
@keypress.enter.stop="addNewEmail"
@paste.stop.prevent="onPasteEmails"
const sharingConfig = new Config()
+export const EntryId = 'file-request'
+
export const entry = {
- id: 'file-request',
+ id: EntryId,
displayName: t('files_sharing', 'Create file request'),
iconSvgInline: FileUploadSvg,
order: 30,