@simitgroup/simpleapp-generator 1.0.47 → 1.0.49
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/README.md +44 -4
- package/buildinschemas copy/docnoformat.docno.jsonschema.json +2 -20
- package/dist/buildinschemas/autoincreament.js +1 -1
- package/dist/buildinschemas/autoincreament.js.map +1 -1
- package/dist/buildinschemas/branch.js +1 -1
- package/dist/buildinschemas/branch.js.map +1 -1
- package/dist/buildinschemas/docnoformat.d.ts.map +1 -1
- package/dist/buildinschemas/docnoformat.js +12 -25
- package/dist/buildinschemas/docnoformat.js.map +1 -1
- package/dist/buildinschemas/user.d.ts.map +1 -1
- package/dist/buildinschemas/user.js +1 -0
- package/dist/buildinschemas/user.js.map +1 -1
- package/dist/framework.d.ts.map +1 -1
- package/dist/framework.js +10 -2
- package/dist/framework.js.map +1 -1
- package/dist/generate.js +24 -13
- package/dist/generate.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/type.d.ts +1 -0
- package/dist/type.d.ts.map +1 -1
- package/dist/type.js.map +1 -1
- package/package.json +1 -1
- package/src/buildinschemas/autoincreament.ts +1 -1
- package/src/buildinschemas/branch.ts +1 -1
- package/src/buildinschemas/docnoformat.ts +13 -27
- package/src/buildinschemas/user.ts +1 -0
- package/src/framework.ts +10 -2
- package/src/generate.ts +26 -13
- package/src/index.ts +1 -1
- package/src/type.ts +1 -0
- package/templates/basic/nest/processor.ts.eta +2 -2
- package/templates/basic/nest/service.ts.eta +2 -4
- package/templates/basic/nuxt/pages.crud.vue.eta +2 -2
- package/templates/nest/src/app.controller.ts.eta +6 -0
- package/templates/nest/src/app.module.ts.eta +9 -1
- package/templates/nest/src/app.service.ts.eta +6 -0
- package/templates/nest/src/main.ts.eta +7 -0
- package/templates/nest/src/simpleapp/generate/apischemas/index.ts.eta +6 -2
- package/templates/nest/src/simpleapp/generate/commons/audittrail.service.ts.eta +17 -0
- package/templates/nest/src/simpleapp/generate/commons/decorators/appuser.decorator.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/commons/dicts/documents.ts.eta +14 -0
- package/templates/nest/src/simpleapp/generate/commons/dicts/foreignkeys.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/commons/docnogenerator.service.ts.eta +9 -3
- package/templates/nest/src/simpleapp/generate/commons/exceptions/SimpleAppExceptionFilter.ts.eta +23 -3
- package/templates/nest/src/simpleapp/generate/commons/interceptors/response.interceptor.ts.eta +52 -10
- package/templates/nest/src/simpleapp/generate/commons/middlewares/tenant.middleware.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/commons/providers/workflow.provider.ts.etax +6 -0
- package/templates/nest/src/simpleapp/generate/commons/roles/roles.decorator.ts.eta +6 -1
- package/templates/nest/src/simpleapp/generate/commons/roles/roles.enum.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/commons/roles/roles.group.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/commons/roles/roles.guard.ts.eta +6 -1
- package/templates/nest/src/simpleapp/generate/commons/user.context.ts.eta +15 -7
- package/templates/nest/src/simpleapp/generate/controllers/simpleapp.controller.ts.eta +6 -0
- package/templates/nest/src/simpleapp/generate/models/apievent.model.ts.eta +27 -0
- package/templates/nest/src/simpleapp/generate/models/perm.model.ts.eta +3 -4
- package/templates/nest/src/simpleapp/generate/models/tenant.model.ts.eta +3 -5
- package/templates/nest/src/simpleapp/generate/models/user.model.ts.eta +3 -4
- package/templates/nest/src/simpleapp/generate/processors/simpleapp.processor.ts.eta +42 -11
- package/templates/nest/src/simpleapp/generate/types/apievent.type.ts.eta +22 -0
- package/templates/nest/src/simpleapp/generate/types/index.ts.eta +6 -0
- package/templates/nest/src/simpleapp/profile/profile.apischema.ts.eta +6 -0
- package/templates/nest/src/simpleapp/profile/profile.controller.ts.eta +6 -0
- package/templates/nest/src/simpleapp/profile/profile.service.ts.eta +6 -0
- package/templates/nest/src/simpleapp/profile/profile.types.ts.eta +6 -0
- package/templates/nest/src/simpleapp/services/autoinc.service.ts.eta +5 -6
- package/templates/nest/src/simpleapp/services/branch.service.ts.eta +50 -10
- package/templates/nest/src/simpleapp/services/docno.service.ts.eta +5 -7
- package/templates/nest/src/simpleapp/services/org.service.ts.eta +4 -6
- package/templates/nest/src/simpleapp/services/perm.service.ts.eta +6 -7
- package/templates/nest/src/simpleapp/services/tenant.service.ts.eta +5 -6
- package/templates/nest/src/simpleapp/services/user.service.ts.eta +5 -6
- package/templates/nest/src/simpleapp/simpleapp.module.ts.eta +6 -8
- package/templates/nuxt/app.vue.eta +6 -1
- package/templates/nuxt/assets/css/style.css._eta +12 -0
- package/templates/nuxt/assets/css/tailwind.css._eta +10 -0
- package/templates/nuxt/assets/primevue/passthrough.ts._eta +37 -0
- package/templates/nuxt/components/ButtonCreateTenant.vue.eta +68 -0
- package/templates/nuxt/components/ButtonHome.vue.eta +10 -0
- package/templates/nuxt/components/ButtonLogout.vue.eta +9 -0
- package/templates/nuxt/components/ButtonMenuPicker.vue.eta +55 -0
- package/templates/nuxt/components/ButtonPermissionInfo.vue.eta +113 -0
- package/templates/nuxt/components/ButtonProfile.vue.eta +52 -0
- package/templates/nuxt/components/CrudNestedDoc.vue.eta +11 -7
- package/templates/nuxt/components/CrudSimple.vue.eta +13 -11
- package/templates/nuxt/components/DebugDocumentData.vue.eta +1 -1
- package/templates/nuxt/components/HeaderBar.vue.eta +39 -0
- package/templates/nuxt/components/Invitation.vue.eta +2 -2
- package/templates/nuxt/components/Menus.vue.eta +7 -7
- package/templates/nuxt/components/SelectBranch.vue.eta +35 -0
- package/templates/nuxt/components/SimpleAppAutocomplete.vue.eta +1 -1
- package/templates/nuxt/components/SimpleAppDatatable.vue.eta +0 -1
- package/templates/nuxt/components/SimpleAppDocumentNo.vue.eta +1 -1
- package/templates/nuxt/components/SimpleAppForm.vue.eta +1 -1
- package/templates/nuxt/components/SimpleAppInputTable.vue.eta +2 -2
- package/templates/nuxt/components/SimpleFieldContainer.vue.eta +18 -12
- package/templates/nuxt/components/Spinner.vue.eta +9 -0
- package/templates/nuxt/composables/getMenus.generate.ts.eta +5 -4
- package/templates/nuxt/layouts/default.vue.eta +3 -12
- package/templates/nuxt/middleware/{10.acl.global.ts.eta → 30.acl.global.ts.eta} +6 -0
- package/templates/nuxt/nuxt.config.ts.eta +55 -12
- package/templates/nuxt/pages/[xorg]/branch/{index.vue.eta → index.vue.etax} +1 -4
- package/templates/nuxt/pages/[xorg]/docnoformat/index.vue.eta +83 -113
- package/templates/nuxt/pages/[xorg]/index.vue._eta +13 -0
- package/templates/nuxt/pages/[xorg]/organization/index.vue.eta +89 -69
- package/templates/nuxt/pages/[xorg]/permission/index.vue.eta +7 -7
- package/templates/nuxt/pages/[xorg]/tenant/index.vue.eta +0 -4
- package/templates/nuxt/pages/[xorg]/user/index.vue.eta +33 -33
- package/templates/nuxt/pages/index.vue.eta +10 -85
- package/templates/nuxt/pages/login.vue.eta +9 -3
- package/templates/nuxt/plugins/10.simpleapp-event.ts.eta +16 -19
- package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +19 -3
- package/templates/nuxt/plugins/50.simpleapp-client.ts.eta +4 -4
- package/templates/nuxt/server/api/[xorg]/[...].ts.eta +4 -4
- package/templates/nuxt/server/api/auth/[...].ts.eta +6 -0
- package/templates/nuxt/server/api/auth/logout.ts.eta +6 -1
- package/templates/nuxt/server/api/profile/[...].ts.eta +4 -5
- package/templates/nuxt/server/api/profile/index.ts.eta +4 -6
- package/templates/nuxt/simpleapp/generate/clients/SimpleAppClient.ts.eta +9 -2
- package/templates/nuxt/simpleapp/generate/commons/documents.ts.eta +12 -3
- package/templates/nuxt/simpleapp/generate/commons/events.ts.eta +6 -0
- package/templates/nuxt/simpleapp/generate/commons/groups.ts.eta +6 -0
- package/templates/nuxt/simpleapp/generate/commons/roles.ts.eta +6 -0
- package/templates/nuxt/tailwind.config.ts._eta +66 -0
- package/templates/nuxt/types/index.ts.eta +22 -1
- package/templates/project/build.sh.eta +4 -4
- package/templates/project/schemas/invoice.ts.eta +1 -0
- package/templates/project/schemas/product.ts.eta +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/templates/nuxt/assets/css/tailwind.css.eta +0 -35
- package/templates/nuxt/components/PermissionInfo.vue.eta +0 -92
- package/templates/nuxt/components/XorgPicker.vue.eta +0 -66
- package/templates/nuxt/pages/[xorg]/index.vue.eta +0 -36
- package/templates/nuxt/tailwind.config.ts.eta +0 -9
- /package/templates/nest/{.env.eta → .env._eta} +0 -0
- /package/templates/nuxt/{.env.eta → .env._eta} +0 -0
- /package/templates/project/{config.json.eta → config.json._eta} +0 -0
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<SelectButton v-model="selectedgroup" @change="selectGroup" :options="grouplist" option-label="label" option-value="value"></SelectButton>
|
|
4
|
-
<div v-if="selectedgroup">
|
|
5
|
-
<div v-if="useRuntimeConfig().public.DEBUGDATA" class="flex flex-row gap-2 p-2">
|
|
6
|
-
<div class="flex align-items-center">
|
|
7
|
-
<RadioButton v-model="mode" inputId="modepreview" name="pizza" value="preview" />
|
|
8
|
-
<label for="modepreview" class="ml-2">Preview</label>
|
|
9
|
-
</div>
|
|
10
|
-
<div class="flex align-items-center">
|
|
11
|
-
<RadioButton v-model="mode" inputId="modeedit" name="edit" value="edit" />
|
|
12
|
-
<label for="modeedit" class="ml-2">Edit</label>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="flex align-items-center">
|
|
15
|
-
<RadioButton v-model="mode" inputId="modejson" name="json" value="json" />
|
|
16
|
-
<label for="modejson" class="ml-2">JSON</label>
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
</div>
|
|
20
|
-
<div v-if="mode=='json'">
|
|
21
|
-
<div class="flex-row">
|
|
22
|
-
<div><button @click="copyText">copy</button> </div>
|
|
23
|
-
<div class="text text-gray-400">{{ copied }}</div>
|
|
24
|
-
</div>
|
|
25
|
-
<pre id="permissionstr">
|
|
26
|
-
{{ permissions }}
|
|
27
|
-
</pre>
|
|
28
|
-
</div>
|
|
29
|
-
<div class="permission-block flex flex-col m mt-4" v-for="res in allresources" v-else="showjson">
|
|
30
|
-
<div class="m mr-3 ">{{ res }}</div>
|
|
31
|
-
<div class="gap-4" v-if="allactions">
|
|
32
|
-
<SelectButton v-if="mode=='edit'" multiple :options="allactions[res]" v-model="permissions[res]"></SelectButton>
|
|
33
|
-
|
|
34
|
-
<span v-else v-for="actionname in allactions[res]" class="m m-1">
|
|
35
|
-
<Chip class="bg-primary" v-if="canPerformAction(selectedgroup,res,actionname)" severity="success" :label="actionname" ></Chip>
|
|
36
|
-
<Chip v-else :label="actionname" ></Chip>
|
|
37
|
-
</span>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
</template>
|
|
45
|
-
<script setup lang="ts">
|
|
46
|
-
import _ from "lodash";
|
|
47
|
-
import Tag from "primevue/tag"
|
|
48
|
-
import Badge from 'primevue/badge';
|
|
49
|
-
import Chip from 'primevue/chip';
|
|
50
|
-
import RadioButton from 'primevue/radiobutton';
|
|
51
|
-
import {ref} from 'vue'
|
|
52
|
-
import ToggleButton from 'primevue/togglebutton';
|
|
53
|
-
import SelectButton from "primevue/selectbutton";
|
|
54
|
-
import Checkbox from "primevue/checkbox";
|
|
55
|
-
const selectedgroup = ref('')
|
|
56
|
-
const grouplist = getAllGroups().map((item)=>{return {value:item,label:_.capitalize(item)}})
|
|
57
|
-
const mode = ref('preview')
|
|
58
|
-
|
|
59
|
-
const allresources = getUniqueResource()
|
|
60
|
-
const allactions = ref()
|
|
61
|
-
const permissions=ref()
|
|
62
|
-
|
|
63
|
-
const activeroles = ref()
|
|
64
|
-
const copied = ref('')
|
|
65
|
-
const copyText = () => {
|
|
66
|
-
copied.value="copied!"
|
|
67
|
-
const storage = document.createElement('textarea');
|
|
68
|
-
storage.value = String(document.getElementById('permissionstr')?.innerHTML)
|
|
69
|
-
document.body.appendChild(storage);
|
|
70
|
-
storage.select();
|
|
71
|
-
storage.setSelectionRange(0, 99999);
|
|
72
|
-
document.execCommand('copy');
|
|
73
|
-
document.body.removeChild(storage);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
const selectGroup = (selectedgroup:any) => {
|
|
79
|
-
const groupname = selectedgroup.value
|
|
80
|
-
activeroles.value= getGroupRoles(groupname)
|
|
81
|
-
allactions.value={}
|
|
82
|
-
permissions.value={}
|
|
83
|
-
for(let i=0; i< allresources.length; i++){
|
|
84
|
-
const r = allresources[i]
|
|
85
|
-
console.log(r)
|
|
86
|
-
const actions = getActionFromResource(r)
|
|
87
|
-
allactions.value[r]=actions
|
|
88
|
-
permissions.value[r]=getGroupResourcePermission(groupname,r).map(item=>item.action)
|
|
89
|
-
}
|
|
90
|
-
console.log(allactions.value,permissions.value)
|
|
91
|
-
}
|
|
92
|
-
</script>
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
<script lang="ts" setup>
|
|
2
|
-
/**
|
|
3
|
-
* This file was automatically generated by simpleapp generator during initialization.
|
|
4
|
-
* You may modify it for your need
|
|
5
|
-
* last change 2023-09-09
|
|
6
|
-
* author: Ks Tan
|
|
7
|
-
*/
|
|
8
|
-
import { ref, Ref } from "vue";
|
|
9
|
-
import { TenantDoc } from "../simpleapp/TenantDoc";
|
|
10
|
-
// import OrderList from 'primevue/orderlist';
|
|
11
|
-
import Panel from "primevue/panel";
|
|
12
|
-
|
|
13
|
-
const { $event, $listen, $userstore } = useNuxtApp();
|
|
14
|
-
const route = useRoute();
|
|
15
|
-
const userinfo =ref()
|
|
16
|
-
const tenantlist = ref()
|
|
17
|
-
onNuxtReady(()=>{
|
|
18
|
-
|
|
19
|
-
console.log("res",res)
|
|
20
|
-
userinfo.value = $userstore.getUserInfo();
|
|
21
|
-
tenantlist.value=userinfo.value.xOrgList
|
|
22
|
-
// console.log('tenantlist',tenantlist.value)
|
|
23
|
-
// const firstxorg = userinfo.value.xOrgList[0].xorg;
|
|
24
|
-
// if(firstxorg){
|
|
25
|
-
// navigateTo(`/${firstxorg}`)
|
|
26
|
-
// }
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
</script>
|
|
33
|
-
<template>
|
|
34
|
-
<div>
|
|
35
|
-
<Panel header="Tenant List">
|
|
36
|
-
<div>
|
|
37
|
-
<NuxtLink
|
|
38
|
-
v-for="item in tenantlist"
|
|
39
|
-
:external="true"
|
|
40
|
-
:to="`/${item.xorg}`"
|
|
41
|
-
class="tenant-link"
|
|
42
|
-
>
|
|
43
|
-
<div class="flex flex-wrap p-2 align-items-center gap-3">
|
|
44
|
-
<div class="flex-1 flex flex-column gap-2">
|
|
45
|
-
<span class="font-bold">{{ item.orgId }} - {{ item.orgName }}</span>
|
|
46
|
-
<div class="flex align-items-center gap-2">
|
|
47
|
-
<span>{{ item.branchId }} - {{ item.branchCode }}</span>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
<span class="font-bold text-900">{{ item.xorg }}</span>
|
|
51
|
-
</div>
|
|
52
|
-
</NuxtLink>
|
|
53
|
-
{{ userinfo }}
|
|
54
|
-
</div>
|
|
55
|
-
</Panel>
|
|
56
|
-
</div>
|
|
57
|
-
</template>
|
|
58
|
-
|
|
59
|
-
<style scoped>
|
|
60
|
-
.p-panel {
|
|
61
|
-
@apply m-2;
|
|
62
|
-
}
|
|
63
|
-
.tenant-link:hover div {
|
|
64
|
-
@apply bg-gray-300;
|
|
65
|
-
}
|
|
66
|
-
</style>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
<script lang="ts" setup>
|
|
2
|
-
/**
|
|
3
|
-
* This file was automatically generated by simpleapp generator during initialization.
|
|
4
|
-
* You may modify it for your need
|
|
5
|
-
* last change 2023-09-20
|
|
6
|
-
* author: Ks Tan
|
|
7
|
-
*/
|
|
8
|
-
const userprofile = ref();
|
|
9
|
-
onMounted(() => {
|
|
10
|
-
userprofile.value = getUserProfile();
|
|
11
|
-
});
|
|
12
|
-
const menus = getMenus();
|
|
13
|
-
</script>
|
|
14
|
-
<template>
|
|
15
|
-
<div>
|
|
16
|
-
<div class="desktop-shortcut-link">
|
|
17
|
-
<DebugDocumentData v-model="userprofile"></DebugDocumentData>
|
|
18
|
-
<NuxtLink v-for="menu in menus[1].items" :external="true" :to="menu.to">
|
|
19
|
-
<div>
|
|
20
|
-
{{ camelCaseToWords(menu.label) }}
|
|
21
|
-
</div>
|
|
22
|
-
</NuxtLink>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
</template>
|
|
26
|
-
<style scoped>
|
|
27
|
-
.desktop-shortcut-link {
|
|
28
|
-
@apply m-2 p-2 space-x-2 rounded-sm text-center grid grid-cols-4 gap-4;
|
|
29
|
-
}
|
|
30
|
-
.desktop-shortcut-link div {
|
|
31
|
-
@apply bg-teal-300 p-2;
|
|
32
|
-
}
|
|
33
|
-
.desktop-shortcut-link div:hover {
|
|
34
|
-
@apply bg-teal-600 p-2;
|
|
35
|
-
}
|
|
36
|
-
</style>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|