diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/index.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/index.ts index e69de29bb2..3d76f338dd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/index.ts @@ -0,0 +1 @@ +export * from './repository/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/manifests.ts new file mode 100644 index 0000000000..0a214139c1 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/manifests.ts @@ -0,0 +1 @@ +export * from './repository/manifests.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/constants.ts index 7e4e853a5d..6cbdba610a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/constants.ts @@ -1 +1 @@ -export const UMB_USER_CLIENT_CREDENTIALS_REPOSITORY_ALIAS = 'Umb.Repository.User.ClientCredentials'; +export const UMB_USER_CLIENT_CREDENTIAL_REPOSITORY_ALIAS = 'Umb.Repository.User.ClientCredential'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/index.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/index.ts index 16f734cbcb..dd7152279d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/index.ts @@ -1,2 +1,2 @@ export * from './types.js'; -export * from './user-client-credentials.server.data-source.js'; +export * from './user-client-credential.server.data-source.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/types.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/types.ts index 14e6dd533e..0bbb27574a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/types.ts @@ -1,24 +1,13 @@ -import type { UmbUserClientCredentialModel } from '../types.js'; +import type { + UmbCreateUserClientCredentialRequestArgs, + UmbDeleteUserClientCredentialRequestArgs, + UmbUserClientCredentialModel, + UmbUserClientCredentialRequestArgs, +} from '../types.js'; import type { UmbDataSourceErrorResponse, UmbDataSourceResponse } from '@umbraco-cms/backoffice/repository'; -export interface UmbUserClientCredentialsDataSourceCreateArgs { - user: { unique: string }; - client: { unique: string; secret: string }; -} - -export interface UmbUserClientCredentialsDataSourceReadArgs { - user: { unique: string }; -} - -export interface UmbUserClientCredentialsDataSourceDeleteArgs { - user: { unique: string }; - client: { unique: string }; -} - -export interface UmbUserClientCredentialsDataSource { - create(args: UmbUserClientCredentialsDataSourceCreateArgs): Promise; - read( - args: UmbUserClientCredentialsDataSourceReadArgs, - ): Promise>>; - delete: (args: UmbUserClientCredentialsDataSourceDeleteArgs) => Promise; +export interface UmbUserClientCredentialDataSource { + create(args: UmbCreateUserClientCredentialRequestArgs): Promise; + read(args: UmbUserClientCredentialRequestArgs): Promise>>; + delete: (args: UmbDeleteUserClientCredentialRequestArgs) => Promise; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/user-client-credentials.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/user-client-credential.server.data-source.ts similarity index 55% rename from src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/user-client-credentials.server.data-source.ts rename to src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/user-client-credential.server.data-source.ts index c140625b7a..f46aa92732 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/user-client-credentials.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/data-source/user-client-credential.server.data-source.ts @@ -1,9 +1,9 @@ import type { - UmbUserClientCredentialsDataSource, - UmbUserClientCredentialsDataSourceCreateArgs, - UmbUserClientCredentialsDataSourceDeleteArgs, - UmbUserClientCredentialsDataSourceReadArgs, -} from './types.js'; + UmbCreateUserClientCredentialRequestArgs, + UmbDeleteUserClientCredentialRequestArgs, + UmbUserClientCredentialRequestArgs, +} from '../types.js'; +import type { UmbUserClientCredentialDataSource } from './types.js'; import { UserService } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @@ -11,10 +11,10 @@ import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * Server data source for user client credentials * @export - * @class UmbUserClientCredentialsServerDataSource - * @implements {UmbUserClientCredentialsDataSource} + * @class UmbUserClientCredentialServerDataSource + * @implements {UmbUserClientCredentialDataSource} */ -export class UmbUserClientCredentialsServerDataSource implements UmbUserClientCredentialsDataSource { +export class UmbUserClientCredentialServerDataSource implements UmbUserClientCredentialDataSource { #host: UmbControllerHost; constructor(host: UmbControllerHost) { @@ -23,11 +23,11 @@ export class UmbUserClientCredentialsServerDataSource implements UmbUserClientCr /** * Creates a new client credentials for a user - * @param {UmbUserClientCredentialsDataSourceCreateArgs} args - The user and client to create the credentials for + * @param {UmbCreateUserClientCredentialRequestArgs} args - The user and client to create the credentials for * @returns {*} - * @memberof UmbUserClientCredentialsServerDataSource + * @memberof UmbUserClientCredentialServerDataSource */ - create(args: UmbUserClientCredentialsDataSourceCreateArgs) { + create(args: UmbCreateUserClientCredentialRequestArgs) { return tryExecuteAndNotify( this.#host, UserService.postUserByIdClientCredentials({ @@ -42,11 +42,11 @@ export class UmbUserClientCredentialsServerDataSource implements UmbUserClientCr /** * Reads the client credentials for a user - * @param {UmbUserClientCredentialsDataSourceReadArgs} args - The user to read the credentials for + * @param {UmbUserClientCredentialRequestArgs} args - The user to read the credentials for * @returns {*} - * @memberof UmbUserClientCredentialsServerDataSource + * @memberof UmbUserClientCredentialServerDataSource */ - async read(args: UmbUserClientCredentialsDataSourceReadArgs) { + async read(args: UmbUserClientCredentialRequestArgs) { const { data, error } = await tryExecuteAndNotify( this.#host, UserService.getUserByIdClientCredentials({ @@ -67,11 +67,11 @@ export class UmbUserClientCredentialsServerDataSource implements UmbUserClientCr /** * Deletes the client credentials for a user - * @param {UmbUserClientCredentialsDataSourceDeleteArgs} args - The user and client unique to delete the credentials for + * @param {UmbDeleteUserClientCredentialRequestArgs} args - The user and client unique to delete the credentials for * @returns {*} - * @memberof UmbUserClientCredentialsServerDataSource + * @memberof UmbUserClientCredentialServerDataSource */ - delete(args: UmbUserClientCredentialsDataSourceDeleteArgs) { + delete(args: UmbDeleteUserClientCredentialRequestArgs) { return tryExecuteAndNotify( this.#host, UserService.deleteUserByIdClientCredentialsByClientId({ diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/index.ts index abf2760126..ec915a3b12 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/index.ts @@ -1,2 +1,3 @@ -export * from './user-client-credentials.repository.js'; +export * from './user-client-credential.repository.js'; export * from './constants.js'; +export * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/manifests.ts index 2c6b56a623..a77e1c8998 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/manifests.ts @@ -1,11 +1,11 @@ -import { UMB_USER_CLIENT_CREDENTIALS_REPOSITORY_ALIAS } from './constants.js'; +import { UMB_USER_CLIENT_CREDENTIAL_REPOSITORY_ALIAS } from './constants.js'; import type { ManifestTypes, UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry'; export const manifests: Array = [ { type: 'repository', - alias: UMB_USER_CLIENT_CREDENTIALS_REPOSITORY_ALIAS, + alias: UMB_USER_CLIENT_CREDENTIAL_REPOSITORY_ALIAS, name: 'User Client Credentials Repository', - api: () => import('./user-client-credentials.repository.js'), + api: () => import('./user-client-credential.repository.js'), }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/types.ts index a27c8121f7..900d6aadd5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/types.ts @@ -1,12 +1,16 @@ -import type { - UmbUserClientCredentialsDataSourceCreateArgs, - UmbUserClientCredentialsDataSourceDeleteArgs, - UmbUserClientCredentialsDataSourceReadArgs, -} from './data-source/index.js'; +export interface UmbCreateUserClientCredentialRequestArgs { + user: { unique: string }; + client: { unique: string; secret: string }; +} -export type UmbUserClientCredentialsRepositoryCreateArgs = UmbUserClientCredentialsDataSourceCreateArgs; -export type UmbUserClientCredentialsRepositoryReadArgs = UmbUserClientCredentialsDataSourceReadArgs; -export type UmbUserClientCredentialsRepositoryDeleteArgs = UmbUserClientCredentialsDataSourceDeleteArgs; +export interface UmbUserClientCredentialRequestArgs { + user: { unique: string }; +} + +export interface UmbDeleteUserClientCredentialRequestArgs { + user: { unique: string }; + client: { unique: string }; +} export interface UmbUserClientCredentialModel { unique: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/user-client-credential.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/user-client-credential.repository.ts new file mode 100644 index 0000000000..4d25eedafa --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/user-client-credential.repository.ts @@ -0,0 +1,61 @@ +import type { UmbUserClientCredentialDataSource } from './data-source/index.js'; +import { UmbUserClientCredentialServerDataSource } from './data-source/user-client-credential.server.data-source.js'; +import type { + UmbCreateUserClientCredentialRequestArgs, + UmbDeleteUserClientCredentialRequestArgs, + UmbUserClientCredentialRequestArgs, +} from './types.js'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; + +/** + * UmbUserClientCredentialRepository + * @export + * @class UmbUserClientCredentialRepository + * @extends {UmbRepositoryBase} + */ +export class UmbUserClientCredentialRepository extends UmbRepositoryBase { + #source: UmbUserClientCredentialDataSource; + + /** + * Creates an instance of UmbUserClientCredentialRepository. + * @param {UmbControllerHost} host - The controller host + * @memberof UmbUserClientCredentialRepository + */ + constructor(host: UmbControllerHost) { + super(host); + this.#source = new UmbUserClientCredentialServerDataSource(host); + } + + /** + * Creates a new client credentials for a user + * @param {UmbCreateUserClientCredentialRequestArgs} args - The user and client to create the credentials for + * @returns {*} + * @memberof UmbUserClientCredentialRepository + */ + async requestCreate(args: UmbCreateUserClientCredentialRequestArgs) { + return this.#source.create(args); + } + + /** + * Reads the client credentials for a user + * @param {UmbUserClientCredentialRequestArgs} args - The user to read the credentials for + * @returns {*} + * @memberof UmbUserClientCredentialRepository + */ + async requestClientCredentials(args: UmbUserClientCredentialRequestArgs) { + return this.#source.read(args); + } + + /** + * Deletes the client credentials for a user + * @param {UmbDeleteUserClientCredentialRequestArgs} args - The user and client unique to delete the credentials for + * @returns {*} + * @memberof UmbUserClientCredentialRepository + */ + async requestDelete(args: UmbDeleteUserClientCredentialRequestArgs) { + return this.#source.delete(args); + } +} + +export { UmbUserClientCredentialRepository as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/user-client-credentials.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/user-client-credentials.repository.ts deleted file mode 100644 index 338de3ab8f..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/client-credential/repository/user-client-credentials.repository.ts +++ /dev/null @@ -1,61 +0,0 @@ -import type { UmbUserClientCredentialsDataSource } from './data-source/index.js'; -import { UmbUserClientCredentialsServerDataSource } from './data-source/user-client-credentials.server.data-source.js'; -import type { - UmbUserClientCredentialsRepositoryCreateArgs, - UmbUserClientCredentialsRepositoryDeleteArgs, - UmbUserClientCredentialsRepositoryReadArgs, -} from './types.js'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; - -/** - * UmbUserClientCredentialsRepository - * @export - * @class UmbUserClientCredentialsRepository - * @extends {UmbRepositoryBase} - */ -export class UmbUserClientCredentialsRepository extends UmbRepositoryBase { - #source: UmbUserClientCredentialsDataSource; - - /** - * Creates an instance of UmbUserClientCredentialsRepository. - * @param {UmbControllerHost} host - The controller host - * @memberof UmbUserClientCredentialsRepository - */ - constructor(host: UmbControllerHost) { - super(host); - this.#source = new UmbUserClientCredentialsServerDataSource(host); - } - - /** - * Creates a new client credentials for a user - * @param {UmbUserClientCredentialsRepositoryCreateArgs} args - The user and client to create the credentials for - * @returns {*} - * @memberof UmbUserClientCredentialsRepository - */ - async create(args: UmbUserClientCredentialsRepositoryCreateArgs) { - return this.#source.create(args); - } - - /** - * Reads the client credentials for a user - * @param {UmbUserClientCredentialsRepositoryReadArgs} args - The user to read the credentials for - * @returns {*} - * @memberof UmbUserClientCredentialsRepository - */ - async read(args: UmbUserClientCredentialsRepositoryReadArgs) { - return this.#source.read(args); - } - - /** - * Deletes the client credentials for a user - * @param {UmbUserClientCredentialsRepositoryDeleteArgs} args - The user and client unique to delete the credentials for - * @returns {*} - * @memberof UmbUserClientCredentialsRepository - */ - async delete(args: UmbUserClientCredentialsRepositoryDeleteArgs) { - return this.#source.delete(args); - } -} - -export { UmbUserClientCredentialsRepository as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/manifests.ts index a5eb9bfeea..3eae6c756b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/manifests.ts @@ -1,24 +1,26 @@ +import { manifests as clientCredentialManifests } from './client-credential/manifests.js'; import { manifests as collectionManifests } from './collection/manifests.js'; import { manifests as conditionsManifests } from './conditions/manifests.js'; import { manifests as entityActionsManifests } from './entity-actions/manifests.js'; import { manifests as entityBulkActionManifests } from './entity-bulk-actions/manifests.js'; import { manifests as inviteManifests } from './invite/manifests.js'; import { manifests as modalManifests } from './modals/manifests.js'; +import { manifests as propertyEditorManifests } from './property-editor/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; import { manifests as sectionViewManifests } from './section-view/manifests.js'; -import { manifests as propertyEditorManifests } from './property-editor/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js'; -import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; +import type { ManifestTypes, UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry'; -export const manifests: Array = [ +export const manifests: Array = [ + ...clientCredentialManifests, ...collectionManifests, ...conditionsManifests, ...entityActionsManifests, ...entityBulkActionManifests, ...inviteManifests, ...modalManifests, + ...propertyEditorManifests, ...repositoryManifests, ...sectionViewManifests, - ...propertyEditorManifests, ...workspaceManifests, ];