@cratis/showrunner.usher 0.0.0-bootstrap.0
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/Access/AccessDuration.ts +13 -0
- package/Access/GrantAccess/GrantAccess.ts +80 -0
- package/Access/GrantAccess/index.ts +4 -0
- package/Access/RevokeAccess/RevokeAccess.ts +61 -0
- package/Access/RevokeAccess/index.ts +4 -0
- package/Access/index.ts +4 -0
- package/Contracts/Conversation/SupportAuthor.ts +25 -0
- package/Contracts/Conversation/SupportAuthorKind.ts +12 -0
- package/Contracts/Conversation/index.ts +5 -0
- package/Contracts/Reporting/SliceLocation.ts +30 -0
- package/Contracts/Reporting/StackFrame.ts +30 -0
- package/Contracts/Reporting/index.ts +5 -0
- package/Contracts/WorkItems/WorkItem.ts +36 -0
- package/Contracts/WorkItems/index.ts +4 -0
- package/Conversation/AddDetails/AddDetails.ts +87 -0
- package/Conversation/AddDetails/index.ts +4 -0
- package/Conversation/AnswerQuestion/AnswerQuestion.ts +105 -0
- package/Conversation/AnswerQuestion/index.ts +4 -0
- package/Errors/ErrorDetails.ts +41 -0
- package/Errors/errorDetailsFromCommandResult.ts +30 -0
- package/Errors/errorDetailsFromError.ts +44 -0
- package/Errors/errorDetailsFromQueryResult.ts +32 -0
- package/Errors/index.ts +9 -0
- package/Errors/messageOf.ts +24 -0
- package/Errors/parseStackTrace.ts +62 -0
- package/Errors/resolveLocation.ts +20 -0
- package/Identity/ShareIdentity/ShareIdentity.ts +61 -0
- package/Identity/ShareIdentity/index.ts +4 -0
- package/Identity/UserIdentity.ts +30 -0
- package/Identity/index.ts +4 -0
- package/Issues/IssueKind.ts +12 -0
- package/Issues/IssueState.ts +17 -0
- package/Issues/index.ts +5 -0
- package/Lifecycle/ReopenIssue/ReopenIssue.ts +87 -0
- package/Lifecycle/ReopenIssue/index.ts +4 -0
- package/Lifecycle/WithdrawIssue/WithdrawIssue.ts +61 -0
- package/Lifecycle/WithdrawIssue/index.ts +4 -0
- package/Listing/Listing.ts +271 -0
- package/Listing/index.ts +4 -0
- package/README.md +59 -0
- package/Reporting/ReportError/ReportError.ts +254 -0
- package/Reporting/ReportError/index.ts +4 -0
- package/Reporting/ReportIssue/ReportIssue.ts +217 -0
- package/Reporting/ReportIssue/index.ts +4 -0
- package/Viewing/AccessState.ts +15 -0
- package/Viewing/ConversationAuthorKind.ts +14 -0
- package/Viewing/ConversationEntryKind.ts +35 -0
- package/Viewing/Viewing.ts +472 -0
- package/Viewing/index.ts +7 -0
- package/dist/cjs/Access/AccessDuration.d.ts +6 -0
- package/dist/cjs/Access/AccessDuration.d.ts.map +1 -0
- package/dist/cjs/Access/AccessDuration.js +17 -0
- package/dist/cjs/Access/AccessDuration.js.map +1 -0
- package/dist/cjs/Access/GrantAccess/GrantAccess.d.ts +25 -0
- package/dist/cjs/Access/GrantAccess/GrantAccess.d.ts.map +1 -0
- package/dist/cjs/Access/GrantAccess/GrantAccess.js +55 -0
- package/dist/cjs/Access/GrantAccess/GrantAccess.js.map +1 -0
- package/dist/cjs/Access/GrantAccess/index.d.ts +2 -0
- package/dist/cjs/Access/GrantAccess/index.d.ts.map +1 -0
- package/dist/cjs/Access/RevokeAccess/RevokeAccess.d.ts +21 -0
- package/dist/cjs/Access/RevokeAccess/RevokeAccess.d.ts.map +1 -0
- package/dist/cjs/Access/RevokeAccess/RevokeAccess.js +44 -0
- package/dist/cjs/Access/RevokeAccess/RevokeAccess.js.map +1 -0
- package/dist/cjs/Access/RevokeAccess/index.d.ts +2 -0
- package/dist/cjs/Access/RevokeAccess/index.d.ts.map +1 -0
- package/dist/cjs/Access/index.d.ts +2 -0
- package/dist/cjs/Access/index.d.ts.map +1 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthor.d.ts +6 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthor.d.ts.map +1 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthor.js +44 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthor.js.map +1 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthorKind.d.ts +5 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthorKind.d.ts.map +1 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthorKind.js +16 -0
- package/dist/cjs/Contracts/Conversation/SupportAuthorKind.js.map +1 -0
- package/dist/cjs/Contracts/Conversation/index.d.ts +3 -0
- package/dist/cjs/Contracts/Conversation/index.d.ts.map +1 -0
- package/dist/cjs/Contracts/Reporting/SliceLocation.d.ts +6 -0
- package/dist/cjs/Contracts/Reporting/SliceLocation.d.ts.map +1 -0
- package/dist/cjs/Contracts/Reporting/SliceLocation.js +50 -0
- package/dist/cjs/Contracts/Reporting/SliceLocation.js.map +1 -0
- package/dist/cjs/Contracts/Reporting/StackFrame.d.ts +6 -0
- package/dist/cjs/Contracts/Reporting/StackFrame.d.ts.map +1 -0
- package/dist/cjs/Contracts/Reporting/StackFrame.js +50 -0
- package/dist/cjs/Contracts/Reporting/StackFrame.js.map +1 -0
- package/dist/cjs/Contracts/Reporting/index.d.ts +3 -0
- package/dist/cjs/Contracts/Reporting/index.d.ts.map +1 -0
- package/dist/cjs/Contracts/WorkItems/WorkItem.d.ts +7 -0
- package/dist/cjs/Contracts/WorkItems/WorkItem.d.ts.map +1 -0
- package/dist/cjs/Contracts/WorkItems/WorkItem.js +57 -0
- package/dist/cjs/Contracts/WorkItems/WorkItem.js.map +1 -0
- package/dist/cjs/Contracts/WorkItems/index.d.ts +2 -0
- package/dist/cjs/Contracts/WorkItems/index.d.ts.map +1 -0
- package/dist/cjs/Conversation/AddDetails/AddDetails.d.ts +28 -0
- package/dist/cjs/Conversation/AddDetails/AddDetails.d.ts.map +1 -0
- package/dist/cjs/Conversation/AddDetails/AddDetails.js +64 -0
- package/dist/cjs/Conversation/AddDetails/AddDetails.js.map +1 -0
- package/dist/cjs/Conversation/AddDetails/index.d.ts +2 -0
- package/dist/cjs/Conversation/AddDetails/index.d.ts.map +1 -0
- package/dist/cjs/Conversation/AnswerQuestion/AnswerQuestion.d.ts +31 -0
- package/dist/cjs/Conversation/AnswerQuestion/AnswerQuestion.d.ts.map +1 -0
- package/dist/cjs/Conversation/AnswerQuestion/AnswerQuestion.js +75 -0
- package/dist/cjs/Conversation/AnswerQuestion/AnswerQuestion.js.map +1 -0
- package/dist/cjs/Conversation/AnswerQuestion/index.d.ts +2 -0
- package/dist/cjs/Conversation/AnswerQuestion/index.d.ts.map +1 -0
- package/dist/cjs/Errors/ErrorDetails.d.ts +11 -0
- package/dist/cjs/Errors/ErrorDetails.d.ts.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromCommandResult.d.ts +5 -0
- package/dist/cjs/Errors/errorDetailsFromCommandResult.d.ts.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromCommandResult.js +32 -0
- package/dist/cjs/Errors/errorDetailsFromCommandResult.js.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromError.d.ts +4 -0
- package/dist/cjs/Errors/errorDetailsFromError.d.ts.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromError.js +43 -0
- package/dist/cjs/Errors/errorDetailsFromError.js.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromQueryResult.d.ts +6 -0
- package/dist/cjs/Errors/errorDetailsFromQueryResult.d.ts.map +1 -0
- package/dist/cjs/Errors/errorDetailsFromQueryResult.js +33 -0
- package/dist/cjs/Errors/errorDetailsFromQueryResult.js.map +1 -0
- package/dist/cjs/Errors/index.d.ts +7 -0
- package/dist/cjs/Errors/index.d.ts.map +1 -0
- package/dist/cjs/Errors/messageOf.d.ts +3 -0
- package/dist/cjs/Errors/messageOf.d.ts.map +1 -0
- package/dist/cjs/Errors/messageOf.js +23 -0
- package/dist/cjs/Errors/messageOf.js.map +1 -0
- package/dist/cjs/Errors/parseStackTrace.d.ts +3 -0
- package/dist/cjs/Errors/parseStackTrace.d.ts.map +1 -0
- package/dist/cjs/Errors/parseStackTrace.js +54 -0
- package/dist/cjs/Errors/parseStackTrace.js.map +1 -0
- package/dist/cjs/Errors/resolveLocation.d.ts +3 -0
- package/dist/cjs/Errors/resolveLocation.d.ts.map +1 -0
- package/dist/cjs/Errors/resolveLocation.js +22 -0
- package/dist/cjs/Errors/resolveLocation.js.map +1 -0
- package/dist/cjs/Identity/ShareIdentity/ShareIdentity.d.ts +21 -0
- package/dist/cjs/Identity/ShareIdentity/ShareIdentity.d.ts.map +1 -0
- package/dist/cjs/Identity/ShareIdentity/ShareIdentity.js +44 -0
- package/dist/cjs/Identity/ShareIdentity/ShareIdentity.js.map +1 -0
- package/dist/cjs/Identity/ShareIdentity/index.d.ts +2 -0
- package/dist/cjs/Identity/ShareIdentity/index.d.ts.map +1 -0
- package/dist/cjs/Identity/UserIdentity.d.ts +6 -0
- package/dist/cjs/Identity/UserIdentity.d.ts.map +1 -0
- package/dist/cjs/Identity/UserIdentity.js +50 -0
- package/dist/cjs/Identity/UserIdentity.js.map +1 -0
- package/dist/cjs/Identity/index.d.ts +2 -0
- package/dist/cjs/Identity/index.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueKind.d.ts +5 -0
- package/dist/cjs/Issues/IssueKind.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueKind.js +16 -0
- package/dist/cjs/Issues/IssueKind.js.map +1 -0
- package/dist/cjs/Issues/IssueState.d.ts +10 -0
- package/dist/cjs/Issues/IssueState.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueState.js +21 -0
- package/dist/cjs/Issues/IssueState.js.map +1 -0
- package/dist/cjs/Issues/index.d.ts +3 -0
- package/dist/cjs/Issues/index.d.ts.map +1 -0
- package/dist/cjs/Lifecycle/ReopenIssue/ReopenIssue.d.ts +28 -0
- package/dist/cjs/Lifecycle/ReopenIssue/ReopenIssue.d.ts.map +1 -0
- package/dist/cjs/Lifecycle/ReopenIssue/ReopenIssue.js +64 -0
- package/dist/cjs/Lifecycle/ReopenIssue/ReopenIssue.js.map +1 -0
- package/dist/cjs/Lifecycle/ReopenIssue/index.d.ts +2 -0
- package/dist/cjs/Lifecycle/ReopenIssue/index.d.ts.map +1 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/WithdrawIssue.d.ts +21 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/WithdrawIssue.d.ts.map +1 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/WithdrawIssue.js +44 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/WithdrawIssue.js.map +1 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/index.d.ts +2 -0
- package/dist/cjs/Lifecycle/WithdrawIssue/index.d.ts.map +1 -0
- package/dist/cjs/Listing/Listing.d.ts +99 -0
- package/dist/cjs/Listing/Listing.d.ts.map +1 -0
- package/dist/cjs/Listing/Listing.js +281 -0
- package/dist/cjs/Listing/Listing.js.map +1 -0
- package/dist/cjs/Listing/index.d.ts +2 -0
- package/dist/cjs/Listing/index.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportError/ReportError.d.ts +58 -0
- package/dist/cjs/Reporting/ReportError/ReportError.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportError/ReportError.js +167 -0
- package/dist/cjs/Reporting/ReportError/ReportError.js.map +1 -0
- package/dist/cjs/Reporting/ReportError/index.d.ts +2 -0
- package/dist/cjs/Reporting/ReportError/index.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportIssue/ReportIssue.d.ts +51 -0
- package/dist/cjs/Reporting/ReportIssue/ReportIssue.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportIssue/ReportIssue.js +144 -0
- package/dist/cjs/Reporting/ReportIssue/ReportIssue.js.map +1 -0
- package/dist/cjs/Reporting/ReportIssue/index.d.ts +2 -0
- package/dist/cjs/Reporting/ReportIssue/index.d.ts.map +1 -0
- package/dist/cjs/Viewing/AccessState.d.ts +8 -0
- package/dist/cjs/Viewing/AccessState.d.ts.map +1 -0
- package/dist/cjs/Viewing/AccessState.js +19 -0
- package/dist/cjs/Viewing/AccessState.js.map +1 -0
- package/dist/cjs/Viewing/ConversationAuthorKind.d.ts +7 -0
- package/dist/cjs/Viewing/ConversationAuthorKind.d.ts.map +1 -0
- package/dist/cjs/Viewing/ConversationAuthorKind.js +18 -0
- package/dist/cjs/Viewing/ConversationAuthorKind.js.map +1 -0
- package/dist/cjs/Viewing/ConversationEntryKind.d.ts +28 -0
- package/dist/cjs/Viewing/ConversationEntryKind.d.ts.map +1 -0
- package/dist/cjs/Viewing/ConversationEntryKind.js +39 -0
- package/dist/cjs/Viewing/ConversationEntryKind.js.map +1 -0
- package/dist/cjs/Viewing/Viewing.d.ts +145 -0
- package/dist/cjs/Viewing/Viewing.d.ts.map +1 -0
- package/dist/cjs/Viewing/Viewing.js +492 -0
- package/dist/cjs/Viewing/Viewing.js.map +1 -0
- package/dist/cjs/Viewing/index.d.ts +5 -0
- package/dist/cjs/Viewing/index.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +19 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +74 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/esm/Access/AccessDuration.d.ts +6 -0
- package/dist/esm/Access/AccessDuration.d.ts.map +1 -0
- package/dist/esm/Access/AccessDuration.js +15 -0
- package/dist/esm/Access/AccessDuration.js.map +1 -0
- package/dist/esm/Access/GrantAccess/GrantAccess.d.ts +25 -0
- package/dist/esm/Access/GrantAccess/GrantAccess.d.ts.map +1 -0
- package/dist/esm/Access/GrantAccess/GrantAccess.js +53 -0
- package/dist/esm/Access/GrantAccess/GrantAccess.js.map +1 -0
- package/dist/esm/Access/GrantAccess/index.d.ts +2 -0
- package/dist/esm/Access/GrantAccess/index.d.ts.map +1 -0
- package/dist/esm/Access/GrantAccess/index.js +2 -0
- package/dist/esm/Access/GrantAccess/index.js.map +1 -0
- package/dist/esm/Access/RevokeAccess/RevokeAccess.d.ts +21 -0
- package/dist/esm/Access/RevokeAccess/RevokeAccess.d.ts.map +1 -0
- package/dist/esm/Access/RevokeAccess/RevokeAccess.js +42 -0
- package/dist/esm/Access/RevokeAccess/RevokeAccess.js.map +1 -0
- package/dist/esm/Access/RevokeAccess/index.d.ts +2 -0
- package/dist/esm/Access/RevokeAccess/index.d.ts.map +1 -0
- package/dist/esm/Access/RevokeAccess/index.js +2 -0
- package/dist/esm/Access/RevokeAccess/index.js.map +1 -0
- package/dist/esm/Access/index.d.ts +2 -0
- package/dist/esm/Access/index.d.ts.map +1 -0
- package/dist/esm/Access/index.js +2 -0
- package/dist/esm/Access/index.js.map +1 -0
- package/dist/esm/Contracts/Conversation/SupportAuthor.d.ts +6 -0
- package/dist/esm/Contracts/Conversation/SupportAuthor.d.ts.map +1 -0
- package/dist/esm/Contracts/Conversation/SupportAuthor.js +42 -0
- package/dist/esm/Contracts/Conversation/SupportAuthor.js.map +1 -0
- package/dist/esm/Contracts/Conversation/SupportAuthorKind.d.ts +5 -0
- package/dist/esm/Contracts/Conversation/SupportAuthorKind.d.ts.map +1 -0
- package/dist/esm/Contracts/Conversation/SupportAuthorKind.js +14 -0
- package/dist/esm/Contracts/Conversation/SupportAuthorKind.js.map +1 -0
- package/dist/esm/Contracts/Conversation/index.d.ts +3 -0
- package/dist/esm/Contracts/Conversation/index.d.ts.map +1 -0
- package/dist/esm/Contracts/Conversation/index.js +3 -0
- package/dist/esm/Contracts/Conversation/index.js.map +1 -0
- package/dist/esm/Contracts/Reporting/SliceLocation.d.ts +6 -0
- package/dist/esm/Contracts/Reporting/SliceLocation.d.ts.map +1 -0
- package/dist/esm/Contracts/Reporting/SliceLocation.js +48 -0
- package/dist/esm/Contracts/Reporting/SliceLocation.js.map +1 -0
- package/dist/esm/Contracts/Reporting/StackFrame.d.ts +6 -0
- package/dist/esm/Contracts/Reporting/StackFrame.d.ts.map +1 -0
- package/dist/esm/Contracts/Reporting/StackFrame.js +48 -0
- package/dist/esm/Contracts/Reporting/StackFrame.js.map +1 -0
- package/dist/esm/Contracts/Reporting/index.d.ts +3 -0
- package/dist/esm/Contracts/Reporting/index.d.ts.map +1 -0
- package/dist/esm/Contracts/Reporting/index.js +3 -0
- package/dist/esm/Contracts/Reporting/index.js.map +1 -0
- package/dist/esm/Contracts/WorkItems/WorkItem.d.ts +7 -0
- package/dist/esm/Contracts/WorkItems/WorkItem.d.ts.map +1 -0
- package/dist/esm/Contracts/WorkItems/WorkItem.js +55 -0
- package/dist/esm/Contracts/WorkItems/WorkItem.js.map +1 -0
- package/dist/esm/Contracts/WorkItems/index.d.ts +2 -0
- package/dist/esm/Contracts/WorkItems/index.d.ts.map +1 -0
- package/dist/esm/Contracts/WorkItems/index.js +2 -0
- package/dist/esm/Contracts/WorkItems/index.js.map +1 -0
- package/dist/esm/Conversation/AddDetails/AddDetails.d.ts +28 -0
- package/dist/esm/Conversation/AddDetails/AddDetails.d.ts.map +1 -0
- package/dist/esm/Conversation/AddDetails/AddDetails.js +61 -0
- package/dist/esm/Conversation/AddDetails/AddDetails.js.map +1 -0
- package/dist/esm/Conversation/AddDetails/index.d.ts +2 -0
- package/dist/esm/Conversation/AddDetails/index.d.ts.map +1 -0
- package/dist/esm/Conversation/AddDetails/index.js +2 -0
- package/dist/esm/Conversation/AddDetails/index.js.map +1 -0
- package/dist/esm/Conversation/AnswerQuestion/AnswerQuestion.d.ts +31 -0
- package/dist/esm/Conversation/AnswerQuestion/AnswerQuestion.d.ts.map +1 -0
- package/dist/esm/Conversation/AnswerQuestion/AnswerQuestion.js +72 -0
- package/dist/esm/Conversation/AnswerQuestion/AnswerQuestion.js.map +1 -0
- package/dist/esm/Conversation/AnswerQuestion/index.d.ts +2 -0
- package/dist/esm/Conversation/AnswerQuestion/index.d.ts.map +1 -0
- package/dist/esm/Conversation/AnswerQuestion/index.js +2 -0
- package/dist/esm/Conversation/AnswerQuestion/index.js.map +1 -0
- package/dist/esm/Errors/ErrorDetails.d.ts +11 -0
- package/dist/esm/Errors/ErrorDetails.d.ts.map +1 -0
- package/dist/esm/Errors/ErrorDetails.js +2 -0
- package/dist/esm/Errors/ErrorDetails.js.map +1 -0
- package/dist/esm/Errors/errorDetailsFromCommandResult.d.ts +5 -0
- package/dist/esm/Errors/errorDetailsFromCommandResult.d.ts.map +1 -0
- package/dist/esm/Errors/errorDetailsFromCommandResult.js +30 -0
- package/dist/esm/Errors/errorDetailsFromCommandResult.js.map +1 -0
- package/dist/esm/Errors/errorDetailsFromError.d.ts +4 -0
- package/dist/esm/Errors/errorDetailsFromError.d.ts.map +1 -0
- package/dist/esm/Errors/errorDetailsFromError.js +41 -0
- package/dist/esm/Errors/errorDetailsFromError.js.map +1 -0
- package/dist/esm/Errors/errorDetailsFromQueryResult.d.ts +6 -0
- package/dist/esm/Errors/errorDetailsFromQueryResult.d.ts.map +1 -0
- package/dist/esm/Errors/errorDetailsFromQueryResult.js +31 -0
- package/dist/esm/Errors/errorDetailsFromQueryResult.js.map +1 -0
- package/dist/esm/Errors/index.d.ts +7 -0
- package/dist/esm/Errors/index.d.ts.map +1 -0
- package/dist/esm/Errors/index.js +7 -0
- package/dist/esm/Errors/index.js.map +1 -0
- package/dist/esm/Errors/messageOf.d.ts +3 -0
- package/dist/esm/Errors/messageOf.d.ts.map +1 -0
- package/dist/esm/Errors/messageOf.js +21 -0
- package/dist/esm/Errors/messageOf.js.map +1 -0
- package/dist/esm/Errors/parseStackTrace.d.ts +3 -0
- package/dist/esm/Errors/parseStackTrace.d.ts.map +1 -0
- package/dist/esm/Errors/parseStackTrace.js +52 -0
- package/dist/esm/Errors/parseStackTrace.js.map +1 -0
- package/dist/esm/Errors/resolveLocation.d.ts +3 -0
- package/dist/esm/Errors/resolveLocation.d.ts.map +1 -0
- package/dist/esm/Errors/resolveLocation.js +20 -0
- package/dist/esm/Errors/resolveLocation.js.map +1 -0
- package/dist/esm/Identity/ShareIdentity/ShareIdentity.d.ts +21 -0
- package/dist/esm/Identity/ShareIdentity/ShareIdentity.d.ts.map +1 -0
- package/dist/esm/Identity/ShareIdentity/ShareIdentity.js +42 -0
- package/dist/esm/Identity/ShareIdentity/ShareIdentity.js.map +1 -0
- package/dist/esm/Identity/ShareIdentity/index.d.ts +2 -0
- package/dist/esm/Identity/ShareIdentity/index.d.ts.map +1 -0
- package/dist/esm/Identity/ShareIdentity/index.js +2 -0
- package/dist/esm/Identity/ShareIdentity/index.js.map +1 -0
- package/dist/esm/Identity/UserIdentity.d.ts +6 -0
- package/dist/esm/Identity/UserIdentity.d.ts.map +1 -0
- package/dist/esm/Identity/UserIdentity.js +48 -0
- package/dist/esm/Identity/UserIdentity.js.map +1 -0
- package/dist/esm/Identity/index.d.ts +2 -0
- package/dist/esm/Identity/index.d.ts.map +1 -0
- package/dist/esm/Identity/index.js +2 -0
- package/dist/esm/Identity/index.js.map +1 -0
- package/dist/esm/Issues/IssueKind.d.ts +5 -0
- package/dist/esm/Issues/IssueKind.d.ts.map +1 -0
- package/dist/esm/Issues/IssueKind.js +14 -0
- package/dist/esm/Issues/IssueKind.js.map +1 -0
- package/dist/esm/Issues/IssueState.d.ts +10 -0
- package/dist/esm/Issues/IssueState.d.ts.map +1 -0
- package/dist/esm/Issues/IssueState.js +19 -0
- package/dist/esm/Issues/IssueState.js.map +1 -0
- package/dist/esm/Issues/index.d.ts +3 -0
- package/dist/esm/Issues/index.d.ts.map +1 -0
- package/dist/esm/Issues/index.js +3 -0
- package/dist/esm/Issues/index.js.map +1 -0
- package/dist/esm/Lifecycle/ReopenIssue/ReopenIssue.d.ts +28 -0
- package/dist/esm/Lifecycle/ReopenIssue/ReopenIssue.d.ts.map +1 -0
- package/dist/esm/Lifecycle/ReopenIssue/ReopenIssue.js +61 -0
- package/dist/esm/Lifecycle/ReopenIssue/ReopenIssue.js.map +1 -0
- package/dist/esm/Lifecycle/ReopenIssue/index.d.ts +2 -0
- package/dist/esm/Lifecycle/ReopenIssue/index.d.ts.map +1 -0
- package/dist/esm/Lifecycle/ReopenIssue/index.js +2 -0
- package/dist/esm/Lifecycle/ReopenIssue/index.js.map +1 -0
- package/dist/esm/Lifecycle/WithdrawIssue/WithdrawIssue.d.ts +21 -0
- package/dist/esm/Lifecycle/WithdrawIssue/WithdrawIssue.d.ts.map +1 -0
- package/dist/esm/Lifecycle/WithdrawIssue/WithdrawIssue.js +42 -0
- package/dist/esm/Lifecycle/WithdrawIssue/WithdrawIssue.js.map +1 -0
- package/dist/esm/Lifecycle/WithdrawIssue/index.d.ts +2 -0
- package/dist/esm/Lifecycle/WithdrawIssue/index.d.ts.map +1 -0
- package/dist/esm/Lifecycle/WithdrawIssue/index.js +2 -0
- package/dist/esm/Lifecycle/WithdrawIssue/index.js.map +1 -0
- package/dist/esm/Listing/Listing.d.ts +99 -0
- package/dist/esm/Listing/Listing.d.ts.map +1 -0
- package/dist/esm/Listing/Listing.js +278 -0
- package/dist/esm/Listing/Listing.js.map +1 -0
- package/dist/esm/Listing/index.d.ts +2 -0
- package/dist/esm/Listing/index.d.ts.map +1 -0
- package/dist/esm/Listing/index.js +2 -0
- package/dist/esm/Listing/index.js.map +1 -0
- package/dist/esm/Reporting/ReportError/ReportError.d.ts +58 -0
- package/dist/esm/Reporting/ReportError/ReportError.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportError/ReportError.js +164 -0
- package/dist/esm/Reporting/ReportError/ReportError.js.map +1 -0
- package/dist/esm/Reporting/ReportError/index.d.ts +2 -0
- package/dist/esm/Reporting/ReportError/index.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportError/index.js +2 -0
- package/dist/esm/Reporting/ReportError/index.js.map +1 -0
- package/dist/esm/Reporting/ReportIssue/ReportIssue.d.ts +51 -0
- package/dist/esm/Reporting/ReportIssue/ReportIssue.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportIssue/ReportIssue.js +141 -0
- package/dist/esm/Reporting/ReportIssue/ReportIssue.js.map +1 -0
- package/dist/esm/Reporting/ReportIssue/index.d.ts +2 -0
- package/dist/esm/Reporting/ReportIssue/index.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportIssue/index.js +2 -0
- package/dist/esm/Reporting/ReportIssue/index.js.map +1 -0
- package/dist/esm/Viewing/AccessState.d.ts +8 -0
- package/dist/esm/Viewing/AccessState.d.ts.map +1 -0
- package/dist/esm/Viewing/AccessState.js +17 -0
- package/dist/esm/Viewing/AccessState.js.map +1 -0
- package/dist/esm/Viewing/ConversationAuthorKind.d.ts +7 -0
- package/dist/esm/Viewing/ConversationAuthorKind.d.ts.map +1 -0
- package/dist/esm/Viewing/ConversationAuthorKind.js +16 -0
- package/dist/esm/Viewing/ConversationAuthorKind.js.map +1 -0
- package/dist/esm/Viewing/ConversationEntryKind.d.ts +28 -0
- package/dist/esm/Viewing/ConversationEntryKind.d.ts.map +1 -0
- package/dist/esm/Viewing/ConversationEntryKind.js +37 -0
- package/dist/esm/Viewing/ConversationEntryKind.js.map +1 -0
- package/dist/esm/Viewing/Viewing.d.ts +145 -0
- package/dist/esm/Viewing/Viewing.d.ts.map +1 -0
- package/dist/esm/Viewing/Viewing.js +484 -0
- package/dist/esm/Viewing/Viewing.js.map +1 -0
- package/dist/esm/Viewing/index.d.ts +5 -0
- package/dist/esm/Viewing/index.d.ts.map +1 -0
- package/dist/esm/Viewing/index.js +5 -0
- package/dist/esm/Viewing/index.js.map +1 -0
- package/dist/esm/index.d.ts +19 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +29 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/index.ts +21 -0
- package/package.json +71 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { QueryResult } from '@cratis/arc/queries';
|
|
5
|
+
import { SliceLocation as ArcSliceLocation } from '@cratis/arc/reflection';
|
|
6
|
+
import { Guid } from '@cratis/fundamentals';
|
|
7
|
+
import { ErrorDetails } from './ErrorDetails';
|
|
8
|
+
import { messageOf } from './messageOf';
|
|
9
|
+
import { parseStackTrace } from './parseStackTrace';
|
|
10
|
+
import { resolveLocation } from './resolveLocation';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Builds {@link ErrorDetails} from the result of a failed Arc query.
|
|
14
|
+
* @remarks
|
|
15
|
+
* A query result carries no correlation id, so pass the one you know, if any. The stack frames are parsed from the
|
|
16
|
+
* stack trace Arc returns, and the type is empty, because Arc does not return the .NET type.
|
|
17
|
+
* @param result The result of the failed query, a {@link QueryResult} or the result of a query hook.
|
|
18
|
+
* @param query The failing query, whose generated proxy declares where it lives.
|
|
19
|
+
* @param location Where it happened when the query's proxy declares nothing, such as the location from
|
|
20
|
+
* `useSliceContext()`.
|
|
21
|
+
* @param correlationId The correlation id of the query, when known.
|
|
22
|
+
* @returns The {@link ErrorDetails}.
|
|
23
|
+
*/
|
|
24
|
+
export function errorDetailsFromQueryResult(result: Pick<QueryResult<unknown>, 'exceptionMessages' | 'exceptionStackTrace' | 'validationResults'>, query?: object, location?: ArcSliceLocation, correlationId?: Guid): ErrorDetails {
|
|
25
|
+
return {
|
|
26
|
+
message: messageOf(result.exceptionMessages, '', result.validationResults),
|
|
27
|
+
type: '',
|
|
28
|
+
correlationIds: correlationId ? [correlationId] : [],
|
|
29
|
+
stackFrames: parseStackTrace(result.exceptionStackTrace),
|
|
30
|
+
location: resolveLocation(query, location)
|
|
31
|
+
};
|
|
32
|
+
}
|
package/Errors/index.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
export * from './ErrorDetails';
|
|
5
|
+
export * from './errorDetailsFromCommandResult';
|
|
6
|
+
export * from './errorDetailsFromError';
|
|
7
|
+
export * from './errorDetailsFromQueryResult';
|
|
8
|
+
export * from './parseStackTrace';
|
|
9
|
+
export * from './resolveLocation';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { ValidationResult } from '@cratis/arc/validation';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Gets the message of a failed command or query result: its exception messages, otherwise the reason it was not
|
|
8
|
+
* authorized, otherwise its validation messages, joined with new lines.
|
|
9
|
+
* @param exceptionMessages The exception messages.
|
|
10
|
+
* @param authorizationFailureReason The reason it was not authorized; empty when it was.
|
|
11
|
+
* @param validationResults The validation results.
|
|
12
|
+
* @returns The message; empty when the result carries none.
|
|
13
|
+
*/
|
|
14
|
+
export function messageOf(exceptionMessages: string[], authorizationFailureReason: string, validationResults: ValidationResult[]): string {
|
|
15
|
+
if (exceptionMessages.length > 0) {
|
|
16
|
+
return exceptionMessages.join('\n');
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (authorizationFailureReason) {
|
|
20
|
+
return authorizationFailureReason;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return validationResults.map(result => result.message).join('\n');
|
|
24
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { StackFrame } from '../Contracts/Reporting/StackFrame';
|
|
5
|
+
|
|
6
|
+
const dotNetFrame = /^\s*at\s+(.+?)(?:\s+in\s+(.+):line\s+(\d+))?\s*$/;
|
|
7
|
+
const v8FrameWithMethod = /^\s*at\s+(?:async\s+)?(.+?)\s+\((.+?):(\d+)(?::\d+)?\)\s*$/;
|
|
8
|
+
const v8FrameWithoutMethod = /^\s*at\s+(?:async\s+)?(.+?):(\d+)(?::\d+)?\s*$/;
|
|
9
|
+
const geckoFrame = /^\s*(.*?)@(.+?):(\d+)(?::\d+)?\s*$/;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Parses a stack trace into stack frames, top frame first.
|
|
13
|
+
* @remarks
|
|
14
|
+
* Understands the stack of a JavaScript error in Chromium, Node.js, Firefox and Safari, and the .NET stack trace Arc
|
|
15
|
+
* returns for a failing command or query (\`at Type.Method() in File.cs:line 42\`). Lines that are not frames, such
|
|
16
|
+
* as the message line or \`--- End of stack trace from previous location ---\`, are skipped. A frame without a file
|
|
17
|
+
* or line has an empty file and line 0.
|
|
18
|
+
* @param stackTrace The stack trace; nothing gives no frames.
|
|
19
|
+
* @returns The stack frames.
|
|
20
|
+
*/
|
|
21
|
+
export function parseStackTrace(stackTrace?: string): StackFrame[] {
|
|
22
|
+
if (!stackTrace) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return stackTrace
|
|
27
|
+
.split(/\r?\n/)
|
|
28
|
+
.map(parseFrame)
|
|
29
|
+
.filter((frame): frame is StackFrame => frame !== undefined);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function parseFrame(line: string): StackFrame | undefined {
|
|
33
|
+
let match = v8FrameWithMethod.exec(line);
|
|
34
|
+
if (match) {
|
|
35
|
+
return frame(match[1], match[2], match[3]);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
match = v8FrameWithoutMethod.exec(line);
|
|
39
|
+
if (match && !line.includes('(')) {
|
|
40
|
+
return frame('', match[1], match[2]);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
match = dotNetFrame.exec(line);
|
|
44
|
+
if (match) {
|
|
45
|
+
return frame(match[1], match[2] ?? '', match[3] ?? '0');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
match = geckoFrame.exec(line);
|
|
49
|
+
if (match) {
|
|
50
|
+
return frame(match[1], match[2], match[3]);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function frame(method: string, file: string, line: string): StackFrame {
|
|
57
|
+
return Object.assign(new StackFrame(), {
|
|
58
|
+
method: method.trim(),
|
|
59
|
+
file: file.trim(),
|
|
60
|
+
line: Number.parseInt(line, 10) || 0
|
|
61
|
+
});
|
|
62
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { SliceLocation as ArcSliceLocation } from '@cratis/arc/reflection';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Resolves where an error happened: the slice location of the failing command or query when its proxy declares one,
|
|
8
|
+
* otherwise the location given, otherwise {@link ArcSliceLocation.empty}.
|
|
9
|
+
* @param operation The failing command or query, if known.
|
|
10
|
+
* @param location The location the caller knows, such as the one from `useSliceContext()`.
|
|
11
|
+
* @returns The {@link ArcSliceLocation}.
|
|
12
|
+
*/
|
|
13
|
+
export function resolveLocation(operation?: object, location?: ArcSliceLocation): ArcSliceLocation {
|
|
14
|
+
const declared = operation ? ArcSliceLocation.of(operation) : ArcSliceLocation.empty;
|
|
15
|
+
if (!declared.isEmpty) {
|
|
16
|
+
return declared;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return location ?? ArcSliceLocation.empty;
|
|
20
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Identity.ShareIdentity.ShareIdentity. Time: 2026-10-26T19:31:39.8469400Z. Hash: AED64B66E1CDCA28889C3B2466EBD757C08D2AF9AE56C05872DF8F0C49EE1261
|
|
6
|
+
import { Command } from '@cratis/arc/commands';
|
|
7
|
+
import { ClearCommandValues, SetCommandValues, useCommand } from '@cratis/arc.react/commands';
|
|
8
|
+
import { SliceLocation as ArcSliceLocation, PropertyDescriptor } from '@cratis/arc/reflection';
|
|
9
|
+
import { Guid } from '@cratis/fundamentals';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The reporter lets support know who they are on one of their issues. Who they are is taken from the signed-in identity, never from the request.
|
|
13
|
+
*/
|
|
14
|
+
export interface IShareIdentity {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The issue to share identity on.
|
|
18
|
+
*/
|
|
19
|
+
issueId?: Guid;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The reporter lets support know who they are on one of their issues. Who they are is taken from the signed-in identity, never from the request.
|
|
25
|
+
*/
|
|
26
|
+
export class ShareIdentity extends Command<IShareIdentity> implements IShareIdentity {
|
|
27
|
+
static readonly sliceLocation: ArcSliceLocation = new ArcSliceLocation('', 'Identity', 'ShareIdentity');
|
|
28
|
+
readonly route: string = '/api/identity/share-identity';
|
|
29
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
30
|
+
readonly roles: string[] = [];
|
|
31
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
32
|
+
new PropertyDescriptor('issueId', Guid, false),
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
#issueId!: Guid;
|
|
36
|
+
|
|
37
|
+
constructor() {
|
|
38
|
+
super(Object, false);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get requestParameters(): string[] {
|
|
42
|
+
return [
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The issue to share identity on.
|
|
48
|
+
*/
|
|
49
|
+
get issueId(): Guid {
|
|
50
|
+
return this.#issueId;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
set issueId(value: Guid) {
|
|
54
|
+
this.#issueId = value;
|
|
55
|
+
this.propertyChanged('issueId');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static use(initialValues?: IShareIdentity): [ShareIdentity, SetCommandValues<IShareIdentity>, ClearCommandValues] {
|
|
59
|
+
return useCommand<ShareIdentity, IShareIdentity>(ShareIdentity, initialValues);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Identity.UserIdentity. Time: 2026-10-26T20:48:58.8871950Z. Hash: 6FDEB6ECF78153E93401ADDA5DFA8E0CD88A42CA6173225F52070F2E7EE7306E
|
|
6
|
+
import { field } from '@cratis/fundamentals';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Who a person is at the identity provider they signed in with: the provider and the subject it issued them. A subject is unique only within its provider, so two people can have the same subject at two providers; Usher compares the pair wherever it decides whose an issue is or who acts.
|
|
10
|
+
*/
|
|
11
|
+
export class UserIdentity {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The identity provider; {@link NotSet} when the principal names none.
|
|
15
|
+
*/
|
|
16
|
+
@field(String)
|
|
17
|
+
identityProvider!: string;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The subject the identity provider issued.
|
|
21
|
+
*/
|
|
22
|
+
@field(String)
|
|
23
|
+
subject!: string;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Gets whether the identity names somebody: it has a subject.
|
|
27
|
+
*/
|
|
28
|
+
@field(Boolean)
|
|
29
|
+
isSet!: boolean;
|
|
30
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Issues.IssueKind. Time: 2026-10-26T18:15:51.5541920Z. Hash: 5E093A337A9E2FA5956A4B2D3ADEBDCAC852CF1D670DFB27A5BE02D0FC567B25
|
|
6
|
+
/**
|
|
7
|
+
* How an issue came to be reported.
|
|
8
|
+
*/
|
|
9
|
+
export enum IssueKind {
|
|
10
|
+
error = 0,
|
|
11
|
+
manual = 1,
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Issues.IssueState. Time: 2026-10-26T18:15:51.5541920Z. Hash: 12421F073F48EA7DD9049D1536BC01BA74CED8BF2CD65648DF8F000FC821CC9E
|
|
6
|
+
/**
|
|
7
|
+
* The state an issue is in, as the reporter sees it.
|
|
8
|
+
*/
|
|
9
|
+
export enum IssueState {
|
|
10
|
+
reported = 0,
|
|
11
|
+
triaged = 1,
|
|
12
|
+
accepted = 2,
|
|
13
|
+
inProgress = 3,
|
|
14
|
+
resolved = 4,
|
|
15
|
+
wontFix = 5,
|
|
16
|
+
withdrawn = 6,
|
|
17
|
+
}
|
package/Issues/index.ts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Lifecycle.ReopenIssue.ReopenIssue. Time: 2026-10-26T21:13:51.1172240Z. Hash: 3A9B88B81AF2987AC016DC7A57C42A135969D27240F0FB9EC5E05166E9DECBD8
|
|
6
|
+
import { Command, CommandValidator } from '@cratis/arc/commands';
|
|
7
|
+
import { ClearCommandValues, SetCommandValues, useCommand } from '@cratis/arc.react/commands';
|
|
8
|
+
import { SliceLocation as ArcSliceLocation, PropertyDescriptor } from '@cratis/arc/reflection';
|
|
9
|
+
import { Guid } from '@cratis/fundamentals';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The reporter reopens one of their resolved issues because the problem is not gone.
|
|
13
|
+
*/
|
|
14
|
+
export interface IReopenIssue {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The issue to reopen.
|
|
18
|
+
*/
|
|
19
|
+
issueId?: Guid;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Why the reporter reopens it.
|
|
23
|
+
*/
|
|
24
|
+
reason?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export class ReopenIssueValidator extends CommandValidator<IReopenIssue> {
|
|
28
|
+
constructor() {
|
|
29
|
+
super();
|
|
30
|
+
this.ruleFor(c => c.reason).notEmpty().withMessage('Tell support why you reopen the issue.');
|
|
31
|
+
this.ruleFor(c => c.reason).maxLength(1000).withMessage('Keep the reason within 1000 characters.');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The reporter reopens one of their resolved issues because the problem is not gone.
|
|
37
|
+
*/
|
|
38
|
+
export class ReopenIssue extends Command<IReopenIssue> implements IReopenIssue {
|
|
39
|
+
static readonly sliceLocation: ArcSliceLocation = new ArcSliceLocation('', 'Lifecycle', 'ReopenIssue');
|
|
40
|
+
readonly route: string = '/api/lifecycle/reopen-issue';
|
|
41
|
+
readonly validation: CommandValidator = new ReopenIssueValidator();
|
|
42
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
43
|
+
readonly roles: string[] = [];
|
|
44
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
45
|
+
new PropertyDescriptor('issueId', Guid, false),
|
|
46
|
+
new PropertyDescriptor('reason', String, false),
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
#issueId!: Guid;
|
|
50
|
+
#reason!: string;
|
|
51
|
+
|
|
52
|
+
constructor() {
|
|
53
|
+
super(Object, false);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
get requestParameters(): string[] {
|
|
57
|
+
return [
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* The issue to reopen.
|
|
63
|
+
*/
|
|
64
|
+
get issueId(): Guid {
|
|
65
|
+
return this.#issueId;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
set issueId(value: Guid) {
|
|
69
|
+
this.#issueId = value;
|
|
70
|
+
this.propertyChanged('issueId');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Why the reporter reopens it.
|
|
74
|
+
*/
|
|
75
|
+
get reason(): string {
|
|
76
|
+
return this.#reason;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
set reason(value: string) {
|
|
80
|
+
this.#reason = value;
|
|
81
|
+
this.propertyChanged('reason');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static use(initialValues?: IReopenIssue): [ReopenIssue, SetCommandValues<IReopenIssue>, ClearCommandValues] {
|
|
85
|
+
return useCommand<ReopenIssue, IReopenIssue>(ReopenIssue, initialValues);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
// **DO NOT EDIT** - This file is an automatically generated file.
|
|
5
|
+
// @generated by Cratis. Source: Cratis.Showrunner.Usher.Lifecycle.WithdrawIssue.WithdrawIssue. Time: 2026-10-26T19:31:39.8469400Z. Hash: 722745425BDD6BA0C960FE515A55F7F3A36193C8FBDD541449B13B5960DE9716
|
|
6
|
+
import { Command } from '@cratis/arc/commands';
|
|
7
|
+
import { ClearCommandValues, SetCommandValues, useCommand } from '@cratis/arc.react/commands';
|
|
8
|
+
import { SliceLocation as ArcSliceLocation, PropertyDescriptor } from '@cratis/arc/reflection';
|
|
9
|
+
import { Guid } from '@cratis/fundamentals';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The reporter withdraws one of their open issues; support no longer needs to look into it.
|
|
13
|
+
*/
|
|
14
|
+
export interface IWithdrawIssue {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The issue to withdraw.
|
|
18
|
+
*/
|
|
19
|
+
issueId?: Guid;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The reporter withdraws one of their open issues; support no longer needs to look into it.
|
|
25
|
+
*/
|
|
26
|
+
export class WithdrawIssue extends Command<IWithdrawIssue> implements IWithdrawIssue {
|
|
27
|
+
static readonly sliceLocation: ArcSliceLocation = new ArcSliceLocation('', 'Lifecycle', 'WithdrawIssue');
|
|
28
|
+
readonly route: string = '/api/lifecycle/withdraw-issue';
|
|
29
|
+
readonly treatWarningsAsErrors: boolean = false;
|
|
30
|
+
readonly roles: string[] = [];
|
|
31
|
+
readonly propertyDescriptors: PropertyDescriptor[] = [
|
|
32
|
+
new PropertyDescriptor('issueId', Guid, false),
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
#issueId!: Guid;
|
|
36
|
+
|
|
37
|
+
constructor() {
|
|
38
|
+
super(Object, false);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get requestParameters(): string[] {
|
|
42
|
+
return [
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The issue to withdraw.
|
|
48
|
+
*/
|
|
49
|
+
get issueId(): Guid {
|
|
50
|
+
return this.#issueId;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
set issueId(value: Guid) {
|
|
54
|
+
this.#issueId = value;
|
|
55
|
+
this.propertyChanged('issueId');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static use(initialValues?: IWithdrawIssue): [WithdrawIssue, SetCommandValues<IWithdrawIssue>, ClearCommandValues] {
|
|
59
|
+
return useCommand<WithdrawIssue, IWithdrawIssue>(WithdrawIssue, initialValues);
|
|
60
|
+
}
|
|
61
|
+
}
|