digital-tools 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +5 -0
- package/CHANGELOG.md +9 -0
- package/README.md +1144 -0
- package/dist/define.d.ts +109 -0
- package/dist/define.d.ts.map +1 -0
- package/dist/define.js +268 -0
- package/dist/define.js.map +1 -0
- package/dist/entities/advertising.d.ts +79 -0
- package/dist/entities/advertising.d.ts.map +1 -0
- package/dist/entities/advertising.js +1000 -0
- package/dist/entities/advertising.js.map +1 -0
- package/dist/entities/ai.d.ts +69 -0
- package/dist/entities/ai.d.ts.map +1 -0
- package/dist/entities/ai.js +757 -0
- package/dist/entities/ai.js.map +1 -0
- package/dist/entities/analytics.d.ts +83 -0
- package/dist/entities/analytics.d.ts.map +1 -0
- package/dist/entities/analytics.js +1589 -0
- package/dist/entities/analytics.js.map +1 -0
- package/dist/entities/automation.d.ts +61 -0
- package/dist/entities/automation.d.ts.map +1 -0
- package/dist/entities/automation.js +602 -0
- package/dist/entities/automation.js.map +1 -0
- package/dist/entities/communication.d.ts +96 -0
- package/dist/entities/communication.d.ts.map +1 -0
- package/dist/entities/communication.js +1151 -0
- package/dist/entities/communication.js.map +1 -0
- package/dist/entities/crm.d.ts +91 -0
- package/dist/entities/crm.d.ts.map +1 -0
- package/dist/entities/crm.js +1387 -0
- package/dist/entities/crm.js.map +1 -0
- package/dist/entities/design.d.ts +61 -0
- package/dist/entities/design.d.ts.map +1 -0
- package/dist/entities/design.js +547 -0
- package/dist/entities/design.js.map +1 -0
- package/dist/entities/development.d.ts +145 -0
- package/dist/entities/development.d.ts.map +1 -0
- package/dist/entities/development.js +2213 -0
- package/dist/entities/development.js.map +1 -0
- package/dist/entities/document.d.ts +54 -0
- package/dist/entities/document.d.ts.map +1 -0
- package/dist/entities/document.js +875 -0
- package/dist/entities/document.js.map +1 -0
- package/dist/entities/ecommerce.d.ts +93 -0
- package/dist/entities/ecommerce.d.ts.map +1 -0
- package/dist/entities/ecommerce.js +1430 -0
- package/dist/entities/ecommerce.js.map +1 -0
- package/dist/entities/experiment.d.ts +89 -0
- package/dist/entities/experiment.d.ts.map +1 -0
- package/dist/entities/experiment.js +1040 -0
- package/dist/entities/experiment.js.map +1 -0
- package/dist/entities/finance.d.ts +272 -0
- package/dist/entities/finance.d.ts.map +1 -0
- package/dist/entities/finance.js +3479 -0
- package/dist/entities/finance.js.map +1 -0
- package/dist/entities/forms.d.ts +91 -0
- package/dist/entities/forms.d.ts.map +1 -0
- package/dist/entities/forms.js +1893 -0
- package/dist/entities/forms.js.map +1 -0
- package/dist/entities/hr.d.ts +62 -0
- package/dist/entities/hr.d.ts.map +1 -0
- package/dist/entities/hr.js +662 -0
- package/dist/entities/hr.js.map +1 -0
- package/dist/entities/identity.d.ts +90 -0
- package/dist/entities/identity.d.ts.map +1 -0
- package/dist/entities/identity.js +998 -0
- package/dist/entities/identity.js.map +1 -0
- package/dist/entities/index.d.ts +410 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +283 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/infrastructure.d.ts +98 -0
- package/dist/entities/infrastructure.d.ts.map +1 -0
- package/dist/entities/infrastructure.js +1154 -0
- package/dist/entities/infrastructure.js.map +1 -0
- package/dist/entities/knowledge.d.ts +98 -0
- package/dist/entities/knowledge.d.ts.map +1 -0
- package/dist/entities/knowledge.js +1439 -0
- package/dist/entities/knowledge.js.map +1 -0
- package/dist/entities/marketing.d.ts +82 -0
- package/dist/entities/marketing.d.ts.map +1 -0
- package/dist/entities/marketing.js +1611 -0
- package/dist/entities/marketing.js.map +1 -0
- package/dist/entities/media.d.ts +83 -0
- package/dist/entities/media.d.ts.map +1 -0
- package/dist/entities/media.js +1635 -0
- package/dist/entities/media.js.map +1 -0
- package/dist/entities/notification.d.ts +76 -0
- package/dist/entities/notification.d.ts.map +1 -0
- package/dist/entities/notification.js +1200 -0
- package/dist/entities/notification.js.map +1 -0
- package/dist/entities/presentation.d.ts +61 -0
- package/dist/entities/presentation.d.ts.map +1 -0
- package/dist/entities/presentation.js +1275 -0
- package/dist/entities/presentation.js.map +1 -0
- package/dist/entities/productivity.d.ts +92 -0
- package/dist/entities/productivity.d.ts.map +1 -0
- package/dist/entities/productivity.js +1318 -0
- package/dist/entities/productivity.js.map +1 -0
- package/dist/entities/project-management.d.ts +89 -0
- package/dist/entities/project-management.d.ts.map +1 -0
- package/dist/entities/project-management.js +1137 -0
- package/dist/entities/project-management.js.map +1 -0
- package/dist/entities/recruiting.d.ts +54 -0
- package/dist/entities/recruiting.d.ts.map +1 -0
- package/dist/entities/recruiting.js +737 -0
- package/dist/entities/recruiting.js.map +1 -0
- package/dist/entities/shipping.d.ts +52 -0
- package/dist/entities/shipping.d.ts.map +1 -0
- package/dist/entities/shipping.js +510 -0
- package/dist/entities/shipping.js.map +1 -0
- package/dist/entities/signature.d.ts +83 -0
- package/dist/entities/signature.d.ts.map +1 -0
- package/dist/entities/signature.js +1103 -0
- package/dist/entities/signature.js.map +1 -0
- package/dist/entities/site.d.ts +33 -0
- package/dist/entities/site.d.ts.map +1 -0
- package/dist/entities/site.js +223 -0
- package/dist/entities/site.js.map +1 -0
- package/dist/entities/spreadsheet.d.ts +68 -0
- package/dist/entities/spreadsheet.d.ts.map +1 -0
- package/dist/entities/spreadsheet.js +1342 -0
- package/dist/entities/spreadsheet.js.map +1 -0
- package/dist/entities/storage.d.ts +74 -0
- package/dist/entities/storage.d.ts.map +1 -0
- package/dist/entities/storage.js +1199 -0
- package/dist/entities/storage.js.map +1 -0
- package/dist/entities/support.d.ts +83 -0
- package/dist/entities/support.d.ts.map +1 -0
- package/dist/entities/support.js +1167 -0
- package/dist/entities/support.js.map +1 -0
- package/dist/entities/video-conferencing.d.ts +129 -0
- package/dist/entities/video-conferencing.d.ts.map +1 -0
- package/dist/entities/video-conferencing.js +1751 -0
- package/dist/entities/video-conferencing.js.map +1 -0
- package/dist/entities/video.d.ts +76 -0
- package/dist/entities/video.d.ts.map +1 -0
- package/dist/entities/video.js +951 -0
- package/dist/entities/video.js.map +1 -0
- package/dist/entities.d.ts +147 -0
- package/dist/entities.d.ts.map +1 -0
- package/dist/entities.js +1664 -0
- package/dist/entities.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/analytics/index.d.ts +19 -0
- package/dist/providers/analytics/index.d.ts.map +1 -0
- package/dist/providers/analytics/index.js +18 -0
- package/dist/providers/analytics/index.js.map +1 -0
- package/dist/providers/analytics/mixpanel.d.ts +25 -0
- package/dist/providers/analytics/mixpanel.d.ts.map +1 -0
- package/dist/providers/analytics/mixpanel.js +256 -0
- package/dist/providers/analytics/mixpanel.js.map +1 -0
- package/dist/providers/calendar/cal-com.d.ts +26 -0
- package/dist/providers/calendar/cal-com.d.ts.map +1 -0
- package/dist/providers/calendar/cal-com.js +304 -0
- package/dist/providers/calendar/cal-com.js.map +1 -0
- package/dist/providers/calendar/google-calendar.d.ts +25 -0
- package/dist/providers/calendar/google-calendar.d.ts.map +1 -0
- package/dist/providers/calendar/google-calendar.js +336 -0
- package/dist/providers/calendar/google-calendar.js.map +1 -0
- package/dist/providers/calendar/index.d.ts +20 -0
- package/dist/providers/calendar/index.d.ts.map +1 -0
- package/dist/providers/calendar/index.js +21 -0
- package/dist/providers/calendar/index.js.map +1 -0
- package/dist/providers/crm/hubspot.d.ts +25 -0
- package/dist/providers/crm/hubspot.d.ts.map +1 -0
- package/dist/providers/crm/hubspot.js +567 -0
- package/dist/providers/crm/hubspot.js.map +1 -0
- package/dist/providers/crm/index.d.ts +19 -0
- package/dist/providers/crm/index.d.ts.map +1 -0
- package/dist/providers/crm/index.js +18 -0
- package/dist/providers/crm/index.js.map +1 -0
- package/dist/providers/development/github.d.ts +25 -0
- package/dist/providers/development/github.d.ts.map +1 -0
- package/dist/providers/development/github.js +473 -0
- package/dist/providers/development/github.js.map +1 -0
- package/dist/providers/development/index.d.ts +19 -0
- package/dist/providers/development/index.d.ts.map +1 -0
- package/dist/providers/development/index.js +18 -0
- package/dist/providers/development/index.js.map +1 -0
- package/dist/providers/ecommerce/index.d.ts +19 -0
- package/dist/providers/ecommerce/index.d.ts.map +1 -0
- package/dist/providers/ecommerce/index.js +18 -0
- package/dist/providers/ecommerce/index.js.map +1 -0
- package/dist/providers/ecommerce/shopify.d.ts +25 -0
- package/dist/providers/ecommerce/shopify.d.ts.map +1 -0
- package/dist/providers/ecommerce/shopify.js +379 -0
- package/dist/providers/ecommerce/shopify.js.map +1 -0
- package/dist/providers/email/index.d.ts +20 -0
- package/dist/providers/email/index.d.ts.map +1 -0
- package/dist/providers/email/index.js +21 -0
- package/dist/providers/email/index.js.map +1 -0
- package/dist/providers/email/resend.d.ts +25 -0
- package/dist/providers/email/resend.d.ts.map +1 -0
- package/dist/providers/email/resend.js +259 -0
- package/dist/providers/email/resend.js.map +1 -0
- package/dist/providers/email/sendgrid.d.ts +25 -0
- package/dist/providers/email/sendgrid.d.ts.map +1 -0
- package/dist/providers/email/sendgrid.js +162 -0
- package/dist/providers/email/sendgrid.js.map +1 -0
- package/dist/providers/finance/index.d.ts +19 -0
- package/dist/providers/finance/index.d.ts.map +1 -0
- package/dist/providers/finance/index.js +18 -0
- package/dist/providers/finance/index.js.map +1 -0
- package/dist/providers/finance/stripe.d.ts +25 -0
- package/dist/providers/finance/stripe.d.ts.map +1 -0
- package/dist/providers/finance/stripe.js +550 -0
- package/dist/providers/finance/stripe.js.map +1 -0
- package/dist/providers/forms/index.d.ts +19 -0
- package/dist/providers/forms/index.d.ts.map +1 -0
- package/dist/providers/forms/index.js +18 -0
- package/dist/providers/forms/index.js.map +1 -0
- package/dist/providers/forms/typeform.d.ts +25 -0
- package/dist/providers/forms/typeform.d.ts.map +1 -0
- package/dist/providers/forms/typeform.js +501 -0
- package/dist/providers/forms/typeform.js.map +1 -0
- package/dist/providers/index.d.ts +56 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +124 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/knowledge/index.d.ts +19 -0
- package/dist/providers/knowledge/index.d.ts.map +1 -0
- package/dist/providers/knowledge/index.js +18 -0
- package/dist/providers/knowledge/index.js.map +1 -0
- package/dist/providers/knowledge/notion.d.ts +25 -0
- package/dist/providers/knowledge/notion.d.ts.map +1 -0
- package/dist/providers/knowledge/notion.js +390 -0
- package/dist/providers/knowledge/notion.js.map +1 -0
- package/dist/providers/marketing/index.d.ts +19 -0
- package/dist/providers/marketing/index.d.ts.map +1 -0
- package/dist/providers/marketing/index.js +18 -0
- package/dist/providers/marketing/index.js.map +1 -0
- package/dist/providers/marketing/mailchimp.d.ts +25 -0
- package/dist/providers/marketing/mailchimp.d.ts.map +1 -0
- package/dist/providers/marketing/mailchimp.js +444 -0
- package/dist/providers/marketing/mailchimp.js.map +1 -0
- package/dist/providers/media/cloudinary.d.ts +25 -0
- package/dist/providers/media/cloudinary.d.ts.map +1 -0
- package/dist/providers/media/cloudinary.js +319 -0
- package/dist/providers/media/cloudinary.js.map +1 -0
- package/dist/providers/media/index.d.ts +19 -0
- package/dist/providers/media/index.d.ts.map +1 -0
- package/dist/providers/media/index.js +18 -0
- package/dist/providers/media/index.js.map +1 -0
- package/dist/providers/messaging/index.d.ts +24 -0
- package/dist/providers/messaging/index.d.ts.map +1 -0
- package/dist/providers/messaging/index.js +21 -0
- package/dist/providers/messaging/index.js.map +1 -0
- package/dist/providers/messaging/slack.d.ts +25 -0
- package/dist/providers/messaging/slack.d.ts.map +1 -0
- package/dist/providers/messaging/slack.js +394 -0
- package/dist/providers/messaging/slack.js.map +1 -0
- package/dist/providers/messaging/twilio-sms.d.ts +25 -0
- package/dist/providers/messaging/twilio-sms.d.ts.map +1 -0
- package/dist/providers/messaging/twilio-sms.js +250 -0
- package/dist/providers/messaging/twilio-sms.js.map +1 -0
- package/dist/providers/project-management/index.d.ts +19 -0
- package/dist/providers/project-management/index.d.ts.map +1 -0
- package/dist/providers/project-management/index.js +18 -0
- package/dist/providers/project-management/index.js.map +1 -0
- package/dist/providers/project-management/linear.d.ts +25 -0
- package/dist/providers/project-management/linear.d.ts.map +1 -0
- package/dist/providers/project-management/linear.js +576 -0
- package/dist/providers/project-management/linear.js.map +1 -0
- package/dist/providers/registry.d.ts +41 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +87 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/providers/spreadsheet/google-sheets.d.ts +25 -0
- package/dist/providers/spreadsheet/google-sheets.d.ts.map +1 -0
- package/dist/providers/spreadsheet/google-sheets.js +376 -0
- package/dist/providers/spreadsheet/google-sheets.js.map +1 -0
- package/dist/providers/spreadsheet/index.d.ts +20 -0
- package/dist/providers/spreadsheet/index.d.ts.map +1 -0
- package/dist/providers/spreadsheet/index.js +21 -0
- package/dist/providers/spreadsheet/index.js.map +1 -0
- package/dist/providers/spreadsheet/xlsx.d.ts +26 -0
- package/dist/providers/spreadsheet/xlsx.d.ts.map +1 -0
- package/dist/providers/spreadsheet/xlsx.js +424 -0
- package/dist/providers/spreadsheet/xlsx.js.map +1 -0
- package/dist/providers/storage/index.d.ts +30 -0
- package/dist/providers/storage/index.d.ts.map +1 -0
- package/dist/providers/storage/index.js +25 -0
- package/dist/providers/storage/index.js.map +1 -0
- package/dist/providers/storage/s3.d.ts +25 -0
- package/dist/providers/storage/s3.d.ts.map +1 -0
- package/dist/providers/storage/s3.js +420 -0
- package/dist/providers/storage/s3.js.map +1 -0
- package/dist/providers/support/index.d.ts +19 -0
- package/dist/providers/support/index.d.ts.map +1 -0
- package/dist/providers/support/index.js +18 -0
- package/dist/providers/support/index.js.map +1 -0
- package/dist/providers/support/zendesk.d.ts +25 -0
- package/dist/providers/support/zendesk.d.ts.map +1 -0
- package/dist/providers/support/zendesk.js +374 -0
- package/dist/providers/support/zendesk.js.map +1 -0
- package/dist/providers/tasks/index.d.ts +19 -0
- package/dist/providers/tasks/index.d.ts.map +1 -0
- package/dist/providers/tasks/index.js +18 -0
- package/dist/providers/tasks/index.js.map +1 -0
- package/dist/providers/tasks/todoist.d.ts +25 -0
- package/dist/providers/tasks/todoist.d.ts.map +1 -0
- package/dist/providers/tasks/todoist.js +287 -0
- package/dist/providers/tasks/todoist.js.map +1 -0
- package/dist/providers/types.d.ts +1753 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +10 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/providers/video-conferencing/google-meet.d.ts +26 -0
- package/dist/providers/video-conferencing/google-meet.d.ts.map +1 -0
- package/dist/providers/video-conferencing/google-meet.js +287 -0
- package/dist/providers/video-conferencing/google-meet.js.map +1 -0
- package/dist/providers/video-conferencing/index.d.ts +22 -0
- package/dist/providers/video-conferencing/index.d.ts.map +1 -0
- package/dist/providers/video-conferencing/index.js +32 -0
- package/dist/providers/video-conferencing/index.js.map +1 -0
- package/dist/providers/video-conferencing/jitsi.d.ts +26 -0
- package/dist/providers/video-conferencing/jitsi.d.ts.map +1 -0
- package/dist/providers/video-conferencing/jitsi.js +255 -0
- package/dist/providers/video-conferencing/jitsi.js.map +1 -0
- package/dist/providers/video-conferencing/teams.d.ts +26 -0
- package/dist/providers/video-conferencing/teams.d.ts.map +1 -0
- package/dist/providers/video-conferencing/teams.js +271 -0
- package/dist/providers/video-conferencing/teams.js.map +1 -0
- package/dist/providers/video-conferencing/zoom.d.ts +25 -0
- package/dist/providers/video-conferencing/zoom.d.ts.map +1 -0
- package/dist/providers/video-conferencing/zoom.js +333 -0
- package/dist/providers/video-conferencing/zoom.js.map +1 -0
- package/dist/providers/voice/vapi.d.ts +27 -0
- package/dist/providers/voice/vapi.d.ts.map +1 -0
- package/dist/providers/voice/vapi.js +440 -0
- package/dist/providers/voice/vapi.js.map +1 -0
- package/dist/registry.d.ts +38 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +129 -0
- package/dist/registry.js.map +1 -0
- package/dist/tools/communication.d.ts +94 -0
- package/dist/tools/communication.d.ts.map +1 -0
- package/dist/tools/communication.js +185 -0
- package/dist/tools/communication.js.map +1 -0
- package/dist/tools/data.d.ts +61 -0
- package/dist/tools/data.d.ts.map +1 -0
- package/dist/tools/data.js +206 -0
- package/dist/tools/data.js.map +1 -0
- package/dist/tools/index.d.ts +12 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +12 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/web.d.ts +45 -0
- package/dist/tools/web.d.ts.map +1 -0
- package/dist/tools/web.js +138 -0
- package/dist/tools/web.js.map +1 -0
- package/dist/types.d.ts +330 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/package.json +45 -0
- package/src/define.ts +321 -0
- package/src/entities/advertising.ts +1086 -0
- package/src/entities/ai.ts +835 -0
- package/src/entities/analytics.ts +1690 -0
- package/src/entities/automation.ts +669 -0
- package/src/entities/communication.ts +1255 -0
- package/src/entities/crm.ts +1481 -0
- package/src/entities/design.ts +606 -0
- package/src/entities/development.ts +2392 -0
- package/src/entities/document.ts +930 -0
- package/src/entities/ecommerce.ts +1539 -0
- package/src/entities/experiment.ts +1139 -0
- package/src/entities/finance.ts +3907 -0
- package/src/entities/forms.ts +2021 -0
- package/src/entities/hr.ts +725 -0
- package/src/entities/identity.ts +1093 -0
- package/src/entities/index.ts +731 -0
- package/src/entities/infrastructure.ts +1254 -0
- package/src/entities/knowledge.ts +1547 -0
- package/src/entities/marketing.ts +1718 -0
- package/src/entities/media.ts +1747 -0
- package/src/entities/notification.ts +1260 -0
- package/src/entities/presentation.ts +1360 -0
- package/src/entities/productivity.ts +1411 -0
- package/src/entities/project-management.ts +1222 -0
- package/src/entities/recruiting.ts +797 -0
- package/src/entities/shipping.ts +566 -0
- package/src/entities/signature.ts +1204 -0
- package/src/entities/site.ts +244 -0
- package/src/entities/spreadsheet.ts +1434 -0
- package/src/entities/storage.ts +1290 -0
- package/src/entities/support.ts +1267 -0
- package/src/entities/video-conferencing.ts +1874 -0
- package/src/entities/video.ts +1035 -0
- package/src/entities.ts +1795 -0
- package/src/index.ts +176 -0
- package/src/providers/analytics/index.ts +21 -0
- package/src/providers/analytics/mixpanel.ts +311 -0
- package/src/providers/calendar/cal-com.ts +435 -0
- package/src/providers/calendar/google-calendar.ts +412 -0
- package/src/providers/calendar/index.ts +24 -0
- package/src/providers/crm/hubspot.ts +667 -0
- package/src/providers/crm/index.ts +21 -0
- package/src/providers/development/github.ts +608 -0
- package/src/providers/development/index.ts +21 -0
- package/src/providers/ecommerce/index.ts +21 -0
- package/src/providers/ecommerce/shopify.ts +451 -0
- package/src/providers/email/index.ts +24 -0
- package/src/providers/email/resend.ts +301 -0
- package/src/providers/email/sendgrid.ts +196 -0
- package/src/providers/finance/index.ts +21 -0
- package/src/providers/finance/stripe.ts +665 -0
- package/src/providers/forms/index.ts +21 -0
- package/src/providers/forms/typeform.ts +598 -0
- package/src/providers/index.ts +281 -0
- package/src/providers/knowledge/index.ts +21 -0
- package/src/providers/knowledge/notion.ts +497 -0
- package/src/providers/marketing/index.ts +21 -0
- package/src/providers/marketing/mailchimp.ts +656 -0
- package/src/providers/media/cloudinary.ts +373 -0
- package/src/providers/media/index.ts +21 -0
- package/src/providers/messaging/index.ts +24 -0
- package/src/providers/messaging/slack.ts +487 -0
- package/src/providers/messaging/twilio-sms.ts +301 -0
- package/src/providers/project-management/index.ts +21 -0
- package/src/providers/project-management/linear.ts +693 -0
- package/src/providers/registry.ts +119 -0
- package/src/providers/spreadsheet/google-sheets.ts +464 -0
- package/src/providers/spreadsheet/index.ts +24 -0
- package/src/providers/spreadsheet/xlsx.ts +542 -0
- package/src/providers/storage/index.ts +35 -0
- package/src/providers/storage/s3.ts +513 -0
- package/src/providers/support/index.ts +21 -0
- package/src/providers/support/zendesk.ts +417 -0
- package/src/providers/tasks/index.ts +21 -0
- package/src/providers/tasks/todoist.ts +407 -0
- package/src/providers/types.ts +2113 -0
- package/src/providers/video-conferencing/google-meet.ts +412 -0
- package/src/providers/video-conferencing/index.ts +35 -0
- package/src/providers/video-conferencing/jitsi.ts +324 -0
- package/src/providers/video-conferencing/teams.ts +408 -0
- package/src/providers/video-conferencing/zoom.ts +451 -0
- package/src/registry.ts +172 -0
- package/src/tools/communication.ts +256 -0
- package/src/tools/data.ts +236 -0
- package/src/tools/index.ts +12 -0
- package/src/tools/web.ts +161 -0
- package/src/types.ts +539 -0
- package/test/define.test.ts +367 -0
- package/test/registry.test.ts +444 -0
- package/test/tools.test.ts +453 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,1199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage & Files Entity Types (Nouns)
|
|
3
|
+
*
|
|
4
|
+
* Semantic type definitions for file storage and cloud drive tools.
|
|
5
|
+
* Each entity defines properties, relationships, actions, and events
|
|
6
|
+
* for working with files, folders, drives, sharing, versioning, and backups.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// File
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* File entity
|
|
15
|
+
*
|
|
16
|
+
* Represents a file with metadata, permissions, and version control
|
|
17
|
+
*/
|
|
18
|
+
export const File = {
|
|
19
|
+
singular: 'file',
|
|
20
|
+
plural: 'files',
|
|
21
|
+
description: 'A file stored in a filesystem or cloud drive',
|
|
22
|
+
properties: {
|
|
23
|
+
// Identity
|
|
24
|
+
name: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
description: 'File name including extension',
|
|
27
|
+
},
|
|
28
|
+
path: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
description: 'Full path to the file',
|
|
31
|
+
},
|
|
32
|
+
extension: {
|
|
33
|
+
type: 'string',
|
|
34
|
+
optional: true,
|
|
35
|
+
description: 'File extension (e.g., pdf, jpg, docx)',
|
|
36
|
+
},
|
|
37
|
+
// Content
|
|
38
|
+
size: {
|
|
39
|
+
type: 'number',
|
|
40
|
+
description: 'File size in bytes',
|
|
41
|
+
},
|
|
42
|
+
mimeType: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: 'MIME type of the file',
|
|
45
|
+
},
|
|
46
|
+
hash: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
optional: true,
|
|
49
|
+
description: 'Content hash (MD5, SHA256, etc.) for integrity verification',
|
|
50
|
+
},
|
|
51
|
+
encoding: {
|
|
52
|
+
type: 'string',
|
|
53
|
+
optional: true,
|
|
54
|
+
description: 'Character encoding for text files',
|
|
55
|
+
},
|
|
56
|
+
// Metadata
|
|
57
|
+
type: {
|
|
58
|
+
type: 'string',
|
|
59
|
+
description: 'File type category: document, image, video, audio, archive, code, other',
|
|
60
|
+
examples: ['document', 'image', 'video', 'audio', 'archive', 'code', 'other'],
|
|
61
|
+
},
|
|
62
|
+
description: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
optional: true,
|
|
65
|
+
description: 'File description or notes',
|
|
66
|
+
},
|
|
67
|
+
tags: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
array: true,
|
|
70
|
+
optional: true,
|
|
71
|
+
description: 'Tags or labels for organization',
|
|
72
|
+
},
|
|
73
|
+
// Permissions
|
|
74
|
+
permissions: {
|
|
75
|
+
type: 'json',
|
|
76
|
+
optional: true,
|
|
77
|
+
description: 'File permissions (read, write, execute)',
|
|
78
|
+
},
|
|
79
|
+
visibility: {
|
|
80
|
+
type: 'string',
|
|
81
|
+
optional: true,
|
|
82
|
+
description: 'Visibility level: private, shared, public',
|
|
83
|
+
examples: ['private', 'shared', 'public'],
|
|
84
|
+
},
|
|
85
|
+
owner: {
|
|
86
|
+
type: 'string',
|
|
87
|
+
optional: true,
|
|
88
|
+
description: 'File owner user ID',
|
|
89
|
+
},
|
|
90
|
+
// Status
|
|
91
|
+
status: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
optional: true,
|
|
94
|
+
description: 'File status: active, archived, deleted, quarantined',
|
|
95
|
+
examples: ['active', 'archived', 'deleted', 'quarantined'],
|
|
96
|
+
},
|
|
97
|
+
starred: {
|
|
98
|
+
type: 'boolean',
|
|
99
|
+
optional: true,
|
|
100
|
+
description: 'Whether the file is starred/favorited',
|
|
101
|
+
},
|
|
102
|
+
locked: {
|
|
103
|
+
type: 'boolean',
|
|
104
|
+
optional: true,
|
|
105
|
+
description: 'Whether the file is locked from editing',
|
|
106
|
+
},
|
|
107
|
+
// URLs
|
|
108
|
+
url: {
|
|
109
|
+
type: 'url',
|
|
110
|
+
optional: true,
|
|
111
|
+
description: 'URL to access/download the file',
|
|
112
|
+
},
|
|
113
|
+
thumbnailUrl: {
|
|
114
|
+
type: 'url',
|
|
115
|
+
optional: true,
|
|
116
|
+
description: 'URL to a thumbnail preview',
|
|
117
|
+
},
|
|
118
|
+
webViewUrl: {
|
|
119
|
+
type: 'url',
|
|
120
|
+
optional: true,
|
|
121
|
+
description: 'URL to view the file in a web browser',
|
|
122
|
+
},
|
|
123
|
+
// Dates
|
|
124
|
+
createdAt: {
|
|
125
|
+
type: 'datetime',
|
|
126
|
+
optional: true,
|
|
127
|
+
description: 'When the file was created',
|
|
128
|
+
},
|
|
129
|
+
modifiedAt: {
|
|
130
|
+
type: 'datetime',
|
|
131
|
+
optional: true,
|
|
132
|
+
description: 'When the file was last modified',
|
|
133
|
+
},
|
|
134
|
+
accessedAt: {
|
|
135
|
+
type: 'datetime',
|
|
136
|
+
optional: true,
|
|
137
|
+
description: 'When the file was last accessed',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
relationships: {
|
|
141
|
+
folder: {
|
|
142
|
+
type: 'Folder',
|
|
143
|
+
backref: 'files',
|
|
144
|
+
description: 'Parent folder containing this file',
|
|
145
|
+
},
|
|
146
|
+
drive: {
|
|
147
|
+
type: 'Drive',
|
|
148
|
+
description: 'Drive where this file is stored',
|
|
149
|
+
},
|
|
150
|
+
versions: {
|
|
151
|
+
type: 'FileVersion[]',
|
|
152
|
+
backref: 'file',
|
|
153
|
+
description: 'Version history of this file',
|
|
154
|
+
},
|
|
155
|
+
sharedLinks: {
|
|
156
|
+
type: 'SharedLink[]',
|
|
157
|
+
backref: 'file',
|
|
158
|
+
description: 'Sharing links for this file',
|
|
159
|
+
},
|
|
160
|
+
owner: {
|
|
161
|
+
type: 'Contact',
|
|
162
|
+
description: 'Owner of the file',
|
|
163
|
+
},
|
|
164
|
+
collaborators: {
|
|
165
|
+
type: 'Contact[]',
|
|
166
|
+
description: 'People with access to the file',
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
actions: [
|
|
170
|
+
'create',
|
|
171
|
+
'upload',
|
|
172
|
+
'download',
|
|
173
|
+
'open',
|
|
174
|
+
'edit',
|
|
175
|
+
'save',
|
|
176
|
+
'copy',
|
|
177
|
+
'move',
|
|
178
|
+
'rename',
|
|
179
|
+
'delete',
|
|
180
|
+
'restore',
|
|
181
|
+
'share',
|
|
182
|
+
'unshare',
|
|
183
|
+
'star',
|
|
184
|
+
'unstar',
|
|
185
|
+
'lock',
|
|
186
|
+
'unlock',
|
|
187
|
+
'tag',
|
|
188
|
+
'untag',
|
|
189
|
+
'preview',
|
|
190
|
+
'compress',
|
|
191
|
+
'decompress',
|
|
192
|
+
'encrypt',
|
|
193
|
+
'decrypt',
|
|
194
|
+
],
|
|
195
|
+
events: [
|
|
196
|
+
'created',
|
|
197
|
+
'uploaded',
|
|
198
|
+
'downloaded',
|
|
199
|
+
'opened',
|
|
200
|
+
'edited',
|
|
201
|
+
'saved',
|
|
202
|
+
'copied',
|
|
203
|
+
'moved',
|
|
204
|
+
'renamed',
|
|
205
|
+
'deleted',
|
|
206
|
+
'restored',
|
|
207
|
+
'shared',
|
|
208
|
+
'unshared',
|
|
209
|
+
'starred',
|
|
210
|
+
'unstarred',
|
|
211
|
+
'locked',
|
|
212
|
+
'unlocked',
|
|
213
|
+
'tagged',
|
|
214
|
+
'untagged',
|
|
215
|
+
'previewed',
|
|
216
|
+
'compressed',
|
|
217
|
+
'decompressed',
|
|
218
|
+
'encrypted',
|
|
219
|
+
'decrypted',
|
|
220
|
+
'virusScanned',
|
|
221
|
+
'quarantined',
|
|
222
|
+
],
|
|
223
|
+
};
|
|
224
|
+
// =============================================================================
|
|
225
|
+
// Folder
|
|
226
|
+
// =============================================================================
|
|
227
|
+
/**
|
|
228
|
+
* Folder/Directory entity
|
|
229
|
+
*
|
|
230
|
+
* Represents a folder or directory that can contain files and subfolders
|
|
231
|
+
*/
|
|
232
|
+
export const Folder = {
|
|
233
|
+
singular: 'folder',
|
|
234
|
+
plural: 'folders',
|
|
235
|
+
description: 'A folder or directory containing files and subfolders',
|
|
236
|
+
properties: {
|
|
237
|
+
// Identity
|
|
238
|
+
name: {
|
|
239
|
+
type: 'string',
|
|
240
|
+
description: 'Folder name',
|
|
241
|
+
},
|
|
242
|
+
path: {
|
|
243
|
+
type: 'string',
|
|
244
|
+
description: 'Full path to the folder',
|
|
245
|
+
},
|
|
246
|
+
// Metadata
|
|
247
|
+
description: {
|
|
248
|
+
type: 'string',
|
|
249
|
+
optional: true,
|
|
250
|
+
description: 'Folder description or purpose',
|
|
251
|
+
},
|
|
252
|
+
color: {
|
|
253
|
+
type: 'string',
|
|
254
|
+
optional: true,
|
|
255
|
+
description: 'Folder color for visual organization',
|
|
256
|
+
},
|
|
257
|
+
icon: {
|
|
258
|
+
type: 'string',
|
|
259
|
+
optional: true,
|
|
260
|
+
description: 'Folder icon identifier',
|
|
261
|
+
},
|
|
262
|
+
// Content stats
|
|
263
|
+
fileCount: {
|
|
264
|
+
type: 'number',
|
|
265
|
+
optional: true,
|
|
266
|
+
description: 'Number of files directly in this folder',
|
|
267
|
+
},
|
|
268
|
+
folderCount: {
|
|
269
|
+
type: 'number',
|
|
270
|
+
optional: true,
|
|
271
|
+
description: 'Number of subfolders',
|
|
272
|
+
},
|
|
273
|
+
totalSize: {
|
|
274
|
+
type: 'number',
|
|
275
|
+
optional: true,
|
|
276
|
+
description: 'Total size of all contents in bytes',
|
|
277
|
+
},
|
|
278
|
+
// Permissions
|
|
279
|
+
permissions: {
|
|
280
|
+
type: 'json',
|
|
281
|
+
optional: true,
|
|
282
|
+
description: 'Folder permissions',
|
|
283
|
+
},
|
|
284
|
+
visibility: {
|
|
285
|
+
type: 'string',
|
|
286
|
+
optional: true,
|
|
287
|
+
description: 'Visibility level: private, shared, public',
|
|
288
|
+
examples: ['private', 'shared', 'public'],
|
|
289
|
+
},
|
|
290
|
+
owner: {
|
|
291
|
+
type: 'string',
|
|
292
|
+
optional: true,
|
|
293
|
+
description: 'Folder owner user ID',
|
|
294
|
+
},
|
|
295
|
+
// Status
|
|
296
|
+
starred: {
|
|
297
|
+
type: 'boolean',
|
|
298
|
+
optional: true,
|
|
299
|
+
description: 'Whether the folder is starred/favorited',
|
|
300
|
+
},
|
|
301
|
+
pinned: {
|
|
302
|
+
type: 'boolean',
|
|
303
|
+
optional: true,
|
|
304
|
+
description: 'Whether the folder is pinned for quick access',
|
|
305
|
+
},
|
|
306
|
+
archived: {
|
|
307
|
+
type: 'boolean',
|
|
308
|
+
optional: true,
|
|
309
|
+
description: 'Whether the folder is archived',
|
|
310
|
+
},
|
|
311
|
+
// URLs
|
|
312
|
+
url: {
|
|
313
|
+
type: 'url',
|
|
314
|
+
optional: true,
|
|
315
|
+
description: 'URL to access the folder',
|
|
316
|
+
},
|
|
317
|
+
webViewUrl: {
|
|
318
|
+
type: 'url',
|
|
319
|
+
optional: true,
|
|
320
|
+
description: 'URL to view the folder in a web browser',
|
|
321
|
+
},
|
|
322
|
+
// Dates
|
|
323
|
+
createdAt: {
|
|
324
|
+
type: 'datetime',
|
|
325
|
+
optional: true,
|
|
326
|
+
description: 'When the folder was created',
|
|
327
|
+
},
|
|
328
|
+
modifiedAt: {
|
|
329
|
+
type: 'datetime',
|
|
330
|
+
optional: true,
|
|
331
|
+
description: 'When the folder contents were last modified',
|
|
332
|
+
},
|
|
333
|
+
},
|
|
334
|
+
relationships: {
|
|
335
|
+
parentFolder: {
|
|
336
|
+
type: 'Folder',
|
|
337
|
+
backref: 'subfolders',
|
|
338
|
+
required: false,
|
|
339
|
+
description: 'Parent folder (null for root)',
|
|
340
|
+
},
|
|
341
|
+
subfolders: {
|
|
342
|
+
type: 'Folder[]',
|
|
343
|
+
backref: 'parentFolder',
|
|
344
|
+
description: 'Subfolders within this folder',
|
|
345
|
+
},
|
|
346
|
+
files: {
|
|
347
|
+
type: 'File[]',
|
|
348
|
+
backref: 'folder',
|
|
349
|
+
description: 'Files within this folder',
|
|
350
|
+
},
|
|
351
|
+
drive: {
|
|
352
|
+
type: 'Drive',
|
|
353
|
+
description: 'Drive where this folder is stored',
|
|
354
|
+
},
|
|
355
|
+
sharedLinks: {
|
|
356
|
+
type: 'SharedLink[]',
|
|
357
|
+
backref: 'folder',
|
|
358
|
+
description: 'Sharing links for this folder',
|
|
359
|
+
},
|
|
360
|
+
owner: {
|
|
361
|
+
type: 'Contact',
|
|
362
|
+
description: 'Owner of the folder',
|
|
363
|
+
},
|
|
364
|
+
collaborators: {
|
|
365
|
+
type: 'Contact[]',
|
|
366
|
+
description: 'People with access to the folder',
|
|
367
|
+
},
|
|
368
|
+
},
|
|
369
|
+
actions: [
|
|
370
|
+
'create',
|
|
371
|
+
'rename',
|
|
372
|
+
'move',
|
|
373
|
+
'copy',
|
|
374
|
+
'delete',
|
|
375
|
+
'restore',
|
|
376
|
+
'share',
|
|
377
|
+
'unshare',
|
|
378
|
+
'star',
|
|
379
|
+
'unstar',
|
|
380
|
+
'pin',
|
|
381
|
+
'unpin',
|
|
382
|
+
'archive',
|
|
383
|
+
'unarchive',
|
|
384
|
+
'compress',
|
|
385
|
+
'sync',
|
|
386
|
+
],
|
|
387
|
+
events: [
|
|
388
|
+
'created',
|
|
389
|
+
'renamed',
|
|
390
|
+
'moved',
|
|
391
|
+
'copied',
|
|
392
|
+
'deleted',
|
|
393
|
+
'restored',
|
|
394
|
+
'shared',
|
|
395
|
+
'unshared',
|
|
396
|
+
'starred',
|
|
397
|
+
'unstarred',
|
|
398
|
+
'pinned',
|
|
399
|
+
'unpinned',
|
|
400
|
+
'archived',
|
|
401
|
+
'unarchived',
|
|
402
|
+
'compressed',
|
|
403
|
+
'synced',
|
|
404
|
+
],
|
|
405
|
+
};
|
|
406
|
+
// =============================================================================
|
|
407
|
+
// Drive
|
|
408
|
+
// =============================================================================
|
|
409
|
+
/**
|
|
410
|
+
* Cloud drive entity
|
|
411
|
+
*
|
|
412
|
+
* Represents a cloud storage drive (Google Drive, Dropbox, OneDrive, etc.)
|
|
413
|
+
*/
|
|
414
|
+
export const Drive = {
|
|
415
|
+
singular: 'drive',
|
|
416
|
+
plural: 'drives',
|
|
417
|
+
description: 'A cloud storage drive or filesystem root',
|
|
418
|
+
properties: {
|
|
419
|
+
// Identity
|
|
420
|
+
name: {
|
|
421
|
+
type: 'string',
|
|
422
|
+
description: 'Drive name',
|
|
423
|
+
},
|
|
424
|
+
type: {
|
|
425
|
+
type: 'string',
|
|
426
|
+
description: 'Drive type: personal, shared, team, external, system',
|
|
427
|
+
examples: ['personal', 'shared', 'team', 'external', 'system'],
|
|
428
|
+
},
|
|
429
|
+
provider: {
|
|
430
|
+
type: 'string',
|
|
431
|
+
optional: true,
|
|
432
|
+
description: 'Cloud provider: google-drive, dropbox, onedrive, box, s3',
|
|
433
|
+
examples: ['google-drive', 'dropbox', 'onedrive', 'box', 's3', 'local'],
|
|
434
|
+
},
|
|
435
|
+
// Metadata
|
|
436
|
+
description: {
|
|
437
|
+
type: 'string',
|
|
438
|
+
optional: true,
|
|
439
|
+
description: 'Drive description or purpose',
|
|
440
|
+
},
|
|
441
|
+
icon: {
|
|
442
|
+
type: 'url',
|
|
443
|
+
optional: true,
|
|
444
|
+
description: 'Drive icon URL',
|
|
445
|
+
},
|
|
446
|
+
// Capacity
|
|
447
|
+
totalCapacity: {
|
|
448
|
+
type: 'number',
|
|
449
|
+
optional: true,
|
|
450
|
+
description: 'Total storage capacity in bytes',
|
|
451
|
+
},
|
|
452
|
+
usedSpace: {
|
|
453
|
+
type: 'number',
|
|
454
|
+
optional: true,
|
|
455
|
+
description: 'Used storage space in bytes',
|
|
456
|
+
},
|
|
457
|
+
availableSpace: {
|
|
458
|
+
type: 'number',
|
|
459
|
+
optional: true,
|
|
460
|
+
description: 'Available storage space in bytes',
|
|
461
|
+
},
|
|
462
|
+
// Permissions
|
|
463
|
+
owner: {
|
|
464
|
+
type: 'string',
|
|
465
|
+
optional: true,
|
|
466
|
+
description: 'Drive owner user ID',
|
|
467
|
+
},
|
|
468
|
+
permissions: {
|
|
469
|
+
type: 'json',
|
|
470
|
+
optional: true,
|
|
471
|
+
description: 'Drive-level permissions',
|
|
472
|
+
},
|
|
473
|
+
// Features
|
|
474
|
+
features: {
|
|
475
|
+
type: 'string',
|
|
476
|
+
array: true,
|
|
477
|
+
optional: true,
|
|
478
|
+
description: 'Supported features: versioning, sharing, sync, encryption, backup',
|
|
479
|
+
examples: ['versioning', 'sharing', 'sync', 'encryption', 'backup'],
|
|
480
|
+
},
|
|
481
|
+
versioningEnabled: {
|
|
482
|
+
type: 'boolean',
|
|
483
|
+
optional: true,
|
|
484
|
+
description: 'Whether version history is enabled',
|
|
485
|
+
},
|
|
486
|
+
encryptionEnabled: {
|
|
487
|
+
type: 'boolean',
|
|
488
|
+
optional: true,
|
|
489
|
+
description: 'Whether encryption is enabled',
|
|
490
|
+
},
|
|
491
|
+
// Status
|
|
492
|
+
status: {
|
|
493
|
+
type: 'string',
|
|
494
|
+
optional: true,
|
|
495
|
+
description: 'Drive status: active, readonly, suspended, error',
|
|
496
|
+
examples: ['active', 'readonly', 'suspended', 'error'],
|
|
497
|
+
},
|
|
498
|
+
connected: {
|
|
499
|
+
type: 'boolean',
|
|
500
|
+
optional: true,
|
|
501
|
+
description: 'Whether the drive is currently connected/accessible',
|
|
502
|
+
},
|
|
503
|
+
// URLs
|
|
504
|
+
url: {
|
|
505
|
+
type: 'url',
|
|
506
|
+
optional: true,
|
|
507
|
+
description: 'URL to access the drive',
|
|
508
|
+
},
|
|
509
|
+
webViewUrl: {
|
|
510
|
+
type: 'url',
|
|
511
|
+
optional: true,
|
|
512
|
+
description: 'URL to view the drive in a web browser',
|
|
513
|
+
},
|
|
514
|
+
// Dates
|
|
515
|
+
createdAt: {
|
|
516
|
+
type: 'datetime',
|
|
517
|
+
optional: true,
|
|
518
|
+
description: 'When the drive was created',
|
|
519
|
+
},
|
|
520
|
+
lastSyncedAt: {
|
|
521
|
+
type: 'datetime',
|
|
522
|
+
optional: true,
|
|
523
|
+
description: 'When the drive was last synced',
|
|
524
|
+
},
|
|
525
|
+
},
|
|
526
|
+
relationships: {
|
|
527
|
+
rootFolder: {
|
|
528
|
+
type: 'Folder',
|
|
529
|
+
description: 'Root folder of the drive',
|
|
530
|
+
},
|
|
531
|
+
quota: {
|
|
532
|
+
type: 'StorageQuota',
|
|
533
|
+
backref: 'drive',
|
|
534
|
+
description: 'Storage quota for this drive',
|
|
535
|
+
},
|
|
536
|
+
syncs: {
|
|
537
|
+
type: 'Sync[]',
|
|
538
|
+
backref: 'drive',
|
|
539
|
+
description: 'Sync operations for this drive',
|
|
540
|
+
},
|
|
541
|
+
backups: {
|
|
542
|
+
type: 'Backup[]',
|
|
543
|
+
backref: 'drive',
|
|
544
|
+
description: 'Backups of this drive',
|
|
545
|
+
},
|
|
546
|
+
owner: {
|
|
547
|
+
type: 'Contact',
|
|
548
|
+
description: 'Owner of the drive',
|
|
549
|
+
},
|
|
550
|
+
members: {
|
|
551
|
+
type: 'Contact[]',
|
|
552
|
+
description: 'Members with access to the drive',
|
|
553
|
+
},
|
|
554
|
+
},
|
|
555
|
+
actions: [
|
|
556
|
+
'create',
|
|
557
|
+
'connect',
|
|
558
|
+
'disconnect',
|
|
559
|
+
'sync',
|
|
560
|
+
'configure',
|
|
561
|
+
'delete',
|
|
562
|
+
'share',
|
|
563
|
+
'unshare',
|
|
564
|
+
'backup',
|
|
565
|
+
'restore',
|
|
566
|
+
'checkQuota',
|
|
567
|
+
'cleanUp',
|
|
568
|
+
],
|
|
569
|
+
events: [
|
|
570
|
+
'created',
|
|
571
|
+
'connected',
|
|
572
|
+
'disconnected',
|
|
573
|
+
'synced',
|
|
574
|
+
'configured',
|
|
575
|
+
'deleted',
|
|
576
|
+
'shared',
|
|
577
|
+
'unshared',
|
|
578
|
+
'backedUp',
|
|
579
|
+
'restored',
|
|
580
|
+
'quotaExceeded',
|
|
581
|
+
'quotaWarning',
|
|
582
|
+
'error',
|
|
583
|
+
],
|
|
584
|
+
};
|
|
585
|
+
// =============================================================================
|
|
586
|
+
// SharedLink
|
|
587
|
+
// =============================================================================
|
|
588
|
+
/**
|
|
589
|
+
* Shared link entity
|
|
590
|
+
*
|
|
591
|
+
* Represents a sharing link with permissions and expiry
|
|
592
|
+
*/
|
|
593
|
+
export const SharedLink = {
|
|
594
|
+
singular: 'shared link',
|
|
595
|
+
plural: 'shared links',
|
|
596
|
+
description: 'A sharing link for files or folders',
|
|
597
|
+
properties: {
|
|
598
|
+
// Identity
|
|
599
|
+
token: {
|
|
600
|
+
type: 'string',
|
|
601
|
+
description: 'Unique sharing token/ID',
|
|
602
|
+
},
|
|
603
|
+
url: {
|
|
604
|
+
type: 'url',
|
|
605
|
+
description: 'Full sharing URL',
|
|
606
|
+
},
|
|
607
|
+
// Permissions
|
|
608
|
+
permissions: {
|
|
609
|
+
type: 'string',
|
|
610
|
+
description: 'Link permissions: view, comment, edit',
|
|
611
|
+
examples: ['view', 'comment', 'edit'],
|
|
612
|
+
},
|
|
613
|
+
passwordProtected: {
|
|
614
|
+
type: 'boolean',
|
|
615
|
+
optional: true,
|
|
616
|
+
description: 'Whether the link requires a password',
|
|
617
|
+
},
|
|
618
|
+
password: {
|
|
619
|
+
type: 'string',
|
|
620
|
+
optional: true,
|
|
621
|
+
description: 'Password required to access (if password protected)',
|
|
622
|
+
},
|
|
623
|
+
// Access control
|
|
624
|
+
allowedDomains: {
|
|
625
|
+
type: 'string',
|
|
626
|
+
array: true,
|
|
627
|
+
optional: true,
|
|
628
|
+
description: 'Email domains allowed to access (e.g., company.com)',
|
|
629
|
+
},
|
|
630
|
+
allowedUsers: {
|
|
631
|
+
type: 'string',
|
|
632
|
+
array: true,
|
|
633
|
+
optional: true,
|
|
634
|
+
description: 'Specific user IDs allowed to access',
|
|
635
|
+
},
|
|
636
|
+
maxAccessCount: {
|
|
637
|
+
type: 'number',
|
|
638
|
+
optional: true,
|
|
639
|
+
description: 'Maximum number of times link can be accessed',
|
|
640
|
+
},
|
|
641
|
+
accessCount: {
|
|
642
|
+
type: 'number',
|
|
643
|
+
optional: true,
|
|
644
|
+
description: 'Number of times link has been accessed',
|
|
645
|
+
},
|
|
646
|
+
// Expiration
|
|
647
|
+
expiresAt: {
|
|
648
|
+
type: 'datetime',
|
|
649
|
+
optional: true,
|
|
650
|
+
description: 'When the link expires',
|
|
651
|
+
},
|
|
652
|
+
expired: {
|
|
653
|
+
type: 'boolean',
|
|
654
|
+
optional: true,
|
|
655
|
+
description: 'Whether the link has expired',
|
|
656
|
+
},
|
|
657
|
+
// Status
|
|
658
|
+
active: {
|
|
659
|
+
type: 'boolean',
|
|
660
|
+
description: 'Whether the link is active',
|
|
661
|
+
},
|
|
662
|
+
revoked: {
|
|
663
|
+
type: 'boolean',
|
|
664
|
+
optional: true,
|
|
665
|
+
description: 'Whether the link has been revoked',
|
|
666
|
+
},
|
|
667
|
+
// Features
|
|
668
|
+
allowDownload: {
|
|
669
|
+
type: 'boolean',
|
|
670
|
+
optional: true,
|
|
671
|
+
description: 'Whether downloading is allowed',
|
|
672
|
+
},
|
|
673
|
+
notifyOnAccess: {
|
|
674
|
+
type: 'boolean',
|
|
675
|
+
optional: true,
|
|
676
|
+
description: 'Whether to notify owner when accessed',
|
|
677
|
+
},
|
|
678
|
+
// Metadata
|
|
679
|
+
label: {
|
|
680
|
+
type: 'string',
|
|
681
|
+
optional: true,
|
|
682
|
+
description: 'Custom label for the link',
|
|
683
|
+
},
|
|
684
|
+
description: {
|
|
685
|
+
type: 'string',
|
|
686
|
+
optional: true,
|
|
687
|
+
description: 'Description of what is being shared',
|
|
688
|
+
},
|
|
689
|
+
// Dates
|
|
690
|
+
createdAt: {
|
|
691
|
+
type: 'datetime',
|
|
692
|
+
optional: true,
|
|
693
|
+
description: 'When the link was created',
|
|
694
|
+
},
|
|
695
|
+
lastAccessedAt: {
|
|
696
|
+
type: 'datetime',
|
|
697
|
+
optional: true,
|
|
698
|
+
description: 'When the link was last accessed',
|
|
699
|
+
},
|
|
700
|
+
},
|
|
701
|
+
relationships: {
|
|
702
|
+
file: {
|
|
703
|
+
type: 'File',
|
|
704
|
+
backref: 'sharedLinks',
|
|
705
|
+
required: false,
|
|
706
|
+
description: 'File being shared (if sharing a file)',
|
|
707
|
+
},
|
|
708
|
+
folder: {
|
|
709
|
+
type: 'Folder',
|
|
710
|
+
backref: 'sharedLinks',
|
|
711
|
+
required: false,
|
|
712
|
+
description: 'Folder being shared (if sharing a folder)',
|
|
713
|
+
},
|
|
714
|
+
creator: {
|
|
715
|
+
type: 'Contact',
|
|
716
|
+
description: 'Who created the sharing link',
|
|
717
|
+
},
|
|
718
|
+
accessedBy: {
|
|
719
|
+
type: 'Contact[]',
|
|
720
|
+
description: 'Users who have accessed the link',
|
|
721
|
+
},
|
|
722
|
+
},
|
|
723
|
+
actions: [
|
|
724
|
+
'create',
|
|
725
|
+
'revoke',
|
|
726
|
+
'extend',
|
|
727
|
+
'updatePermissions',
|
|
728
|
+
'setPassword',
|
|
729
|
+
'removePassword',
|
|
730
|
+
'copy',
|
|
731
|
+
'delete',
|
|
732
|
+
],
|
|
733
|
+
events: [
|
|
734
|
+
'created',
|
|
735
|
+
'accessed',
|
|
736
|
+
'revoked',
|
|
737
|
+
'extended',
|
|
738
|
+
'permissionsUpdated',
|
|
739
|
+
'passwordSet',
|
|
740
|
+
'passwordRemoved',
|
|
741
|
+
'expired',
|
|
742
|
+
'deleted',
|
|
743
|
+
],
|
|
744
|
+
};
|
|
745
|
+
// =============================================================================
|
|
746
|
+
// FileVersion
|
|
747
|
+
// =============================================================================
|
|
748
|
+
/**
|
|
749
|
+
* File version entity
|
|
750
|
+
*
|
|
751
|
+
* Represents a version in a file's version history
|
|
752
|
+
*/
|
|
753
|
+
export const FileVersion = {
|
|
754
|
+
singular: 'file version',
|
|
755
|
+
plural: 'file versions',
|
|
756
|
+
description: 'A version snapshot in a file\'s version history',
|
|
757
|
+
properties: {
|
|
758
|
+
// Identity
|
|
759
|
+
versionNumber: {
|
|
760
|
+
type: 'number',
|
|
761
|
+
description: 'Version number (sequential)',
|
|
762
|
+
},
|
|
763
|
+
versionId: {
|
|
764
|
+
type: 'string',
|
|
765
|
+
optional: true,
|
|
766
|
+
description: 'Unique version identifier',
|
|
767
|
+
},
|
|
768
|
+
label: {
|
|
769
|
+
type: 'string',
|
|
770
|
+
optional: true,
|
|
771
|
+
description: 'Version label or tag (e.g., v1.0, final)',
|
|
772
|
+
},
|
|
773
|
+
// Content
|
|
774
|
+
size: {
|
|
775
|
+
type: 'number',
|
|
776
|
+
description: 'File size at this version in bytes',
|
|
777
|
+
},
|
|
778
|
+
hash: {
|
|
779
|
+
type: 'string',
|
|
780
|
+
optional: true,
|
|
781
|
+
description: 'Content hash for this version',
|
|
782
|
+
},
|
|
783
|
+
// Changes
|
|
784
|
+
changeDescription: {
|
|
785
|
+
type: 'string',
|
|
786
|
+
optional: true,
|
|
787
|
+
description: 'Description of changes in this version',
|
|
788
|
+
},
|
|
789
|
+
changeType: {
|
|
790
|
+
type: 'string',
|
|
791
|
+
optional: true,
|
|
792
|
+
description: 'Type of change: create, modify, rename, restore',
|
|
793
|
+
examples: ['create', 'modify', 'rename', 'restore'],
|
|
794
|
+
},
|
|
795
|
+
// Status
|
|
796
|
+
current: {
|
|
797
|
+
type: 'boolean',
|
|
798
|
+
optional: true,
|
|
799
|
+
description: 'Whether this is the current version',
|
|
800
|
+
},
|
|
801
|
+
pinned: {
|
|
802
|
+
type: 'boolean',
|
|
803
|
+
optional: true,
|
|
804
|
+
description: 'Whether this version is pinned to prevent deletion',
|
|
805
|
+
},
|
|
806
|
+
// Storage
|
|
807
|
+
url: {
|
|
808
|
+
type: 'url',
|
|
809
|
+
optional: true,
|
|
810
|
+
description: 'URL to download this version',
|
|
811
|
+
},
|
|
812
|
+
storagePath: {
|
|
813
|
+
type: 'string',
|
|
814
|
+
optional: true,
|
|
815
|
+
description: 'Storage path for this version',
|
|
816
|
+
},
|
|
817
|
+
// Dates
|
|
818
|
+
createdAt: {
|
|
819
|
+
type: 'datetime',
|
|
820
|
+
description: 'When this version was created',
|
|
821
|
+
},
|
|
822
|
+
expiresAt: {
|
|
823
|
+
type: 'datetime',
|
|
824
|
+
optional: true,
|
|
825
|
+
description: 'When this version expires (if retention policy applies)',
|
|
826
|
+
},
|
|
827
|
+
},
|
|
828
|
+
relationships: {
|
|
829
|
+
file: {
|
|
830
|
+
type: 'File',
|
|
831
|
+
backref: 'versions',
|
|
832
|
+
description: 'File this is a version of',
|
|
833
|
+
},
|
|
834
|
+
author: {
|
|
835
|
+
type: 'Contact',
|
|
836
|
+
description: 'Who created this version',
|
|
837
|
+
},
|
|
838
|
+
previousVersion: {
|
|
839
|
+
type: 'FileVersion',
|
|
840
|
+
required: false,
|
|
841
|
+
description: 'Previous version in the history',
|
|
842
|
+
},
|
|
843
|
+
},
|
|
844
|
+
actions: [
|
|
845
|
+
'create',
|
|
846
|
+
'restore',
|
|
847
|
+
'download',
|
|
848
|
+
'compare',
|
|
849
|
+
'delete',
|
|
850
|
+
'pin',
|
|
851
|
+
'unpin',
|
|
852
|
+
'label',
|
|
853
|
+
],
|
|
854
|
+
events: [
|
|
855
|
+
'created',
|
|
856
|
+
'restored',
|
|
857
|
+
'downloaded',
|
|
858
|
+
'compared',
|
|
859
|
+
'deleted',
|
|
860
|
+
'pinned',
|
|
861
|
+
'unpinned',
|
|
862
|
+
'labeled',
|
|
863
|
+
'expired',
|
|
864
|
+
],
|
|
865
|
+
};
|
|
866
|
+
// =============================================================================
|
|
867
|
+
// StorageQuota
|
|
868
|
+
// =============================================================================
|
|
869
|
+
/**
|
|
870
|
+
* Storage quota entity
|
|
871
|
+
*
|
|
872
|
+
* Represents storage quota and usage tracking
|
|
873
|
+
*/
|
|
874
|
+
export const StorageQuota = {
|
|
875
|
+
singular: 'storage quota',
|
|
876
|
+
plural: 'storage quotas',
|
|
877
|
+
description: 'Storage quota and usage tracking for a drive or account',
|
|
878
|
+
properties: {
|
|
879
|
+
// Capacity
|
|
880
|
+
total: {
|
|
881
|
+
type: 'number',
|
|
882
|
+
description: 'Total storage quota in bytes',
|
|
883
|
+
},
|
|
884
|
+
used: {
|
|
885
|
+
type: 'number',
|
|
886
|
+
description: 'Used storage in bytes',
|
|
887
|
+
},
|
|
888
|
+
available: {
|
|
889
|
+
type: 'number',
|
|
890
|
+
description: 'Available storage in bytes',
|
|
891
|
+
},
|
|
892
|
+
percentUsed: {
|
|
893
|
+
type: 'number',
|
|
894
|
+
optional: true,
|
|
895
|
+
description: 'Percentage of quota used (0-100)',
|
|
896
|
+
},
|
|
897
|
+
// Breakdown
|
|
898
|
+
usedByFiles: {
|
|
899
|
+
type: 'number',
|
|
900
|
+
optional: true,
|
|
901
|
+
description: 'Storage used by files in bytes',
|
|
902
|
+
},
|
|
903
|
+
usedByTrash: {
|
|
904
|
+
type: 'number',
|
|
905
|
+
optional: true,
|
|
906
|
+
description: 'Storage used by trash/deleted items in bytes',
|
|
907
|
+
},
|
|
908
|
+
usedByVersions: {
|
|
909
|
+
type: 'number',
|
|
910
|
+
optional: true,
|
|
911
|
+
description: 'Storage used by file versions in bytes',
|
|
912
|
+
},
|
|
913
|
+
// Limits
|
|
914
|
+
unlimited: {
|
|
915
|
+
type: 'boolean',
|
|
916
|
+
optional: true,
|
|
917
|
+
description: 'Whether storage is unlimited',
|
|
918
|
+
},
|
|
919
|
+
maxFileSize: {
|
|
920
|
+
type: 'number',
|
|
921
|
+
optional: true,
|
|
922
|
+
description: 'Maximum individual file size in bytes',
|
|
923
|
+
},
|
|
924
|
+
// Thresholds
|
|
925
|
+
warningThreshold: {
|
|
926
|
+
type: 'number',
|
|
927
|
+
optional: true,
|
|
928
|
+
description: 'Percentage at which to warn (e.g., 80)',
|
|
929
|
+
},
|
|
930
|
+
criticalThreshold: {
|
|
931
|
+
type: 'number',
|
|
932
|
+
optional: true,
|
|
933
|
+
description: 'Percentage at which to alert (e.g., 95)',
|
|
934
|
+
},
|
|
935
|
+
// Status
|
|
936
|
+
status: {
|
|
937
|
+
type: 'string',
|
|
938
|
+
optional: true,
|
|
939
|
+
description: 'Quota status: normal, warning, critical, exceeded',
|
|
940
|
+
examples: ['normal', 'warning', 'critical', 'exceeded'],
|
|
941
|
+
},
|
|
942
|
+
// Plan
|
|
943
|
+
plan: {
|
|
944
|
+
type: 'string',
|
|
945
|
+
optional: true,
|
|
946
|
+
description: 'Storage plan: free, basic, premium, business, enterprise',
|
|
947
|
+
examples: ['free', 'basic', 'premium', 'business', 'enterprise'],
|
|
948
|
+
},
|
|
949
|
+
// Dates
|
|
950
|
+
lastUpdatedAt: {
|
|
951
|
+
type: 'datetime',
|
|
952
|
+
optional: true,
|
|
953
|
+
description: 'When quota was last calculated',
|
|
954
|
+
},
|
|
955
|
+
renewsAt: {
|
|
956
|
+
type: 'datetime',
|
|
957
|
+
optional: true,
|
|
958
|
+
description: 'When quota resets (for monthly limits)',
|
|
959
|
+
},
|
|
960
|
+
},
|
|
961
|
+
relationships: {
|
|
962
|
+
drive: {
|
|
963
|
+
type: 'Drive',
|
|
964
|
+
backref: 'quota',
|
|
965
|
+
description: 'Drive this quota applies to',
|
|
966
|
+
},
|
|
967
|
+
owner: {
|
|
968
|
+
type: 'Contact',
|
|
969
|
+
description: 'Account owner',
|
|
970
|
+
},
|
|
971
|
+
},
|
|
972
|
+
actions: [
|
|
973
|
+
'check',
|
|
974
|
+
'update',
|
|
975
|
+
'upgrade',
|
|
976
|
+
'downgrade',
|
|
977
|
+
'cleanUp',
|
|
978
|
+
'emptyTrash',
|
|
979
|
+
'deleteOldVersions',
|
|
980
|
+
],
|
|
981
|
+
events: [
|
|
982
|
+
'checked',
|
|
983
|
+
'updated',
|
|
984
|
+
'upgraded',
|
|
985
|
+
'downgraded',
|
|
986
|
+
'warningThresholdReached',
|
|
987
|
+
'criticalThresholdReached',
|
|
988
|
+
'exceeded',
|
|
989
|
+
'cleanedUp',
|
|
990
|
+
],
|
|
991
|
+
};
|
|
992
|
+
// =============================================================================
|
|
993
|
+
// Backup
|
|
994
|
+
// =============================================================================
|
|
995
|
+
/**
|
|
996
|
+
* Backup entity
|
|
997
|
+
*
|
|
998
|
+
* Represents a backup snapshot of files or drives
|
|
999
|
+
*/
|
|
1000
|
+
export const Backup = {
|
|
1001
|
+
singular: 'backup',
|
|
1002
|
+
plural: 'backups',
|
|
1003
|
+
description: 'A backup snapshot of files or an entire drive',
|
|
1004
|
+
properties: {
|
|
1005
|
+
// Identity
|
|
1006
|
+
name: {
|
|
1007
|
+
type: 'string',
|
|
1008
|
+
description: 'Backup name or label',
|
|
1009
|
+
},
|
|
1010
|
+
backupId: {
|
|
1011
|
+
type: 'string',
|
|
1012
|
+
optional: true,
|
|
1013
|
+
description: 'Unique backup identifier',
|
|
1014
|
+
},
|
|
1015
|
+
// Type
|
|
1016
|
+
type: {
|
|
1017
|
+
type: 'string',
|
|
1018
|
+
description: 'Backup type: full, incremental, differential',
|
|
1019
|
+
examples: ['full', 'incremental', 'differential'],
|
|
1020
|
+
},
|
|
1021
|
+
scope: {
|
|
1022
|
+
type: 'string',
|
|
1023
|
+
description: 'Backup scope: file, folder, drive',
|
|
1024
|
+
examples: ['file', 'folder', 'drive'],
|
|
1025
|
+
},
|
|
1026
|
+
// Status
|
|
1027
|
+
status: {
|
|
1028
|
+
type: 'string',
|
|
1029
|
+
description: 'Backup status: pending, in-progress, completed, failed, expired',
|
|
1030
|
+
examples: ['pending', 'in-progress', 'completed', 'failed', 'expired'],
|
|
1031
|
+
},
|
|
1032
|
+
// Content
|
|
1033
|
+
itemCount: {
|
|
1034
|
+
type: 'number',
|
|
1035
|
+
optional: true,
|
|
1036
|
+
description: 'Number of items backed up',
|
|
1037
|
+
},
|
|
1038
|
+
totalSize: {
|
|
1039
|
+
type: 'number',
|
|
1040
|
+
optional: true,
|
|
1041
|
+
description: 'Total size of backup in bytes',
|
|
1042
|
+
},
|
|
1043
|
+
compressedSize: {
|
|
1044
|
+
type: 'number',
|
|
1045
|
+
optional: true,
|
|
1046
|
+
description: 'Compressed backup size in bytes',
|
|
1047
|
+
},
|
|
1048
|
+
compressed: {
|
|
1049
|
+
type: 'boolean',
|
|
1050
|
+
optional: true,
|
|
1051
|
+
description: 'Whether backup is compressed',
|
|
1052
|
+
},
|
|
1053
|
+
encrypted: {
|
|
1054
|
+
type: 'boolean',
|
|
1055
|
+
optional: true,
|
|
1056
|
+
description: 'Whether backup is encrypted',
|
|
1057
|
+
},
|
|
1058
|
+
// Storage
|
|
1059
|
+
storagePath: {
|
|
1060
|
+
type: 'string',
|
|
1061
|
+
optional: true,
|
|
1062
|
+
description: 'Path where backup is stored',
|
|
1063
|
+
},
|
|
1064
|
+
storageLocation: {
|
|
1065
|
+
type: 'string',
|
|
1066
|
+
optional: true,
|
|
1067
|
+
description: 'Storage location: local, cloud, external',
|
|
1068
|
+
examples: ['local', 'cloud', 'external'],
|
|
1069
|
+
},
|
|
1070
|
+
// Schedule
|
|
1071
|
+
scheduled: {
|
|
1072
|
+
type: 'boolean',
|
|
1073
|
+
optional: true,
|
|
1074
|
+
description: 'Whether this is a scheduled backup',
|
|
1075
|
+
},
|
|
1076
|
+
scheduleType: {
|
|
1077
|
+
type: 'string',
|
|
1078
|
+
optional: true,
|
|
1079
|
+
description: 'Schedule type: manual, hourly, daily, weekly, monthly',
|
|
1080
|
+
examples: ['manual', 'hourly', 'daily', 'weekly', 'monthly'],
|
|
1081
|
+
},
|
|
1082
|
+
// Retention
|
|
1083
|
+
retentionDays: {
|
|
1084
|
+
type: 'number',
|
|
1085
|
+
optional: true,
|
|
1086
|
+
description: 'Number of days to retain this backup',
|
|
1087
|
+
},
|
|
1088
|
+
expiresAt: {
|
|
1089
|
+
type: 'datetime',
|
|
1090
|
+
optional: true,
|
|
1091
|
+
description: 'When this backup expires',
|
|
1092
|
+
},
|
|
1093
|
+
keepForever: {
|
|
1094
|
+
type: 'boolean',
|
|
1095
|
+
optional: true,
|
|
1096
|
+
description: 'Whether to keep this backup indefinitely',
|
|
1097
|
+
},
|
|
1098
|
+
// Verification
|
|
1099
|
+
verified: {
|
|
1100
|
+
type: 'boolean',
|
|
1101
|
+
optional: true,
|
|
1102
|
+
description: 'Whether backup integrity has been verified',
|
|
1103
|
+
},
|
|
1104
|
+
verifiedAt: {
|
|
1105
|
+
type: 'datetime',
|
|
1106
|
+
optional: true,
|
|
1107
|
+
description: 'When backup was last verified',
|
|
1108
|
+
},
|
|
1109
|
+
checksum: {
|
|
1110
|
+
type: 'string',
|
|
1111
|
+
optional: true,
|
|
1112
|
+
description: 'Backup checksum for integrity verification',
|
|
1113
|
+
},
|
|
1114
|
+
// Dates
|
|
1115
|
+
createdAt: {
|
|
1116
|
+
type: 'datetime',
|
|
1117
|
+
description: 'When backup was created',
|
|
1118
|
+
},
|
|
1119
|
+
completedAt: {
|
|
1120
|
+
type: 'datetime',
|
|
1121
|
+
optional: true,
|
|
1122
|
+
description: 'When backup completed',
|
|
1123
|
+
},
|
|
1124
|
+
},
|
|
1125
|
+
relationships: {
|
|
1126
|
+
drive: {
|
|
1127
|
+
type: 'Drive',
|
|
1128
|
+
backref: 'backups',
|
|
1129
|
+
description: 'Drive being backed up',
|
|
1130
|
+
},
|
|
1131
|
+
files: {
|
|
1132
|
+
type: 'File[]',
|
|
1133
|
+
description: 'Files included in this backup',
|
|
1134
|
+
},
|
|
1135
|
+
folders: {
|
|
1136
|
+
type: 'Folder[]',
|
|
1137
|
+
description: 'Folders included in this backup',
|
|
1138
|
+
},
|
|
1139
|
+
creator: {
|
|
1140
|
+
type: 'Contact',
|
|
1141
|
+
description: 'Who created the backup',
|
|
1142
|
+
},
|
|
1143
|
+
parentBackup: {
|
|
1144
|
+
type: 'Backup',
|
|
1145
|
+
required: false,
|
|
1146
|
+
description: 'Parent backup for incremental backups',
|
|
1147
|
+
},
|
|
1148
|
+
},
|
|
1149
|
+
actions: [
|
|
1150
|
+
'create',
|
|
1151
|
+
'restore',
|
|
1152
|
+
'verify',
|
|
1153
|
+
'download',
|
|
1154
|
+
'delete',
|
|
1155
|
+
'schedule',
|
|
1156
|
+
'cancel',
|
|
1157
|
+
'compress',
|
|
1158
|
+
'encrypt',
|
|
1159
|
+
'export',
|
|
1160
|
+
],
|
|
1161
|
+
events: [
|
|
1162
|
+
'created',
|
|
1163
|
+
'started',
|
|
1164
|
+
'progressed',
|
|
1165
|
+
'completed',
|
|
1166
|
+
'failed',
|
|
1167
|
+
'restored',
|
|
1168
|
+
'verified',
|
|
1169
|
+
'downloaded',
|
|
1170
|
+
'deleted',
|
|
1171
|
+
'scheduled',
|
|
1172
|
+
'expired',
|
|
1173
|
+
],
|
|
1174
|
+
};
|
|
1175
|
+
// =============================================================================
|
|
1176
|
+
// Export all entities as a schema
|
|
1177
|
+
// =============================================================================
|
|
1178
|
+
/**
|
|
1179
|
+
* All storage entity types
|
|
1180
|
+
*/
|
|
1181
|
+
export const StorageEntities = {
|
|
1182
|
+
File,
|
|
1183
|
+
Folder,
|
|
1184
|
+
Drive,
|
|
1185
|
+
SharedLink,
|
|
1186
|
+
FileVersion,
|
|
1187
|
+
StorageQuota,
|
|
1188
|
+
Backup,
|
|
1189
|
+
};
|
|
1190
|
+
/**
|
|
1191
|
+
* Storage entity categories for organization
|
|
1192
|
+
*/
|
|
1193
|
+
export const StorageCategories = {
|
|
1194
|
+
files: ['File', 'Folder', 'FileVersion'],
|
|
1195
|
+
drives: ['Drive', 'StorageQuota'],
|
|
1196
|
+
sharing: ['SharedLink'],
|
|
1197
|
+
operations: ['Backup'],
|
|
1198
|
+
};
|
|
1199
|
+
//# sourceMappingURL=storage.js.map
|