diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5c3ddfe0a..51e9993ff 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,7 +2,7 @@ name: "Publish" on: push: - branches: [ rel-8.1.2 ] + branches: [ rel-8.1.3 ] env: DOTNET_VERSION: "8.0.200" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b5240064b..2f7d84fd3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,7 @@ name: "Tagged Release" on: push: - branches: [ rel-8.1.2 ] + branches: [ rel-8.1.3 ] jobs: tagged-release: @@ -14,4 +14,4 @@ jobs: with: repo_token: "${{ secrets.GITHUB_TOKEN }}" prerelease: false - automatic_release_tag: "8.1.2" + automatic_release_tag: "8.1.3" diff --git a/Directory.Packages.props b/Directory.Packages.props index 2d78b3bb9..75dce48a3 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -2,8 +2,8 @@ 8.1.1 2.14.1 - 8.1.2 - 8.1.2 + 8.1.3 + 8.1.3 8.0.0 8.0.0 8.0.0 @@ -236,12 +236,16 @@ - - + + + + + + diff --git a/apps/vue/.eslintrc.js b/apps/vue/.eslintrc.js index 9aa3e10ce..f2900fc87 100644 --- a/apps/vue/.eslintrc.js +++ b/apps/vue/.eslintrc.js @@ -18,6 +18,7 @@ module.exports = { extends: [ 'plugin:vue/vue3-recommended', 'plugin:@typescript-eslint/recommended', + 'prettier', 'plugin:prettier/recommended', ], rules: { diff --git a/apps/vue/package.json b/apps/vue/package.json index e4cfe525a..c01e0458a 100644 --- a/apps/vue/package.json +++ b/apps/vue/package.json @@ -21,7 +21,7 @@ "log": "conventional-changelog -p angular -i CHANGELOG.md -s", "clean:cache": "rimraf node_modules/.cache/ && rimraf node_modules/.vite", "clean:lib": "rimraf node_modules", - "lint:eslint": "eslint --cache --max-warnings 0 \"{src,mock}/**/*.{vue,ts,tsx}\" --fix", + "lint:eslint": "eslint --max-warnings 0 \"{src,mock}/**/*.{vue,ts,tsx}\" --fix", "lint:prettier": "prettier --write \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\"", "lint:stylelint": "stylelint --cache --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/", "lint:lint-staged": "lint-staged", diff --git a/apps/vue/src/api/account/accounts.ts b/apps/vue/src/api/account/accounts.ts deleted file mode 100644 index 3e6cab714..000000000 --- a/apps/vue/src/api/account/accounts.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { Register, PhoneRegister, PhoneResetPassword } from './model/accountsModel'; -import { User } from '/@/api/identity/model/userModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Register = '/api/account/register', - RegisterByPhone = '/api/account/phone/register', - ResetPassword = '/api/account/phone/reset-password', - SendEmailSignCode = '/api/account/email/send-signin-code', - SendPhoneSignCode = '/api/account/phone/send-signin-code', - SendPhoneRegisterCode = '/api/account/phone/send-register-code', - SendPhoneResetPasswordCode = '/api/account/phone/send-password-reset-code', - GetTwoFactorProviders = '/api/account/two-factor-providers?userId={userId}', -} - -export const register = (input: Register) => { - return defAbpHttp.post({ - url: Api.Register, - data: input, - }); -}; - -export const registerByPhone = (input: PhoneRegister) => { - return defAbpHttp.post({ - url: Api.RegisterByPhone, - data: input, - }); -}; - -export const resetPassword = (input: PhoneResetPassword) => { - return defAbpHttp.put({ - url: Api.ResetPassword, - data: input, - }); -}; - -export const sendPhoneSignCode = (phoneNumber: string) => { - return defAbpHttp.post({ - url: Api.SendPhoneSignCode, - data: { - phoneNumber: phoneNumber, - }, - }); -}; - -export const sendEmailSignCode = (emailAddress: string) => { - return defAbpHttp.post({ - url: Api.SendEmailSignCode, - data: { - emailAddress: emailAddress, - }, - }); -}; - -export const sendPhoneRegisterCode = (phoneNumber: string) => { - return defAbpHttp.post({ - url: Api.SendPhoneRegisterCode, - data: { - phoneNumber: phoneNumber, - }, - }); -}; - -export const sendPhoneResetPasswordCode = (phoneNumber: string) => { - return defAbpHttp.post({ - url: Api.SendPhoneResetPasswordCode, - data: { - phoneNumber: phoneNumber, - }, - }); -}; - -export const getTwoFactorProviders = (userId: string) => { - return defAbpHttp.get>>({ - url: format(Api.GetTwoFactorProviders, { userId: userId }), - }); -} diff --git a/apps/vue/src/api/account/accounts/index.ts b/apps/vue/src/api/account/accounts/index.ts new file mode 100644 index 000000000..00e78d1b7 --- /dev/null +++ b/apps/vue/src/api/account/accounts/index.ts @@ -0,0 +1,67 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + Register, + PhoneRegister, + PhoneResetPassword, + SendPhoneSigninCodeInput, + SendEmailSigninCodeInput, + SendPhoneRegisterCodeInput, + SendPhoneResetPasswordCodeInput, + GetTwoFactorProvidersInput, +} from './model'; +import { User } from '/@/api/identity/model/userModel'; + +export const passwordRegister = (input: Register) => { + return defHttp.post({ + url: '/api/account/register', + data: input, + }); +}; + +export const phoneRegister = (input: PhoneRegister) => { + return defHttp.post({ + url: '/api/account/phone/register', + data: input, + }); +}; + +export const resetPassword = (input: PhoneResetPassword) => { + return defHttp.put({ + url: '/api/account/phone/reset-password', + data: input, + }); +}; + +export const sendPhoneSigninCode = (input: SendPhoneSigninCodeInput) => { + return defHttp.post({ + url: '/api/account/phone/send-signin-code', + data: input, + }); +}; + +export const sendEmailSigninCode = (input: SendEmailSigninCodeInput) => { + return defHttp.post({ + url: '/api/account/email/send-signin-code', + data: input, + }); +}; + +export const sendPhoneRegisterCode = (input: SendPhoneRegisterCodeInput) => { + return defHttp.post({ + url: '/api/account/phone/send-register-code', + data: input, + }); +}; + +export const sendPhoneResetPasswordCode = (input: SendPhoneResetPasswordCodeInput) => { + return defHttp.post({ + url: '/api/account/phone/send-password-reset-code', + data: input, + }); +}; + +export const getTwoFactorProviders = (input: GetTwoFactorProvidersInput) => { + return defHttp.get>>({ + url: `/api/account/two-factor-providers?userId=${input.userId}`, + }); +} diff --git a/apps/vue/src/api/account/accounts/model/index.ts b/apps/vue/src/api/account/accounts/model/index.ts new file mode 100644 index 000000000..bb432ca26 --- /dev/null +++ b/apps/vue/src/api/account/accounts/model/index.ts @@ -0,0 +1,46 @@ +export interface Register { + userName: string; + emailAddress: string; + password: string; + appName: string; + } + + export interface PhoneRegister { + phoneNumber: string; + password: string; + code: string; + name?: string; + userName?: string; + emailAddress?: string; + } + + export interface PhoneResetPassword { + phoneNumber: string; + newPassword: string; + code: string; + } + + export interface SendPhoneSecurityCode { + phoneNumber: string; + } + + export interface SendPhoneRegisterCodeInput { + phoneNumber: string; + } + + export interface SendPhoneSigninCodeInput { + phoneNumber: string; + } + + export interface SendPhoneResetPasswordCodeInput { + phoneNumber: string; + } + + export interface SendEmailSigninCodeInput { + emailAddress: string; + } + + export interface GetTwoFactorProvidersInput { + userId: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/account/claims.ts b/apps/vue/src/api/account/claims.ts deleted file mode 100644 index 597054b44..000000000 --- a/apps/vue/src/api/account/claims.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { ChangeAvatar } from './model/claimsModel'; - -enum Api { - ChangeAvatar = '/api/account/my-claim/change-avatar', -} - -export const changeAvatar = (input: ChangeAvatar) => { - return defAbpHttp.post({ - url: Api.ChangeAvatar, - data: input, - }); -}; \ No newline at end of file diff --git a/apps/vue/src/api/account/claims/index.ts b/apps/vue/src/api/account/claims/index.ts new file mode 100644 index 000000000..7ba015f64 --- /dev/null +++ b/apps/vue/src/api/account/claims/index.ts @@ -0,0 +1,9 @@ +import { defHttp } from '/@/utils/http/axios'; +import { ChangeAvatarInput } from './model'; + +export const changeAvatar = (input: ChangeAvatarInput) => { + return defHttp.post({ + url: '/api/account/my-claim/change-avatar', + data: input, + }); +}; \ No newline at end of file diff --git a/apps/vue/src/api/account/claims/model/index.ts b/apps/vue/src/api/account/claims/model/index.ts new file mode 100644 index 000000000..9fc201d25 --- /dev/null +++ b/apps/vue/src/api/account/claims/model/index.ts @@ -0,0 +1,4 @@ +export interface ChangeAvatarInput { + avatarUrl: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/account/model/accountsModel.ts b/apps/vue/src/api/account/model/accountsModel.ts deleted file mode 100644 index 5bf42546e..000000000 --- a/apps/vue/src/api/account/model/accountsModel.ts +++ /dev/null @@ -1,25 +0,0 @@ -export interface Register { - userName: string; - emailAddress: string; - password: string; - appName: string; -} - -export interface PhoneRegister { - phoneNumber: string; - password: string; - code: string; - name?: string; - userName?: string; - emailAddress?: string; -} - -export interface PhoneResetPassword { - phoneNumber: string; - newPassword: string; - code: string; -} - -export interface SendPhoneSecurityCode { - phoneNumber: string; -} diff --git a/apps/vue/src/api/account/model/claimsModel.ts b/apps/vue/src/api/account/model/claimsModel.ts deleted file mode 100644 index 4e25f17e2..000000000 --- a/apps/vue/src/api/account/model/claimsModel.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ChangeAvatar { - avatarUrl: string; -} diff --git a/apps/vue/src/api/account/model/profilesModel.ts b/apps/vue/src/api/account/model/profilesModel.ts deleted file mode 100644 index 5235f995c..000000000 --- a/apps/vue/src/api/account/model/profilesModel.ts +++ /dev/null @@ -1,40 +0,0 @@ -interface Profile extends ExtensibleObject, IHasConcurrencyStamp { - userName: string; - email: string; - name?: string; - surname?: string; - phoneNumber?: string; -} - -export interface MyProfile extends Profile { - isExternal: boolean; - hasPassword: boolean; -} - -export type UpdateMyProfile = Profile; - -export interface ChangePassword { - currentPassword: string; - newPassword: string; -} - -export interface ChangePhoneNumber { - newPhoneNumber: string; - code: string; -} - -export interface TwoFactorEnabled { - enabled: boolean; -} - -export interface SendEmailConfirmCode { - email: string; - appName: string; - returnUrl?: string; - returnUrlHash?: string; -} - -export interface ConfirmEmailInput { - userId?: string; - confirmToken: string; -} diff --git a/apps/vue/src/api/account/profiles.ts b/apps/vue/src/api/account/profiles.ts deleted file mode 100644 index 024c1c6e5..000000000 --- a/apps/vue/src/api/account/profiles.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - MyProfile, - UpdateMyProfile, - ChangePassword, - ChangePhoneNumber, - TwoFactorEnabled, - SendEmailConfirmCode, - ConfirmEmailInput, -} from './model/profilesModel'; - -enum Api { - Get = '/api/account/my-profile', - Update = '/api/account/my-profile', - ChangePassword = '/api/account/my-profile/change-password', - SendChangePhoneNumberCode = '/api/account/my-profile/send-phone-number-change-code', - ChangePhoneNumber = '/api/account/my-profile/change-phone-number', - GetTwoFactorEnabled = '/api/account/my-profile/two-factor', - ChangeTwoFactorEnabled = '/api/account/my-profile/change-two-factor', - SendEmailConfirmLink = '/api/account/my-profile/send-email-confirm-link', - ConfirmEmail = '/api/account/my-profile/confirm-email', -} - -export const get = () => { - return defAbpHttp.get({ - url: Api.Get, - }); -}; - -export const update = (input: UpdateMyProfile) => { - return defAbpHttp.put({ - url: Api.Update, - data: input, - }); -}; - -export const changePassword = (input: ChangePassword) => { - return defAbpHttp.post({ - url: Api.ChangePassword, - data: input, - }); -}; - -export const sendEmailConfirmLink = (input: SendEmailConfirmCode) => { - return defAbpHttp.post({ - url: Api.SendEmailConfirmLink, - data: input, - }); -}; - -export const confirmEmail = (input: ConfirmEmailInput) => { - return defAbpHttp.put({ - url: Api.ConfirmEmail, - data: input, - }); -}; - -export const sendChangePhoneNumberCode = (phoneNumber: string) => { - return defAbpHttp.post({ - url: Api.SendChangePhoneNumberCode, - data: { - newPhoneNumber: phoneNumber, - }, - }); -}; - -export const changePhoneNumber = (input: ChangePhoneNumber) => { - return defAbpHttp.put({ - url: Api.ChangePhoneNumber, - data: input, - }); -}; - -export const getTwoFactorEnabled = () => { - return defAbpHttp.get({ - url: Api.GetTwoFactorEnabled, - }); -}; - -export const changeTwoFactorEnabled = (enabled: boolean) => { - return defAbpHttp.put({ - url: Api.ChangeTwoFactorEnabled, - data: { - enabled: enabled, - }, - }); -}; diff --git a/apps/vue/src/api/account/profiles/index.ts b/apps/vue/src/api/account/profiles/index.ts new file mode 100644 index 000000000..d75bd4ba1 --- /dev/null +++ b/apps/vue/src/api/account/profiles/index.ts @@ -0,0 +1,95 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + MyProfile, + UpdateMyProfile, + ChangePassword, + ChangePhoneNumber, + TwoFactorEnabled, + SendEmailConfirmCode, + ConfirmEmailInput, + TwoFactorEnabledInput, + SendChangePhoneNumberCodeInput, + AuthenticatorDto, + VerifyAuthenticatorCodeInput, + AuthenticatorRecoveryCodeDto, +} from './model'; + +export const get = () => { + return defHttp.get({ + url: '/api/account/my-profile', + }); +}; + +export const update = (input: UpdateMyProfile) => { + return defHttp.put({ + url:'/api/account/my-profile', + data: input, + }); +}; + +export const changePassword = (input: ChangePassword) => { + return defHttp.post({ + url: '/api/account/my-profile/change-password', + data: input, + }); +}; + +export const sendEmailConfirmLink = (input: SendEmailConfirmCode) => { + return defHttp.post({ + url: '/api/account/my-profile/send-email-confirm-link', + data: input, + }); +}; + +export const confirmEmail = (input: ConfirmEmailInput) => { + return defHttp.put({ + url: '/api/account/my-profile/confirm-email', + data: input, + }); +}; + +export const sendChangePhoneNumberCode = (input: SendChangePhoneNumberCodeInput) => { + return defHttp.post({ + url: '/api/account/my-profile/send-phone-number-change-code', + data: input, + }); +}; + +export const changePhoneNumber = (input: ChangePhoneNumber) => { + return defHttp.put({ + url: '/api/account/my-profile/change-phone-number', + data: input, + }); +}; + +export const getTwoFactorEnabled = () => { + return defHttp.get({ + url: '/api/account/my-profile/two-factor', + }); +}; + +export const changeTwoFactorEnabled = (input: TwoFactorEnabledInput) => { + return defHttp.put({ + url: '/api/account/my-profile/change-two-factor', + data: input, + }); +}; + +export const getAuthenticator = () => { + return defHttp.get({ + url: '/api/account/my-profile/authenticator', + }); +} + +export const verifyAuthenticatorCode = (input: VerifyAuthenticatorCodeInput) => { + return defHttp.post({ + url: '/api/account/my-profile/verify-authenticator-code', + data: input, + }); +} + +export const resetAuthenticator = () => { + return defHttp.post({ + url: '/api/account/my-profile/reset-authenticator', + }); +} \ No newline at end of file diff --git a/apps/vue/src/api/account/profiles/model/index.ts b/apps/vue/src/api/account/profiles/model/index.ts new file mode 100644 index 000000000..8e3cc4985 --- /dev/null +++ b/apps/vue/src/api/account/profiles/model/index.ts @@ -0,0 +1,63 @@ +interface Profile extends ExtensibleObject, IHasConcurrencyStamp { + userName: string; + email: string; + name?: string; + surname?: string; + phoneNumber?: string; + } + + export interface MyProfile extends Profile { + isExternal: boolean; + hasPassword: boolean; + } + + export type UpdateMyProfile = Profile; + + export interface ChangePassword { + currentPassword: string; + newPassword: string; + } + + export interface ChangePhoneNumber { + newPhoneNumber: string; + code: string; + } + + export interface TwoFactorEnabled { + enabled: boolean; + } + + export interface SendEmailConfirmCode { + email: string; + appName: string; + returnUrl?: string; + returnUrlHash?: string; + } + + export interface ConfirmEmailInput { + userId?: string; + confirmToken: string; + } + + export interface SendChangePhoneNumberCodeInput { + newPhoneNumber: string; + } + + export interface TwoFactorEnabledInput { + enabled: boolean; + } + + export interface AuthenticatorDto { + isAuthenticated?: boolean; + sharedKey?: string; + authenticatorUri?: string; + } + + export interface AuthenticatorRecoveryCodeDto { + recoveryCodes: string[]; + } + + export interface VerifyAuthenticatorCodeInput { + authenticatorCode: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/auditing/audit-log/index.ts b/apps/vue/src/api/auditing/audit-log/index.ts new file mode 100644 index 000000000..ae9633572 --- /dev/null +++ b/apps/vue/src/api/auditing/audit-log/index.ts @@ -0,0 +1,24 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + AuditLogDto, + AuditLogGetByPagedDto, +} from './model'; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/auditing/audit-log/${id}` + }); +}; + +export const get = (id: string) => { + return defHttp.get({ + url: `/api/auditing/audit-log/${id}` + }); +}; + +export const getList = (input: AuditLogGetByPagedDto) => { + return defHttp.get>({ + url: `/api/auditing/audit-log`, + params: input, + }); +}; diff --git a/apps/vue/src/api/auditing/audit-log/model/index.ts b/apps/vue/src/api/auditing/audit-log/model/index.ts new file mode 100644 index 000000000..2fab4c3a2 --- /dev/null +++ b/apps/vue/src/api/auditing/audit-log/model/index.ts @@ -0,0 +1,55 @@ +import { EntityChangeDto } from "/@/api/auditing/entity-changes/model"; + +export interface Action { + id: string; + serviceName?: string; + methodName?: string; + parameters?: string; + executionTime: Date; + executionDuration?: number; + extraProperties?: ExtraPropertyDictionary; +} + +export interface AuditLogDto { + id: string; + applicationName?: string; + userId?: string; + userName?: string; + tenantId?: string; + tenantName?: string; + impersonatorUserId?: string; + impersonatorTenantId?: string; + executionTime?: Date; + executionDuration?: number; + clientIpAddress?: string; + clientName?: string; + clientId?: string; + correlationId?: string; + browserInfo?: string; + httpMethod?: string; + url?: string; + exceptions?: string; + comments?: string; + httpStatusCode?: number; + entityChanges?: EntityChangeDto[]; + actions?: Action[]; + extraProperties?: ExtraPropertyDictionary; +} + +export interface AuditLogGetByPagedDto extends PagedAndSortedResultRequestDto { + startTime?: Date; + endTime?: Date; + httpMethod?: string; + url?: string; + userId?: string; + userName?: string; + applicationName?: string; + correlationId?: string; + clientId?: string; + clientIpAddress?: string; + maxExecutionDuration?: number; + minExecutionDuration?: number; + hasException?: boolean; + httpStatusCode?: number; +} + \ No newline at end of file diff --git a/apps/vue/src/api/auditing/auditLog.ts b/apps/vue/src/api/auditing/auditLog.ts deleted file mode 100644 index e0bbc9e39..000000000 --- a/apps/vue/src/api/auditing/auditLog.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - AuditLog, - EntityChange, - EntityChangeWithUsername, - GetAuditLogPagedRequest, - EntityChangeGetByPagedRequest, - EntityChangeGetWithUsernameInput -} from './model/auditLogModel'; - -enum Api { - RemoteService = 'AbpAuditing', - Controller = 'AuditLog', -} - -export const deleteById = (id: string) => { - return defAbpHttp.pagedRequest({ - service: Api.RemoteService, - controller: Api.Controller, - action: 'DeleteAsync', - params: { - id: id, - }, - }); -}; - -export const getById = (id: string) => { - return defAbpHttp.request({ - service: Api.RemoteService, - controller: Api.Controller, - action: 'GetAsync', - params: { - id: id, - }, - }); -}; - -export const getList = (input: GetAuditLogPagedRequest) => { - return defAbpHttp.pagedRequest({ - service: Api.RemoteService, - controller: Api.Controller, - action: 'GetListAsync', - params: { - input: input, - }, - }); -}; - -export const getEntityChanges = (input: EntityChangeGetByPagedRequest) => { - return defAbpHttp.pagedRequest({ - service: Api.RemoteService, - controller: 'EntityChanges', - action: 'GetListAsync', - params: { - input: input, - }, - }); -} - -export const getEntityChangesWithUsername = (input: EntityChangeGetWithUsernameInput) => { - return defAbpHttp.get>({ - url: '/api/auditing/entity-changes/with-username', - params: input, - }); -} diff --git a/apps/vue/src/api/auditing/entity-changes/index.ts b/apps/vue/src/api/auditing/entity-changes/index.ts new file mode 100644 index 000000000..ccf0b3c32 --- /dev/null +++ b/apps/vue/src/api/auditing/entity-changes/index.ts @@ -0,0 +1,33 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + EntityChangeDto, + EntityChangeGetByPagedDto, + EntityChangeWithUsernameDto, + EntityChangeGetWithUsernameInput +} from './model'; + +export const GetAsyncById = (id: string) => { + return defHttp.get({ + url: `/api/auditing/entity-changes/${id}` + }); +}; + +export const GetListAsyncByInput = (input: EntityChangeGetByPagedDto) => { + return defHttp.get>({ + url: `/api/auditing/entity-changes`, + params: input, + }); +}; + +export const GetWithUsernameAsyncById = (id: string) => { + return defHttp.get({ + url: `/api/auditing/entity-changes/with-username/${id}` + }); +}; + +export const GetWithUsernameAsyncByInput = (input: EntityChangeGetWithUsernameInput) => { + return defHttp.get>({ + url: `/api/auditing/entity-changes/with-username`, + params: input, + }); +}; diff --git a/apps/vue/src/api/auditing/entity-changes/model/index.ts b/apps/vue/src/api/auditing/entity-changes/model/index.ts new file mode 100644 index 000000000..b63c07f57 --- /dev/null +++ b/apps/vue/src/api/auditing/entity-changes/model/index.ts @@ -0,0 +1,49 @@ +export enum ChangeType { + Created = 0, + Updated = 1, + Deleted = 2, + } + + export interface PropertyChange { + id: string; + newValue?: string; + originalValue?: string; + propertyName?: string; + propertyTypeFullName?: string; + } + + export interface EntityChangeDto { + id: string; + changeTime?: Date; + changeType: ChangeType; + entityTenantId?: string; + entityId?: string; + entityTypeFullName?: string; + propertyChanges?: PropertyChange[]; + extraProperties?: ExtraPropertyDictionary; + } + + export interface EntityChangeWithUsernameDto { + entityChange: EntityChangeDto; + userName?: string; + } + + export interface EntityChangeGetByPagedDto extends PagedAndSortedResultRequestDto { + auditLogId?: string; + startTime?: Date; + endTime?: Date; + changeType?: ChangeType; + entityId?: string; + entityTypeFullName?: string; + } + + export interface EntityChangeGetWithUsernameInput { + entityId?: string; + entityTypeFullName?: string; + } + + export interface RestoreEntityInput { + entityId: string; + entityChangeId?: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/auditing/model/auditLogModel.ts b/apps/vue/src/api/auditing/model/auditLogModel.ts deleted file mode 100644 index 4a327af79..000000000 --- a/apps/vue/src/api/auditing/model/auditLogModel.ts +++ /dev/null @@ -1,100 +0,0 @@ -export enum ChangeType { - Created = 0, - Updated = 1, - Deleted = 2, -} - -export interface PropertyChange { - id: string; - newValue?: string; - originalValue?: string; - propertyName?: string; - propertyTypeFullName?: string; -} - -export interface EntityChange { - id: string; - changeTime?: Date; - changeType: ChangeType; - entityTenantId?: string; - entityId?: string; - entityTypeFullName?: string; - propertyChanges?: PropertyChange[]; - extraProperties?: ExtraPropertyDictionary; -} - -export interface EntityChangeWithUsername { - entityChange: EntityChange; - userName?: string; -} - -export interface Action { - id: string; - serviceName?: string; - methodName?: string; - parameters?: string; - executionTime: Date; - executionDuration?: number; - extraProperties?: ExtraPropertyDictionary; -} - -export interface AuditLog { - id: string; - applicationName?: string; - userId?: string; - userName?: string; - tenantId?: string; - tenantName?: string; - impersonatorUserId?: string; - impersonatorTenantId?: string; - executionTime?: Date; - executionDuration?: number; - clientIpAddress?: string; - clientName?: string; - clientId?: string; - correlationId?: string; - browserInfo?: string; - httpMethod?: string; - url?: string; - exceptions?: string; - comments?: string; - httpStatusCode?: number; - entityChanges?: EntityChange[]; - actions?: Action[]; - extraProperties?: ExtraPropertyDictionary; -} - -export interface GetAuditLogPagedRequest extends PagedAndSortedResultRequestDto { - startTime?: Date; - endTime?: Date; - httpMethod?: string; - url?: string; - userName?: string; - correlationId?: string; - clientId?: string; - clientIpAddress?: string; - applicationName?: string; - maxExecutionDuration?: number; - minExecutionDuration?: number; - hasException?: boolean; - httpStatusCode?: number; -} - -export interface EntityChangeGetByPagedRequest extends PagedAndSortedResultRequestDto { - auditLogId?: string; - startTime?: Date; - endTime?: Date; - changeType?: ChangeType; - entityId?: string; - entityTypeFullName?: string; -} - -export interface EntityChangeGetWithUsernameInput { - entityId?: string; - entityTypeFullName?: string; -} - -export interface RestoreEntityInput { - entityId: string; - entityChangeId?: string; -} diff --git a/apps/vue/src/api/auditing/security-logs/index.ts b/apps/vue/src/api/auditing/security-logs/index.ts new file mode 100644 index 000000000..f96f92756 --- /dev/null +++ b/apps/vue/src/api/auditing/security-logs/index.ts @@ -0,0 +1,21 @@ +import { defHttp } from '/@/utils/http/axios'; +import { SecurityLog, GetSecurityLogPagedRequest } from './model'; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/auditing/security-log/${id}`, + }); +}; + +export const getById = (id: string) => { + return defHttp.get({ + url: `/api/auditing/security-log/${id}`, + }); +}; + +export const getList = (input: GetSecurityLogPagedRequest) => { + return defHttp.get>({ + url: 'api/auditing/security-log', + params: input, + }); +}; diff --git a/apps/vue/src/api/auditing/security-logs/model/index.ts b/apps/vue/src/api/auditing/security-logs/model/index.ts new file mode 100644 index 000000000..065b37842 --- /dev/null +++ b/apps/vue/src/api/auditing/security-logs/model/index.ts @@ -0,0 +1,27 @@ +export interface SecurityLog extends ExtensibleObject { + id: string; + applicationName?: string; + identity?: string; + action?: string; + userId?: string; + userName?: string; + tenantName?: string; + clientId?: string; + correlationId?: string; + clientIpAddress?: string; + browserInfo?: string; + creationTime?: Date; + } + + export interface GetSecurityLogPagedRequest extends PagedAndSortedResultRequestDto { + startTime?: Date; + endTime?: Date; + applicationName?: string; + identity?: string; + actionName?: string; + userId?: string; + userName?: string; + clientId?: string; + correlationId?: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/feature-management/definitions/features/index.ts b/apps/vue/src/api/feature-management/definitions/features/index.ts index 01bd0f6a4..8e7f89b7f 100644 --- a/apps/vue/src/api/feature-management/definitions/features/index.ts +++ b/apps/vue/src/api/feature-management/definitions/features/index.ts @@ -6,33 +6,33 @@ import { FeatureDefinitionGetListInput, } from './model'; -export const CreateAsyncByInput = (input: FeatureDefinitionCreateDto) => { +export const create = (input: FeatureDefinitionCreateDto) => { return defHttp.post({ url: '/api/feature-management/definitions', data: input, }); }; -export const DeleteAsyncByName = (name: string) => { +export const deleteByName = (name: string) => { return defHttp.delete({ url: `/api/feature-management/definitions/${name}`, }); }; -export const GetAsyncByName = (name: string) => { +export const getByName = (name: string) => { return defHttp.get({ url: `/api/feature-management/definitions/${name}`, }); }; -export const GetListAsyncByInput = (input: FeatureDefinitionGetListInput) => { +export const getList = (input: FeatureDefinitionGetListInput) => { return defHttp.get>({ url: '/api/feature-management/definitions', params: input, }); }; -export const UpdateAsyncByNameAndInput = (name: string, input: FeatureDefinitionUpdateDto) => { +export const update = (name: string, input: FeatureDefinitionUpdateDto) => { return defHttp.put({ url: `/api/feature-management/definitions/${name}`, data: input, diff --git a/apps/vue/src/api/feature-management/definitions/groups/index.ts b/apps/vue/src/api/feature-management/definitions/groups/index.ts index e3b038dbc..4c10ce6c7 100644 --- a/apps/vue/src/api/feature-management/definitions/groups/index.ts +++ b/apps/vue/src/api/feature-management/definitions/groups/index.ts @@ -6,33 +6,33 @@ import { FeatureGroupDefinitionGetListInput, } from './model'; -export const CreateAsyncByInput = (input: FeatureGroupDefinitionCreateDto) => { +export const create = (input: FeatureGroupDefinitionCreateDto) => { return defHttp.post({ url: '/api/feature-management/definitions/groups', data: input, }); }; -export const DeleteAsyncByName = (name: string) => { +export const deleteByName = (name: string) => { return defHttp.delete({ url: `/api/feature-management/definitions/groups/${name}`, }); }; -export const GetAsyncByName = (name: string) => { +export const getByName = (name: string) => { return defHttp.get({ url: `/api/feature-management/definitions/groups/${name}`, }); }; -export const GetListAsyncByInput = (input: FeatureGroupDefinitionGetListInput) => { +export const getList = (input: FeatureGroupDefinitionGetListInput) => { return defHttp.get>({ url: '/api/feature-management/definitions/groups', params: input, }); }; -export const UpdateAsyncByNameAndInput = (name: string, input: FeatureGroupDefinitionUpdateDto) => { +export const update = (name: string, input: FeatureGroupDefinitionUpdateDto) => { return defHttp.put({ url: `/api/feature-management/definitions/groups/${name}`, data: input, diff --git a/apps/vue/src/api/feature-management/features/index.ts b/apps/vue/src/api/feature-management/features/index.ts index dabbc3178..19e81878d 100644 --- a/apps/vue/src/api/feature-management/features/index.ts +++ b/apps/vue/src/api/feature-management/features/index.ts @@ -1,18 +1,18 @@ -import { defAbpHttp } from '/@/utils/http/abp'; +import { defHttp } from '/@/utils/http/axios'; import { FeatureGroupResult, UpdateFeatures, FeatureUpdateByProvider, FeatureGetByProvider } from './model'; -export const GetByProvider = (provider: FeatureGetByProvider) => { - return defAbpHttp.get({ +export const get = (provider: FeatureGetByProvider) => { + return defHttp.get({ url: '/api/feature-management/features', params: provider, }); }; -export const UpdateByProvider = ( +export const update = ( provider: FeatureUpdateByProvider, input: UpdateFeatures ) => { - return defAbpHttp.put({ + return defHttp.put({ url: '/api/feature-management/features', data: input, params: provider, diff --git a/apps/vue/src/api/identity-server/api-resources/index.ts b/apps/vue/src/api/identity-server/api-resources/index.ts new file mode 100644 index 000000000..3bb1d18f6 --- /dev/null +++ b/apps/vue/src/api/identity-server/api-resources/index.ts @@ -0,0 +1,40 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + ApiResource, + ApiResourceCreate, + ApiResourceUpdate, + GetApiResourcePagedRequest, +} from './model'; + +export const create = (input: ApiResourceCreate) => { + return defHttp.post({ + url: '/api/identity-server/api-resources', + data: input, + }); +}; + +export const update = (id: string, input: ApiResourceUpdate) => { + return defHttp.put({ + url: `/api/identity-server/api-resources/${id}`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity-server/api-resources/${id}`, + }); +}; + +export const get = (id: string) => { + return defHttp.get({ + url: `/api/identity-server/api-resources/${id}`, + }); +}; + +export const getList = (input: GetApiResourcePagedRequest) => { + return defHttp.get>({ + url: '/api/identity-server/api-resources', + params: input, + }); +}; diff --git a/apps/vue/src/api/identity-server/model/apiResourcesModel.ts b/apps/vue/src/api/identity-server/api-resources/model/index.ts similarity index 91% rename from apps/vue/src/api/identity-server/model/apiResourcesModel.ts rename to apps/vue/src/api/identity-server/api-resources/model/index.ts index 0acee8aa5..3cf508c89 100644 --- a/apps/vue/src/api/identity-server/model/apiResourcesModel.ts +++ b/apps/vue/src/api/identity-server/api-resources/model/index.ts @@ -1,5 +1,5 @@ import { SecretBase } from '/@/api/model/baseModel'; -import { UserClaim, Property } from './basicModel'; +import { UserClaim, Property } from '../../model'; export type ApiResourceSecret = SecretBase; @@ -51,8 +51,6 @@ export interface ApiResourceCreate extends ApiResourceCreateOrUpdate { export type ApiResourceUpdate = ApiResourceCreateOrUpdate; -export interface ApiResourcePagedResult extends PagedResultDto {} - export interface GetApiResourcePagedRequest extends PagedAndSortedResultRequestDto { filter?: string; } diff --git a/apps/vue/src/api/identity-server/api-scopes/index.ts b/apps/vue/src/api/identity-server/api-scopes/index.ts new file mode 100644 index 000000000..d10981f59 --- /dev/null +++ b/apps/vue/src/api/identity-server/api-scopes/index.ts @@ -0,0 +1,40 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + ApiScope, + ApiScopeCreate, + ApiScopeUpdate, + GetApiScopePagedRequest, +} from './model'; + +export const create = (input: ApiScopeCreate) => { + return defHttp.post({ + url: '/api/identity-server/api-scopes', + data: input, + }); +}; + +export const update = (id: string, input: ApiScopeUpdate) => { + return defHttp.put({ + url: `/api/identity-server/api-scopes/${id}`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity-server/api-scopes/${id}`, + }); +}; + +export const get = (id: string) => { + return defHttp.get({ + url: `/api/identity-server/api-scopes/${id}`, + }); +}; + +export const getList = (input: GetApiScopePagedRequest) => { + return defHttp.get>({ + url: '/api/identity-server/api-scopes', + params: input, + }); +}; diff --git a/apps/vue/src/api/identity-server/model/apiScopesModel.ts b/apps/vue/src/api/identity-server/api-scopes/model/index.ts similarity index 87% rename from apps/vue/src/api/identity-server/model/apiScopesModel.ts rename to apps/vue/src/api/identity-server/api-scopes/model/index.ts index f9abd8a18..c7fa938bf 100644 --- a/apps/vue/src/api/identity-server/model/apiScopesModel.ts +++ b/apps/vue/src/api/identity-server/api-scopes/model/index.ts @@ -1,4 +1,4 @@ -import { UserClaim, Property } from './basicModel'; +import { UserClaim, Property } from '../../model'; export type ApiScopeClaim = UserClaim; @@ -33,8 +33,6 @@ export interface ApiScopeCreate extends ApiScopeCreateOrUpdate { export type ApiScopeUpdate = ApiScopeCreateOrUpdate; -export interface ApiScopePagedResult extends PagedResultDto {} - export interface GetApiScopePagedRequest extends PagedAndSortedResultRequestDto { filter?: string; } diff --git a/apps/vue/src/api/identity-server/apiResources.ts b/apps/vue/src/api/identity-server/apiResources.ts deleted file mode 100644 index 60c3a3712..000000000 --- a/apps/vue/src/api/identity-server/apiResources.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - ApiResource, - ApiResourceCreate, - ApiResourceUpdate, - GetApiResourcePagedRequest, - ApiResourcePagedResult, -} from './model/apiResourcesModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Create = '/api/identity-server/api-resources', - DeleteById = '/api/identity-server/api-resources/{id}', - GetById = '/api/identity-server/api-resources/{id}', - GetList = '/api/identity-server/api-resources', -} - -export const create = (input: ApiResourceCreate) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const update = (id: string, input: ApiResourceUpdate) => { - return defAbpHttp.put({ - url: format(Api.GetById, { id: id }), - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const get = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: GetApiResourcePagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; diff --git a/apps/vue/src/api/identity-server/apiScopes.ts b/apps/vue/src/api/identity-server/apiScopes.ts deleted file mode 100644 index c27fe97cd..000000000 --- a/apps/vue/src/api/identity-server/apiScopes.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - ApiScope, - ApiScopeCreate, - ApiScopeUpdate, - GetApiScopePagedRequest, - ApiScopePagedResult, -} from './model/apiScopesModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Create = '/api/identity-server/api-scopes', - DeleteById = '/api/identity-server/api-scopes/{id}', - GetById = '/api/identity-server/api-scopes/{id}', - GetList = '/api/identity-server/api-scopes', -} - -export const create = (input: ApiScopeCreate) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const update = (id: string, input: ApiScopeUpdate) => { - return defAbpHttp.put({ - url: format(Api.GetById, { id: id }), - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const get = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: GetApiScopePagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; diff --git a/apps/vue/src/api/identity-server/clients.ts b/apps/vue/src/api/identity-server/clients.ts deleted file mode 100644 index 6150883a8..000000000 --- a/apps/vue/src/api/identity-server/clients.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - Client, - ClientClone, - ClientCreate, - ClientUpdate, - GetClientPagedRequest, - ClientPagedResult, -} from './model/clientsModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Clone = '/api/identity-server/clients/{id}/clone', - Create = '/api/identity-server/clients', - DeleteById = '/api/identity-server/clients/{id}', - GetById = '/api/identity-server/clients/{id}', - GetList = '/api/identity-server/clients', - GetAssignableApiResources = '/api/identity-server/clients/assignable-api-resources', - GetAssignableIdentityResources = '/api/identity-server/clients/assignable-identity-resources', - GetAllDistinctAllowedCorsOrigins = '/api/identity-server/clients/distinct-cors-origins', -} - -export const clone = (id: string, input: ClientClone) => { - return defAbpHttp.post({ - url: format(Api.Clone, { id: id }), - data: input, - }); -}; - -export const create = (input: ClientCreate) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const update = (id: string, input: ClientUpdate) => { - return defAbpHttp.put({ - url: format(Api.GetById, { id: id }), - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const get = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: GetClientPagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const getAssignableApiResources = () => { - return defAbpHttp.get>({ - url: Api.GetAssignableApiResources, - }); -}; - -export const getAssignableIdentityResources = () => { - return defAbpHttp.get>({ - url: Api.GetAssignableIdentityResources, - }); -}; - -export const getAllDistinctAllowedCorsOrigins = () => { - return defAbpHttp.get>({ - url: Api.GetAllDistinctAllowedCorsOrigins, - }); -}; diff --git a/apps/vue/src/api/identity-server/clients/index.ts b/apps/vue/src/api/identity-server/clients/index.ts new file mode 100644 index 000000000..b6d05e2a4 --- /dev/null +++ b/apps/vue/src/api/identity-server/clients/index.ts @@ -0,0 +1,66 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + Client, + ClientClone, + ClientCreate, + ClientUpdate, + GetClientPagedRequest, +} from './model'; + +export const clone = (id: string, input: ClientClone) => { + return defHttp.post({ + url: `/api/identity-server/clients/${id}/clone`, + data: input, + }); +}; + +export const create = (input: ClientCreate) => { + return defHttp.post({ + url: '/api/identity-server/clients', + data: input, + }); +}; + +export const update = (id: string, input: ClientUpdate) => { + return defHttp.put({ + url: `/api/identity-server/clients/${id}`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity-server/clients/${id}`, + }); +}; + +export const get = (id: string) => { + return defHttp.get({ + url: `/api/identity-server/clients/${id}`, + }); +}; + +export const getList = (input: GetClientPagedRequest) => { + return defHttp.get>({ + url: '/api/identity-server/clients', + params: input, + }); +}; + +export const getAssignableApiResources = () => { + return defHttp.get>({ + url: '/api/identity-server/clients/assignable-api-resources', + }); +}; + +export const getAssignableIdentityResources = () => { + return defHttp.get>({ + url: '/api/identity-server/clients/assignable-identity-resources', + }); +}; + +export const getAllDistinctAllowedCorsOrigins = () => { + return defHttp.get>({ + url: '/api/identity-server/clients/distinct-cors-origins', + }); +}; diff --git a/apps/vue/src/api/identity-server/model/clientsModel.ts b/apps/vue/src/api/identity-server/clients/model/index.ts similarity index 96% rename from apps/vue/src/api/identity-server/model/clientsModel.ts rename to apps/vue/src/api/identity-server/clients/model/index.ts index 34a207b65..dc30cf565 100644 --- a/apps/vue/src/api/identity-server/model/clientsModel.ts +++ b/apps/vue/src/api/identity-server/clients/model/index.ts @@ -1,5 +1,5 @@ -import { SecretBase } from '/@/api/model/baseModel'; -import { UserClaim, Property } from './basicModel'; +import { SecretBase } from '/@/api/model'; +import { UserClaim, Property } from '../../model'; export interface ClientClaim extends UserClaim { value: string; @@ -156,8 +156,6 @@ export interface ClientClone { CopyIdentityProviderRestriction: boolean; } -export interface ClientPagedResult extends PagedResultDto {} - export interface GetClientPagedRequest extends PagedAndSortedResultRequestDto { filter?: string; } diff --git a/apps/vue/src/api/identity-server/discovery/index.ts b/apps/vue/src/api/identity-server/discovery/index.ts new file mode 100644 index 000000000..b066ac961 --- /dev/null +++ b/apps/vue/src/api/identity-server/discovery/index.ts @@ -0,0 +1,8 @@ +import { defHttp } from '/@/utils/http/axios'; +import { OpenIdConfiguration } from './model'; + +export const discovery = () => { + return defHttp.get({ + url: '/.well-known/openid-configuration', + }); +}; diff --git a/apps/vue/src/api/identity-server/discovery/model/index.ts b/apps/vue/src/api/identity-server/discovery/model/index.ts new file mode 100644 index 000000000..0c567ae9d --- /dev/null +++ b/apps/vue/src/api/identity-server/discovery/model/index.ts @@ -0,0 +1,26 @@ +export interface OpenIdConfiguration { + issuer: string; + jwks_uri: string; + authorization_endpoint: string; + token_endpoint: string; + userinfo_endpoint: string; + end_session_endpoint: string; + check_session_iframe: string; + revocation_endpoint: string; + introspection_endpoint: string; + device_authorization_endpoint: string; + frontchannel_logout_supported: boolean; + frontchannel_logout_session_supported: boolean; + backchannel_logout_supported: boolean; + backchannel_logout_session_supported: boolean; + scopes_supported: string[]; + claims_supported: string[]; + grant_types_supported: string[]; + response_types_supported: string[]; + response_modes_supported: string[]; + token_endpoint_auth_methods_supported: string[]; + id_token_signing_alg_values_supported: string[]; + subject_types_supported: string[]; + code_challenge_methods_supported: string[]; + request_parameter_supported: boolean; + } diff --git a/apps/vue/src/api/identity-server/identity-resources/index.ts b/apps/vue/src/api/identity-server/identity-resources/index.ts new file mode 100644 index 000000000..11abcb0c2 --- /dev/null +++ b/apps/vue/src/api/identity-server/identity-resources/index.ts @@ -0,0 +1,40 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + IdentityResource, + IdentityResourceCreate, + IdentityResourceUpdate, + GetIdentityResourcePagedRequest, +} from './model'; + +export const create = (input: IdentityResourceCreate) => { + return defHttp.post({ + url: '/api/identity-server/identity-resources', + data: input, + }); +}; + +export const update = (id: string, input: IdentityResourceUpdate) => { + return defHttp.put({ + url: `/api/identity-server/identity-resources/${id}`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity-server/identity-resources/${id}`, + }); +}; + +export const get = (id: string) => { + return defHttp.get({ + url: `/api/identity-server/identity-resources/${id}`, + }); +}; + +export const getList = (input: GetIdentityResourcePagedRequest) => { + return defHttp.get>({ + url: '/api/identity-server/identity-resources', + params: input, + }); +}; diff --git a/apps/vue/src/api/identity-server/model/identityResourcesModel.ts b/apps/vue/src/api/identity-server/identity-resources/model/index.ts similarity index 87% rename from apps/vue/src/api/identity-server/model/identityResourcesModel.ts rename to apps/vue/src/api/identity-server/identity-resources/model/index.ts index 661822bd4..f53783c07 100644 --- a/apps/vue/src/api/identity-server/model/identityResourcesModel.ts +++ b/apps/vue/src/api/identity-server/identity-resources/model/index.ts @@ -1,4 +1,4 @@ -import { UserClaim, Property } from './basicModel'; +import { UserClaim, Property } from '../../model'; export type IdentityResourceClaim = UserClaim; @@ -32,8 +32,6 @@ export type IdentityResourceCreate = IdentityResourceCreateOrUpdate; export type IdentityResourceUpdate = IdentityResourceCreateOrUpdate; -export interface IdentityResourcePagedResult extends PagedResultDto {} - export interface GetIdentityResourcePagedRequest extends PagedAndSortedResultRequestDto { filter?: string; } diff --git a/apps/vue/src/api/identity-server/identityResources.ts b/apps/vue/src/api/identity-server/identityResources.ts deleted file mode 100644 index 2b7d8d8cd..000000000 --- a/apps/vue/src/api/identity-server/identityResources.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - IdentityResource, - IdentityResourceCreate, - IdentityResourceUpdate, - GetIdentityResourcePagedRequest, - IdentityResourcePagedResult, -} from './model/identityResourcesModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Create = '/api/identity-server/identity-resources', - DeleteById = '/api/identity-server/identity-resources/{id}', - GetById = '/api/identity-server/identity-resources/{id}', - GetList = '/api/identity-server/identity-resources', -} - -export const create = (input: IdentityResourceCreate) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const update = (id: string, input: IdentityResourceUpdate) => { - return defAbpHttp.put({ - url: format(Api.GetById, { id: id }), - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const get = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: GetIdentityResourcePagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; diff --git a/apps/vue/src/api/identity-server/identityServer.ts b/apps/vue/src/api/identity-server/identityServer.ts deleted file mode 100644 index 2baa259db..000000000 --- a/apps/vue/src/api/identity-server/identityServer.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { OpenIdConfiguration } from './model/basicModel'; - -enum Api { - Discovery = '/.well-known/openid-configuration', -} - -export const discovery = () => { - return defAbpHttp.get({ - url: Api.Discovery, - }); -}; diff --git a/apps/vue/src/api/identity-server/model/basicModel.ts b/apps/vue/src/api/identity-server/model/basicModel.ts deleted file mode 100644 index 66daa990d..000000000 --- a/apps/vue/src/api/identity-server/model/basicModel.ts +++ /dev/null @@ -1,35 +0,0 @@ -export interface UserClaim { - type: string; -} - -export interface Property { - key: string; - value: string; -} - -export interface OpenIdConfiguration { - issuer: string; - jwks_uri: string; - authorization_endpoint: string; - token_endpoint: string; - userinfo_endpoint: string; - end_session_endpoint: string; - check_session_iframe: string; - revocation_endpoint: string; - introspection_endpoint: string; - device_authorization_endpoint: string; - frontchannel_logout_supported: boolean; - frontchannel_logout_session_supported: boolean; - backchannel_logout_supported: boolean; - backchannel_logout_session_supported: boolean; - scopes_supported: string[]; - claims_supported: string[]; - grant_types_supported: string[]; - response_types_supported: string[]; - response_modes_supported: string[]; - token_endpoint_auth_methods_supported: string[]; - id_token_signing_alg_values_supported: string[]; - subject_types_supported: string[]; - code_challenge_methods_supported: string[]; - request_parameter_supported: boolean; -} diff --git a/apps/vue/src/api/identity-server/model/index.ts b/apps/vue/src/api/identity-server/model/index.ts new file mode 100644 index 000000000..8cb9c3ac7 --- /dev/null +++ b/apps/vue/src/api/identity-server/model/index.ts @@ -0,0 +1,8 @@ +export interface UserClaim { + type: string; + } + + export interface Property { + key: string; + value: string; + } diff --git a/apps/vue/src/api/identity-server/model/persistedGrantsModel.ts b/apps/vue/src/api/identity-server/model/persistedGrantsModel.ts deleted file mode 100644 index e1a32aef3..000000000 --- a/apps/vue/src/api/identity-server/model/persistedGrantsModel.ts +++ /dev/null @@ -1,19 +0,0 @@ -export interface PersistedGrant extends ExtensibleEntityDto { - key: string; - type: string; - subjectId: string; - sessionId: string; - description: string; - consumedTime?: Date; - clientId: string; - creationTime: Date; - expiration?: Date; - data: string; -} - -export interface PersistedGrantPagedResult extends PagedResultDto {} - -export interface GetPersistedGrantPagedRequest extends PagedAndSortedResultRequestDto { - filter?: string; - subjectId?: string; -} diff --git a/apps/vue/src/api/identity-server/persisted-grants/index.ts b/apps/vue/src/api/identity-server/persisted-grants/index.ts new file mode 100644 index 000000000..f37e01211 --- /dev/null +++ b/apps/vue/src/api/identity-server/persisted-grants/index.ts @@ -0,0 +1,24 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + PersistedGrant, + GetPersistedGrantPagedRequest, +} from './model'; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity-server/persisted-grants/${id}`, + }); +}; + +export const get = (id: string) => { + return defHttp.get({ + url: `/api/identity-server/persisted-grants/${id}`, + }); +}; + +export const getList = (input: GetPersistedGrantPagedRequest) => { + return defHttp.get>({ + url: '/api/identity-server/persisted-grants', + params: input, + }); +}; diff --git a/apps/vue/src/api/identity-server/persisted-grants/model/index.ts b/apps/vue/src/api/identity-server/persisted-grants/model/index.ts new file mode 100644 index 000000000..6660cae4f --- /dev/null +++ b/apps/vue/src/api/identity-server/persisted-grants/model/index.ts @@ -0,0 +1,18 @@ +export interface PersistedGrant extends ExtensibleEntityDto { + key: string; + type: string; + subjectId: string; + sessionId: string; + description: string; + consumedTime?: Date; + clientId: string; + creationTime: Date; + expiration?: Date; + data: string; + } + + export interface GetPersistedGrantPagedRequest extends PagedAndSortedResultRequestDto { + filter?: string; + subjectId?: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/identity-server/persistedGrants.ts b/apps/vue/src/api/identity-server/persistedGrants.ts deleted file mode 100644 index b5130ccf8..000000000 --- a/apps/vue/src/api/identity-server/persistedGrants.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - PersistedGrant, - GetPersistedGrantPagedRequest, - PersistedGrantPagedResult, -} from './model/persistedGrantsModel'; -import { format } from '/@/utils/strings'; - -enum Api { - DeleteById = '/api/identity-server/persisted-grants/{id}', - GetById = '/api/identity-server/persisted-grants/{id}', - GetList = '/api/identity-server/persisted-grants', -} - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const get = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: GetPersistedGrantPagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; diff --git a/apps/vue/src/api/identity/claim.ts b/apps/vue/src/api/identity/claim.ts deleted file mode 100644 index 7c464f77d..000000000 --- a/apps/vue/src/api/identity/claim.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - IdentityClaimType, - CreateIdentityClaimType, - IdentityClaimTypeListResult, - UpdateIdentityClaimType, - GetIdentityClaimTypePagedRequest, -} from './model/claimModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Create = '/api/identity/claim-types', - Delete = '/api/identity/claim-types/{id}', - Update = '/api/identity/claim-types/{id}', - GetById = '/api/identity/claim-types/{id}', - GetList = '/api/identity/claim-types', - GetActivedList = '/api/identity/claim-types/actived-list', -} - -export const create = (input: CreateIdentityClaimType) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.Delete, { id: id }), - }); -}; - -export const update = (id: string, input: UpdateIdentityClaimType) => { - return defAbpHttp.put({ - url: format(Api.Update, { id: id }), - data: input, - }); -}; - -export const getById = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: GetIdentityClaimTypePagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const getActivedList = () => { - return defAbpHttp.get({ - url: Api.GetActivedList, - }); -}; diff --git a/apps/vue/src/api/identity/claims/index.ts b/apps/vue/src/api/identity/claims/index.ts new file mode 100644 index 000000000..bd26bd504 --- /dev/null +++ b/apps/vue/src/api/identity/claims/index.ts @@ -0,0 +1,47 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + IdentityClaimType, + CreateIdentityClaimType, + IdentityClaimTypeListResult, + UpdateIdentityClaimType, + GetIdentityClaimTypePagedRequest, +} from './model'; + +export const create = (input: CreateIdentityClaimType) => { + return defHttp.post({ + url: '/api/identity/claim-types', + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity/claim-types/${id}`, + }); +}; + +export const update = (id: string, input: UpdateIdentityClaimType) => { + return defHttp.put({ + url: `/api/identity/claim-types/${id}`, + data: input, + }); +}; + +export const getById = (id: string) => { + return defHttp.get({ + url: `'/api/identity/claim-types/${id}'`, + }); +}; + +export const getList = (input: GetIdentityClaimTypePagedRequest) => { + return defHttp.get({ + url: '/api/identity/claim-types', + params: input, + }); +}; + +export const getActivedList = () => { + return defHttp.get({ + url: '/api/identity/claim-types/actived-list', + }); +}; diff --git a/apps/vue/src/api/identity/claims/model/index.ts b/apps/vue/src/api/identity/claims/model/index.ts new file mode 100644 index 000000000..0ef45ed0a --- /dev/null +++ b/apps/vue/src/api/identity/claims/model/index.ts @@ -0,0 +1,56 @@ +export enum ValueType { + String = 0, + Int = 1, + Boolean = 2, + DateTime = 3, + } + + export interface IdentityClaimType extends ExtensibleEntityDto { + name: string; + required: boolean; + isStatic: boolean; + regex?: string; + regexDescription?: string; + description?: string; + valueType: ValueType; + } + + export interface CreateOrUpdateIdentityClaimType extends ExtensibleObject { + required: boolean; + regex?: string; + regexDescription?: string; + description?: string; + } + + export interface CreateIdentityClaimType extends CreateOrUpdateIdentityClaimType { + name: string; + isStatic: boolean; + valueType: ValueType; + } + + export interface UpdateIdentityClaimType extends CreateOrUpdateIdentityClaimType {} + + export interface GetIdentityClaimTypePagedRequest extends PagedAndSortedResultRequestDto { + filter?: string; + } + + export interface IdentityClaimTypeListResult extends ListResultDto {} + + export interface IdentityClaimTypePagedResult extends PagedResultDto {} + + export interface IdentityClaim { + claimType: string; + claimValue: string; + } + + export interface DeleteIdentityClaim { + claimType: string; + claimValue: string; + } + + export interface CreateIdentityClaim extends IdentityClaim {} + + export interface UpdateIdentityClaim extends IdentityClaim { + newClaimValue: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/identity/model/claimModel.ts b/apps/vue/src/api/identity/model/claimModel.ts deleted file mode 100644 index 0657aed54..000000000 --- a/apps/vue/src/api/identity/model/claimModel.ts +++ /dev/null @@ -1,55 +0,0 @@ -export enum ValueType { - String = 0, - Int = 1, - Boolean = 2, - DateTime = 3, -} - -export interface IdentityClaimType extends ExtensibleEntityDto { - name: string; - required: boolean; - isStatic: boolean; - regex?: string; - regexDescription?: string; - description?: string; - valueType: ValueType; -} - -export interface CreateOrUpdateIdentityClaimType extends ExtensibleObject { - required: boolean; - regex?: string; - regexDescription?: string; - description?: string; -} - -export interface CreateIdentityClaimType extends CreateOrUpdateIdentityClaimType { - name: string; - isStatic: boolean; - valueType: ValueType; -} - -export interface UpdateIdentityClaimType extends CreateOrUpdateIdentityClaimType {} - -export interface GetIdentityClaimTypePagedRequest extends PagedAndSortedResultRequestDto { - filter?: string; -} - -export interface IdentityClaimTypeListResult extends ListResultDto {} - -export interface IdentityClaimTypePagedResult extends PagedResultDto {} - -export interface IdentityClaim { - claimType: string; - claimValue: string; -} - -export interface DeleteIdentityClaim { - claimType: string; - claimValue: string; -} - -export interface CreateIdentityClaim extends IdentityClaim {} - -export interface UpdateIdentityClaim extends IdentityClaim { - newClaimValue: string; -} diff --git a/apps/vue/src/api/identity/model/organizationUnitsModel.ts b/apps/vue/src/api/identity/model/organizationUnitsModel.ts deleted file mode 100644 index 789df89fa..000000000 --- a/apps/vue/src/api/identity/model/organizationUnitsModel.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** 组织机构 */ -export interface OrganizationUnit extends AuditedEntityDto { - /** 父节点标识 */ - parentId?: string; - /** 编号 */ - code: string; - /** 显示名称 */ - displayName: string; -} - -/** 组织机构分页查询对象 */ -export interface GetOrganizationUnitPagedRequest extends PagedAndSortedResultRequestDto { - /** 过滤字符 */ - filter?: string; -} - -/** 组织结构分页返回结果 */ -export interface OrganizationUnitPagedResult extends PagedResultDto {} - -/** 组织结构列表返回结果 */ -export interface OrganizationUnitListResult extends ListResultDto {} - -/** 组织机构创建对象 */ -export interface CreateOrganizationUnit { - /** 显示名称 */ - displayName: string; - /** 父节点标识 */ - parentId?: string; -} - -/** 组织机构变更对象 */ -export interface UpdateOrganizationUnit { - /** 显示名称 */ - displayName: string; -} - -/** 组织机构增加部门对象 */ -export interface OrganizationUnitAddRole { - /** 角色标识列表 */ - roleIds: string[]; -} - -/** 组织机构增加用户对象 */ -export interface OrganizationUnitAddUser { - /** 用户标识列表 */ - userIds: string[]; -} diff --git a/apps/vue/src/api/identity/model/securityLogModel.ts b/apps/vue/src/api/identity/model/securityLogModel.ts deleted file mode 100644 index 48920a715..000000000 --- a/apps/vue/src/api/identity/model/securityLogModel.ts +++ /dev/null @@ -1,26 +0,0 @@ -export interface SecurityLog extends ExtensibleObject { - id: string; - applicationName?: string; - identity?: string; - action?: string; - userId?: string; - userName?: string; - tenantName?: string; - clientId?: string; - correlationId?: string; - clientIpAddress?: string; - browserInfo?: string; - creationTime?: Date; -} - -export interface GetSecurityLogPagedRequest extends PagedAndSortedResultRequestDto { - startTime?: Date; - endTime?: Date; - applicationName?: string; - identity?: string; - actionName?: string; - userId?: string; - userName?: string; - clientId?: string; - correlationId?: string; -} diff --git a/apps/vue/src/api/identity/model/userLookupModel.ts b/apps/vue/src/api/identity/model/userLookupModel.ts deleted file mode 100644 index 1fed076be..000000000 --- a/apps/vue/src/api/identity/model/userLookupModel.ts +++ /dev/null @@ -1,21 +0,0 @@ -export interface IUserData { - id: string; - tenantId?: string; - userName: string; - name: string; - surname: string; - email: string; - emailConfirmed: boolean; - phoneNumber: string; - phoneNumberConfirmed: boolean; -} - -export interface UserLookupSearchRequest extends PagedAndSortedResultRequestDto { - filter?: string; -} - -export interface UserLookupCountRequest extends PagedAndSortedResultRequestDto { - filter?: string; -} - -export interface UserLookupSearchResult extends ListResultDto {} diff --git a/apps/vue/src/api/identity/organization-units.ts b/apps/vue/src/api/identity/organization-units.ts deleted file mode 100644 index 1630ced15..000000000 --- a/apps/vue/src/api/identity/organization-units.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - OrganizationUnit, - CreateOrganizationUnit, - UpdateOrganizationUnit, - GetOrganizationUnitPagedRequest, - OrganizationUnitPagedResult, - OrganizationUnitListResult, -} from './model/organizationUnitsModel'; -import { UserPagedResult, GetUserPagedRequest } from './model/userModel'; -import { RolePagedResult, GetRolePagedRequest } from './model/roleModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Create = '/api/identity/organization-units', - Delete = '/api/identity/organization-units/{id}', - Update = '/api/identity/organization-units/{id}', - GetById = '/api/identity/organization-units/{id}', - GetList = '/api/identity/organization-units', - GetAllList = '/api/identity/organization-units/all', - GetUnaddedMemberList = '/api/identity/organization-units/{id}/unadded-users', - GetMemberList = '/api/identity/organization-units/{id}/users', - GetUnaddedRoleList = '/api/identity/organization-units/{id}/unadded-roles', - GetRoleList = '/api/identity/organization-units/{id}/roles', - Move = 'api/identity/organization-units/{id}/move', - AddMembers = '/api/identity/organization-units/{id}/users', - AddRoles = '/api/identity/organization-units/{id}/roles', -} - -export const create = (input: CreateOrganizationUnit) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const update = (id: string, input: UpdateOrganizationUnit) => { - return defAbpHttp.put({ - url: format(Api.Update, { id: id }), - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.Delete, { id: id }), - }); -}; - -export const get = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -} - -export const getList = (input: GetOrganizationUnitPagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const getUnaddedMemberList = (input: { id: string } & GetUserPagedRequest) => { - return defAbpHttp.get({ - url: format(Api.GetUnaddedMemberList, { id: input.id }), - params: { - filter: input.filter, - sorting: input.sorting, - skipCount: input.skipCount, - maxResultCount: input.maxResultCount, - }, - }); -}; - -export const getMemberList = (id: string, input: GetUserPagedRequest) => { - return defAbpHttp.get({ - url: format(Api.GetMemberList, { id: id }), - params: input, - }); -}; - -export const getUnaddedRoleList = (input: { id: string } & GetRolePagedRequest) => { - return defAbpHttp.get({ - url: format(Api.GetUnaddedRoleList, { id: input.id }), - params: { - filter: input.filter, - sorting: input.sorting, - skipCount: input.skipCount, - maxResultCount: input.maxResultCount, - }, - }); -}; - -export const getRoleList = (id: string, input: GetRolePagedRequest) => { - return defAbpHttp.get({ - url: format(Api.GetRoleList, { id: id }), - params: input, - }); -}; - -export const getAll = () => { - return defAbpHttp.get({ - url: Api.GetAllList, - }); -}; - -export const move = (id: string, parentId?: string) => { - return defAbpHttp.put({ - url: format(Api.Move, { id: id }), - data: { - parentId: parentId, - }, - }); -}; - -export const addMembers = (id: string, userIdList: string[]) => { - return defAbpHttp.post({ - url: format(Api.AddMembers, { id: id }), - data: { userIds: userIdList }, - }); -}; - -export const addRoles = (id: string, roleIdList: string[]) => { - return defAbpHttp.post({ - url: format(Api.AddRoles, { id: id }), - data: { roleIds: roleIdList }, - }); -}; diff --git a/apps/vue/src/api/identity/organization-units/index.ts b/apps/vue/src/api/identity/organization-units/index.ts new file mode 100644 index 000000000..091f68b16 --- /dev/null +++ b/apps/vue/src/api/identity/organization-units/index.ts @@ -0,0 +1,110 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + OrganizationUnit, + CreateOrganizationUnit, + UpdateOrganizationUnit, + GetOrganizationUnitPagedRequest, +} from './model'; +import { GetUserPagedRequest, User } from '../users/model'; +import { GetRolePagedRequest, Role } from '../roles/model'; + + +export const create = (input: CreateOrganizationUnit) => { + return defHttp.post({ + url: '/api/identity/organization-units', + data: input, + }); +}; + +export const update = (id: string, input: UpdateOrganizationUnit) => { + return defHttp.put({ + url: `/api/identity/organization-units/${id}`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity/organization-units/${id}`, + }); +}; + +export const get = (id: string) => { + return defHttp.get({ + url: `/api/identity/organization-units/${id}`, + }); +} + +export const getList = (input: GetOrganizationUnitPagedRequest) => { + return defHttp.get>({ + url: '/api/identity/organization-units', + params: input, + }); +}; + +export const getUnaddedMemberList = (input: { id: string } & GetUserPagedRequest) => { + return defHttp.get>({ + url: `/api/identity/organization-units/${input.id}/unadded-users`, + params: { + filter: input.filter, + sorting: input.sorting, + skipCount: input.skipCount, + maxResultCount: input.maxResultCount, + }, + }); +}; + +export const getMemberList = (id: string, input: GetUserPagedRequest) => { + return defHttp.get>({ + url: `/api/identity/organization-units/${id}/users`, + params: input, + }); +}; + +export const getUnaddedRoleList = (input: { id: string } & GetRolePagedRequest) => { + return defHttp.get>({ + url: `/api/identity/organization-units/${input.id}/unadded-roles`, + params: { + filter: input.filter, + sorting: input.sorting, + skipCount: input.skipCount, + maxResultCount: input.maxResultCount, + }, + }); +}; + +export const getRoleList = (id: string, input: GetRolePagedRequest) => { + return defHttp.get>({ + url: `/api/identity/organization-units/${id}/roles`, + params: input, + }); +}; + +export const getAll = () => { + return defHttp.get>({ + url: '/api/identity/organization-units/all', + }); +}; + +export const move = (id: string, parentId?: string) => { + return defHttp.put({ + url: `api/identity/organization-units/${id}/move`, + data: { + parentId: parentId, + }, + }); +}; + +export const addMembers = (id: string, userIdList: string[]) => { + return defHttp.post({ + url: `/api/identity/organization-units/${id}/users`, + data: { userIds: userIdList }, + }); +}; + +export const addRoles = (id: string, roleIdList: string[]) => { + return defHttp.post({ + url: `/api/identity/organization-units/${id}/roles`, + data: { roleIds: roleIdList }, + }); +}; diff --git a/apps/vue/src/api/identity/organization-units/model/index.ts b/apps/vue/src/api/identity/organization-units/model/index.ts new file mode 100644 index 000000000..6c08d8621 --- /dev/null +++ b/apps/vue/src/api/identity/organization-units/model/index.ts @@ -0,0 +1,42 @@ +/** 组织机构 */ +export interface OrganizationUnit extends AuditedEntityDto { + /** 父节点标识 */ + parentId?: string; + /** 编号 */ + code: string; + /** 显示名称 */ + displayName: string; + } + + /** 组织机构分页查询对象 */ + export interface GetOrganizationUnitPagedRequest extends PagedAndSortedResultRequestDto { + /** 过滤字符 */ + filter?: string; + } + + /** 组织机构创建对象 */ + export interface CreateOrganizationUnit { + /** 显示名称 */ + displayName: string; + /** 父节点标识 */ + parentId?: string; + } + + /** 组织机构变更对象 */ + export interface UpdateOrganizationUnit { + /** 显示名称 */ + displayName: string; + } + + /** 组织机构增加部门对象 */ + export interface OrganizationUnitAddRole { + /** 角色标识列表 */ + roleIds: string[]; + } + + /** 组织机构增加用户对象 */ + export interface OrganizationUnitAddUser { + /** 用户标识列表 */ + userIds: string[]; + } + \ No newline at end of file diff --git a/apps/vue/src/api/identity/role.ts b/apps/vue/src/api/identity/role.ts deleted file mode 100644 index fc352e0af..000000000 --- a/apps/vue/src/api/identity/role.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - Role, - RoleListResult, - GetRolePagedRequest, - RolePagedResult, - UpdateRole, - CreateRole, - RoleClaimListResult, - RoleClaim, -} from './model/roleModel'; -import { format } from '/@/utils/strings'; -import { CreateIdentityClaim, UpdateIdentityClaim } from './model/claimModel'; - -enum Api { - RemoteService = 'AbpIdentity', - Controller = 'IdentityRole', - Create = '/api/identity/roles', - CreateClaim = '/api/identity/roles/{id}/claims', - DeleteClaim = '/api/identity/roles/{id}/claims', - Update = '/api/identity/roles/{id}', - UpdateClaim = '/api/identity/roles/{id}/claims', - GetById = '/api/identity/roles/{id}', - GetAllList = '/api/identity/roles/all', - GetClaimList = '/api/identity/roles/{id}/claims', - GetList = '/api/identity/roles', - GetActivedList = '/api/ApiGateway/RouteGroups/Actived', - RemoveOrganizationUnit = '/api/identity/roles/{id}/organization-units/{ouId}', -} - -export const create = (input: CreateRole) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const createClaim = (id: string, input: CreateIdentityClaim) => { - return defAbpHttp.post({ - url: format(Api.CreateClaim, { id: id }), - data: input, - }); -}; - -export const update = (id: string, input: UpdateRole) => { - return defAbpHttp.put({ - url: format(Api.Update, { id: id }), - data: input, - }); -}; - -export const updateClaim = (id: string, input: UpdateIdentityClaim) => { - return defAbpHttp.put({ - url: format(Api.UpdateClaim, { id: id }), - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const deleteClaim = (id: string, input: RoleClaim) => { - return defAbpHttp.delete( - { - url: format(Api.DeleteClaim, { id: id }), - params: { - claimType: input.claimType, - claimValue: input.claimValue, - }, - }, - { - joinParamsToUrl: true, - } - ); -}; - -export const getById = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getAllList = () => { - return defAbpHttp.get({ - url: Api.GetAllList, - }); -}; - -export const getClaimList = (request: { id: string }) => { - return defAbpHttp.get({ - url: format(Api.GetClaimList, { id: request.id }), - }); -}; - -export const getList = (input: GetRolePagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const removeOrganizationUnit = (id: string, ouId: string) => { - return defAbpHttp.delete({ - url: format(Api.RemoveOrganizationUnit, { id: id, ouId: ouId }), - }); -}; diff --git a/apps/vue/src/api/identity/roles/index.ts b/apps/vue/src/api/identity/roles/index.ts new file mode 100644 index 000000000..eb36fe24e --- /dev/null +++ b/apps/vue/src/api/identity/roles/index.ts @@ -0,0 +1,89 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + Role, + GetRolePagedRequest, + UpdateRole, + CreateRole, + RoleClaim, +} from './model'; +import { CreateIdentityClaim, UpdateIdentityClaim } from '../claims/model'; + +export const create = (input: CreateRole) => { + return defHttp.post({ + url: '/api/identity/roles', + data: input, + }); +}; + +export const createClaim = (id: string, input: CreateIdentityClaim) => { + return defHttp.post({ + url: `/api/identity/roles/${id}/claims`, + data: input, + }); +}; + +export const update = (id: string, input: UpdateRole) => { + return defHttp.put({ + url: `/api/identity/roles/${id}`, + data: input, + }); +}; + +export const updateClaim = (id: string, input: UpdateIdentityClaim) => { + return defHttp.put({ + url: `/api/identity/roles/${id}/claims`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity/roles/${id}`, + }); +}; + +export const deleteClaim = (id: string, input: RoleClaim) => { + return defHttp.delete( + { + url: `/api/identity/roles/${id}/claims`, + params: { + claimType: input.claimType, + claimValue: input.claimValue, + }, + }, + { + joinParamsToUrl: true, + } + ); +}; + +export const getById = (id: string) => { + return defHttp.get({ + url: `/api/identity/roles/${id}`, + }); +}; + +export const getAllList = () => { + return defHttp.get>({ + url: '/api/identity/roles/all', + }); +}; + +export const getClaimList = (input: { id: string }) => { + return defHttp.get>({ + url: `/api/identity/roles/${input.id}/claims`, + }); +}; + +export const getList = (input: GetRolePagedRequest) => { + return defHttp.get>({ + url: '/api/identity/roles', + params: input, + }); +}; + +export const removeOrganizationUnit = (id: string, ouId: string) => { + return defHttp.delete({ + url: `/api/identity/roles/${id}/organization-units/${ouId}`, + }); +}; diff --git a/apps/vue/src/api/identity/model/roleModel.ts b/apps/vue/src/api/identity/roles/model/index.ts similarity index 70% rename from apps/vue/src/api/identity/model/roleModel.ts rename to apps/vue/src/api/identity/roles/model/index.ts index 2fab0b2ca..66b8ae601 100644 --- a/apps/vue/src/api/identity/model/roleModel.ts +++ b/apps/vue/src/api/identity/roles/model/index.ts @@ -1,4 +1,4 @@ -import { IdentityClaim } from './claimModel'; +import { IdentityClaim } from "../../claims/model"; export interface RoleBase { name: string; @@ -12,10 +12,6 @@ export interface Role extends RoleBase { concurrencyStamp?: string; } -export interface RoleListResult extends ListResultDto {} - -export interface RolePagedResult extends PagedResultDto {} - export interface GetRolePagedRequest extends PagedAndSortedResultRequestDto { filter?: string; } @@ -35,4 +31,3 @@ export interface RoleClaim extends IdentityClaim { id: string; } -export interface RoleClaimListResult extends ListResultDto {} diff --git a/apps/vue/src/api/identity/securityLog.ts b/apps/vue/src/api/identity/securityLog.ts deleted file mode 100644 index 4d339bb61..000000000 --- a/apps/vue/src/api/identity/securityLog.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { SecurityLog, GetSecurityLogPagedRequest } from './model/securityLogModel'; - -enum Api { - RemoteService = 'AbpAuditing', - Controller = 'SecurityLog', -} - -export const deleteById = (id: string) => { - return defAbpHttp.pagedRequest({ - service: Api.RemoteService, - controller: Api.Controller, - action: 'DeleteAsync', - params: { - id: id, - }, - }); -}; - -export const getById = (id: string) => { - return defAbpHttp.pagedRequest({ - service: Api.RemoteService, - controller: Api.Controller, - action: 'GetAsync', - params: { - id: id, - }, - }); -}; - -export const getList = (input: GetSecurityLogPagedRequest) => { - return defAbpHttp.pagedRequest({ - service: Api.RemoteService, - controller: Api.Controller, - action: 'GetListAsync', - params: { - input: input, - }, - }); -}; diff --git a/apps/vue/src/api/identity/user.ts b/apps/vue/src/api/identity/user.ts deleted file mode 100644 index c7362826d..000000000 --- a/apps/vue/src/api/identity/user.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - User, - UserClaimListResult, - CreateUser, - SetPassword, - UpdateUser, - GetUserPagedRequest, - UserPagedResult, - UserClaim, -} from './model/userModel'; -import { RoleListResult } from './model/roleModel'; -import { format } from '/@/utils/strings'; -import { CreateIdentityClaim, UpdateIdentityClaim } from './model/claimModel'; - -enum Api { - Create = '/api/identity/users', - CreateClaim = '/api/identity/users/{id}/claims', - DeleteClaim = '/api/identity/users/{id}/claims', - ChangePassword = '/api/identity/users/change-password', - Delete = '/api/identity/users/{id}', - GetById = '/api/identity/users/{id}', - GetList = '/api/identity/users', - GetClaimList = '/api/identity/users/{id}/claims', - GetRoleList = '/api/identity/users/{id}/roles', - GetActivedList = '/api/ApiGateway/RouteGroups/Actived', - GetAssignableRoles = '/api/identity/users/assignable-roles', - Update = '/api/identity/users/{id}', - UpdateClaim = '/api/identity/users/{id}/claims', - Lock = '/api/identity/users/{id}/lock/{seconds}', - UnLock = '/api/identity/users/{id}/unlock', - RemoveOrganizationUnit = '/api/identity/users/{id}/organization-units/{ouId}', -} - -export const create = (input: CreateUser) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const createClaim = (id: string, input: CreateIdentityClaim) => { - return defAbpHttp.post({ - url: format(Api.CreateClaim, { id: id }), - data: input, - }); -}; - -export const changePassword = (id: string, input: SetPassword) => { - return defAbpHttp.put({ - url: Api.ChangePassword, - data: input, - params: { - id: id, - }, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.Delete, { id: id }), - }); -}; - -export const deleteClaim = (id: string, input: UserClaim) => { - return defAbpHttp.delete( - { - url: format(Api.DeleteClaim, { id: id }), - params: { - claimType: input.claimType, - claimValue: input.claimValue, - }, - }, - { - joinParamsToUrl: true, - } - ); -}; - -export const getById = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getAssignableRoles = () => { - return defAbpHttp.get({ - url: Api.GetAssignableRoles, - }); -}; - -export const getRoleList = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetRoleList, { id: id }), - }); -}; - -export const getClaimList = (request: { id: string }) => { - return defAbpHttp.get({ - url: format(Api.GetClaimList, { id: request.id }), - }); -}; - -export const getList = (input: GetUserPagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const update = (id: string, input: UpdateUser) => { - return defAbpHttp.put({ - url: format(Api.Update, { id: id }), - data: input, - }); -}; - -export const updateClaim = (id: string, input: UpdateIdentityClaim) => { - return defAbpHttp.put({ - url: format(Api.CreateClaim, { id: id }), - data: input, - }); -}; - -export const lock = (id: string, seconds: number) => { - return defAbpHttp.put({ - url: format(Api.Lock, { id: id, seconds: seconds }), - }); -}; - -export const unlock = (id: string) => { - return defAbpHttp.put({ - url: format(Api.UnLock, { id: id }), - }); -}; - -export const removeOrganizationUnit = (id: string, ouId: string) => { - return defAbpHttp.delete({ - url: format(Api.RemoveOrganizationUnit, { id: id, ouId: ouId }), - }); -}; diff --git a/apps/vue/src/api/identity/userLookup.ts b/apps/vue/src/api/identity/userLookup.ts deleted file mode 100644 index 0725c6357..000000000 --- a/apps/vue/src/api/identity/userLookup.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - IUserData, - UserLookupSearchRequest, - UserLookupSearchResult, - UserLookupCountRequest, -} from './model/userLookupModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Search = '/api/identity/users/lookup/search', - GetCount = '/api/identity/users/lookup/count', - FindById = '/api/identity/users/lookup/{id}', - FindByUserName = '/api/identity/users/lookup/by-username/{userName}', -} - -export const findById = (id: string) => { - return defAbpHttp.get({ - url: format(Api.FindById, { id: id }), - }); -}; - -export const findByUserName = (userName: string) => { - return defAbpHttp.get({ - url: format(Api.FindByUserName, { userName: userName }), - }); -}; - -export const search = (input: UserLookupSearchRequest) => { - return defAbpHttp.get({ - url: Api.Search, - params: input, - }); -}; - -export const getCount = (input: UserLookupCountRequest) => { - return defAbpHttp.get({ - url: Api.GetCount, - params: input, - }); -}; diff --git a/apps/vue/src/api/identity/users-lookup/index.ts b/apps/vue/src/api/identity/users-lookup/index.ts new file mode 100644 index 000000000..6db5b3652 --- /dev/null +++ b/apps/vue/src/api/identity/users-lookup/index.ts @@ -0,0 +1,32 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + IUserData, + UserLookupSearchRequest, + UserLookupCountRequest, +} from './model'; + +export const findById = (id: string) => { + return defHttp.get({ + url: `/api/identity/users/lookup/${id}`, + }); +}; + +export const findByUserName = (userName: string) => { + return defHttp.get({ + url: `/api/identity/users/lookup/by-username/${userName}`, + }); +}; + +export const search = (input: UserLookupSearchRequest) => { + return defHttp.get>({ + url: '/api/identity/users/lookup/search', + params: input, + }); +}; + +export const getCount = (input: UserLookupCountRequest) => { + return defHttp.get({ + url: '/api/identity/users/lookup/count', + params: input, + }); +}; diff --git a/apps/vue/src/api/identity/users-lookup/model/index.ts b/apps/vue/src/api/identity/users-lookup/model/index.ts new file mode 100644 index 000000000..02ffba3f8 --- /dev/null +++ b/apps/vue/src/api/identity/users-lookup/model/index.ts @@ -0,0 +1,21 @@ +export interface IUserData { + id: string; + tenantId?: string; + userName: string; + name: string; + surname: string; + email: string; + emailConfirmed: boolean; + phoneNumber: string; + phoneNumberConfirmed: boolean; + } + + export interface UserLookupSearchRequest extends PagedAndSortedResultRequestDto { + filter?: string; + } + + export interface UserLookupCountRequest extends PagedAndSortedResultRequestDto { + filter?: string; + } + + \ No newline at end of file diff --git a/apps/vue/src/api/identity/users/index.ts b/apps/vue/src/api/identity/users/index.ts new file mode 100644 index 000000000..4760fe92f --- /dev/null +++ b/apps/vue/src/api/identity/users/index.ts @@ -0,0 +1,113 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + User, + CreateUser, + SetPassword, + UpdateUser, + GetUserPagedRequest, + UserClaim, +} from './model'; +import { CreateIdentityClaim, UpdateIdentityClaim } from '../claims/model'; +import { Role } from '../roles/model'; + +export const create = (input: CreateUser) => { + return defHttp.post({ + url: '/api/identity/users', + data: input, + }); +}; + +export const createClaim = (id: string, input: CreateIdentityClaim) => { + return defHttp.post({ + url: `/api/identity/users/${id}/claims`, + data: input, + }); +}; + +export const changePassword = (id: string, input: SetPassword) => { + return defHttp.put({ + url: `/api/identity/users/change-password?id=${id}`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/identity/users/${id}`, + }); +}; + +export const deleteClaim = (id: string, input: UserClaim) => { + return defHttp.delete({ + url: `/api/identity/users/${id}/claims`, + params: { + claimType: input.claimType, + claimValue: input.claimValue, + }, + },{ + joinParamsToUrl: true, + }); +}; + +export const getById = (id: string) => { + return defHttp.get({ + url: `/api/identity/users/${id}`, + }); +}; + +export const getAssignableRoles = () => { + return defHttp.get>({ + url: '/api/identity/users/assignable-roles', + }); +}; + +export const getRoleList = (id: string) => { + return defHttp.get>({ + url: `/api/identity/users/${id}/roles`, + }); +}; + +export const getClaimList = (input: { id: string }) => { + return defHttp.get>({ + url: `/api/identity/users/${input.id}/claims`, + }); +}; + +export const getList = (input: GetUserPagedRequest) => { + return defHttp.get>({ + url: '/api/identity/users', + params: input, + }); +}; + +export const update = (id: string, input: UpdateUser) => { + return defHttp.put({ + url: `/api/identity/users/${id}`, + data: input, + }); +}; + +export const updateClaim = (id: string, input: UpdateIdentityClaim) => { + return defHttp.put({ + url: `/api/identity/users/${id}/claims`, + data: input, + }); +}; + +export const lock = (id: string, seconds: number) => { + return defHttp.put({ + url: `/api/identity/users/${id}/lock/${seconds}`, + }); +}; + +export const unlock = (id: string) => { + return defHttp.put({ + url: `/api/identity/users/${id}/unlock`, + }); +}; + +export const removeOrganizationUnit = (id: string, ouId: string) => { + return defHttp.delete({ + url: `/api/identity/users/${id}/organization-units/${ouId}`, + }); +}; diff --git a/apps/vue/src/api/identity/model/userModel.ts b/apps/vue/src/api/identity/users/model/index.ts similarity index 89% rename from apps/vue/src/api/identity/model/userModel.ts rename to apps/vue/src/api/identity/users/model/index.ts index 131c3be2b..c5494350f 100644 --- a/apps/vue/src/api/identity/model/userModel.ts +++ b/apps/vue/src/api/identity/users/model/index.ts @@ -1,4 +1,4 @@ -import { IdentityClaim } from './claimModel'; +import { IdentityClaim } from "../../claims/model"; /** 用户对象接口 */ export interface IUser { @@ -71,10 +71,6 @@ export interface GetUserPagedRequest extends PagedAndSortedResultRequestDto { filter?: string; } -export interface UserPagedResult extends PagedResultDto {} - export interface UserClaim extends IdentityClaim { id: string; } - -export interface UserClaimListResult extends ListResultDto {} diff --git a/apps/vue/src/api/localization/languages.ts b/apps/vue/src/api/localization/languages.ts deleted file mode 100644 index 7f995a224..000000000 --- a/apps/vue/src/api/localization/languages.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { LanguageListResult, LanguageCreate, LanguageUpdate, Language, GetLanguageWithFilter } from './model/languagesModel'; - -const remoteServiceName = 'LocalizationManagement'; -const controllerName = 'Language'; - -enum Api { - GetList = '/api/abp/localization/languages', -} - -export const getList = (input: GetLanguageWithFilter) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const GetAsyncByName = (name: string) => { - return defAbpHttp.request({ - service: remoteServiceName, - controller: controllerName, - action: 'GetByNameAsync', - uniqueName: 'GetByNameAsyncByName', - params: { - name: name, - }, - }); -}; - -export const CreateAsyncByInput = (input: LanguageCreate) => { - return defAbpHttp.request({ - service: remoteServiceName, - controller: controllerName, - action: 'CreateAsync', - uniqueName: 'CreateAsyncByInput', - data: input, - }); -}; - -export const UpdateAsyncByNameAndInput = (name: string, input: LanguageUpdate) => { - return defAbpHttp.request({ - service: remoteServiceName, - controller: controllerName, - action: 'UpdateAsync', - uniqueName: 'UpdateAsyncByNameAndInput', - params: { - name: name, - }, - data: input, - }); -}; - -export const DeleteAsyncByName = (name: string) => { - return defAbpHttp.request({ - service: remoteServiceName, - controller: controllerName, - action: 'DeleteAsync', - uniqueName: 'DeleteAsyncByName', - params: { - name: name, - }, - }); -}; \ No newline at end of file diff --git a/apps/vue/src/api/localization/languages/index.ts b/apps/vue/src/api/localization/languages/index.ts new file mode 100644 index 000000000..ea98dd45d --- /dev/null +++ b/apps/vue/src/api/localization/languages/index.ts @@ -0,0 +1,35 @@ +import { defHttp } from '/@/utils/http/axios'; +import { LanguageCreate, LanguageUpdate, Language, GetLanguageWithFilter } from './model'; + +export const getList = (input: GetLanguageWithFilter) => { + return defHttp.get>({ + url: '/api/abp/localization/languages', + params: input, + }); +}; + +export const getByName = (name: string) => { + return defHttp.get({ + url: `/api/localization/languages/${name}`, + }); +}; + +export const create = (input: LanguageCreate) => { + return defHttp.post({ + url: '/api/abp/localization/languages', + data: input, + }); +}; + +export const update = (name: string, input: LanguageUpdate) => { + return defHttp.put({ + url: `/api/localization/languages/${name}`, + data: input, + }); +}; + +export const deleteByName = (name: string) => { + return defHttp.delete({ + url: `/api/localization/languages/${name}`, + }); +}; \ No newline at end of file diff --git a/apps/vue/src/api/localization/languages/model/index.ts b/apps/vue/src/api/localization/languages/model/index.ts new file mode 100644 index 000000000..1a8ba181f --- /dev/null +++ b/apps/vue/src/api/localization/languages/model/index.ts @@ -0,0 +1,29 @@ +export interface Language extends AuditedEntityDto { + enable: boolean; + cultureName: string; + uiCultureName: string; + displayName: string; + flagIcon: string; + } + + export interface LanguageCreateOrUpdate { + enable: boolean; + displayName: string; + flagIcon: string; + } + + export interface LanguageCreate extends LanguageCreateOrUpdate { + cultureName: string; + uiCultureName: string; + } + + export interface LanguageUpdate extends LanguageCreateOrUpdate {} + + export interface GetLanguagePagedRequest extends PagedAndSortedResultRequestDto { + filter?: string; + } + + export interface GetLanguageWithFilter { + filter?: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/localization/model/languagesModel.ts b/apps/vue/src/api/localization/model/languagesModel.ts deleted file mode 100644 index d31cbafe0..000000000 --- a/apps/vue/src/api/localization/model/languagesModel.ts +++ /dev/null @@ -1,32 +0,0 @@ -export interface Language extends AuditedEntityDto { - enable: boolean; - cultureName: string; - uiCultureName: string; - displayName: string; - flagIcon: string; -} - -export interface LanguageCreateOrUpdate { - enable: boolean; - displayName: string; - flagIcon: string; -} - -export interface LanguageCreate extends LanguageCreateOrUpdate { - cultureName: string; - uiCultureName: string; -} - -export interface LanguageUpdate extends LanguageCreateOrUpdate {} - -export interface LanguageListResult extends ListResultDto {} - -export interface LanguagePagedResult extends PagedResultDto {} - -export interface GetLanguagePagedRequest extends PagedAndSortedResultRequestDto { - filter?: string; -} - -export interface GetLanguageWithFilter { - filter?: string; -} diff --git a/apps/vue/src/api/localization/model/resourcesModel.ts b/apps/vue/src/api/localization/model/resourcesModel.ts deleted file mode 100644 index b2ae0c283..000000000 --- a/apps/vue/src/api/localization/model/resourcesModel.ts +++ /dev/null @@ -1,32 +0,0 @@ -export interface Resource { - id: string; - name: string; - displayName: string; - description: string; -} - -export interface ResourceCreateOrUpdate { - enable: boolean; - displayName: string; - description?: string; - defaultCultureName?: string; -} - -export interface ResourceCreate extends ResourceCreateOrUpdate { - name: string; -} - -export interface ResourceUpdate extends ResourceCreateOrUpdate {} - - -export interface ResourceListResult extends ListResultDto {} - -export interface ResourcePagedResult extends PagedResultDto {} - -export interface GetResourcePagedRequest extends PagedAndSortedResultRequestDto { - filter?: string; -} - -export interface GetResourceWithFilter { - filter?: string; -} \ No newline at end of file diff --git a/apps/vue/src/api/localization/model/textsModel.ts b/apps/vue/src/api/localization/model/textsModel.ts deleted file mode 100644 index 4bf83e957..000000000 --- a/apps/vue/src/api/localization/model/textsModel.ts +++ /dev/null @@ -1,38 +0,0 @@ -export interface Text { - key: string; - value: string; - cultureName: string; - resourceName: string; -} - -export interface TextDifference { - key: string; - value: string; - cultureName: string; - resourceName: string; - targetCultureName: string; - targetValue: string; -} - -export interface SetTextInput { - key: string; - value: string; - cultureName: string; - resourceName: string; -} - -export interface TextListResult extends ListResultDto {} - -export interface GetTextByKey { - key: string; - cultureName: string; - resourceName: string; -} - -export class GetTextRequest { - filter = ''; - cultureName = ''; - targetCultureName = ''; - resourceName = ''; - onlyNull = false; -} diff --git a/apps/vue/src/api/localization/resources.ts b/apps/vue/src/api/localization/resources.ts deleted file mode 100644 index 9c87ef2fd..000000000 --- a/apps/vue/src/api/localization/resources.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { ResourceListResult, Resource, ResourceCreate, ResourceUpdate, GetResourceWithFilter } from './model/resourcesModel'; - -const remoteServiceName = 'LocalizationManagement'; -const controllerName = 'Resource'; - -enum Api { - GetList = '/api/abp/localization/resources', -} - -export const getList = (input: GetResourceWithFilter) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const GetAsyncByName = (name: string) => { - return defAbpHttp.request({ - service: remoteServiceName, - controller: controllerName, - action: 'GetAsync', - uniqueName: 'GetAsyncByName', - params: { - name: name, - }, - }); -}; - -export const CreateAsyncByInput = (input: ResourceCreate) => { - return defAbpHttp.request({ - service: remoteServiceName, - controller: controllerName, - action: 'CreateAsync', - uniqueName: 'CreateAsyncByInput', - data: input, - }); -}; - -export const UpdateAsyncByNameAndInput = (name: string, input: ResourceUpdate) => { - return defAbpHttp.request({ - service: remoteServiceName, - controller: controllerName, - action: 'UpdateAsync', - uniqueName: 'UpdateAsyncByNameAndInput', - params: { - name: name, - }, - data: input, - }); -}; - -export const DeleteAsyncByName = (name: string) => { - return defAbpHttp.request({ - service: remoteServiceName, - controller: controllerName, - action: 'DeleteAsync', - uniqueName: 'DeleteAsyncByName', - params: { - name: name, - }, - }); -}; diff --git a/apps/vue/src/api/localization/resources/index.ts b/apps/vue/src/api/localization/resources/index.ts new file mode 100644 index 000000000..782417128 --- /dev/null +++ b/apps/vue/src/api/localization/resources/index.ts @@ -0,0 +1,35 @@ +import { defHttp } from '/@/utils/http/axios'; +import { Resource, ResourceCreate, ResourceUpdate, GetResourceWithFilter } from './model'; + +export const getList = (input: GetResourceWithFilter) => { + return defHttp.get>({ + url: '/api/abp/localization/resources', + params: input, + }); +}; + +export const getByName = (name: string) => { + return defHttp.get({ + url: `/api/localization/resources/${name}` + }); +}; + +export const create = (input: ResourceCreate) => { + return defHttp.post({ + url: '/api/localization/resources', + data: input, + }); +}; + +export const update = (name: string, input: ResourceUpdate) => { + return defHttp.put({ + url: `/api/localization/resources/${name}`, + data: input, + }); +}; + +export const deleteByName = (name: string) => { + return defHttp.request({ + url: `/api/localization/resources/${name}`, + }); +}; diff --git a/apps/vue/src/api/localization/resources/model/index.ts b/apps/vue/src/api/localization/resources/model/index.ts new file mode 100644 index 000000000..68917dd7d --- /dev/null +++ b/apps/vue/src/api/localization/resources/model/index.ts @@ -0,0 +1,27 @@ +export interface Resource { + id: string; + name: string; + displayName: string; + description: string; + } + + export interface ResourceCreateOrUpdate { + enable: boolean; + displayName: string; + description?: string; + defaultCultureName?: string; + } + + export interface ResourceCreate extends ResourceCreateOrUpdate { + name: string; + } + + export interface ResourceUpdate extends ResourceCreateOrUpdate {} + + export interface GetResourcePagedRequest extends PagedAndSortedResultRequestDto { + filter?: string; + } + + export interface GetResourceWithFilter { + filter?: string; + } \ No newline at end of file diff --git a/apps/vue/src/api/localization/texts.ts b/apps/vue/src/api/localization/texts.ts deleted file mode 100644 index 487b5db6c..000000000 --- a/apps/vue/src/api/localization/texts.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - Text, - SetTextInput, - GetTextByKey, - GetTextRequest, - TextListResult, -} from './model/textsModel'; - -enum Api { - SetText = '/api/localization/texts', - GetList = '/api/abp/localization/texts', - GetByCulture = '/api/abp/localization/texts/by-culture-key', -} - -export const getByCulture = (input: GetTextByKey) => { - return defAbpHttp.get({ - url: Api.GetByCulture, - params: input, - }); -}; - -export const setText = (input: SetTextInput) => { - return defAbpHttp.put({ - url: Api.SetText, - data: input, - }); -}; - -export const getList = (input: GetTextRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; diff --git a/apps/vue/src/api/localization/texts/index.ts b/apps/vue/src/api/localization/texts/index.ts new file mode 100644 index 000000000..40da25892 --- /dev/null +++ b/apps/vue/src/api/localization/texts/index.ts @@ -0,0 +1,23 @@ +import { defHttp } from '/@/utils/http/axios'; +import { Text, SetTextInput, GetTextByKey, GetTextRequest } from './model'; + +export const getByCulture = (input: GetTextByKey) => { + return defHttp.get({ + url: '/api/abp/localization/texts/by-culture-key', + params: input, + }); +}; + +export const setText = (input: SetTextInput) => { + return defHttp.put({ + url: '/api/localization/texts', + data: input, + }); +}; + +export const getList = (input: GetTextRequest) => { + return defHttp.get>({ + url: '/api/abp/localization/texts', + params: input, + }); +}; diff --git a/apps/vue/src/api/localization/texts/model/index.ts b/apps/vue/src/api/localization/texts/model/index.ts new file mode 100644 index 000000000..87d8022b9 --- /dev/null +++ b/apps/vue/src/api/localization/texts/model/index.ts @@ -0,0 +1,37 @@ +export interface Text { + key: string; + value: string; + cultureName: string; + resourceName: string; + } + + export interface TextDifference { + key: string; + value: string; + cultureName: string; + resourceName: string; + targetCultureName: string; + targetValue: string; + } + + export interface SetTextInput { + key: string; + value: string; + cultureName: string; + resourceName: string; + } + + export interface GetTextByKey { + key: string; + cultureName: string; + resourceName: string; + } + + export class GetTextRequest { + filter = ''; + cultureName = ''; + targetCultureName = ''; + resourceName = ''; + onlyNull = false; + } + \ No newline at end of file diff --git a/apps/vue/src/api/logging/logging.ts b/apps/vue/src/api/logging/logging.ts deleted file mode 100644 index 78e4676b5..000000000 --- a/apps/vue/src/api/logging/logging.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { Log, GetLogPagedRequest, LogPagedResult } from './model/loggingModel'; -import { format } from '/@/utils/strings'; - -enum Api { - GetById = '/api/auditing/logging/{id}', - GetList = '/api/auditing/logging', -} - -export const get = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: GetLogPagedRequest) => { - return defAbpHttp.get({ - url: Api.GetList, - params: input, - }); -}; diff --git a/apps/vue/src/api/logging/logs/index.ts b/apps/vue/src/api/logging/logs/index.ts new file mode 100644 index 000000000..7cbd05cc4 --- /dev/null +++ b/apps/vue/src/api/logging/logs/index.ts @@ -0,0 +1,15 @@ +import { defAbpHttp } from '/@/utils/http/abp'; +import { Log, GetLogPagedRequest } from './model'; + +export const get = (id: string) => { + return defAbpHttp.get({ + url: `/api/auditing/logging/${id}`, + }); +}; + +export const getList = (input: GetLogPagedRequest) => { + return defAbpHttp.get>({ + url: '/api/auditing/logging', + params: input, + }); +}; diff --git a/apps/vue/src/api/logging/logs/model/index.ts b/apps/vue/src/api/logging/logs/model/index.ts new file mode 100644 index 000000000..de254fd6c --- /dev/null +++ b/apps/vue/src/api/logging/logs/model/index.ts @@ -0,0 +1,60 @@ +export interface LogException { + depth: number; + class: string; + message: string; + source: string; + stackTrace: string; + hResult: number; + helpURL: string; + } + + export interface LogField { + id: string; + machineName: string; + environment: string; + application: string; + context: string; + actionId: string; + actionName: string; + requestId: string; + requestPath: string; + connectionId: string; + correlationId: string; + clientId: string; + userId: string; + processId: number; + threadId: number; + } + + export enum LogLevel { + Trace, + Debug, + Information, + Warning, + Error, + Critical, + None, + } + + export interface Log { + timeStamp: Date; + level: LogLevel; + message: string; + fields: LogField; + exceptions: LogException[]; + } + + export interface GetLogPagedRequest extends PagedAndSortedResultRequestDto { + startTime?: Date; + endTime?: Date; + machineName?: string; + environment?: string; + application?: string; + context?: string; + requestId?: string; + requestPath?: string; + correlationId?: string; + processId?: number; + threadId?: number; + hasException?: boolean; + } diff --git a/apps/vue/src/api/logging/model/loggingModel.ts b/apps/vue/src/api/logging/model/loggingModel.ts deleted file mode 100644 index 7c39a1e78..000000000 --- a/apps/vue/src/api/logging/model/loggingModel.ts +++ /dev/null @@ -1,62 +0,0 @@ -export interface LogException { - depth: number; - class: string; - message: string; - source: string; - stackTrace: string; - hResult: number; - helpURL: string; -} - -export interface LogField { - id: string; - machineName: string; - environment: string; - application: string; - context: string; - actionId: string; - actionName: string; - requestId: string; - requestPath: string; - connectionId: string; - correlationId: string; - clientId: string; - userId: string; - processId: number; - threadId: number; -} - -export enum LogLevel { - Trace, - Debug, - Information, - Warning, - Error, - Critical, - None, -} - -export interface Log { - timeStamp: Date; - level: LogLevel; - message: string; - fields: LogField; - exceptions: LogException[]; -} - -export interface GetLogPagedRequest extends PagedAndSortedResultRequestDto { - startTime?: Date; - endTime?: Date; - machineName?: string; - environment?: string; - application?: string; - context?: string; - requestId?: string; - requestPath?: string; - correlationId?: string; - processId?: number; - threadId?: number; - hasException?: boolean; -} - -export interface LogPagedResult extends PagedResultDto {} diff --git a/apps/vue/src/api/messages/friends.ts b/apps/vue/src/api/messages/friends/index.ts similarity index 53% rename from apps/vue/src/api/messages/friends.ts rename to apps/vue/src/api/messages/friends/index.ts index 65ad1f3a5..b8f28be45 100644 --- a/apps/vue/src/api/messages/friends.ts +++ b/apps/vue/src/api/messages/friends/index.ts @@ -1,53 +1,42 @@ import { defHttp } from '/@/utils/http/axios'; import { UserFriend, - UserFriendListResult, - UserFriendPagedResult, FriendCreateRequest, FriendAddRequest, GetMyFriendsRequest, GetMyFriendsPagedRequest, -} from './model/friendsModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Create = 'api/im/my-friends', - AddFriend = '/api/im/my-friends/add-request', - GetList = '/api/im/my-friends', - GetAll = '/api/im/my-friends/all', - GetByFriendId = '/api/im/my-friends/{friendId}', -} +} from './model'; export const create = (input: FriendCreateRequest) => { return defHttp.post({ - url: Api.Create, + url: 'api/im/my-friends', data: input, }); }; export const addFriend = (input: FriendAddRequest) => { return defHttp.post({ - url: Api.AddFriend, + url: '/api/im/my-friends/add-request', data: input, }); }; export const getByFriendId = (friendId: string) => { return defHttp.get({ - url: format(Api.GetByFriendId, { friendId: friendId }), + url: `/api/im/my-friends/${friendId}`, }); }; export const getList = (input: GetMyFriendsPagedRequest) => { - return defHttp.get({ - url: Api.GetList, + return defHttp.get>({ + url: '/api/im/my-friends', params: input, }); }; export const getAll = (input: GetMyFriendsRequest) => { - return defHttp.get({ - url: Api.GetAll, + return defHttp.get>({ + url: '/api/im/my-friends/all', params: input, }); }; diff --git a/apps/vue/src/api/messages/model/friendsModel.ts b/apps/vue/src/api/messages/friends/model/index.ts similarity index 73% rename from apps/vue/src/api/messages/model/friendsModel.ts rename to apps/vue/src/api/messages/friends/model/index.ts index 8e73fd8ac..052780a7c 100644 --- a/apps/vue/src/api/messages/model/friendsModel.ts +++ b/apps/vue/src/api/messages/friends/model/index.ts @@ -1,4 +1,4 @@ -import { UserCard } from './baseModel'; +import { UserCard } from '../../model'; export interface UserFriend extends UserCard { friendId: string; @@ -25,7 +25,3 @@ export interface GetMyFriendsRequest { export interface GetMyFriendsPagedRequest extends PagedAndSortedResultRequestDto { filter?: string; } - -export interface UserFriendListResult extends ListResultDto {} - -export interface UserFriendPagedResult extends PagedResultDto {} diff --git a/apps/vue/src/api/messages/groups.ts b/apps/vue/src/api/messages/groups.ts deleted file mode 100644 index 9b9abdc1d..000000000 --- a/apps/vue/src/api/messages/groups.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { Group, GroupPagedResult, GroupSearchRequest } from './model/groupModel'; -import { format } from '/@/utils/strings'; - -enum Api { - Search = '/api/im/groups/search', - GetById = '/api/im/groups/{groupId}', -} - -export const search = (input: GroupSearchRequest) => { - return defHttp.get({ - url: Api.Search, - params: input, - }); -}; - -export const getById = (groupId: string) => { - return defHttp.get({ - url: format(Api.GetById, { groupId: groupId }), - }); -}; diff --git a/apps/vue/src/api/messages/groups/index.ts b/apps/vue/src/api/messages/groups/index.ts new file mode 100644 index 000000000..5b682f39a --- /dev/null +++ b/apps/vue/src/api/messages/groups/index.ts @@ -0,0 +1,15 @@ +import { defHttp } from '/@/utils/http/axios'; +import { Group, GroupSearchRequest } from './model'; + +export const search = (input: GroupSearchRequest) => { + return defHttp.get>({ + url: '/api/im/groups/search', + params: input, + }); +}; + +export const getById = (groupId: string) => { + return defHttp.get({ + url: `'/api/im/groups/${groupId}`, + }); +}; diff --git a/apps/vue/src/api/messages/groups/model/index.ts b/apps/vue/src/api/messages/groups/model/index.ts new file mode 100644 index 000000000..31aa85f14 --- /dev/null +++ b/apps/vue/src/api/messages/groups/model/index.ts @@ -0,0 +1,14 @@ +export interface Group { + id: string; + name: string; + avatarUrl: string; + allowAnonymous: boolean; + allowSendMessage: boolean; + maxUserLength: number; + groupUserCount: number; + } + + export interface GroupSearchRequest extends PagedAndSortedResultRequestDto { + filter: string; + } + \ No newline at end of file diff --git a/apps/vue/src/api/messages/messages.ts b/apps/vue/src/api/messages/messages.ts deleted file mode 100644 index 5ecc6cb5f..000000000 --- a/apps/vue/src/api/messages/messages.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { - ChatMessagePagedResult, - LastChatMessageListResult, - GetUserLastMessageRequest, - GetUserMessagePagedRequest, - GetGroupMessagePagedRequest, -} from './model/messagesModel'; - -enum Api { - GetChatMessages = '/api/im/chat/my-messages', - GetLastMessages = '/api/im/chat/my-last-messages', - GetGroupMessages = '/api/im/chat/group/messages', -} - -export const getLastMessages = (input: GetUserLastMessageRequest) => { - return defHttp.get({ - url: Api.GetLastMessages, - params: input, - }); -}; - -export const getChatMessages = (input: GetUserMessagePagedRequest) => { - return defHttp.get({ - url: Api.GetChatMessages, - params: input, - }); -}; - -export const getGroupMessages = (input: GetGroupMessagePagedRequest) => { - return defHttp.get({ - url: Api.GetGroupMessages, - params: input, - }); -}; diff --git a/apps/vue/src/api/messages/messages/index.ts b/apps/vue/src/api/messages/messages/index.ts new file mode 100644 index 000000000..6a0dff93f --- /dev/null +++ b/apps/vue/src/api/messages/messages/index.ts @@ -0,0 +1,29 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + GetUserLastMessageRequest, + GetUserMessagePagedRequest, + GetGroupMessagePagedRequest, + ChatMessage, + LastChatMessage, +} from './model'; + +export const getLastMessages = (input: GetUserLastMessageRequest) => { + return defHttp.get>({ + url: '/api/im/chat/my-last-messages', + params: input, + }); +}; + +export const getChatMessages = (input: GetUserMessagePagedRequest) => { + return defHttp.get>({ + url: '/api/im/chat/my-messages', + params: input, + }); +}; + +export const getGroupMessages = (input: GetGroupMessagePagedRequest) => { + return defHttp.get>({ + url: '/api/im/chat/group/messages', + params: input, + }); +}; diff --git a/apps/vue/src/api/messages/messages/model/index.ts b/apps/vue/src/api/messages/messages/model/index.ts new file mode 100644 index 000000000..9b6886c9d --- /dev/null +++ b/apps/vue/src/api/messages/messages/model/index.ts @@ -0,0 +1,70 @@ +export enum MessageType { + Text = 0, + Image = 10, + Link = 20, + Video = 30, + Voice = 40, + File = 50, + Notifier = 100, + } + + export enum MessageState { + Send = 0, + Read = 1, + ReCall = 10, + Failed = 50, + BackTo = 100, + } + + export enum MessageSourceTye { + User = 0, + System = 10, + } + + export interface ChatMessage extends ExtensibleObject { + // tenantId: string; + groupId?: string; + groupName?: string; + messageId: string; + formUserId: string; + formUserName: string; + toUserId: string; + content: string; + sendTime: Date; + isAnonymous: boolean; + messageType: MessageType; + source: MessageSourceTye; + } + + export interface LastChatMessage { + avatar: string; + object: string; + groupId?: string; + groupName?: string; + messageId: string; + formUserId: string; + formUserName: string; + toUserId: string; + content: string; + sendTime: Date; + isAnonymous: boolean; + messageType: MessageType; + source: MessageSourceTye; + } + + export interface GetUserLastMessageRequest extends LimitedResultRequestDto, SortedResultRequest { + state?: MessageState; + } + + export interface GetUserMessagePagedRequest extends PagedAndSortedResultRequestDto { + filter?: string; + receiveUserId: string; + messageType?: MessageType; + } + + export interface GetGroupMessagePagedRequest extends PagedAndSortedResultRequestDto { + filter?: string; + groupId: string; + messageType?: MessageType; + } + \ No newline at end of file diff --git a/apps/vue/src/api/messages/model/baseModel.ts b/apps/vue/src/api/messages/model/baseModel.ts deleted file mode 100644 index c74eae767..000000000 --- a/apps/vue/src/api/messages/model/baseModel.ts +++ /dev/null @@ -1,17 +0,0 @@ -export enum Sex { - Male, - Female, - Other, -} - -export interface UserCard { - userId: string; - userName: string; - avatarUrl: string; - nickName: string; - age: number; - sex: Sex; - sign: string; - description: string; - birthday?: Date; -} diff --git a/apps/vue/src/api/messages/model/groupModel.ts b/apps/vue/src/api/messages/model/groupModel.ts deleted file mode 100644 index 9136239fc..000000000 --- a/apps/vue/src/api/messages/model/groupModel.ts +++ /dev/null @@ -1,15 +0,0 @@ -export interface Group { - id: string; - name: string; - avatarUrl: string; - allowAnonymous: boolean; - allowSendMessage: boolean; - maxUserLength: number; - groupUserCount: number; -} - -export interface GroupSearchRequest extends PagedAndSortedResultRequestDto { - filter: string; -} - -export interface GroupPagedResult extends PagedResultDto {} diff --git a/apps/vue/src/api/messages/model/index.ts b/apps/vue/src/api/messages/model/index.ts new file mode 100644 index 000000000..06eb3e925 --- /dev/null +++ b/apps/vue/src/api/messages/model/index.ts @@ -0,0 +1,18 @@ +export enum Sex { + Male, + Female, + Other, + } + + export interface UserCard { + userId: string; + userName: string; + avatarUrl: string; + nickName: string; + age: number; + sex: Sex; + sign: string; + description: string; + birthday?: Date; + } + \ No newline at end of file diff --git a/apps/vue/src/api/messages/model/messagesModel.ts b/apps/vue/src/api/messages/model/messagesModel.ts deleted file mode 100644 index b209daa0c..000000000 --- a/apps/vue/src/api/messages/model/messagesModel.ts +++ /dev/null @@ -1,75 +0,0 @@ -export enum MessageType { - Text = 0, - Image = 10, - Link = 20, - Video = 30, - Voice = 40, - File = 50, - Notifier = 100, -} - -export enum MessageState { - Send = 0, - Read = 1, - ReCall = 10, - Failed = 50, - BackTo = 100, -} - -export enum MessageSourceTye { - User = 0, - System = 10, -} - -export interface ChatMessage extends ExtensibleObject { - // tenantId: string; - groupId?: string; - groupName?: string; - messageId: string; - formUserId: string; - formUserName: string; - toUserId: string; - content: string; - sendTime: Date; - isAnonymous: boolean; - messageType: MessageType; - source: MessageSourceTye; -} - -export interface LastChatMessage { - avatar: string; - object: string; - groupId?: string; - groupName?: string; - messageId: string; - formUserId: string; - formUserName: string; - toUserId: string; - content: string; - sendTime: Date; - isAnonymous: boolean; - messageType: MessageType; - source: MessageSourceTye; -} - -export interface GetUserLastMessageRequest extends LimitedResultRequestDto, SortedResultRequest { - state?: MessageState; -} - -export interface GetUserMessagePagedRequest extends PagedAndSortedResultRequestDto { - filter?: string; - receiveUserId: string; - messageType?: MessageType; -} - -export interface GetGroupMessagePagedRequest extends PagedAndSortedResultRequestDto { - filter?: string; - groupId: string; - messageType?: MessageType; -} - -export interface ChatMessagePagedResult extends PagedResultDto {} - -export interface ChatMessageListResult extends ListResultDto {} - -export interface LastChatMessageListResult extends ListResultDto {} diff --git a/apps/vue/src/api/messages/model/notificationsModel.ts b/apps/vue/src/api/messages/model/notificationsModel.ts deleted file mode 100644 index 7d3b711cb..000000000 --- a/apps/vue/src/api/messages/model/notificationsModel.ts +++ /dev/null @@ -1,69 +0,0 @@ -export enum NotificationLifetime { - Persistent = 0, - OnlyOne = 1, -} - -export enum NotificationType { - Application = 0, - System = 10, - User = 20, - ServiceCallback = 30, -} - -export enum NotificationContentType { - Text = 0, - Html = 1, - Markdown = 2, - Json = 3, -} - -export enum NotificationSeverity { - Success = 0, - Info = 10, - Warn = 20, - Error = 30, - Fatal = 40, -} - -export enum NotificationReadState { - Read = 0, - UnRead = 1, -} - -export interface NotificationData { - type: string; - extraProperties: { [key: string]: any }; -} - -export interface NotificationInfo { - // tenantId?: string; - name: string; - id: string; - data: NotificationData; - creationTime: Date; - lifetime: NotificationLifetime; - type: NotificationType; - severity: NotificationSeverity; - contentType: NotificationContentType; -} - -export interface NotificationGroup { - name: string; - displayName: string; - notifications: { - name: string; - displayName: string; - description: string; - type: NotificationType; - lifetime: NotificationLifetime; - }[]; -} - -export interface GetNotificationPagedRequest extends PagedAndSortedResultRequestDto { - reverse?: boolean; - readState?: NotificationReadState; -} - -export interface NotificationPagedResult extends PagedResultDto {} - -export interface NotificationGroupListResult extends ListResultDto {} diff --git a/apps/vue/src/api/messages/model/subscribesModel.ts b/apps/vue/src/api/messages/model/subscribesModel.ts deleted file mode 100644 index 4c3efcbbf..000000000 --- a/apps/vue/src/api/messages/model/subscribesModel.ts +++ /dev/null @@ -1,14 +0,0 @@ -export interface UserSubscreNotification { - name: string; -} - -export interface UserSubscriptionsResult { - isSubscribed: boolean; -} - -export interface GetSubscriptionsPagedRequest extends PagedAndSortedResultRequestDto {} - -export interface UserSubscreNotificationPagedResult - extends PagedResultDto {} - -export interface UserSubscreNotificationListResult extends ListResultDto {} diff --git a/apps/vue/src/api/messages/notifications.ts b/apps/vue/src/api/messages/notifications.ts deleted file mode 100644 index a2a78af03..000000000 --- a/apps/vue/src/api/messages/notifications.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { - GetNotificationPagedRequest, - NotificationPagedResult, - NotificationGroupListResult, - NotificationReadState, -} from './model/notificationsModel'; -import { format } from '/@/utils/strings'; - -enum Api { - GetById = '/api/notifications/my-notifilers/{id}', - GetList = '/api/notifications/my-notifilers', - GetAssignableNotifiers = '/api/notifications/assignables', - Read = '/api/notifications/my-notifilers/{id}/read', - MarkReadState = '/api/notifications/my-notifilers/mark-read-state', -} - -export const markReadState = ( - ids: string[], - state: NotificationReadState = NotificationReadState.Read, -) => { - return defHttp.put({ - url: Api.MarkReadState, - data: { - idList: ids, - state: state, - }, - }); -}; - -export const deleteById = (id: string) => { - return defHttp.delete({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: GetNotificationPagedRequest) => { - return defHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const getAssignableNotifiers = () => { - return defHttp.get({ - url: Api.GetAssignableNotifiers, - }); -}; diff --git a/apps/vue/src/api/messages/notifications/index.ts b/apps/vue/src/api/messages/notifications/index.ts new file mode 100644 index 000000000..65f8f23a6 --- /dev/null +++ b/apps/vue/src/api/messages/notifications/index.ts @@ -0,0 +1,39 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + NotificationInfo, + NotificationGroup, + GetNotificationPagedRequest, + NotificationReadState, +} from './model'; + +export const markReadState = ( + ids: string[], + state: NotificationReadState = NotificationReadState.Read, +) => { + return defHttp.put({ + url: '/api/notifications/my-notifilers/mark-read-state', + data: { + idList: ids, + state: state, + }, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/notifications/my-notifilers/${id}`, + }); +}; + +export const getList = (input: GetNotificationPagedRequest) => { + return defHttp.get>({ + url: '/api/notifications/my-notifilers', + params: input, + }); +}; + +export const getAssignableNotifiers = () => { + return defHttp.get>({ + url: '/api/notifications/assignables', + }); +}; diff --git a/apps/vue/src/api/messages/notifications/model/index.ts b/apps/vue/src/api/messages/notifications/model/index.ts new file mode 100644 index 000000000..4e0d47f0e --- /dev/null +++ b/apps/vue/src/api/messages/notifications/model/index.ts @@ -0,0 +1,65 @@ +export enum NotificationLifetime { + Persistent = 0, + OnlyOne = 1, + } + + export enum NotificationType { + Application = 0, + System = 10, + User = 20, + ServiceCallback = 30, + } + + export enum NotificationContentType { + Text = 0, + Html = 1, + Markdown = 2, + Json = 3, + } + + export enum NotificationSeverity { + Success = 0, + Info = 10, + Warn = 20, + Error = 30, + Fatal = 40, + } + + export enum NotificationReadState { + Read = 0, + UnRead = 1, + } + + export interface NotificationData { + type: string; + extraProperties: { [key: string]: any }; + } + + export interface NotificationInfo { + // tenantId?: string; + name: string; + id: string; + data: NotificationData; + creationTime: Date; + lifetime: NotificationLifetime; + type: NotificationType; + severity: NotificationSeverity; + contentType: NotificationContentType; + } + + export interface NotificationGroup { + name: string; + displayName: string; + notifications: { + name: string; + displayName: string; + description: string; + type: NotificationType; + lifetime: NotificationLifetime; + }[]; + } + + export interface GetNotificationPagedRequest extends PagedAndSortedResultRequestDto { + reverse?: boolean; + readState?: NotificationReadState; + } diff --git a/apps/vue/src/api/messages/subscribes.ts b/apps/vue/src/api/messages/subscribes.ts deleted file mode 100644 index d69e1c6d7..000000000 --- a/apps/vue/src/api/messages/subscribes.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { UserSubscreNotificationListResult } from './model/subscribesModel'; -import { format } from '/@/utils/strings'; - -enum Api { - GetAll = '/api/notifications/my-subscribes/all', - Subscribe = '/api/notifications/my-subscribes', - UnSubscribe = '/api/notifications/my-subscribes?name={name}', -} - -export const getAll = () => { - return defHttp.get({ - url: Api.GetAll, - }); -}; - -export const subscribe = (name: string) => { - return defHttp.post({ - url: Api.Subscribe, - data: { - name: name, - }, - }); -}; - -export const unSubscribe = (name: string) => { - return defHttp.delete({ - url: format(Api.UnSubscribe, { name: name }), - }); -}; diff --git a/apps/vue/src/api/messages/subscribes/index.ts b/apps/vue/src/api/messages/subscribes/index.ts new file mode 100644 index 000000000..0936dd595 --- /dev/null +++ b/apps/vue/src/api/messages/subscribes/index.ts @@ -0,0 +1,23 @@ +import { defHttp } from '/@/utils/http/axios'; +import { UserSubscreNotification } from './model'; + +export const getAll = () => { + return defHttp.get>({ + url: '/api/notifications/my-subscribes/all', + }); +}; + +export const subscribe = (name: string) => { + return defHttp.post({ + url: '/api/notifications/my-subscribes', + data: { + name: name, + }, + }); +}; + +export const unSubscribe = (name: string) => { + return defHttp.delete({ + url: `/api/notifications/my-subscribes?name=${name}`, + }); +}; diff --git a/apps/vue/src/api/messages/subscribes/model/index.ts b/apps/vue/src/api/messages/subscribes/model/index.ts new file mode 100644 index 000000000..60e8e3a8a --- /dev/null +++ b/apps/vue/src/api/messages/subscribes/model/index.ts @@ -0,0 +1,9 @@ +export interface UserSubscreNotification { + name: string; + } + + export interface UserSubscriptionsResult { + isSubscribed: boolean; + } + + export interface GetSubscriptionsPagedRequest extends PagedAndSortedResultRequestDto {} diff --git a/apps/vue/src/api/model/baseModel.ts b/apps/vue/src/api/model/baseModel.ts deleted file mode 100644 index 05e33218c..000000000 --- a/apps/vue/src/api/model/baseModel.ts +++ /dev/null @@ -1,73 +0,0 @@ -export interface BasicPageParams { - page: number; - pageSize: number; -} - -export interface BasicFetchResult { - items: T[]; - total: number; -} - -export interface IAvailable { - isAvailable: boolean; -} - -export class Available implements IAvailable { - isAvailable!: boolean; -} - -/** 授权接口 */ -export interface IPermission { - /** 权限名称 */ - name: string; - /** 是否授权 */ - isGranted: boolean; -} - -/** 作用于接口 */ -export interface IScope { - /** 作用域 */ - scope: string; -} - -/** 密钥 */ -export interface ISecret { - /** 密钥类型 */ - type: string; - /** 密钥值 */ - value: string; - /** 密钥说明 */ - description: string | undefined; - /** 过期日期 */ - expiration: Date | undefined; -} - -/** 令牌 */ -export interface IClaim { - /** 类型 */ - type: string; - /** 数值 */ - value: string; -} - -export class SecretBase implements ISecret { - type = ''; - value = ''; - description = ''; - expiration: Date | undefined; -} - -export enum HashType { - Sha256, - Sha512, -} - -export class Claim implements IClaim { - type = ''; - value = ''; -} - -export class KeyValue { - key!: TKey; - value?: TValue; -} diff --git a/apps/vue/src/api/model/index.ts b/apps/vue/src/api/model/index.ts new file mode 100644 index 000000000..19076ed06 --- /dev/null +++ b/apps/vue/src/api/model/index.ts @@ -0,0 +1,74 @@ +export interface BasicPageParams { + page: number; + pageSize: number; + } + + export interface BasicFetchResult { + items: T[]; + total: number; + } + + export interface IAvailable { + isAvailable: boolean; + } + + export class Available implements IAvailable { + isAvailable!: boolean; + } + + /** 授权接口 */ + export interface IPermission { + /** 权限名称 */ + name: string; + /** 是否授权 */ + isGranted: boolean; + } + + /** 作用于接口 */ + export interface IScope { + /** 作用域 */ + scope: string; + } + + /** 密钥 */ + export interface ISecret { + /** 密钥类型 */ + type: string; + /** 密钥值 */ + value: string; + /** 密钥说明 */ + description: string | undefined; + /** 过期日期 */ + expiration: Date | undefined; + } + + /** 令牌 */ + export interface IClaim { + /** 类型 */ + type: string; + /** 数值 */ + value: string; + } + + export class SecretBase implements ISecret { + type = ''; + value = ''; + description = ''; + expiration: Date | undefined; + } + + export enum HashType { + Sha256, + Sha512, + } + + export class Claim implements IClaim { + type = ''; + value = ''; + } + + export class KeyValue { + key!: TKey; + value?: TValue; + } + \ No newline at end of file diff --git a/apps/vue/src/api/multi-tenancy/models/tenantModel.ts b/apps/vue/src/api/multi-tenancy/models/tenantModel.ts deleted file mode 100644 index fb2508bce..000000000 --- a/apps/vue/src/api/multi-tenancy/models/tenantModel.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** 租户查询过滤对象 */ -export interface TenantGetByPaged extends PagedAndSortedResultRequestDto { - /** 查询过滤字段 */ - filter?: string; -} - -/** 租户创建对象 */ -export class TenantCreateOrEdit { - /** 管理员邮件地址 */ - adminEmailAddress = ''; - /** 管理员密码 */ - adminPassword = ''; - /** 租户名称 */ - name = ''; - /** 使用共享数据库 */ - useSharedDatabase = true; - /** 默认连接字符串 */ - defaultConnectionString = ''; -} - -/** 租户对象 */ -export interface TenantDto extends FullAuditedEntityDto { - /** 租户名称 */ - name: string; -} - -/** 租户连接字符串 */ -export class TenantConnectionString { - /** 名称 */ - name = ''; - /** 值 */ - value = ''; -} - -export class FindTenantResult { - name = ''; - tenantId = ''; - success = ''; - isActive = false; -} diff --git a/apps/vue/src/api/multi-tenancy/tenants.ts b/apps/vue/src/api/multi-tenancy/tenants.ts deleted file mode 100644 index fe304fa3b..000000000 --- a/apps/vue/src/api/multi-tenancy/tenants.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { FindTenantResult } from './models/tenantModel'; - -export const findTenantByName = (name: string) => { - return defAbpHttp.request({ - service: 'abp', - controller: 'AbpTenant', - action: 'FindTenantByNameAsync', - params: { name: name }, - }); -}; - -export const findTenantById = (id: string) => { - return defAbpHttp.request({ - service: 'abp', - controller: 'AbpTenant', - action: 'FindTenantByIdAsync', - params: { id: id }, - }); -}; diff --git a/apps/vue/src/api/multi-tenancy/tenants/index.ts b/apps/vue/src/api/multi-tenancy/tenants/index.ts new file mode 100644 index 000000000..c8f9f99e6 --- /dev/null +++ b/apps/vue/src/api/multi-tenancy/tenants/index.ts @@ -0,0 +1,14 @@ +import { defHttp } from '/@/utils/http/axios'; +import { FindTenantResult } from './model'; + +export const findTenantByName = (name: string) => { + return defHttp.get({ + url: `api/abp/multi-tenancy/tenants/by-name/${name}` + }); +}; + +export const findTenantById = (id: string) => { + return defHttp.get({ + url: `api/abp/multi-tenancy/tenants/by-id/${id}` + }); +}; diff --git a/apps/vue/src/api/multi-tenancy/tenants/model/index.ts b/apps/vue/src/api/multi-tenancy/tenants/model/index.ts new file mode 100644 index 000000000..e0334051b --- /dev/null +++ b/apps/vue/src/api/multi-tenancy/tenants/model/index.ts @@ -0,0 +1,41 @@ +/** 租户查询过滤对象 */ +export interface TenantGetByPaged extends PagedAndSortedResultRequestDto { + /** 查询过滤字段 */ + filter?: string; + } + + /** 租户创建对象 */ + export interface TenantCreateOrEdit { + /** 管理员邮件地址 */ + adminEmailAddress: string; + /** 管理员密码 */ + adminPassword: string; + /** 租户名称 */ + name: string; + /** 使用共享数据库 */ + useSharedDatabase: boolean; + /** 默认连接字符串 */ + defaultConnectionString?: string; + } + + /** 租户对象 */ + export interface TenantDto extends FullAuditedEntityDto { + /** 租户名称 */ + name: string; + } + + /** 租户连接字符串 */ + export interface TenantConnectionString { + /** 名称 */ + name: string; + /** 值 */ + value: string; + } + + export interface FindTenantResult { + name: string; + tenantId: string; + success: string; + isActive: boolean; + } + \ No newline at end of file diff --git a/apps/vue/src/api/openiddict/open-iddict-application/index.ts b/apps/vue/src/api/openiddict/open-iddict-application/index.ts index 3062036e3..070f530fa 100644 --- a/apps/vue/src/api/openiddict/open-iddict-application/index.ts +++ b/apps/vue/src/api/openiddict/open-iddict-application/index.ts @@ -18,7 +18,7 @@ import { // }); // }; -export const GetAsyncById = (id: string) => { +export const get = (id: string) => { return defAbpHttp.get({ url: `/api/openiddict/applications/${id}`, }); @@ -36,7 +36,7 @@ export const GetAsyncById = (id: string) => { // }); // }; -export const GetListAsyncByInput = (input: OpenIddictApplicationGetListInput) => { +export const getList = (input: OpenIddictApplicationGetListInput) => { return defAbpHttp.get>({ url: '/api/openiddict/applications', params: input, @@ -53,7 +53,7 @@ export const GetListAsyncByInput = (input: OpenIddictApplicationGetListInput) => // }); // }; -export const CreateAsyncByInput = (input: OpenIddictApplicationCreateDto) => { +export const create = (input: OpenIddictApplicationCreateDto) => { return defAbpHttp.post({ url: '/api/openiddict/applications', data: input, @@ -73,7 +73,7 @@ export const CreateAsyncByInput = (input: OpenIddictApplicationCreateDto) => { // }); // }; -export const UpdateAsyncByIdAndInput = (id: string, input: OpenIddictApplicationUpdateDto) => { +export const update = (id: string, input: OpenIddictApplicationUpdateDto) => { return defAbpHttp.put({ url: `/api/openiddict/applications/${id}`, data: input, @@ -92,7 +92,7 @@ export const UpdateAsyncByIdAndInput = (id: string, input: OpenIddictApplication // }); // }; -export const DeleteAsyncById = (id: string) => { +export const deleteById = (id: string) => { return defAbpHttp.delete({ url: `/api/openiddict/applications/${id}`, }); diff --git a/apps/vue/src/api/openiddict/open-iddict-authorization/index.ts b/apps/vue/src/api/openiddict/open-iddict-authorization/index.ts index f99360a5a..ee17df9b9 100644 --- a/apps/vue/src/api/openiddict/open-iddict-authorization/index.ts +++ b/apps/vue/src/api/openiddict/open-iddict-authorization/index.ts @@ -13,7 +13,7 @@ import { OpenIddictAuthorizationDto, OpenIddictAuthorizationGetListInput, } fro // }); // }; -export const DeleteAsyncById = (id: string) => { +export const deleteById = (id: string) => { return defAbpHttp.delete({ url: `/api/openiddict/authorizations/${id}`, }); @@ -31,7 +31,7 @@ export const DeleteAsyncById = (id: string) => { // }); // }; -export const GetAsyncById = (id: string) => { +export const get = (id: string) => { return defAbpHttp.get({ url: `/api/openiddict/authorizations/${id}`, }); @@ -49,7 +49,7 @@ export const GetAsyncById = (id: string) => { // }); // }; -export const GetListAsyncByInput = (input: OpenIddictAuthorizationGetListInput) => { +export const getList = (input: OpenIddictAuthorizationGetListInput) => { return defAbpHttp.get>({ url: '/api/openiddict/authorizations', params: input, diff --git a/apps/vue/src/api/openiddict/open-iddict-scope/index.ts b/apps/vue/src/api/openiddict/open-iddict-scope/index.ts index 4b21392a3..5966ae24e 100644 --- a/apps/vue/src/api/openiddict/open-iddict-scope/index.ts +++ b/apps/vue/src/api/openiddict/open-iddict-scope/index.ts @@ -16,7 +16,7 @@ import { // }); // }; -export const CreateAsyncByInput = (input: OpenIddictScopeCreateDto) => { +export const create = (input: OpenIddictScopeCreateDto) => { return defAbpHttp.post({ url: '/api/openiddict/scopes', data: input, @@ -35,7 +35,7 @@ export const CreateAsyncByInput = (input: OpenIddictScopeCreateDto) => { // }); // }; -export const DeleteAsyncById = (id: string) => { +export const deleteById = (id: string) => { return defAbpHttp.delete({ url: `/api/openiddict/scopes/${id}` }); @@ -53,7 +53,7 @@ export const DeleteAsyncById = (id: string) => { // }); // }; -export const GetAsyncById = (id: string) => { +export const get = (id: string) => { return defAbpHttp.get({ url: `/api/openiddict/scopes/${id}` }); @@ -71,7 +71,7 @@ export const GetAsyncById = (id: string) => { // }); // }; -export const GetListAsyncByInput = (input: OpenIddictScopeGetListInput) => { +export const getList = (input: OpenIddictScopeGetListInput) => { return defAbpHttp.get>({ url: '/api/openiddict/scopes', params: input, @@ -91,7 +91,7 @@ export const GetListAsyncByInput = (input: OpenIddictScopeGetListInput) => { // }); // }; -export const UpdateAsyncByIdAndInput = (id: string, input: OpenIddictScopeUpdateDto) => { +export const update = (id: string, input: OpenIddictScopeUpdateDto) => { return defAbpHttp.put({ url: `/api/openiddict/scopes/${id}`, data: input, diff --git a/apps/vue/src/api/openiddict/open-iddict-token/index.ts b/apps/vue/src/api/openiddict/open-iddict-token/index.ts index c3ccd1b80..406ea3099 100644 --- a/apps/vue/src/api/openiddict/open-iddict-token/index.ts +++ b/apps/vue/src/api/openiddict/open-iddict-token/index.ts @@ -13,7 +13,7 @@ import { OpenIddictTokenDto, OpenIddictTokenGetListInput, } from './model'; // }); // }; -export const DeleteAsyncById = (id: string) => { +export const deleteById = (id: string) => { return defAbpHttp.delete({ url: `/api/openiddict/tokens/${id}`, }); @@ -31,7 +31,7 @@ export const DeleteAsyncById = (id: string) => { // }); // }; -export const GetAsyncById = (id: string) => { +export const get = (id: string) => { return defAbpHttp.get({ url: `/api/openiddict/tokens/${id}`, }); @@ -49,7 +49,7 @@ export const GetAsyncById = (id: string) => { // }); // }; -export const GetListAsyncByInput = (input: OpenIddictTokenGetListInput) => { +export const getList = (input: OpenIddictTokenGetListInput) => { return defAbpHttp.get>({ url: '/api/openiddict/tokens', params: input, diff --git a/apps/vue/src/api/oss-management/containers/index.ts b/apps/vue/src/api/oss-management/containers/index.ts new file mode 100644 index 000000000..2930988a2 --- /dev/null +++ b/apps/vue/src/api/oss-management/containers/index.ts @@ -0,0 +1,27 @@ +import { GetOssContainerPagedRequest, OssContainer, OssContainersResult } from './model'; +import { defHttp } from '/@/utils/http/axios'; + +export const createContainer = (name: string) => { + return defHttp.post({ + url: `/api/oss-management/containes/${name}`, + }); +}; + +export const deleteContainer = (name: string) => { + return defHttp.delete({ + url: `/api/oss-management/containes/${name}`, + }); +}; + +export const getContainer = (name: string) => { + return defHttp.get({ + url: `/api/oss-management/containes/${name}`, + }); +}; + +export const getContainers = (input: GetOssContainerPagedRequest) => { + return defHttp.get({ + url: '/api/oss-management/containes', + params: input, + }); +}; \ No newline at end of file diff --git a/apps/vue/src/api/oss-management/containers/model/index.ts b/apps/vue/src/api/oss-management/containers/model/index.ts new file mode 100644 index 000000000..1884c9a20 --- /dev/null +++ b/apps/vue/src/api/oss-management/containers/model/index.ts @@ -0,0 +1,20 @@ +export interface OssContainer { + name: string; + size?: number; + creationDate: Date; + lastModifiedDate?: Date; + metadata: { [key: string]: string }; +} + +export interface OssContainersResult { + prefix: string; + marker: string; + nextMarker: string; + maxKeys: number; + containers: OssContainer[]; +} + +export interface GetOssContainerPagedRequest extends PagedAndSortedResultRequestDto { + prefix?: string; + marker?: string; +} \ No newline at end of file diff --git a/apps/vue/src/api/oss-management/private.ts b/apps/vue/src/api/oss-management/files/private/index.ts similarity index 59% rename from apps/vue/src/api/oss-management/private.ts rename to apps/vue/src/api/oss-management/files/private/index.ts index bf8e5fc70..7b0b75636 100644 --- a/apps/vue/src/api/oss-management/private.ts +++ b/apps/vue/src/api/oss-management/files/private/index.ts @@ -1,15 +1,8 @@ +import { OssObject } from '../../objects/model'; +import { FileShare, FileShareInput, MyFileShare } from '../share/model'; import { defHttp } from '/@/utils/http/axios'; -import { FileShare, FileShareInput, MyFileShare, OssObject } from './model/ossModel'; -import { format } from '/@/utils/strings'; import { AxiosResponse } from 'axios'; -enum Api { - Upload = '/api/api/files/private', - Get = '/api/api/files/private/p/{path}/{name}', - GetList = '/api/files/private/search', - Share = '/api/files/private/share', -} - export const formatUrl = (url: string) => { // 格式化路径为用户目录 return `/api/api/files/static/users/p/${url}`; @@ -20,7 +13,7 @@ export const upload = (file: Blob, path: string, name: string) => { defHttp .uploadFile( { - url: Api.Upload, + url: '/api/api/files/private', }, { data: { path: path, object: name }, @@ -34,42 +27,30 @@ export const upload = (file: Blob, path: string, name: string) => { reject(err); }); }); - // return defHttp.uploadFile( - // { - // url: format(Api.Upload, { path: path, name: name }), - // data: { file: file }, - // method: 'POST', - // headers: { - // 'Content-Type': ContentTypeEnum.FORM_DATA, - // }, - // }, - // { - // formatDate: false, - // }); }; export const get = (path: string, name: string) => { return defHttp.get({ - url: format(Api.Get, { name: name, path: path }), + url: `/api/api/files/private/p/${path}/${name}`, }); }; export const getList = (input: { path?: string; filter?: string; maxResultCount?: number }) => { return defHttp.get>({ - url: Api.GetList, + url: '/api/files/private/search', params: input, }); }; export const share = (input: FileShareInput) => { return defHttp.post({ - url: Api.Share, + url: '/api/files/private/share', data: input, }); }; export const getShareList = () => { return defHttp.get>({ - url: Api.Share, + url: '/api/files/private/share', }); }; diff --git a/apps/vue/src/api/oss-management/share.ts b/apps/vue/src/api/oss-management/files/private/model/index.ts similarity index 100% rename from apps/vue/src/api/oss-management/share.ts rename to apps/vue/src/api/oss-management/files/private/model/index.ts diff --git a/apps/vue/src/api/oss-management/public.ts b/apps/vue/src/api/oss-management/files/public/index.ts similarity index 72% rename from apps/vue/src/api/oss-management/public.ts rename to apps/vue/src/api/oss-management/files/public/index.ts index fe765cf6e..eddf27d5d 100644 --- a/apps/vue/src/api/oss-management/public.ts +++ b/apps/vue/src/api/oss-management/files/public/index.ts @@ -1,14 +1,7 @@ +import { OssObject } from '../../objects/model'; import { defHttp } from '/@/utils/http/axios'; -import { OssObject } from './model/ossModel'; -import { format } from '/@/utils/strings'; import { AxiosResponse } from 'axios'; -enum Api { - Upload = '/api/api/files/public/{path}/{name}', - Get = '/api/api/files/public/p/{path}/{name}', - GetList = '/api/files/public/search', -} - export const formatUrl = (url: string) => { // 格式化路径为公共目录 return `/api/api/files/static/public/p/${url}`; @@ -19,7 +12,7 @@ export const upload = (file: Blob, path: string, name: string) => { defHttp .uploadFile( { - url: Api.Upload, + url: `/api/api/files/public/upload`, }, { data: { path: path, object: name }, @@ -37,13 +30,13 @@ export const upload = (file: Blob, path: string, name: string) => { export const get = (path: string, name: string) => { return defHttp.get({ - url: format(Api.Get, { name: name, path: path }), + url: `/api/api/files/public/p/${path}/${name}`, }); }; export const getList = (input: { path?: string; filter?: string; maxResultCount?: number }) => { return defHttp.get>({ - url: Api.GetList, + url: '/api/files/public/search', params: input, }); }; diff --git a/apps/vue/src/api/oss-management/files/share/index.ts b/apps/vue/src/api/oss-management/files/share/index.ts new file mode 100644 index 000000000..e69de29bb diff --git a/apps/vue/src/api/oss-management/files/share/model/index.ts b/apps/vue/src/api/oss-management/files/share/model/index.ts new file mode 100644 index 000000000..24e8f6001 --- /dev/null +++ b/apps/vue/src/api/oss-management/files/share/model/index.ts @@ -0,0 +1,26 @@ +export interface FileShareInput { + name: string; + path?: string; + roles?: string[]; + users?: string[]; + expirationTime?: Date; + maxAccessCount: number; +} + +export interface FileShare { + url: string; + expirationTime?: Date; + maxAccessCount: number; +} + +export interface MyFileShare { + name: string; + path?: string; + roles?: string[]; + users?: string[]; + md5: string; + url: string; + accessCount: number; + expirationTime?: Date; + maxAccessCount: number; +} \ No newline at end of file diff --git a/apps/vue/src/api/oss-management/model/ossModel.ts b/apps/vue/src/api/oss-management/model/ossModel.ts deleted file mode 100644 index 8acc6963c..000000000 --- a/apps/vue/src/api/oss-management/model/ossModel.ts +++ /dev/null @@ -1,108 +0,0 @@ -export enum FileType { - Folder = 0, - File = 1, -} - -export interface OssContainer { - name: string; - size?: number; - creationDate: Date; - lastModifiedDate?: Date; - metadata: { [key: string]: string }; -} - -export interface OssContainersResult { - prefix: string; - marker: string; - nextMarker: string; - maxKeys: number; - containers: OssContainer[]; -} - -export interface OssObject { - isFolder: boolean; - name: string; - path: string; - size?: number; - extension: string; - creationTime: Date; - lastModifiedDate?: Date; - metadata: { [key: string]: string }; -} - -export interface OssObjectCreate { - bucket: string; - path: string; - object: string; - overwrite: boolean; - expirationTime?: number; -} - -export interface OssObjectsResult { - bucket: string; - prefix: string; - delimiter: string; - marker: string; - nextMarker: string; - maxKeys: number; - objects: OssObject[]; -} - -export interface OssCopyOrMove { - path: string; - name: string; - toPath: string; - toName?: string; -} - -export interface OssObjectBulkDelete { - bucket: string; - path?: string; - objects: string[]; -} - -export interface FileShareInput { - name: string; - path?: string; - roles?: string[]; - users?: string[]; - expirationTime?: Date; - maxAccessCount: number; -} - -export interface FileShare { - url: string; - expirationTime?: Date; - maxAccessCount: number; -} - -export interface MyFileShare { - name: string; - path?: string; - roles?: string[]; - users?: string[]; - md5: string; - url: string; - accessCount: number; - expirationTime?: Date; - maxAccessCount: number; -} - -export interface GetOssContainerPagedRequest extends PagedAndSortedResultRequestDto { - prefix?: string; - marker?: string; -} - -export interface GetOssObjectPagedRequest extends PagedAndSortedResultRequestDto { - bucket?: string; - prefix?: string; - delimiter?: string; - marker?: string; - encodingType?: string; -} - -export interface GetOssObjectRequest { - bucket: string; - path: string; - object: string; -} diff --git a/apps/vue/src/api/oss-management/oss.ts b/apps/vue/src/api/oss-management/objects/index.ts similarity index 67% rename from apps/vue/src/api/oss-management/oss.ts rename to apps/vue/src/api/oss-management/objects/index.ts index 71e887a9d..9101a461a 100644 --- a/apps/vue/src/api/oss-management/oss.ts +++ b/apps/vue/src/api/oss-management/objects/index.ts @@ -1,37 +1,21 @@ -import { defAbpHttp } from '/@/utils/http/abp'; +import { defHttp } from '/@/utils/http/axios'; import { OssObject, OssObjectCreate, OssObjectBulkDelete, - OssContainer, + OssObjectsResult, GetOssObjectRequest, GetOssObjectPagedRequest, - OssObjectsResult, - GetOssContainerPagedRequest, - OssContainersResult, -} from './model/ossModel'; -import { format } from '/@/utils/strings'; +} from './model'; import { AxiosResponse } from 'axios'; import { isFunction } from '/@/utils/is'; import { UploadFileParams } from '/#/axios'; import { useAbpStoreWithOut } from '/@/store/modules/abp'; +import { format } from '/@/utils/strings'; +import { ContentTypeEnum } from '/@/enums/httpEnum'; -enum Api { - CreateObject = '/api/oss-management/objects', - DeleteObject = '/api/oss-management/objects', - BulkDeleteObject = '/api/oss-management/objects/bulk-delete', - GetObject = '/api/oss-management/objects', - GetObjects = '/api/oss-management/containes/objects', - CreateContainer = '/api/oss-management/containes/{name}', - DeleteContainer = '/api/oss-management/containes/{name}', - GetContainer = '/api/oss-management/containes/{name}', - GetContainers = '/api/oss-management/containes', - UploadObject = '/api/api/oss-management/objects/upload', - DownloadObject = '/api/api/files/static/{bucket}/p/{path}/{name}', -} - -export const uploadUrl = Api.UploadObject; -export const downloadUrl = Api.DownloadObject; +export const uploadUrl = '/api/api/oss-management/objects/upload'; +export const downloadUrl = '/api/api/files/static/{bucket}/p/{path}/{name}'; export function generateOssUrl(bucket: string, path: string, object: string) { if (path) { @@ -45,7 +29,7 @@ export function generateOssUrl(bucket: string, path: string, object: string) { } export const downloadBlob = (bucket: string, path: string, object: string) => { - return defAbpHttp.get({ + return defHttp.get({ url: generateOssUrl(bucket, path, object), headers: { accept: 'application/json', @@ -127,7 +111,7 @@ export const uploadObject = (params: UploadFileParams, event: any) => { path: params.data?.path, fileName: fileName, }; - return defAbpHttp + return defHttp .uploadFile(requestConfig, { data: requestData, file: fileData, @@ -155,73 +139,49 @@ export const uploadObject = (params: UploadFileParams, event: any) => { }); }; -export const createContainer = (name: string) => { - return defAbpHttp.post({ - url: format(Api.CreateContainer, { name: name }), - }); -}; - -export const deleteContainer = (name: string) => { - return defAbpHttp.delete({ - url: format(Api.GetContainer, { name: name }), - }); -}; - -export const getContainer = (name: string) => { - return defAbpHttp.get({ - url: format(Api.GetContainer, { name: name }), - }); -}; - -export const getContainers = (input: GetOssContainerPagedRequest) => { - return defAbpHttp.get({ - url: Api.GetContainers, - params: input, - }); -}; - export const createObject = (input: OssObjectCreate, file?: Blob) => { - return defAbpHttp.request({ - service: 'AbpOssManagement', - controller: 'OssObject', - action: 'CreateAsync', - data: { - Bucket: input.bucket, - Path: input.path, - FileName: input.object, - Overwrite: input.overwrite, - ExpirationTime: input.expirationTime, - File: file, + const formData = new window.FormData(); + formData.append('bucket', input.bucket); + formData.append('path', input.path); + formData.append('fileName', input.object); + formData.append('overwrite', String(input.overwrite)); + input.expirationTime && formData.append('expirationTime', input.expirationTime.toString()); + file && formData.append('file', file); + return defHttp.post({ + url: '/api/oss-management/objects', + headers: { + 'Content-type': ContentTypeEnum.FORM_DATA, }, + data: formData, }); }; export const deleteObject = (input: GetOssObjectRequest) => { - return defAbpHttp.delete( + return defHttp.delete( { - url: Api.DeleteObject, + url: '/api/oss-management/objects', params: input, }, ); }; export const bulkDeleteObject = (input: OssObjectBulkDelete) => { - return defAbpHttp.post({ - url: Api.BulkDeleteObject, + return defHttp.post({ + url: '/api/oss-management/objects/bulk-delete', data: input, }); } export const getObject = (input: GetOssObjectRequest) => { - return defAbpHttp.get({ - url: Api.GetObject, + return defHttp.get({ + url: '/api/oss-management/objects', params: input, }); }; export const getObjects = (input: GetOssObjectPagedRequest) => { - return defAbpHttp.get({ - url: Api.GetObjects, + return defHttp.get({ + url: '/api/oss-management/containes/objects', params: input, }); }; diff --git a/apps/vue/src/api/oss-management/objects/model/index.ts b/apps/vue/src/api/oss-management/objects/model/index.ts new file mode 100644 index 000000000..af864f055 --- /dev/null +++ b/apps/vue/src/api/oss-management/objects/model/index.ts @@ -0,0 +1,60 @@ +export enum FileType { + Folder = 0, + File = 1, + } + +export interface OssObject { + isFolder: boolean; + name: string; + path: string; + size?: number; + extension: string; + creationTime: Date; + lastModifiedDate?: Date; + metadata: { [key: string]: string }; + } + + export interface OssObjectCreate { + bucket: string; + path: string; + object: string; + overwrite: boolean; + expirationTime?: number; + } + + export interface OssObjectsResult { + bucket: string; + prefix: string; + delimiter: string; + marker: string; + nextMarker: string; + maxKeys: number; + objects: OssObject[]; + } + + export interface OssCopyOrMove { + path: string; + name: string; + toPath: string; + toName?: string; + } + + export interface OssObjectBulkDelete { + bucket: string; + path?: string; + objects: string[]; + } + + export interface GetOssObjectPagedRequest extends PagedAndSortedResultRequestDto { + bucket?: string; + prefix?: string; + delimiter?: string; + marker?: string; + encodingType?: string; + } + + export interface GetOssObjectRequest { + bucket: string; + path: string; + object: string; + } diff --git a/apps/vue/src/api/platform/dataDic.ts b/apps/vue/src/api/platform/datas/index.ts similarity index 56% rename from apps/vue/src/api/platform/dataDic.ts rename to apps/vue/src/api/platform/datas/index.ts index 14eed39fc..7b786472f 100644 --- a/apps/vue/src/api/platform/dataDic.ts +++ b/apps/vue/src/api/platform/datas/index.ts @@ -8,83 +8,69 @@ import { UpdateData, CreateDataItem, UpdateDataItem, -} from './model/dataModel'; -import { format } from '/@/utils/strings'; - -enum Api { - GetById = '/api/platform/datas/{id}', - GetByName = '/api/platform/datas/by-name/{name}', - GetList = '/api/platform/datas', - GetAll = '/api/platform/datas/all', - Create = '/api/platform/datas', - CreateItem = '/api/platform/datas/{id}/items', - Delete = '/api/platform/datas/{id}', - DeleteItem = '/api/platform/datas/{id}/items/{name}', - Update = '/api/platform/datas/{id}', - UpdateItem = '/api/platform/datas/{id}/items/{name}', -} +} from './model'; export const create = (input: CreateData) => { return defHttp.post({ - url: Api.Create, + url: '/api/platform/datas', data: input, }); }; export const createItem = (id: string, input: CreateDataItem) => { return defHttp.post({ - url: format(Api.CreateItem, { id: id }), + url: `/api/platform/datas/${id}/items`, data: input, }); }; export const update = (id: string, input: UpdateData) => { return defHttp.put({ - url: format(Api.Update, { id: id }), + url: `/api/platform/datas/${id}`, data: input, }); }; export const updateItem = (id: string, name: string, input: UpdateDataItem) => { return defHttp.put({ - url: format(Api.UpdateItem, { id: id, name: name }), + url: `/api/platform/datas/${id}/items/${name}`, data: input, }); }; export const remove = (id: string) => { return defHttp.delete({ - url: format(Api.Delete, { id: id }), + url: `/api/platform/datas/${id}`, }); }; export const removeItem = (id: string, name: string) => { return defHttp.delete({ - url: format(Api.DeleteItem, { id: id, name: name }), + url: `/api/platform/datas/${id}/items/${name}`, }); }; export const get = (id: string) => { return defHttp.get({ - url: format(Api.GetById, { id: id }), + url: `/api/platform/datas/${id}`, }); }; export const getByName = (name: string) => { return defHttp.get({ - url: format(Api.GetByName, { name: name }), + url: `/api/platform/datas/by-name/${name}`, }); }; export const getList = (input: GetDataByPaged) => { return defHttp.get({ - url: Api.GetList, + url: '/api/platform/datas', params: input, }); }; export const getAll = () => { return defHttp.get({ - url: Api.GetAll, + url: '/api/platform/datas/all', }); }; diff --git a/apps/vue/src/api/platform/model/dataModel.ts b/apps/vue/src/api/platform/datas/model/index.ts similarity index 83% rename from apps/vue/src/api/platform/model/dataModel.ts rename to apps/vue/src/api/platform/datas/model/index.ts index ac008e450..c871db4cd 100644 --- a/apps/vue/src/api/platform/model/dataModel.ts +++ b/apps/vue/src/api/platform/datas/model/index.ts @@ -1,5 +1,13 @@ -import { DataItem } from './dataItemModel'; - + export interface DataItem { + id: string; + allowBeNull: boolean; + defaultValue?: string; + description?: string; + displayName: string; + name: string; + valueType: ValueType; + } + export interface Data { id: string; name: string; diff --git a/apps/vue/src/api/platform/layout.ts b/apps/vue/src/api/platform/layouts/index.ts similarity index 59% rename from apps/vue/src/api/platform/layout.ts rename to apps/vue/src/api/platform/layouts/index.ts index db5c7adb4..ba72058b4 100644 --- a/apps/vue/src/api/platform/layout.ts +++ b/apps/vue/src/api/platform/layouts/index.ts @@ -1,5 +1,4 @@ import { defHttp } from '/@/utils/http/axios'; -import { format } from '/@/utils/strings'; import { CreateLayout, Layout, @@ -7,52 +6,43 @@ import { LayoutListResult, GetLayoutPagedRequest, LayoutPagedResult, -} from './model/layoutModel'; - -enum Api { - GetById = '/api/platform/layouts/{id}', - GetList = '/api/platform/layouts', - GetAll = '/api/platform/layouts/all', - Create = '/api/platform/layouts', - Delete = '/api/platform/layouts/{id}', - Update = '/api/platform/layouts/{id}', -} +} from './model'; export const create = (input: CreateLayout) => { return defHttp.post({ - url: Api.Create, + url: '/api/platform/layouts', data: input, }); }; export const update = (id: string, input: UpdateLayout) => { return defHttp.put({ - url: format(Api.Update, { id: id }), + url: `/api/platform/layouts/${id}`, data: input, }); }; export const get = (id: string) => { return defHttp.get({ - url: format(Api.GetById, { id: id }), + url: `/api/platform/layouts/${id}`, }); }; export const getAll = () => { return defHttp.get({ - url: Api.GetAll, + url: '/api/platform/layouts/all', }); }; export const getList = (input: GetLayoutPagedRequest) => { return defHttp.get({ - url: Api.GetList, + url: '/api/platform/layouts', params: input, }); }; export const deleteById = (id: string) => { return defHttp.delete({ - url: format(Api.Delete, { id: id }), + url: `/api/platform/layouts/${id}`, }); }; diff --git a/apps/vue/src/api/platform/layouts/model/index.ts b/apps/vue/src/api/platform/layouts/model/index.ts new file mode 100644 index 000000000..b055bbe50 --- /dev/null +++ b/apps/vue/src/api/platform/layouts/model/index.ts @@ -0,0 +1,40 @@ +export interface Route { + id: string; + name: string; + path: string; + displayName: string; + description?: string; + redirect?: string; + meta: { [key: string]: any }; + } + + +export interface Layout extends Route { + framework: string; + dataId: string; +} + +export interface LayoutListResult extends ListResultDto {} + +export interface LayoutPagedResult extends PagedResultDto {} + +export interface CreateOrUpdateLayout { + name: string; + path: string; + displayName: string; + description?: string; + redirect?: string; +} + +export interface CreateLayout extends CreateOrUpdateLayout { + dataId: string; + framework: string; +} + +export type UpdateLayout = CreateOrUpdateLayout; + +export interface GetLayoutPagedRequest extends PagedAndSortedResultRequestDto { + filter?: string; + reverse?: boolean; + framework?: string; +} diff --git a/apps/vue/src/api/platform/menu.ts b/apps/vue/src/api/platform/menu.ts deleted file mode 100644 index 2f493fe03..000000000 --- a/apps/vue/src/api/platform/menu.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { format } from '/@/utils/strings'; -import { - Menu, - CreateMenu, - UpdateMenu, - GetAllMenuRequest, - MenuListResult, - GetMenuPagedRequest, - MenuPagedResult, - UserMenu, - RoleMenu, -} from './model/menuModel'; - -enum Api { - GetById = '/api/platform/menus/{id}', - GetList = '/api/platform/menus', - GetAll = '/api/platform/menus/all', - GetUserMenus = '/api/platform/menus/by-user/{userId}/{framework}', - SetUserMenus = '/api/platform/menus/by-user', - SetUserStartup = '/api/platform/menus/startup/{id}/by-user', - GetRoleMenus = '/api/platform/menus/by-role/{role}/{framework}', - SetRoleMenus = '/api/platform/menus/by-role', - SetRoleStartup = '/api/platform/menus/startup/{id}/by-role', - GetMyMenus = '/api/platform/menus/by-current-user', - Create = '/api/platform/menus', - Delete = '/api/platform/menus/{id}', - Update = '/api/platform/menus/{id}', -} - -export const create = (input: CreateMenu) => { - return defHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const update = (id: string, input: UpdateMenu) => { - return defHttp.put({ - url: format(Api.Update, { id: id }), - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defHttp.delete({ - url: format(Api.Delete, { id: id }), - }); -}; - -export const getById = (id: string) => { - return defHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getAll = (input: GetAllMenuRequest) => { - return defHttp.get({ - url: Api.GetAll, - params: input, - }); -}; - -export const getList = (input: GetMenuPagedRequest) => { - return defHttp.get({ - url: Api.GetList, - params: input, - }); -}; - -export const getListByUser = (userId: string, framework: string) => { - return defHttp.get({ - url: format(Api.GetUserMenus, { userId: userId, framework: framework }), - }); -}; - -export const getListByRole = (role: string, framework: string) => { - return defHttp.get({ - url: format(Api.GetRoleMenus, { role: role, framework: framework }), - }); -}; - -export const setUserMenu = (input: UserMenu) => { - return defHttp.put({ - url: Api.SetUserMenus, - data: input, - }); -}; - -export const setUserStartupMenu = (userId: string, menuId: string) => { - return defHttp.put({ - url: format(Api.SetUserStartup, { id: menuId }), - data: { - userId: userId, - }, - }); -}; - -export const setRoleMenu = (input: RoleMenu) => { - return defHttp.put({ - url: Api.SetRoleMenus, - data: input, - }); -}; - -export const setRoleStartupMenu = (roleName: string, menuId: string) => { - return defHttp.put({ - url: format(Api.SetRoleStartup, { id: menuId }), - data: { - roleName: roleName, - }, - }); -}; diff --git a/apps/vue/src/api/platform/menus/index.ts b/apps/vue/src/api/platform/menus/index.ts new file mode 100644 index 000000000..c2aa64370 --- /dev/null +++ b/apps/vue/src/api/platform/menus/index.ts @@ -0,0 +1,94 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + Menu, + CreateMenu, + UpdateMenu, + GetAllMenuRequest, + GetMenuPagedRequest, + UserMenu, + RoleMenu, +} from './model'; + +export const create = (input: CreateMenu) => { + return defHttp.post({ + url: '/api/platform/menus', + data: input, + }); +}; + +export const update = (id: string, input: UpdateMenu) => { + return defHttp.put({ + url: `/api/platform/menus/${id}`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/platform/menus/${id}`, + }); +}; + +export const getById = (id: string) => { + return defHttp.get({ + url: `/api/platform/menus/${id}`, + }); +}; + +export const getAll = (input: GetAllMenuRequest) => { + return defHttp.get>({ + url: '/api/platform/menus/all', + params: input, + }); +}; + +export const getList = (input: GetMenuPagedRequest) => { + return defHttp.get>({ + url: '/api/platform/menus', + params: input, + }); +}; + +export const getListByUser = (userId: string, framework: string) => { + return defHttp.get>({ + url: `/api/platform/menus/by-user/${userId}/${framework}`, + }); +}; + +export const getListByRole = (role: string, framework: string) => { + return defHttp.get>({ + url: `/api/platform/menus/by-role/${role}/${framework}`, + }); +}; + +export const setUserMenu = (input: UserMenu) => { + return defHttp.put({ + url: '/api/platform/menus/by-user', + data: input, + }); +}; + +export const setUserStartupMenu = (userId: string, menuId: string) => { + return defHttp.put({ + url: `/api/platform/menus/startup/${menuId}/by-user`, + data: { + userId: userId, + }, + }); +}; + +export const setRoleMenu = (input: RoleMenu) => { + return defHttp.put({ + url: '/api/platform/menus/by-role', + data: input, + }); +}; + +export const setRoleStartupMenu = (roleName: string, menuId: string) => { + return defHttp.put({ + url: `/api/platform/menus/startup/${menuId}/by-role`, + data: { + roleName: roleName, + }, + }); +}; diff --git a/apps/vue/src/api/platform/menus/model/index.ts b/apps/vue/src/api/platform/menus/model/index.ts new file mode 100644 index 000000000..04342f585 --- /dev/null +++ b/apps/vue/src/api/platform/menus/model/index.ts @@ -0,0 +1,56 @@ +import { Route } from "../../layouts/model"; + +export interface CreateOrUpdateMenu { + name: string; + path: string; + component: string; + displayName: string; + description?: string; + redirect?: string; + isPublic: boolean; + meta: { [key: string]: any }; +} + +export interface CreateMenu extends CreateOrUpdateMenu { + layoutId: string; + parentId?: string; +} + +export type UpdateMenu = CreateOrUpdateMenu; + +export interface GetAllMenuRequest extends SortedResultRequest { + filter?: string; + sorting?: string; + parentId?: string; + layoutId?: string; + framework?: string; +} + +export interface GetMenuPagedRequest extends PagedAndSortedResultRequestDto { + filter?: string; + reverse?: boolean; + layoutId?: string; + parentId?: string; + framework?: string; +} + +export interface Menu extends Route { + code: string; + layoutId: string; + component: string; + framework: string; + parentId?: string; + isPubli: boolean; + startup: boolean; + children?: Menu[]; +} + +export interface RoleMenu { + roleName: string; + menuIds: string[]; +} + +export interface UserMenu { + userId: string; + menuIds: string[]; +} diff --git a/apps/vue/src/api/platform/model/basicModel.ts b/apps/vue/src/api/platform/model/basicModel.ts deleted file mode 100644 index 2f2b00fc9..000000000 --- a/apps/vue/src/api/platform/model/basicModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -export class Route { - id!: string; - name!: string; - path!: string; - displayName!: string; - description?: string; - redirect?: string; - meta: { [key: string]: any } = {}; -} diff --git a/apps/vue/src/api/platform/model/dataItemModel.ts b/apps/vue/src/api/platform/model/dataItemModel.ts deleted file mode 100644 index 41b5076f4..000000000 --- a/apps/vue/src/api/platform/model/dataItemModel.ts +++ /dev/null @@ -1,19 +0,0 @@ -export enum ValueType { - String = 0, - Numeic = 1, - Boolean = 2, - Date = 3, - DateTime = 4, - Array = 5, - Object = 6, -} - -export interface DataItem { - id: string; - allowBeNull: boolean; - defaultValue?: string; - description?: string; - displayName: string; - name: string; - valueType: ValueType; -} diff --git a/apps/vue/src/api/platform/model/layoutModel.ts b/apps/vue/src/api/platform/model/layoutModel.ts deleted file mode 100644 index 05a14a516..000000000 --- a/apps/vue/src/api/platform/model/layoutModel.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Route } from './basicModel'; - -export class Layout extends Route { - framework!: string; - dataId!: string; -} - -export interface LayoutListResult extends ListResultDto {} - -export interface LayoutPagedResult extends PagedResultDto {} - -export class CreateOrUpdateLayout { - name!: string; - path!: string; - displayName!: string; - description?: string; - redirect?: string; -} - -export class CreateLayout extends CreateOrUpdateLayout { - dataId!: string; - framework!: string; -} - -export class UpdateLayout extends CreateOrUpdateLayout {} - -export interface GetLayoutPagedRequest extends PagedAndSortedResultRequestDto { - filter?: string; - reverse?: boolean; - framework?: string; -} diff --git a/apps/vue/src/api/platform/model/menuModel.ts b/apps/vue/src/api/platform/model/menuModel.ts deleted file mode 100644 index 396a133c7..000000000 --- a/apps/vue/src/api/platform/model/menuModel.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { Route } from './basicModel'; - -export class CreateOrUpdateMenu { - name!: string; - path!: string; - component!: string; - displayName!: string; - description?: string; - redirect?: string; - isPublic!: boolean; - meta: { [key: string]: any } = {}; -} - -export class CreateMenu extends CreateOrUpdateMenu { - layoutId!: string; - parentId?: string; -} - -export class UpdateMenu extends CreateOrUpdateMenu {} - -export interface GetAllMenuRequest extends SortedResultRequest { - filter?: string; - sorting?: string; - parentId?: string; - layoutId?: string; - framework?: string; -} - -export interface GetMenuPagedRequest extends PagedAndSortedResultRequestDto { - filter?: string; - reverse?: boolean; - layoutId?: string; - parentId?: string; - framework?: string; -} - -export class Menu extends Route { - code!: string; - layoutId!: string; - component!: string; - framework = ''; - parentId?: string; - isPublic = false; - startup = false; - children = new Array(); -} - -export interface MenuListResult extends ListResultDto {} - -export interface MenuPagedResult extends PagedResultDto {} - -export class RoleMenu { - roleName!: string; - menuIds = new Array(); -} - -export class UserMenu { - userId!: string; - menuIds = new Array(); -} diff --git a/apps/vue/src/api/sys/menu.ts b/apps/vue/src/api/sys/menu.ts index 8b52d14ee..7428496f9 100644 --- a/apps/vue/src/api/sys/menu.ts +++ b/apps/vue/src/api/sys/menu.ts @@ -10,6 +10,7 @@ export const getMenuList = () => { service: 'Platform', controller: 'Menu', action: 'GetCurrentUserMenuListAsync', + uniqueName: 'GetCurrentUserMenuListAsyncByInput', params: { input: { framework: 'Vue Vben Admin', diff --git a/apps/vue/src/api/task-management/actions/index.ts b/apps/vue/src/api/task-management/actions/index.ts new file mode 100644 index 000000000..723ec6945 --- /dev/null +++ b/apps/vue/src/api/task-management/actions/index.ts @@ -0,0 +1,41 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + BackgroundJobAction, + BackgroundJobActionDefinition, + CreateBackgroundJobAction, + UpdateBackgroundJobAction, + BackgroundJobActionGetDefinitionsInput +} from './model'; + +export const addAction = (jobId: string, input: CreateBackgroundJobAction) => { + return defHttp.post({ + url: `/api/task-management/background-jobs/actions/${jobId}`, + data: input, + }); +}; + +export const updateAction = (id: string, input: UpdateBackgroundJobAction) => { + return defHttp.put({ + url: `/api/task-management/background-jobs/actions/${id}`, + data: input, + }); +}; + +export const deleteAction = (id: string) => { + return defHttp.delete({ + url: `/api/task-management/background-jobs/actions/${id}`, + }); +}; + +export const getActions = (jobId: string) => { + return defHttp.get>({ + url: `/api/task-management/background-jobs/actions/${jobId}`, + }); +}; + +export const getDefinitions = (input: BackgroundJobActionGetDefinitionsInput) => { + return defHttp.get>({ + url: '/api/task-management/background-jobs/actions/definitions', + params: input, + }); +}; diff --git a/apps/vue/src/api/task-management/actions/model/index.ts b/apps/vue/src/api/task-management/actions/model/index.ts new file mode 100644 index 000000000..2eea8c530 --- /dev/null +++ b/apps/vue/src/api/task-management/actions/model/index.ts @@ -0,0 +1,44 @@ +export enum JobActionType { + Failed = -1, + Successed = 0, + } + + export interface BackgroundJobAction { + id: string; + jobId: string; + name: string; + displayName?: string; + isEnabled: boolean; + paramters: ExtraPropertyDictionary; + } + + export interface BackgroundJobActionParamter { + name: string; + required: boolean; + displayName: string; + description?: string; + } + + export interface BackgroundJobActionDefinition { + name: string; + type: JobActionType; + displayName: string; + description?: string; + paramters: BackgroundJobActionParamter[]; + } + + export interface CreateBackgroundJobAction { + name: string; + isEnabled: boolean; + paramters: ExtraPropertyDictionary; + } + + export interface UpdateBackgroundJobAction { + isEnabled: boolean; + paramters: ExtraPropertyDictionary; + } + + export interface BackgroundJobActionGetDefinitionsInput { + type?: JobActionType; + } + \ No newline at end of file diff --git a/apps/vue/src/api/task-management/backgroundJobAction.ts b/apps/vue/src/api/task-management/backgroundJobAction.ts deleted file mode 100644 index 6d2cd306b..000000000 --- a/apps/vue/src/api/task-management/backgroundJobAction.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - BackgroundJobAction, - BackgroundJobActionDefinition, - CreateBackgroundJobAction, - UpdateBackgroundJobAction, - BackgroundJobActionGetDefinitionsInput -} from './model/backgroundJobActionModel'; -import { format } from '/@/utils/strings'; - -enum Api { - AddAction = '/api/task-management/background-jobs/actions/{jobId}', - UpdateAction = '/api/task-management/background-jobs/actions/{id}', - DeleteAction = '/api/task-management/background-jobs/actions/{id}', - GetActions = '/api/task-management/background-jobs/actions/{jobId}', - GetDefinitions = '/api/task-management/background-jobs/actions/definitions', -} - -export const addAction = (jobId: string, input: CreateBackgroundJobAction) => { - return defAbpHttp.post({ - url: format(Api.AddAction, { jobId: jobId }), - data: input, - }); -}; - -export const updateAction = (id: string, input: UpdateBackgroundJobAction) => { - return defAbpHttp.put({ - url: format(Api.UpdateAction, { id: id }), - data: input, - }); -}; - -export const deleteAction = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.DeleteAction, { id: id }), - }); -}; - -export const getActions = (jobId: string) => { - return defAbpHttp.get>({ - url: format(Api.GetActions, { jobId: jobId }), - }); -}; - -export const getDefinitions = (input: BackgroundJobActionGetDefinitionsInput) => { - return defAbpHttp.get>({ - url: Api.GetDefinitions, - params: input, - }); -}; diff --git a/apps/vue/src/api/task-management/backgroundJobInfo.ts b/apps/vue/src/api/task-management/backgroundJobInfo.ts deleted file mode 100644 index 11f006a16..000000000 --- a/apps/vue/src/api/task-management/backgroundJobInfo.ts +++ /dev/null @@ -1,168 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - BackgroundJobInfo, - BackgroundJobInfoCreate, - BackgroundJobInfoUpdate, - BackgroundJobDefinition, - BackgroundJobInfoGetListInput, -} from './model/backgroundJobInfoModel'; -import { format } from '/@/utils/strings'; -import { DefineParamter, DynamicQueryable } from '/@/components/Table/src/types/advancedSearch'; - -enum Api { - GetById = '/api/task-management/background-jobs/{id}', - GetList = '/api/task-management/background-jobs', - Create = '/api/task-management/background-jobs', - Update = '/api/task-management/background-jobs/{id}', - Delete = '/api/task-management/background-jobs/{id}', - Pause = '/api/task-management/background-jobs/{id}/pause', - Resume = '/api/task-management/background-jobs/{id}/resume', - Trigger = '/api/task-management/background-jobs/{id}/trigger', - Start = '/api/task-management/background-jobs/{id}/start', - Stop = '/api/task-management/background-jobs/{id}/stop', - BulkPause = '/api/task-management/background-jobs/bulk-pause', - BulkResume = '/api/task-management/background-jobs/bulk-resume', - BulkTrigger = '/api/task-management/background-jobs/bulk-trigger', - BulkStart = '/api/task-management/background-jobs/bulk-start', - BulkStop = '/api/task-management/background-jobs/bulk-stop', - BulkDelete = '/api/task-management/background-jobs/bulk-delete', - GetDefinitions = '/api/task-management/background-jobs/definitions', - GetAvailableFields = '/api/task-management/background-jobs/available-fields', - AdvancedSearch = '/api/task-management/background-jobs/search', -} - -export const getById = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: BackgroundJobInfoGetListInput) => { - return defAbpHttp.get>({ - url: Api.GetList, - params: input, - }); -}; - -export const getAvailableFields = () => { - return defAbpHttp.get>({ - url: Api.GetAvailableFields, - }); -} - -export const advancedSearch = (input: DynamicQueryable) => { - return defAbpHttp.post>({ - url: Api.AdvancedSearch, - data: input, - }); -} - -export const getDefinitions = () => { - return defAbpHttp.get>({ - url: Api.GetDefinitions, - }); -}; - -export const create = (input: BackgroundJobInfoCreate) => { - return defAbpHttp.post({ - url: Api.Create, - data: input, - }); -}; - -export const update = (id: string, input: BackgroundJobInfoUpdate) => { - return defAbpHttp.put({ - url: format(Api.Update, { id: id }), - data: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.Delete, { id: id }), - }); -}; - -export const pause = (id: string) => { - return defAbpHttp.put({ - url: format(Api.Pause, { id: id }), - }); -}; - -export const resume = (id: string) => { - return defAbpHttp.put({ - url: format(Api.Resume, { id: id }), - }); -}; - -export const trigger = (id: string) => { - return defAbpHttp.put({ - url: format(Api.Trigger, { id: id }), - }); -}; - -export const start = (id: string) => { - return defAbpHttp.put({ - url: format(Api.Stop, { id: id }), - }); -}; - -export const stop = (id: string) => { - return defAbpHttp.put({ - url: format(Api.Stop, { id: id }), - }); -}; - -export const bulkPause = (ids: string[]) => { - return defAbpHttp.put({ - url: Api.BulkPause, - data: { - jobIds: ids, - }, - }); -}; - -export const bulkResume = (ids: string[]) => { - return defAbpHttp.put({ - url: Api.BulkResume, - data: { - jobIds: ids, - }, - }); -}; - -export const bulkTrigger = (ids: string[]) => { - return defAbpHttp.put({ - url: Api.BulkTrigger, - data: { - jobIds: ids, - }, - }); -}; - -export const bulkStart = (ids: string[]) => { - return defAbpHttp.put({ - url: Api.BulkStart, - data: { - jobIds: ids, - }, - }); -}; - -export const bulkStop = (ids: string[]) => { - return defAbpHttp.put({ - url: Api.BulkStop, - data: { - jobIds: ids, - }, - }); -}; - -export const bulkDelete = (ids: string[]) => { - return defAbpHttp.put({ - url: Api.BulkDelete, - data: { - jobIds: ids, - }, - }); -}; diff --git a/apps/vue/src/api/task-management/backgroundJobLog.ts b/apps/vue/src/api/task-management/backgroundJobLog.ts deleted file mode 100644 index 675ff3aea..000000000 --- a/apps/vue/src/api/task-management/backgroundJobLog.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { defAbpHttp } from '/@/utils/http/abp'; -import { - BackgroundJobLog, - BackgroundJobLogGetListInput, -} from './model/backgroundJobLogModel'; -import { format } from '/@/utils/strings'; - -enum Api { - GetById = '/api/task-management/background-jobs/logs/{id}', - GetList = '/api/task-management/background-jobs/logs', - Delete = '/api/task-management/background-jobs/logs/{id}', -} - -export const getById = (id: string) => { - return defAbpHttp.get({ - url: format(Api.GetById, { id: id }), - }); -}; - -export const getList = (input: BackgroundJobLogGetListInput) => { - return defAbpHttp.get>({ - url: Api.GetList, - params: input, - }); -}; - -export const deleteById = (id: string) => { - return defAbpHttp.delete({ - url: format(Api.Delete, { id: id }), - }); -}; diff --git a/apps/vue/src/api/task-management/jobs/index.ts b/apps/vue/src/api/task-management/jobs/index.ts new file mode 100644 index 000000000..f04b9b190 --- /dev/null +++ b/apps/vue/src/api/task-management/jobs/index.ts @@ -0,0 +1,145 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + BackgroundJobInfo, + BackgroundJobInfoCreate, + BackgroundJobInfoUpdate, + BackgroundJobDefinition, + BackgroundJobInfoGetListInput, +} from './model'; +import { DefineParamter, DynamicQueryable } from '/@/components/Table/src/types/advancedSearch'; + +export const getById = (id: string) => { + return defHttp.get({ + url: `/api/task-management/background-jobs/${id}`, + }); +}; + +export const getList = (input: BackgroundJobInfoGetListInput) => { + return defHttp.get>({ + url: '/api/task-management/background-jobs', + params: input, + }); +}; + +export const getAvailableFields = () => { + return defHttp.get>({ + url: '/api/task-management/background-jobs/available-fields', + }); +} + +export const advancedSearch = (input: DynamicQueryable) => { + return defHttp.post>({ + url: '/api/task-management/background-jobs/search', + data: input, + }); +} + +export const getDefinitions = () => { + return defHttp.get>({ + url: '/api/task-management/background-jobs/definitions', + }); +}; + +export const create = (input: BackgroundJobInfoCreate) => { + return defHttp.post({ + url: '/api/task-management/background-jobs', + data: input, + }); +}; + +export const update = (id: string, input: BackgroundJobInfoUpdate) => { + return defHttp.put({ + url: `/api/task-management/background-jobs/${id}`, + data: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/task-management/background-jobs/${id}`, + }); +}; + +export const pause = (id: string) => { + return defHttp.put({ + url: `/api/task-management/background-jobs/${id}/pause`, + }); +}; + +export const resume = (id: string) => { + return defHttp.put({ + url: `/api/task-management/background-jobs/${id}/resume`, + }); +}; + +export const trigger = (id: string) => { + return defHttp.put({ + url: `/api/task-management/background-jobs/${id}/trigger`, + }); +}; + +export const start = (id: string) => { + return defHttp.put({ + url: `/api/task-management/background-jobs/${id}/start`, + }); +}; + +export const stop = (id: string) => { + return defHttp.put({ + url: `/api/task-management/background-jobs/${id}/stop`, + }); +}; + +export const bulkPause = (ids: string[]) => { + return defHttp.put({ + url: '/api/task-management/background-jobs/bulk-pause', + data: { + jobIds: ids, + }, + }); +}; + +export const bulkResume = (ids: string[]) => { + return defHttp.put({ + url: '/api/task-management/background-jobs/bulk-resume', + data: { + jobIds: ids, + }, + }); +}; + +export const bulkTrigger = (ids: string[]) => { + return defHttp.put({ + url: '/api/task-management/background-jobs/bulk-trigger', + data: { + jobIds: ids, + }, + }); +}; + +export const bulkStart = (ids: string[]) => { + return defHttp.put({ + url: '/api/task-management/background-jobs/bulk-start', + data: { + jobIds: ids, + }, + }); +}; + +export const bulkStop = (ids: string[]) => { + return defHttp.put({ + url: '/api/task-management/background-jobs/bulk-stop', + data: { + jobIds: ids, + }, + }); +}; + +export const bulkDelete = (ids: string[]) => { + return defHttp.put({ + url: '/api/task-management/background-jobs/bulk-delete', + data: { + jobIds: ids, + }, + }); +}; diff --git a/apps/vue/src/api/task-management/jobs/model/index.ts b/apps/vue/src/api/task-management/jobs/model/index.ts new file mode 100644 index 000000000..37b719929 --- /dev/null +++ b/apps/vue/src/api/task-management/jobs/model/index.ts @@ -0,0 +1,111 @@ +export enum JobStatus { + None = -1, + Completed = 0, + Queuing = 5, + Running = 10, + FailedRetry = 15, + Paused = 20, + Stopped = 30, + } + + export enum JobType { + Once, + Period, + Persistent, + } + + export enum JobSource { + None = -1, + User = 0, + System = 10, + } + + export enum JobPriority { + Low = 5, + BelowNormal = 10, + Normal = 0xF, + AboveNormal = 20, + High = 25 + } + + export interface BackgroundJobParamter { + name: string; + required: boolean; + displayName: string; + description?: string; + } + + export interface BackgroundJobDefinition { + name: string; + displayName: string; + description?: string; + paramters: BackgroundJobParamter[]; + } + + export interface BackgroundJobInfo extends ExtensibleAuditedEntityDto, IHasConcurrencyStamp { + isEnabled: boolean; + name: string; + group: string; + type: string; + result: string; + args: ExtraPropertyDictionary, + description?: string; + beginTime: Date; + endTime?: Date; + lastRunTime?: Date; + nextRunTime?: Date; + jobType: JobType; + cron: string; + triggerCount: number; + tryCount: number; + maxTryCount: number; + maxCount: number; + isAbandoned: boolean; + interval: number; + priority: JobPriority; + source: JobSource; + lockTimeOut: number; + } + + interface BackgroundJobInfoCreateOrUpdate { + isEnabled: boolean; + args: ExtraPropertyDictionary; + description?: string; + beginTime: Date; + endTime?: Date; + jobType: JobType; + cron: string; + maxCount: number; + interval: number; + priority: JobPriority; + lockTimeOut: number; + } + + export interface BackgroundJobInfoCreate extends BackgroundJobInfoCreateOrUpdate { + name: string; + group: string; + type: string; + } + + export interface BackgroundJobInfoUpdate extends BackgroundJobInfoCreateOrUpdate, IHasConcurrencyStamp { + + } + + export interface BackgroundJobInfoGetListInput extends PagedAndSortedResultRequestDto { + filter?: string; + name?: string; + group?: string; + type?: string; + status?: JobStatus; + beginTime?: Date; + endTime?: Date; + beginLastRunTime?: Date; + endLastRunTime?: Date; + beginCreationTime?: Date; + endCreationTime?: Date; + isAbandoned?: boolean; + jobType?: JobType; + priority?: JobPriority; + source?: JobSource; + } + \ No newline at end of file diff --git a/apps/vue/src/api/task-management/logs/index.ts b/apps/vue/src/api/task-management/logs/index.ts new file mode 100644 index 000000000..1be8ac11e --- /dev/null +++ b/apps/vue/src/api/task-management/logs/index.ts @@ -0,0 +1,24 @@ +import { defHttp } from '/@/utils/http/axios'; +import { + BackgroundJobLog, + BackgroundJobLogGetListInput, +} from './model'; + +export const getById = (id: string) => { + return defHttp.get({ + url: `/api/task-management/background-jobs/logs/${id}`, + }); +}; + +export const getList = (input: BackgroundJobLogGetListInput) => { + return defHttp.get>({ + url: '/api/task-management/background-jobs/logs', + params: input, + }); +}; + +export const deleteById = (id: string) => { + return defHttp.delete({ + url: `/api/task-management/background-jobs/logs/${id}`, + }); +}; diff --git a/apps/vue/src/api/task-management/logs/model/index.ts b/apps/vue/src/api/task-management/logs/model/index.ts new file mode 100644 index 000000000..b0d3ddc22 --- /dev/null +++ b/apps/vue/src/api/task-management/logs/model/index.ts @@ -0,0 +1,21 @@ +export interface BackgroundJobLog { + id: number; + jobName: string; + jobGroup: string; + jobType: string; + message: string; + runTime: Date; + exception?: string; + } + + export interface BackgroundJobLogGetListInput extends PagedAndSortedResultRequestDto { + jobId?: string; + filter?: string; + hasExceptions?: boolean; + name?: string; + group?: string; + type?: string; + beginRunTime?: Date; + endRunTime?: Date; + } + \ No newline at end of file diff --git a/apps/vue/src/api/task-management/model/backgroundJobActionModel.ts b/apps/vue/src/api/task-management/model/backgroundJobActionModel.ts deleted file mode 100644 index 1967b672b..000000000 --- a/apps/vue/src/api/task-management/model/backgroundJobActionModel.ts +++ /dev/null @@ -1,43 +0,0 @@ -export enum JobActionType { - Failed = -1, - Successed = 0, -} - -export interface BackgroundJobAction { - id: string; - jobId: string; - name: string; - displayName?: string; - isEnabled: boolean; - paramters: ExtraPropertyDictionary; -} - -export interface BackgroundJobActionParamter { - name: string; - required: boolean; - displayName: string; - description?: string; -} - -export interface BackgroundJobActionDefinition { - name: string; - type: JobActionType; - displayName: string; - description?: string; - paramters: BackgroundJobActionParamter[]; -} - -export interface CreateBackgroundJobAction { - name: string; - isEnabled: boolean; - paramters: ExtraPropertyDictionary; -} - -export interface UpdateBackgroundJobAction { - isEnabled: boolean; - paramters: ExtraPropertyDictionary; -} - -export interface BackgroundJobActionGetDefinitionsInput { - type?: JobActionType; -} diff --git a/apps/vue/src/api/task-management/model/backgroundJobInfoModel.ts b/apps/vue/src/api/task-management/model/backgroundJobInfoModel.ts deleted file mode 100644 index 50e1d0f15..000000000 --- a/apps/vue/src/api/task-management/model/backgroundJobInfoModel.ts +++ /dev/null @@ -1,110 +0,0 @@ -export enum JobStatus { - None = -1, - Completed = 0, - Queuing = 5, - Running = 10, - FailedRetry = 15, - Paused = 20, - Stopped = 30, -} - -export enum JobType { - Once, - Period, - Persistent, -} - -export enum JobSource { - None = -1, - User = 0, - System = 10, -} - -export enum JobPriority { - Low = 5, - BelowNormal = 10, - Normal = 0xF, - AboveNormal = 20, - High = 25 -} - -export interface BackgroundJobParamter { - name: string; - required: boolean; - displayName: string; - description?: string; -} - -export interface BackgroundJobDefinition { - name: string; - displayName: string; - description?: string; - paramters: BackgroundJobParamter[]; -} - -export interface BackgroundJobInfo extends ExtensibleAuditedEntityDto, IHasConcurrencyStamp { - isEnabled: boolean; - name: string; - group: string; - type: string; - result: string; - args: ExtraPropertyDictionary, - description?: string; - beginTime: Date; - endTime?: Date; - lastRunTime?: Date; - nextRunTime?: Date; - jobType: JobType; - cron: string; - triggerCount: number; - tryCount: number; - maxTryCount: number; - maxCount: number; - isAbandoned: boolean; - interval: number; - priority: JobPriority; - source: JobSource; - lockTimeOut: number; -} - -interface BackgroundJobInfoCreateOrUpdate { - isEnabled: boolean; - args: ExtraPropertyDictionary; - description?: string; - beginTime: Date; - endTime?: Date; - jobType: JobType; - cron: string; - maxCount: number; - interval: number; - priority: JobPriority; - lockTimeOut: number; -} - -export interface BackgroundJobInfoCreate extends BackgroundJobInfoCreateOrUpdate { - name: string; - group: string; - type: string; -} - -export interface BackgroundJobInfoUpdate extends BackgroundJobInfoCreateOrUpdate, IHasConcurrencyStamp { - -} - -export interface BackgroundJobInfoGetListInput extends PagedAndSortedResultRequestDto { - filter?: string; - name?: string; - group?: string; - type?: string; - status?: JobStatus; - beginTime?: Date; - endTime?: Date; - beginLastRunTime?: Date; - endLastRunTime?: Date; - beginCreationTime?: Date; - endCreationTime?: Date; - isAbandoned?: boolean; - jobType?: JobType; - priority?: JobPriority; - source?: JobSource; -} diff --git a/apps/vue/src/api/task-management/model/backgroundJobLogModel.ts b/apps/vue/src/api/task-management/model/backgroundJobLogModel.ts deleted file mode 100644 index 37fd8ff69..000000000 --- a/apps/vue/src/api/task-management/model/backgroundJobLogModel.ts +++ /dev/null @@ -1,20 +0,0 @@ -export interface BackgroundJobLog { - id: number; - jobName: string; - jobGroup: string; - jobType: string; - message: string; - runTime: Date; - exception?: string; -} - -export interface BackgroundJobLogGetListInput extends PagedAndSortedResultRequestDto { - jobId?: string; - filter?: string; - hasExceptions?: boolean; - name?: string; - group?: string; - type?: string; - beginRunTime?: Date; - endRunTime?: Date; -} diff --git a/apps/vue/src/components/Abp/ExtraPropertyDictionary/ExtraPropertyDictionary.vue b/apps/vue/src/components/Abp/ExtraPropertyDictionary/ExtraPropertyDictionary.vue index 060bcf918..1cf165293 100644 --- a/apps/vue/src/components/Abp/ExtraPropertyDictionary/ExtraPropertyDictionary.vue +++ b/apps/vue/src/components/Abp/ExtraPropertyDictionary/ExtraPropertyDictionary.vue @@ -1,11 +1,21 @@