1fcb96288f2032f43fbd0946d9c19a299430c27f
6 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1b34d33eb7 |
Webhooks administration from Backoffice (#15050)
* Create webhook models * Define interfaces for service and repository * Create Webhook dto and corresponding factory * implement WebhookRepository.cs * Remove entity name from models, as that should be resolved in mapping instead * Add new table to schema creator * Register repo for DI * Remove more mentions of entityname * Refactor repository to guids * Implement WebhookService * Use scopes in service * Start creating tests for service * Refactor delete to use Id and not entire entity * Rework Webhooks to be able to have multiple entity keys * Implement GetAll functionality * Implement webhook controller * Imeplement get all events action * Add equalityComparer deletegate to Webhook * Add datacontract attirbutes to properties * Implement backoffice webhooks tree * Implement first webhooks menu * Make WebHookController authorized * Update to have tabs with webhooks and logs * Enable create overlay * Push to entityKeys array * Fix up pagination * Implement delete functionality * remove pagination * add log view * Fix create to be able to select more than one content type * implement type name resolving for content * Refactor to use less duplication * Implement update functionality in frontend * Rename database table * Make multiple events possible * create new event picker * Refactor to actually add new database table with proper name * Make it possible to select multiple events * Fix updating current items * Fix up update functionality after db rework * Add webhook icon * Switch to match heartcore icons * Refactor to use bases instead of Enum * Refactor to make IWebhookEvent to Collection, so it can be injected instead of using reflection * Fix up frontend to match new models * Fix integration tests * Remove obsolete entity key from webhookdto * Introduce constants instead of hard coded strings * Start implementation of firing mechanism * Add new GetByEventName method * Add 1 to many list on WebhookDto * Implement new repository pattern * Implement GetByEventName * Fix up repository to use all async * Refactor events to fire * Refactor WebhookEvents to be more DRY * Add custom header * Start implementing log repository * Implement GetPaged * Implement WebhookLogService * Implement GetLogs * Add url to webhook log * Implement log overview * Formatting * Implement details view * Refactor to get actual retry count * Refactor firing to fire only when Enabled * Add Status code to detailed view * Add configuration to disable webhooks entirely * Implement custom headers frontend * Implement persistence of custom headers * Refactor retry service to also retry on non success status codes. * Refactor registration of Webhooks, to also register as NotificationHandler * Add webhooks migration * Add key for adding webhook headers * Fix up test * Change event icon to flag * Remember event, when editing what events you have chosen * Refactor reflection to check if INotificationAsyncHandler instead * Formatting * Refactor webhook model to no longer derive from EntityBase * Rename entityKeys to content keys * Rename controller to lowercase H * Add null check before trying to access selectedEvents * Add configuration for maximum number of retries * Add index to date * Add webhook Key to logs * Check for SchedulingPublisher before sending webhooks * rename requestObject to payload * Refactor event to send appropriate payloads * Refactor logging to happen for every try. * Order date by descending * Add todo * Change firing service to use String not ByteContent * Update Headers to Interface instead of concrete implementation * Dont return if a table exists already * Rename updateModel to webhook * Annotate WebhookController.cs with PluginController attribute * Add danish translations * Do not check if fail * Dont filter when selecting custom items * Remove delay from WebhookFiringService --------- Co-authored-by: Zeegaan <nge@umbraco.dk> |
||
|
|
a27267e5d3 |
V13: New login screen (#14780)
* implement interface * add build targets for login screen * package lock * move components to pages folder * load logo and background from property * styling * move mocks around * remove unused vars * add backoffice handlers * install rxjs * add mock data * add element and context for localization * mock data * use umb-localize * remove the extra logic with check for section_ * change key for login button * add base to vite environment * login styling * cleanup and button styling * use correct reset url * change body of reset request * validate password reset code * redirect to /login/new on reset password code verify * add obsolete messages * remove inline scripts for old backoffice * remove shadowdom from localize element * Revert "remove shadowdom from localize element" This reverts commit 46ae282f7ce9235c15f160d57d54acd5d3378668. * hook up reset password to api * rename pages to state as it is not actually used as different pages * reset password styling * more styling * add confirmation page to new password * set router to firstUpdated to avoid rAF * set a custom baseUrl on the router to make sure it works without trailing slash * use route parameters to redirect on the login page to ensure correct escaping * add server variables * make sure auth layout uses the provided properties for images * format * redirect to code expired page * add missing properties * use allowPasswordReset and allowInvite properties in routing and layout * make ts happy * cleanup * init invite page * hook up usernameIsEmail * init external login providers * add mock provider * add padding to buttons * replace uui button with normal button * add external login providers as slot * add disableLocalLogin property * add form to external login providers * remove unused method * fix build errors * add attributes for external login * add custom view to external login * add new custom icon registry * attach two icon registries * use relative paths * use relative paths * use main registry instead of providing directly * add look and color to external login * implement getIcons() method * use getIcons() to request icons * install remixicon to supplement backoffice icons (replacing font-awesome eventually) * move icon registries to auth element * Revert "install remixicon to supplement backoffice icons (replacing font-awesome eventually)" This reverts commit 0c6659d8d9dfe0664314ec6a3acaa8e20cb606ed. * add icons for common external providers * add more icons * remove resetCode hack as it is no longer needed * add validation to new password * get gretting from translation file * add hack to get text left aligned in uui-button * add custom router * WIP Use router * also change the URL during an action * update login action to redirect to /new when needed * redirect to login from reset and new if not allowed * fix new password button href * use property on login element instead of context * check for redirect on invite-user * move fake external login providers to index.html for use in dev server * allow password reset on dev server * add look and color * only set styles for default view buttons * suppress vite import warning * check and inform for errors and show 'nothing' if a custom view fails to load * fix mock path for localizedtext * fix build errors * ensure that msw (and all its dependencies) do not end up in the production bundle (saved ~500 KB) * Revert AngularValueExternalLoginInfoScriptAsync removal * forward the providerName to custom views * change default icon * add button look and color to external login provider options * add obsolete to ButtonStyle and add a mapper to new values * add required xml comments * map external login providers to <umb-login-external /> * fix typo * only show external login layout if there are slotted children * pass on name as "provider" * send externalLoginUrl to custom views * cleanup * global import * hide external logins completely when empty * cleanup * setup redirect to invite * rename pages to name-page * fix names and paths * use new password layout for invite and new password * add comments * cleanup and use confirmation element * set parameters after successful verifyinvite * map display-name and provider-name to the external element * map display-name * set up external login to handle correct display- and provider-name with documentation * add support for disabling local login * update path to handlers * add more localization * add handlers for 2fa * router should support a factory for component * push login to ?flow=mfa on 402 codes * add page to handle 2fa/mfa * add support for custom routing * add fallback for welcome greeting * handle AngularJS silliness * fix typo * fix router and replace custom umbroute:statechange event with native pushState * simplify code and cleanup * a11y improvements * you can now navigate to anywhere from anywhere with pushState * access the "twoFactorView" from the backend * set the default implemented twoFactorView to NULL * add initial logic to handle a custom mfa view * roll back custom pushState changes * add mocks for 2fa custom view * use router redirect * re-enable click url change * cleanup * remove debug buttons * add unsafeHTML to localize element * load mfa custom views * load custom view * improve external login custom views * using optimisation * add current culture * only show mfa page if 402 code has been encountered in same session * format * remove unnesesary action * add new user invite password * remove console log * fix getting stuck at new password page if you've triggered custom validity * unify layouts * add styling to buttons in error layout * remove unused css * add error message to new password page * add error message to reset password * add error message to invite page * fix invite page not being rendered * cleanup * add obsolete notice to PostSetInvitedUserPassword * add request model to set a new password for an invited user * add new method to handle invited user password * add get password config api call * fix password config parameters and add invite call * get invited user * get password config * assign unique guid to login project * add userId to get password config and use the config as validation * fix * add alerts * fix the new password layout * auth redirects invite error to error page * use password config on new password page * remove console log * move file and remove unused extension * make ts happy * file structure * rename login-extern to external-login-provider * update element name * update dependencies * export custom-view.element.ts * remove debug * use umb-custom-view to load custom views * build types * move @umbraco/uui to the login app and import from there in backoffice * make the ui library and icon registry generally available as exports from the login app * add mock handler for icons * cleanup package * use uui for external login providers in the backoffice * add imports and enable the backoffice icon registry globally * disable shadowdom * default background image * use undefined * revert angular values * remove legacy sys variables * add logic to handle mfa in an overlay scenario without routing * add new login screen to replace the overlay when logged in to the backoffice * update spec to work with locators * cleanup of legacy context * ViewData is not always required * add method to solely return the default view of the backoffice to simply BackofficeController as well as unit tests * add test for the login view * cleanup usings * Apply suggestions from code review Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com> * remove 'remember me' * add more contrast to external login divider * update dependencies * set "lang" attribute to lowercase * remove default headline * localize the "Or" divider and add aria-hidden * remove Umbraco reference from logo and add aria-hidden * add aria-hidden to uui-icon inside external login buttons * format code * update dependencies * update dependencies * add translations to invite user page * use back to login button * update localization-context.ts to match api from old LocalizeService in Angular * add tsc to watch * formatting * add missing localizations * fix a11y issues with muted text * refresh current user after login * remove unused variable * add localization * add localization for error messages * remove unused var * return user after login and set successful auth * retry request queue after login * add language keys for failed login * add language keys for failed login * render the views without a router so that it works inside a modal in the backoffice * add autocomplete to reset password fields * add autocomplete to login screen * add generic error layout to new-password-page * new-password-layout should be able to handle with and without username * update language keys * check for userId before trying to request invited user * show error when no invited user is found * place back-to-login button on all error layouts * update lockfile --------- Co-authored-by: Jesper Møller Jensen <26099018+JesmoDev@users.noreply.github.com> Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com> |
||
|
|
d62e2d731b |
V10: Dont disable invited users (#13600)
* Dont allow disable user when invited * Use data instead of selection * return succesfully disabled users * Disable disable button when invited * Add integration tests * Remove unused usings * Update src/Umbraco.Web.BackOffice/Controllers/UsersController.cs Co-authored-by: Kenn Jacobsen <kja@umbraco.dk> * Create DisabledUsersModel * use data.disabledUsers * Return OK if no users to be saved * User disabledUsersModel Co-authored-by: Zeegaan <nge@umbraco.dk> Co-authored-by: Kenn Jacobsen <kja@umbraco.dk> |
||
|
|
c576bbea03 |
v10: Fix build warnings in Web.Common (#12349)
* Run code cleanup * Run dotnet format * Start manual cleanup in Web.Common * Finish up manual cleanup * Fix tests * Fix up InMemoryModelFactory.cs * Inject proper macroRenderer * Update src/Umbraco.Web.Common/Filters/JsonDateTimeFormatAttribute.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Web.Common/Filters/ValidateUmbracoFormRouteStringAttribute.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Fix based on review Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk> Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> |
||
|
|
b52c4e50cf | Add nullability to web.common | ||
|
|
8ea88a980a | Fixes anti-forgery, fixes tempdata, adds front-end security/identity, gets member macro snippets and controllers all working, removes old code, adds more props to the member identity |