@tager/admin-administrators 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dev/App.vue.d.ts +4 -3
- package/dist/dev/main.d.ts +3 -3
- package/dist/index.mjs +585 -594
- package/dist/locales/en.d.ts +4 -0
- package/dist/services/requests.d.ts +11 -7
- package/dist/style.css +1 -1
- package/dist/typings/model.d.ts +6 -4
- package/dist/views/AdminForm/AdminForm.helpers.d.ts +8 -7
- package/dist/views/AdminForm/AdminForm.vue.d.ts +4140 -5
- package/dist/views/AdminList/AdminList.vue.d.ts +5 -4
- package/dist/views/RoleForm/RoleForm.helpers.d.ts +5 -5
- package/dist/views/RoleForm/RoleForm.vue.d.ts +6 -5
- package/dist/views/RoleList/RoleList.vue.d.ts +7 -7
- package/package.json +24 -27
- package/src/dev/App.vue +2 -3
- package/src/dev/env.ts +11 -11
- package/src/dev/main.ts +25 -21
- package/src/locales/en.ts +5 -0
- package/src/locales/ru.ts +43 -39
- package/src/services/requests.ts +15 -2
- package/src/typings/model.ts +3 -0
- package/src/views/AdminForm/AdminForm.helpers.ts +15 -8
- package/src/views/AdminForm/AdminForm.vue +186 -96
- package/src/views/AdminList/AdminList.vue +4 -4
- package/src/views/RoleForm/RoleForm.helpers.ts +5 -5
- package/src/views/RoleForm/RoleForm.vue +7 -10
- package/src/views/RoleList/RoleList.vue +2 -3
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { ColumnDefinition } from '@tager/admin-ui';
|
|
2
|
-
import { AdminType } from '../../typings/model';
|
|
1
|
+
import { type ColumnDefinition } from '@tager/admin-ui';
|
|
2
|
+
import { type AdminType } from '../../typings/model';
|
|
3
3
|
import { getAdminFormUrl } from '../../utils/paths';
|
|
4
|
-
declare const _default:
|
|
4
|
+
declare const _default: typeof __VLS_export;
|
|
5
|
+
export default _default;
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {
|
|
5
7
|
t: import("i18next").TFunction;
|
|
6
8
|
columnDefs: ColumnDefinition<AdminType>[];
|
|
7
9
|
rowData: import("vue").Ref<AdminType[]>;
|
|
@@ -11,4 +13,3 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
11
13
|
handleAdminDelete: (entityId: string | number) => void;
|
|
12
14
|
getAdminFormUrl: typeof getAdminFormUrl;
|
|
13
15
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
14
|
-
export default _default;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Nullable } from '@tager/admin-services';
|
|
2
|
-
import { OptionType } from '@tager/admin-ui';
|
|
3
|
-
import { RoleType, ScopeGroupsData } from '../../typings/model';
|
|
4
|
-
import { RoleCreationPayload, RoleUpdatePayload } from '../../services/requests';
|
|
5
|
-
export
|
|
1
|
+
import { type Nullable } from '@tager/admin-services';
|
|
2
|
+
import { type OptionType } from '@tager/admin-ui';
|
|
3
|
+
import { type RoleType, type ScopeGroupsData } from '../../typings/model';
|
|
4
|
+
import { type RoleCreationPayload, type RoleUpdatePayload } from '../../services/requests';
|
|
5
|
+
export type FormValues = {
|
|
6
6
|
name: string;
|
|
7
7
|
scopes: Array<OptionType>;
|
|
8
8
|
isSuperAdmin: boolean;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { Nullable } from '@tager/admin-services';
|
|
2
|
-
import { OptionType, TagerFormSubmitEvent } from '@tager/admin-ui';
|
|
3
|
-
import { RoleType } from '../../typings/model';
|
|
4
|
-
declare const _default:
|
|
1
|
+
import { type Nullable } from '@tager/admin-services';
|
|
2
|
+
import { type OptionType, type TagerFormSubmitEvent } from '@tager/admin-ui';
|
|
3
|
+
import { type RoleType } from '../../typings/model';
|
|
4
|
+
declare const _default: typeof __VLS_export;
|
|
5
|
+
export default _default;
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {
|
|
5
7
|
backButtonUrl: "/roles";
|
|
6
8
|
values: import("vue").Ref<{
|
|
7
9
|
name: string;
|
|
@@ -21,4 +23,3 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
21
23
|
isCreation: import("vue").ComputedRef<boolean>;
|
|
22
24
|
scopeOptionList: import("vue").ComputedRef<OptionType<string>[]>;
|
|
23
25
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
24
|
-
export default _default;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
/// <reference types="webpack-env" />
|
|
2
1
|
import { type ColumnDefinition } from "@tager/admin-ui";
|
|
3
|
-
import { RoleType, ScopeType } from '../../typings/model';
|
|
2
|
+
import { type RoleType, type ScopeType } from '../../typings/model';
|
|
4
3
|
import { getRoleFormUrl } from '../../utils/paths';
|
|
5
|
-
declare const _default:
|
|
4
|
+
declare const _default: typeof __VLS_export;
|
|
5
|
+
export default _default;
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {
|
|
6
7
|
columnDefs: ColumnDefinition<RoleType>[];
|
|
7
8
|
rowData: import("vue").Ref<RoleType[]>;
|
|
8
9
|
isRowDataLoading: import("vue").ComputedRef<boolean>;
|
|
@@ -10,11 +11,10 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
10
11
|
isBusy: (roleId: number) => boolean;
|
|
11
12
|
handleRoleDelete: (entityId: string | number) => void;
|
|
12
13
|
getRoleFormUrl: typeof getRoleFormUrl;
|
|
13
|
-
getScopeGroupList: (scopes: Array<ScopeType>) => {
|
|
14
|
+
getScopeGroupList: (scopes: Array<ScopeType>) => Array<{
|
|
14
15
|
module: string;
|
|
15
|
-
scopes: ScopeType
|
|
16
|
-
}
|
|
16
|
+
scopes: Array<ScopeType>;
|
|
17
|
+
}>;
|
|
17
18
|
getRestScopesText: (restPrivilegesCount: number) => string;
|
|
18
19
|
scopesPerModuleCount: number;
|
|
19
20
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
20
|
-
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tager/admin-administrators",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.umd.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -16,11 +16,13 @@
|
|
|
16
16
|
},
|
|
17
17
|
"scripts": {
|
|
18
18
|
"build:js": "vite build",
|
|
19
|
-
"build:package": "
|
|
19
|
+
"build:package": "yarn build:js && (yarn emit-declarations || echo 'vue-tsc: type errors found, declarations emitted anyway')",
|
|
20
20
|
"emit-declarations": "vue-tsc --project tsconfig.json --emitDeclarationOnly",
|
|
21
|
-
"start": "
|
|
21
|
+
"start": "vite",
|
|
22
22
|
"prepare": "yarn build:package",
|
|
23
|
-
"tager:update": "yarn upgrade --latest --scope @tager"
|
|
23
|
+
"tager:update": "yarn upgrade --latest --scope @tager",
|
|
24
|
+
"lint": "eslint .",
|
|
25
|
+
"format": "prettier --write src"
|
|
24
26
|
},
|
|
25
27
|
"dependencies": {
|
|
26
28
|
"lodash.isequal": "^4.5.0",
|
|
@@ -29,38 +31,33 @@
|
|
|
29
31
|
"path-to-regexp": "^6.1.0"
|
|
30
32
|
},
|
|
31
33
|
"devDependencies": {
|
|
32
|
-
"@
|
|
33
|
-
"@babel/eslint-parser": "^7.17.0",
|
|
34
|
-
"@rushstack/eslint-patch": "^1.1.2",
|
|
34
|
+
"@eslint/js": "^9.39.5",
|
|
35
35
|
"@tager/admin-dynamic-field": "^1.0.0",
|
|
36
|
-
"@tager/admin-layout": "^1.0.
|
|
37
|
-
"@tager/admin-services": "^1.
|
|
38
|
-
"@tager/admin-ui": "^1.0.
|
|
36
|
+
"@tager/admin-layout": "^1.0.6",
|
|
37
|
+
"@tager/admin-services": "^1.1.3",
|
|
38
|
+
"@tager/admin-ui": "^1.0.7",
|
|
39
39
|
"@types/lodash.isequal": "^4.5.6",
|
|
40
40
|
"@types/lodash.pick": "^4.4.7",
|
|
41
41
|
"@types/node": "16.x",
|
|
42
|
-
"@
|
|
43
|
-
"@typescript
|
|
44
|
-
"@vitejs/plugin-vue": "^2.3.1",
|
|
45
|
-
"@vue/cli-plugin-babel": "^5.0.4",
|
|
46
|
-
"@vue/cli-plugin-typescript": "^5.0.4",
|
|
47
|
-
"@vue/cli-service": "~5.0.0",
|
|
48
|
-
"@vue/eslint-config-prettier": "^7.0.0",
|
|
49
|
-
"@vue/eslint-config-typescript": "^10.0.0",
|
|
50
|
-
"concurrently": "^7.1.0",
|
|
42
|
+
"@vitejs/plugin-vue": "^5.2.4",
|
|
43
|
+
"@vue/eslint-config-typescript": "^14.9.0",
|
|
51
44
|
"core-js": "^3.22.3",
|
|
52
|
-
"eslint": "^
|
|
53
|
-
"eslint-config-prettier": "^
|
|
54
|
-
"eslint-
|
|
55
|
-
"eslint-plugin-
|
|
56
|
-
"eslint-plugin-vue": "^
|
|
45
|
+
"eslint": "^9.39.5",
|
|
46
|
+
"eslint-config-prettier": "^10.1.8",
|
|
47
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
48
|
+
"eslint-plugin-import": "^2.32.0",
|
|
49
|
+
"eslint-plugin-vue": "^10.12.0",
|
|
50
|
+
"globals": "^16.5.0",
|
|
51
|
+
"pinia": "^2.0.18",
|
|
52
|
+
"prettier": "^3.9.10",
|
|
57
53
|
"sass": "^1.51.0",
|
|
58
54
|
"sass-loader": "^12.6.0",
|
|
59
|
-
"typescript": "^
|
|
60
|
-
"vite": "^
|
|
55
|
+
"typescript": "^5.9.3",
|
|
56
|
+
"vite": "^6.4.5",
|
|
61
57
|
"vue": "^3.2.31",
|
|
58
|
+
"vue-eslint-parser": "^10.4.1",
|
|
62
59
|
"vue-router": "^4.0.14",
|
|
63
|
-
"vue-tsc": "^
|
|
60
|
+
"vue-tsc": "^3.3.14"
|
|
64
61
|
},
|
|
65
62
|
"peerDependencies": {
|
|
66
63
|
"@tager/admin-layout": "^1.0.0",
|
package/src/dev/App.vue
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
<script lang="ts">
|
|
8
8
|
import {defineComponent} from 'vue';
|
|
9
9
|
|
|
10
|
-
import {MenuItemType, PageLayout} from "@tager/admin-layout";
|
|
11
|
-
|
|
10
|
+
import {type MenuItemType, PageLayout} from "@tager/admin-layout";
|
|
12
11
|
import {ViewListIcon} from "@tager/admin-ui";
|
|
12
|
+
import {useI18n} from "@tager/admin-services";
|
|
13
13
|
|
|
14
14
|
import {
|
|
15
15
|
getAdminFormUrl,
|
|
@@ -17,7 +17,6 @@ import {
|
|
|
17
17
|
getRoleFormUrl,
|
|
18
18
|
getRoleListUrl,
|
|
19
19
|
} from '../utils/paths';
|
|
20
|
-
import {useI18n} from "@tager/admin-services";
|
|
21
20
|
|
|
22
21
|
export default defineComponent({
|
|
23
22
|
name: 'App',
|
package/src/dev/env.ts
CHANGED
|
@@ -2,16 +2,16 @@ import { initializeEnvironment } from "@tager/admin-services";
|
|
|
2
2
|
|
|
3
3
|
export function populateEnvironment() {
|
|
4
4
|
initializeEnvironment({
|
|
5
|
-
publicPath:
|
|
6
|
-
appEnv:
|
|
7
|
-
apiUrl:
|
|
8
|
-
accessToken:
|
|
9
|
-
websiteUrl:
|
|
10
|
-
websiteButtonUrl:
|
|
11
|
-
sentryDsn:
|
|
12
|
-
sentryEnv:
|
|
13
|
-
baseUrl:
|
|
14
|
-
nodeEnv:
|
|
15
|
-
version:
|
|
5
|
+
publicPath: import.meta.env.VUE_APP_PUBLIC_PATH,
|
|
6
|
+
appEnv: import.meta.env.VUE_APP_ENV,
|
|
7
|
+
apiUrl: import.meta.env.VUE_APP_API_URL,
|
|
8
|
+
accessToken: import.meta.env.VUE_APP_ACCESS_TOKEN,
|
|
9
|
+
websiteUrl: import.meta.env.VUE_APP_WEBSITE_URL,
|
|
10
|
+
websiteButtonUrl: import.meta.env.VUE_APP_WEBSITE_BUTTON_URL,
|
|
11
|
+
sentryDsn: import.meta.env.VUE_APP_SENTRY_DSN,
|
|
12
|
+
sentryEnv: import.meta.env.VUE_APP_SENTRY_ENVIRONMENT,
|
|
13
|
+
baseUrl: import.meta.env.BASE_URL,
|
|
14
|
+
nodeEnv: import.meta.env.MODE,
|
|
15
|
+
version: import.meta.env.VUE_APP_VERSION,
|
|
16
16
|
});
|
|
17
17
|
}
|
package/src/dev/main.ts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import { createApp } from
|
|
1
|
+
import { createApp } from 'vue';
|
|
2
2
|
|
|
3
|
-
import { configStore, i18n, i18nPlugin } from
|
|
4
|
-
import { createRouter } from
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
3
|
+
import { configStore, i18n, i18nPlugin } from '@tager/admin-services';
|
|
4
|
+
import { createRouter } from '@tager/admin-layout';
|
|
5
|
+
import '@tager/admin-ui/css';
|
|
6
|
+
import '@tager/admin-layout/css';
|
|
7
|
+
import '@tager/admin-dynamic-field/css';
|
|
8
8
|
|
|
9
|
-
import { applyTranslations } from
|
|
9
|
+
import { applyTranslations } from '../locales/apply';
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} from
|
|
11
|
+
ADMIN_FORM_ROUTE,
|
|
12
|
+
ADMIN_LIST_ROUTE,
|
|
13
|
+
ROLE_FORM_ROUTE,
|
|
14
|
+
ROLE_LIST_ROUTE,
|
|
15
|
+
} from '../constants/routes';
|
|
16
16
|
|
|
17
|
-
import { OZITAG_CONFIG } from
|
|
18
|
-
import App from
|
|
19
|
-
import { populateEnvironment } from
|
|
17
|
+
import { OZITAG_CONFIG } from './config';
|
|
18
|
+
import App from './App.vue';
|
|
19
|
+
import { populateEnvironment } from './env';
|
|
20
|
+
|
|
21
|
+
import { createPinia } from 'pinia';
|
|
20
22
|
|
|
21
23
|
populateEnvironment();
|
|
22
24
|
|
|
@@ -25,22 +27,24 @@ configStore.setConfig(OZITAG_CONFIG);
|
|
|
25
27
|
const router = createRouter(
|
|
26
28
|
{
|
|
27
29
|
routes: [
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
ADMIN_LIST_ROUTE,
|
|
31
|
+
ADMIN_FORM_ROUTE,
|
|
32
|
+
ROLE_LIST_ROUTE,
|
|
33
|
+
ROLE_FORM_ROUTE,
|
|
32
34
|
],
|
|
33
35
|
},
|
|
34
36
|
{ useTitleSync: false }
|
|
35
37
|
);
|
|
36
38
|
|
|
37
39
|
const app = createApp(App);
|
|
40
|
+
const pinia = createPinia();
|
|
38
41
|
|
|
39
42
|
app.use(router);
|
|
40
43
|
app.use(i18nPlugin);
|
|
44
|
+
app.use(pinia);
|
|
41
45
|
|
|
42
46
|
applyTranslations();
|
|
43
47
|
|
|
44
|
-
i18n.init({ debug: true, lng:
|
|
45
|
-
app.mount(
|
|
48
|
+
i18n.init({ debug: true, lng: 'ru' }).then(() => {
|
|
49
|
+
app.mount('#app');
|
|
46
50
|
});
|
package/src/locales/en.ts
CHANGED
package/src/locales/ru.ts
CHANGED
|
@@ -1,42 +1,46 @@
|
|
|
1
|
-
import {EN} from './en';
|
|
1
|
+
import { EN } from './en';
|
|
2
2
|
|
|
3
3
|
export const RU: typeof EN = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
4
|
+
home: 'Главная',
|
|
5
|
+
administrators: 'Администраторы',
|
|
6
|
+
role: 'Роль',
|
|
7
|
+
roles: 'Роли',
|
|
8
|
+
admin: 'Админ',
|
|
9
|
+
admins: 'Админы',
|
|
10
|
+
createRole: 'Создать роль',
|
|
11
|
+
createAdmin: 'Создать админа',
|
|
12
|
+
createAdministrator: 'Создать администратора',
|
|
13
|
+
edit: 'Редактировать',
|
|
14
|
+
delete: 'Удалить',
|
|
15
|
+
email: 'Электронная почта',
|
|
16
|
+
actions: 'Действия',
|
|
17
|
+
updateRole: 'Обновить роль',
|
|
18
|
+
updateAdmin: 'Обновить администратора',
|
|
19
|
+
password: 'Пароль',
|
|
20
|
+
newPassword: 'Новый пароль',
|
|
21
|
+
name: 'Имя',
|
|
22
|
+
success: 'Успех',
|
|
23
|
+
adminSuccessfullyCreated: 'Админ успешно создан',
|
|
24
|
+
adminSuccessfullyUpdated: 'Админ успешно обновлен',
|
|
25
|
+
error: 'Ошибка',
|
|
26
|
+
adminCreationError: 'Ошибка создания администратора',
|
|
27
|
+
adminUpdateError: 'Ошибка обновления администратора',
|
|
28
|
+
listOfRoles: 'Список ролей',
|
|
29
|
+
addRole: 'Добавить роль',
|
|
30
|
+
noPrivileges: 'Без привилегий',
|
|
31
|
+
privileges: 'Привилегии',
|
|
32
|
+
all: 'Все',
|
|
33
|
+
roleSuccessfullyCreated: 'Роль успешно создана',
|
|
34
|
+
roleSuccessfullyUpdate: 'Роль успешно обновлена',
|
|
35
|
+
roleCreationError: 'Ошибка создания роли',
|
|
36
|
+
roleUpdateError: 'Ошибка обновления роли',
|
|
37
|
+
adminList: 'Список администраторов',
|
|
38
|
+
adminForm: 'Форма администратора',
|
|
39
|
+
roleList: 'Список ролей',
|
|
40
|
+
roleForm: 'Форма роли',
|
|
41
|
+
andMorePrivilege: 'и еще {{count}} привилегий...',
|
|
42
|
+
tabs: {
|
|
43
|
+
general: 'Основное',
|
|
44
|
+
params: 'Параметры',
|
|
45
|
+
},
|
|
42
46
|
};
|
package/src/services/requests.ts
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
|
-
import { request, ResponseBody } from '@tager/admin-services';
|
|
1
|
+
import { request, type ResponseBody } from '@tager/admin-services';
|
|
2
|
+
import {
|
|
3
|
+
type FieldConfigUnion,
|
|
4
|
+
type FieldShortType,
|
|
5
|
+
type OutgoingValueUnion,
|
|
6
|
+
} from '@tager/admin-dynamic-field';
|
|
2
7
|
|
|
3
|
-
import { AdminType, RoleType, ScopeGroupsData } from '../typings/model';
|
|
8
|
+
import { type AdminType, type RoleType, type ScopeGroupsData } from '../typings/model';
|
|
4
9
|
|
|
5
10
|
type SuccessData = { success: boolean };
|
|
6
11
|
|
|
12
|
+
/** Fields */
|
|
13
|
+
|
|
14
|
+
export function getFieldList(): Promise<ResponseBody<Array<FieldConfigUnion>>> {
|
|
15
|
+
return request.get({ path: '/admin/admins/fields' });
|
|
16
|
+
}
|
|
17
|
+
|
|
7
18
|
/** Roles */
|
|
8
19
|
|
|
9
20
|
export function getRoleList(): Promise<ResponseBody<Array<RoleType>>> {
|
|
@@ -63,6 +74,8 @@ export type AdminUpdatePayload = {
|
|
|
63
74
|
email: string;
|
|
64
75
|
roles: Array<number>;
|
|
65
76
|
password: string;
|
|
77
|
+
|
|
78
|
+
params: Array<FieldShortType<OutgoingValueUnion>>;
|
|
66
79
|
};
|
|
67
80
|
|
|
68
81
|
export type AdminCreationPayload = AdminUpdatePayload;
|
package/src/typings/model.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type FieldShortType, type IncomingValueUnion } from '@tager/admin-dynamic-field';
|
|
2
|
+
|
|
1
3
|
export type ScopeType = {
|
|
2
4
|
readonly value: string;
|
|
3
5
|
readonly label: string;
|
|
@@ -25,4 +27,5 @@ export type AdminType = {
|
|
|
25
27
|
readonly roles: Array<RoleType>;
|
|
26
28
|
readonly isSelf: boolean;
|
|
27
29
|
readonly isSuperAdmin: boolean;
|
|
30
|
+
readonly params: Array<FieldShortType<IncomingValueUnion>>;
|
|
28
31
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Nullable, createId } from '@tager/admin-services';
|
|
2
|
-
import { OptionType } from '@tager/admin-ui';
|
|
1
|
+
import { type Nullable, createId } from '@tager/admin-services';
|
|
2
|
+
import { type OptionType } from '@tager/admin-ui';
|
|
3
|
+
import { type FieldUnion, universalFieldUtils } from '@tager/admin-dynamic-field';
|
|
3
4
|
|
|
4
|
-
import { AdminType, RoleType } from '../../typings/model';
|
|
5
|
+
import { type AdminType, type RoleType } from '../../typings/model';
|
|
5
6
|
import {
|
|
6
|
-
AdminCreationPayload,
|
|
7
|
-
AdminUpdatePayload,
|
|
7
|
+
type AdminCreationPayload,
|
|
8
|
+
type AdminUpdatePayload,
|
|
8
9
|
} from '../../services/requests';
|
|
9
10
|
|
|
10
11
|
export type FormValues = {
|
|
@@ -39,21 +40,27 @@ export function convertAdminToFormValues(
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
export function convertFormValuesToAdminUpdatePayload(
|
|
42
|
-
values: FormValues
|
|
43
|
+
values: FormValues,
|
|
44
|
+
paramsValues: Array<FieldUnion> = []
|
|
43
45
|
): AdminUpdatePayload {
|
|
44
46
|
return {
|
|
45
47
|
name: values.name,
|
|
46
48
|
email: values.email,
|
|
47
49
|
roles: values.roles.map((role) => role.value),
|
|
48
50
|
password: values.password,
|
|
51
|
+
params: paramsValues.map((field) => ({
|
|
52
|
+
value: universalFieldUtils.getOutgoingValue(field),
|
|
53
|
+
name: field.config.name,
|
|
54
|
+
})),
|
|
49
55
|
};
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
export function convertFormValuesToAdminCreationPayload(
|
|
53
|
-
values: FormValues
|
|
59
|
+
values: FormValues,
|
|
60
|
+
paramsValues: Array<FieldUnion> = []
|
|
54
61
|
): AdminCreationPayload {
|
|
55
62
|
return {
|
|
56
|
-
...convertFormValuesToAdminUpdatePayload(values),
|
|
63
|
+
...convertFormValuesToAdminUpdatePayload(values, paramsValues),
|
|
57
64
|
};
|
|
58
65
|
}
|
|
59
66
|
|