@questwork/q-inventory 0.1.0
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/.storybook/main.js +23 -0
- package/.storybook/preview.js +17 -0
- package/README.md +16 -0
- package/app/qInventory/App.vue +164 -0
- package/app/qInventory/index.html +12 -0
- package/app/qInventory/main.ts +4 -0
- package/app/qInventory/styles.scss +59 -0
- package/dist/components/InventoryAssetDetail.vue.d.ts +8 -0
- package/dist/components/InventoryAssetDetail.vue.d.ts.map +1 -0
- package/dist/components/InventoryLocationAdmin.vue.d.ts +10 -0
- package/dist/components/InventoryLocationAdmin.vue.d.ts.map +1 -0
- package/dist/components/InventoryLocationDetail.vue.d.ts +8 -0
- package/dist/components/InventoryLocationDetail.vue.d.ts.map +1 -0
- package/dist/components/InventoryOverview.vue.d.ts +15 -0
- package/dist/components/InventoryOverview.vue.d.ts.map +1 -0
- package/dist/components/InventoryScanner.vue.d.ts +21 -0
- package/dist/components/InventoryScanner.vue.d.ts.map +1 -0
- package/dist/components/QInventory.vue.d.ts +24 -0
- package/dist/components/QInventory.vue.d.ts.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/mixins/CSSMixin.d.ts +7 -0
- package/dist/mixins/CSSMixin.d.ts.map +1 -0
- package/dist/models/index.d.ts +62 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/inventoryAssetRepoAxios.d.ts +18 -0
- package/dist/models/inventoryAssetRepoAxios.d.ts.map +1 -0
- package/dist/models/inventoryAuthRepoAxios.d.ts +26 -0
- package/dist/models/inventoryAuthRepoAxios.d.ts.map +1 -0
- package/dist/models/inventoryAxiosBase.d.ts +41 -0
- package/dist/models/inventoryAxiosBase.d.ts.map +1 -0
- package/dist/models/inventoryLocationRepoAxios.d.ts +13 -0
- package/dist/models/inventoryLocationRepoAxios.d.ts.map +1 -0
- package/dist/models/inventoryMovementRepoAxios.d.ts +13 -0
- package/dist/models/inventoryMovementRepoAxios.d.ts.map +1 -0
- package/dist/q-inventory.esm.js +961 -0
- package/dist/q-inventory.esm.js.map +1 -0
- package/dist/q-inventory.min.cjs +2 -0
- package/dist/q-inventory.min.cjs.map +1 -0
- package/dist/q-inventory.min.css +1 -0
- package/dist/q-inventory.min.js +2 -0
- package/dist/q-inventory.min.js.map +1 -0
- package/dist-app/qInventory/assets/q-inventory-app.css +1 -0
- package/dist-app/qInventory/assets/q-inventory-app.js +18 -0
- package/dist-app/qInventory/index.html +13 -0
- package/package.json +58 -0
- package/src/components/InventoryAssetDetail.vue +55 -0
- package/src/components/InventoryLocationAdmin.vue +56 -0
- package/src/components/InventoryLocationDetail.vue +51 -0
- package/src/components/InventoryOverview.vue +81 -0
- package/src/components/InventoryScanner.vue +315 -0
- package/src/components/QInventory.vue +117 -0
- package/src/index.ts +36 -0
- package/src/mixins/CSSMixin.ts +14 -0
- package/src/models/index.ts +114 -0
- package/src/models/inventoryAssetRepoAxios.ts +38 -0
- package/src/models/inventoryAuthRepoAxios.ts +48 -0
- package/src/models/inventoryAxiosBase.ts +149 -0
- package/src/models/inventoryLocationRepoAxios.ts +25 -0
- package/src/models/inventoryMovementRepoAxios.ts +24 -0
- package/src/styles/index.scss +148 -0
- package/stories/stories.scss +9 -0
- package/stories/stories.ts +362 -0
- package/tsconfig.json +29 -0
- package/vite.app.config.js +37 -0
- package/vite.config.js +68 -0
- package/vitest.config.js +11 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @type { import('@storybook/vue3-vite').StorybookConfig } */
|
|
2
|
+
const config = {
|
|
3
|
+
stories: [
|
|
4
|
+
'../stories/**/stories.[tj]s',
|
|
5
|
+
'../stories/**/*.stories.[tj]s',
|
|
6
|
+
],
|
|
7
|
+
addons: [
|
|
8
|
+
'@storybook/addon-links',
|
|
9
|
+
'@storybook/addon-viewport',
|
|
10
|
+
],
|
|
11
|
+
framework: {
|
|
12
|
+
name: '@storybook/vue3-vite',
|
|
13
|
+
options: {},
|
|
14
|
+
},
|
|
15
|
+
core: {
|
|
16
|
+
disableTelemetry: true,
|
|
17
|
+
},
|
|
18
|
+
docs: {
|
|
19
|
+
autodocs: 'tag',
|
|
20
|
+
},
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default config
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** @type { import('@storybook/vue3').Preview } */
|
|
2
|
+
const preview = {
|
|
3
|
+
parameters: {
|
|
4
|
+
actions: { argTypesRegex: '^on[A-Z].*' },
|
|
5
|
+
controls: {
|
|
6
|
+
matchers: {
|
|
7
|
+
color: /(background|color)$/i,
|
|
8
|
+
date: /Date$/,
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
viewport: {
|
|
12
|
+
defaultViewport: 'mobile2',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default preview
|
package/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# QInventory
|
|
2
|
+
|
|
3
|
+
Vue 3 component library for Questwork inventory tracking workflows.
|
|
4
|
+
|
|
5
|
+
Components are written with Composition API and `<script setup lang="ts">`.
|
|
6
|
+
|
|
7
|
+
## Development
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm install
|
|
11
|
+
pnpm run test
|
|
12
|
+
pnpm run build
|
|
13
|
+
pnpm run storybook
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
See [docs/inventory-ui-plan.md](docs/inventory-ui-plan.md) for the UI plan and implementation notes.
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<main class="q-inventory-app">
|
|
3
|
+
<header class="q-inventory-app__header">
|
|
4
|
+
<div>
|
|
5
|
+
<h1>Q Inventory</h1>
|
|
6
|
+
<p>{{ backendLabel }}</p>
|
|
7
|
+
</div>
|
|
8
|
+
<button type="button" @click="reload">Reload</button>
|
|
9
|
+
</header>
|
|
10
|
+
<div
|
|
11
|
+
v-if="errorMessage"
|
|
12
|
+
class="q-inventory-app__error"
|
|
13
|
+
>
|
|
14
|
+
{{ errorMessage }}
|
|
15
|
+
</div>
|
|
16
|
+
<div
|
|
17
|
+
v-if="loginMessage"
|
|
18
|
+
class="q-inventory-app__notice"
|
|
19
|
+
>
|
|
20
|
+
{{ loginMessage }}
|
|
21
|
+
</div>
|
|
22
|
+
<q-inventory
|
|
23
|
+
:asset-api-client="assetApiClient"
|
|
24
|
+
:location-api-client="locationApiClient"
|
|
25
|
+
:movement-api-client="movementApiClient"
|
|
26
|
+
:assets="assets"
|
|
27
|
+
:current-user-code="currentUserCode"
|
|
28
|
+
:locations="locations"
|
|
29
|
+
@moved="reload"
|
|
30
|
+
@save-location="reload"
|
|
31
|
+
/>
|
|
32
|
+
</main>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<script setup lang="ts">
|
|
36
|
+
import { computed, onMounted, ref } from 'vue'
|
|
37
|
+
import QInventory from '../../src/components/QInventory.vue'
|
|
38
|
+
import {
|
|
39
|
+
InventoryAssetRepoAxios,
|
|
40
|
+
InventoryAuthRepoAxios,
|
|
41
|
+
InventoryLocationRepoAxios,
|
|
42
|
+
InventoryMovementRepoAxios,
|
|
43
|
+
} from '../../src/models/index.js'
|
|
44
|
+
import '../../src/styles/index.scss'
|
|
45
|
+
import './styles.scss'
|
|
46
|
+
|
|
47
|
+
const appConfig = getAppConfig()
|
|
48
|
+
const assets = ref<unknown[]>([])
|
|
49
|
+
const errorMessage = ref('')
|
|
50
|
+
const locations = ref<unknown[]>([])
|
|
51
|
+
const loginMessage = ref('')
|
|
52
|
+
const currentUserCode = ref(appConfig.currentUserCode)
|
|
53
|
+
let browserTokenCache: { token: string, tokenExpiry: number } | null = null
|
|
54
|
+
const repoOptions = {
|
|
55
|
+
authenticatorTokenProvider: getBrowserToken,
|
|
56
|
+
baseURL: appConfig.baseURL,
|
|
57
|
+
movedBy: currentUserCode.value,
|
|
58
|
+
qRepo: appConfig.qRepo,
|
|
59
|
+
tenantCode: appConfig.tenantCode,
|
|
60
|
+
userTokenProvider: getUserToken,
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const authApiClient = new InventoryAuthRepoAxios({
|
|
64
|
+
baseURL: appConfig.baseURL,
|
|
65
|
+
tenantCode: appConfig.tenantCode,
|
|
66
|
+
})
|
|
67
|
+
const assetApiClient = new InventoryAssetRepoAxios(repoOptions)
|
|
68
|
+
const locationApiClient = new InventoryLocationRepoAxios(repoOptions)
|
|
69
|
+
const movementApiClient = new InventoryMovementRepoAxios(repoOptions)
|
|
70
|
+
|
|
71
|
+
const backendLabel = computed(() => {
|
|
72
|
+
const repo = appConfig.qRepo ? `repo=${appConfig.qRepo}` : 'repo=mongo'
|
|
73
|
+
return `${appConfig.baseURL || 'same-origin'} / ${appConfig.tenantCode} / ${repo}`
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
async function reload() {
|
|
77
|
+
try {
|
|
78
|
+
errorMessage.value = ''
|
|
79
|
+
const [nextAssets, nextLocations] = await Promise.all([
|
|
80
|
+
assetApiClient.findAll(),
|
|
81
|
+
locationApiClient.findAll(),
|
|
82
|
+
])
|
|
83
|
+
assets.value = nextAssets
|
|
84
|
+
locations.value = nextLocations
|
|
85
|
+
} catch (err) {
|
|
86
|
+
errorMessage.value = err instanceof Error ? err.message : String(err)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
async function initializeUserLogin() {
|
|
91
|
+
const searchParams = new URLSearchParams(window.location.search)
|
|
92
|
+
const loginToken = searchParams.get('loginToken')
|
|
93
|
+
if (!loginToken) {
|
|
94
|
+
return
|
|
95
|
+
}
|
|
96
|
+
const result = await authApiClient.verifyLoginToken(loginToken)
|
|
97
|
+
if (!result) {
|
|
98
|
+
throw new Error('Unable to verify qInventory login token')
|
|
99
|
+
}
|
|
100
|
+
window.localStorage.setItem('qInventoryUserToken', result.userToken)
|
|
101
|
+
window.localStorage.setItem('currentUserCode', result.userCode)
|
|
102
|
+
window.localStorage.setItem('tenantCode', result.tenantCode)
|
|
103
|
+
currentUserCode.value = result.userCode
|
|
104
|
+
assetApiClient.movedBy = result.userCode
|
|
105
|
+
assetApiClient.tenantCode = result.tenantCode
|
|
106
|
+
locationApiClient.tenantCode = result.tenantCode
|
|
107
|
+
movementApiClient.tenantCode = result.tenantCode
|
|
108
|
+
loginMessage.value = `Signed in as ${result.email}`
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
async function getBrowserToken() {
|
|
112
|
+
if (appConfig.qRepo === 'mockup') {
|
|
113
|
+
return ''
|
|
114
|
+
}
|
|
115
|
+
const now = Math.floor(Date.now() / 1000)
|
|
116
|
+
if (browserTokenCache && browserTokenCache.tokenExpiry > now + 30) {
|
|
117
|
+
return browserTokenCache.token
|
|
118
|
+
}
|
|
119
|
+
const storedToken = window.localStorage.getItem('qInventoryAuthenticatorToken')
|
|
120
|
+
const storedExpiry = Number(window.localStorage.getItem('qInventoryAuthenticatorTokenExpiry') || 0)
|
|
121
|
+
if (storedToken && storedExpiry > now + 30) {
|
|
122
|
+
browserTokenCache = {
|
|
123
|
+
token: storedToken,
|
|
124
|
+
tokenExpiry: storedExpiry,
|
|
125
|
+
}
|
|
126
|
+
return storedToken
|
|
127
|
+
}
|
|
128
|
+
const result = await authApiClient.getBrowserToken()
|
|
129
|
+
if (!result?.token) {
|
|
130
|
+
throw new Error('Unable to get qInventory browser token')
|
|
131
|
+
}
|
|
132
|
+
browserTokenCache = result
|
|
133
|
+
window.localStorage.setItem('qInventoryAuthenticatorToken', result.token)
|
|
134
|
+
window.localStorage.setItem('qInventoryAuthenticatorTokenExpiry', String(result.tokenExpiry))
|
|
135
|
+
return result.token
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function getUserToken() {
|
|
139
|
+
return window.localStorage.getItem('qInventoryUserToken') || ''
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function getAppConfig() {
|
|
143
|
+
const searchParams = new URLSearchParams(window.location.search)
|
|
144
|
+
return {
|
|
145
|
+
baseURL: getConfigValue(searchParams, 'qInventoryBaseURL', ''),
|
|
146
|
+
currentUserCode: getConfigValue(searchParams, 'currentUserCode', 'currentUser'),
|
|
147
|
+
qRepo: getConfigValue(searchParams, 'qRepo', ''),
|
|
148
|
+
tenantCode: getConfigValue(searchParams, 'tenantCode', 'tenantCode'),
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function getConfigValue(searchParams: URLSearchParams, key: string, fallback: string) {
|
|
153
|
+
return searchParams.get(key) || window.localStorage.getItem(key) || fallback
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
onMounted(async () => {
|
|
157
|
+
try {
|
|
158
|
+
await initializeUserLogin()
|
|
159
|
+
await reload()
|
|
160
|
+
} catch (err) {
|
|
161
|
+
errorMessage.value = err instanceof Error ? err.message : String(err)
|
|
162
|
+
}
|
|
163
|
+
})
|
|
164
|
+
</script>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
6
|
+
<title>Q Inventory</title>
|
|
7
|
+
<script type="module" src="./main.ts"></script>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div id="app"></div>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
html,
|
|
2
|
+
body,
|
|
3
|
+
#app {
|
|
4
|
+
min-height: 100%;
|
|
5
|
+
margin: 0;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
body {
|
|
9
|
+
background: #eef1f5;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.q-inventory-app {
|
|
13
|
+
min-height: 100vh;
|
|
14
|
+
background: #f6f7f9;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.q-inventory-app__header {
|
|
18
|
+
align-items: center;
|
|
19
|
+
display: flex;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
gap: 12px;
|
|
22
|
+
padding: 14px 16px;
|
|
23
|
+
background: #202124;
|
|
24
|
+
color: #fff;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.q-inventory-app__header h1 {
|
|
28
|
+
margin: 0;
|
|
29
|
+
font-size: 18px;
|
|
30
|
+
font-weight: 700;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.q-inventory-app__header p {
|
|
34
|
+
margin: 4px 0 0;
|
|
35
|
+
color: #c8ccd2;
|
|
36
|
+
font-size: 12px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.q-inventory-app__header button {
|
|
40
|
+
flex: 0 0 auto;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.q-inventory-app__error {
|
|
44
|
+
margin: 12px;
|
|
45
|
+
border: 1px solid #d93025;
|
|
46
|
+
border-radius: 4px;
|
|
47
|
+
background: #fce8e6;
|
|
48
|
+
color: #a50e0e;
|
|
49
|
+
padding: 10px 12px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.q-inventory-app__notice {
|
|
53
|
+
margin: 12px;
|
|
54
|
+
border: 1px solid #188038;
|
|
55
|
+
border-radius: 4px;
|
|
56
|
+
background: #e6f4ea;
|
|
57
|
+
color: #0d652d;
|
|
58
|
+
padding: 10px 12px;
|
|
59
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InventoryMovementApiClient } from '../models/index.js';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
movementApiClient?: InventoryMovementApiClient;
|
|
4
|
+
asset?: unknown;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=InventoryAssetDetail.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventoryAssetDetail.vue.d.ts","sourceRoot":"","sources":["../../src/components/InventoryAssetDetail.vue"],"names":[],"mappings":"AAkBA;AA0DA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAMpE,KAAK,WAAW,GAAG;IACjB,iBAAiB,CAAC,EAAE,0BAA0B,CAAA;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAC;;AAkGF,wBAOG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
locations?: unknown[];
|
|
3
|
+
};
|
|
4
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
5
|
+
saveLocation: (payload: Record<string, string>) => any;
|
|
6
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
7
|
+
onSaveLocation?: (payload: Record<string, string>) => any;
|
|
8
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
9
|
+
export default _default;
|
|
10
|
+
//# sourceMappingURL=InventoryLocationAdmin.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventoryLocationAdmin.vue.d.ts","sourceRoot":"","sources":["../../src/components/InventoryLocationAdmin.vue"],"names":[],"mappings":"AAiBA;AAgEA,KAAK,WAAW,GAAG;IACjB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;CACtB,CAAC;;;;;;AAmGF,wBAQG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InventoryAssetApiClient } from '../models/index.js';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
assetApiClient?: InventoryAssetApiClient;
|
|
4
|
+
location?: unknown;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=InventoryLocationDetail.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventoryLocationDetail.vue.d.ts","sourceRoot":"","sources":["../../src/components/InventoryLocationDetail.vue"],"names":[],"mappings":"AAeA;AAsDA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAMjE,KAAK,WAAW,GAAG;IACjB,cAAc,CAAC,EAAE,uBAAuB,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;;AAqFF,wBAOG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { InventoryAssetApiClient } from '../models/index.js';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
assetApiClient?: InventoryAssetApiClient;
|
|
4
|
+
assets?: unknown[];
|
|
5
|
+
locations?: unknown[];
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
selectAsset: (payload: unknown) => any;
|
|
9
|
+
selectLocation: (payload: unknown) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
11
|
+
onSelectAsset?: (payload: unknown) => any;
|
|
12
|
+
onSelectLocation?: (payload: unknown) => any;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
14
|
+
export default _default;
|
|
15
|
+
//# sourceMappingURL=InventoryOverview.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventoryOverview.vue.d.ts","sourceRoot":"","sources":["../../src/components/InventoryOverview.vue"],"names":[],"mappings":"AA0BA;AAyFA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAMjE,KAAK,WAAW,GAAG;IACjB,cAAc,CAAC,EAAE,uBAAuB,CAAA;IACxC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;CACtB,CAAC;;;;;;;;AAqHF,wBAQG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { InventoryAssetApiClient, InventoryMovePayload } from '../models/index.js';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
assetApiClient?: InventoryAssetApiClient;
|
|
4
|
+
assets?: unknown[];
|
|
5
|
+
currentUserCode?: string;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
moved: (payload: InventoryMovePayload) => any;
|
|
9
|
+
scan: (payload: {
|
|
10
|
+
raw: string;
|
|
11
|
+
parsed: unknown;
|
|
12
|
+
}) => any;
|
|
13
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
|
+
onMoved?: (payload: InventoryMovePayload) => any;
|
|
15
|
+
onScan?: (payload: {
|
|
16
|
+
raw: string;
|
|
17
|
+
parsed: unknown;
|
|
18
|
+
}) => any;
|
|
19
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
20
|
+
export default _default;
|
|
21
|
+
//# sourceMappingURL=InventoryScanner.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InventoryScanner.vue.d.ts","sourceRoot":"","sources":["../../src/components/InventoryScanner.vue"],"names":[],"mappings":"AAwFA;AAqUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAA6C,MAAM,oBAAoB,CAAA;AAuBlI,KAAK,WAAW,GAAG;IACjB,cAAc,CAAC,EAAE,uBAAuB,CAAA;IACxC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAC;;;;aAKuB,MAAM;gBAAU,OAAO;;;;;aAAvB,MAAM;gBAAU,OAAO;;;AAyVhD,wBAQG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { InventoryAssetApiClient, InventoryLocationApiClient, InventoryMovementApiClient } from '../models/index.js';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
assetApiClient?: InventoryAssetApiClient;
|
|
4
|
+
locationApiClient?: InventoryLocationApiClient;
|
|
5
|
+
movementApiClient?: InventoryMovementApiClient;
|
|
6
|
+
assets?: unknown[];
|
|
7
|
+
currentUserCode?: string;
|
|
8
|
+
locations?: unknown[];
|
|
9
|
+
};
|
|
10
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
|
+
moved: (payload: unknown) => any;
|
|
12
|
+
scan: (payload: unknown) => any;
|
|
13
|
+
selectAsset: (payload: unknown) => any;
|
|
14
|
+
selectLocation: (payload: unknown) => any;
|
|
15
|
+
saveLocation: (payload: unknown) => any;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
onMoved?: (payload: unknown) => any;
|
|
18
|
+
onScan?: (payload: unknown) => any;
|
|
19
|
+
onSelectAsset?: (payload: unknown) => any;
|
|
20
|
+
onSelectLocation?: (payload: unknown) => any;
|
|
21
|
+
onSaveLocation?: (payload: unknown) => any;
|
|
22
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
23
|
+
export default _default;
|
|
24
|
+
//# sourceMappingURL=QInventory.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QInventory.vue.d.ts","sourceRoot":"","sources":["../../src/components/QInventory.vue"],"names":[],"mappings":"AA+CA;AA6HA,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,oBAAoB,CAAA;AAM3B,KAAK,WAAW,GAAG;IACjB,cAAc,CAAC,EAAE,uBAAuB,CAAA;IACxC,iBAAiB,CAAC,EAAE,0BAA0B,CAAA;IAC9C,iBAAiB,CAAC,EAAE,0BAA0B,CAAA;IAC9C,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;CACtB,CAAC;;;;;;;;;;;;;;AAoNF,wBAQG"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { App } from 'vue';
|
|
2
|
+
import { default as QInventory } from './components/QInventory.vue';
|
|
3
|
+
import { default as InventoryScanner } from './components/InventoryScanner.vue';
|
|
4
|
+
import { default as InventoryOverview } from './components/InventoryOverview.vue';
|
|
5
|
+
import { default as InventoryAssetDetail } from './components/InventoryAssetDetail.vue';
|
|
6
|
+
import { default as InventoryLocationDetail } from './components/InventoryLocationDetail.vue';
|
|
7
|
+
import { default as InventoryLocationAdmin } from './components/InventoryLocationAdmin.vue';
|
|
8
|
+
export * from '@questwork/q-inventory-model';
|
|
9
|
+
export * from './models/index.js';
|
|
10
|
+
declare function install(app: App): void;
|
|
11
|
+
export { install, InventoryAssetDetail, InventoryLocationAdmin, InventoryLocationDetail, InventoryOverview, InventoryScanner, QInventory, };
|
|
12
|
+
declare const _default: {
|
|
13
|
+
install: typeof install;
|
|
14
|
+
};
|
|
15
|
+
export default _default;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,UAAU,MAAM,6BAA6B,CAAA;AACpD,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,iBAAiB,MAAM,oCAAoC,CAAA;AAClE,OAAO,oBAAoB,MAAM,uCAAuC,CAAA;AACxE,OAAO,uBAAuB,MAAM,0CAA0C,CAAA;AAC9E,OAAO,sBAAsB,MAAM,yCAAyC,CAAA;AAC5E,OAAO,qBAAqB,CAAA;AAE5B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mBAAmB,CAAA;AAEjC,iBAAS,OAAO,CAAC,GAAG,EAAE,GAAG,QAOxB;AAID,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,GACX,CAAA;;;;AAED,wBAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CSSMixin.d.ts","sourceRoot":"","sources":["../../src/mixins/CSSMixin.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,CAOlE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { InventoryRepoAxiosOptions } from './inventoryAxiosBase.js';
|
|
2
|
+
export interface InventoryAssetApiClient {
|
|
3
|
+
findAll?: (query?: Record<string, unknown>) => Promise<unknown[]>;
|
|
4
|
+
findOne?: (id: string) => Promise<unknown[]>;
|
|
5
|
+
saveOne?: (doc: Record<string, unknown>) => Promise<unknown>;
|
|
6
|
+
move?: (payload: InventoryMovePayload) => Promise<unknown>;
|
|
7
|
+
}
|
|
8
|
+
export interface InventoryLocationApiClient {
|
|
9
|
+
findAll?: (query?: Record<string, unknown>) => Promise<unknown[]>;
|
|
10
|
+
findOne?: (id: string) => Promise<unknown[]>;
|
|
11
|
+
saveOne?: (doc: Record<string, unknown>) => Promise<unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface InventoryMovementApiClient {
|
|
14
|
+
findAll?: (query?: Record<string, unknown>) => Promise<unknown[]>;
|
|
15
|
+
}
|
|
16
|
+
export type InventoryApiClient = InventoryAssetApiClient & InventoryLocationApiClient & InventoryMovementApiClient;
|
|
17
|
+
export interface InventoryMovePayload {
|
|
18
|
+
assetTag: string;
|
|
19
|
+
fromLocationCode?: string;
|
|
20
|
+
fromLocationKind?: string;
|
|
21
|
+
movedBy?: string;
|
|
22
|
+
toLocationCode: string;
|
|
23
|
+
toLocationKind?: string;
|
|
24
|
+
movementType?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface InventoryMoveWarning {
|
|
27
|
+
actualLocationCode?: string;
|
|
28
|
+
assetTag?: string;
|
|
29
|
+
code: string;
|
|
30
|
+
message: string;
|
|
31
|
+
requestedFromLocationCode?: string;
|
|
32
|
+
requestedFromLocationKind?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface InventoryMoveResult {
|
|
35
|
+
warnings?: InventoryMoveWarning[];
|
|
36
|
+
}
|
|
37
|
+
export interface InventoryDisplayLocation {
|
|
38
|
+
code: string;
|
|
39
|
+
label: string;
|
|
40
|
+
type?: string;
|
|
41
|
+
}
|
|
42
|
+
export * from './inventoryAxiosBase.js';
|
|
43
|
+
export * from './inventoryAssetRepoAxios.js';
|
|
44
|
+
export * from './inventoryAuthRepoAxios.js';
|
|
45
|
+
export * from './inventoryLocationRepoAxios.js';
|
|
46
|
+
export * from './inventoryMovementRepoAxios.js';
|
|
47
|
+
export declare class InventoryRepoAxios implements InventoryApiClient {
|
|
48
|
+
private assetRepo;
|
|
49
|
+
private locationRepo;
|
|
50
|
+
private movementRepo;
|
|
51
|
+
constructor(options?: InventoryRepoAxiosOptions);
|
|
52
|
+
findAll(query?: Record<string, unknown>): Promise<unknown[]>;
|
|
53
|
+
findOne(id: string): Promise<unknown[]>;
|
|
54
|
+
saveOne(doc: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
55
|
+
move(payload: InventoryMovePayload): Promise<Record<string, unknown>>;
|
|
56
|
+
findAssets(query?: Record<string, unknown>): Promise<unknown[]>;
|
|
57
|
+
findLocations(query?: Record<string, unknown>): Promise<unknown[]>;
|
|
58
|
+
findLocationAssets(locationCode: string): Promise<unknown[]>;
|
|
59
|
+
findAssetHistory(assetTag: string): Promise<unknown[]>;
|
|
60
|
+
moveAsset(payload: InventoryMovePayload): Promise<Record<string, unknown>>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InventoryRepoAxiosBase, InventoryRepoAxiosOptions } from './inventoryAxiosBase.js';
|
|
2
|
+
import { InventoryMovePayload } from './index.js';
|
|
3
|
+
export interface InventoryAssetFindAllQuery extends Record<string, unknown> {
|
|
4
|
+
assetTag?: string;
|
|
5
|
+
assetTags?: string[];
|
|
6
|
+
category?: string;
|
|
7
|
+
currentLocationCode?: string;
|
|
8
|
+
currentLocationKind?: string;
|
|
9
|
+
currentLocationType?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class InventoryAssetRepoAxios extends InventoryRepoAxiosBase {
|
|
12
|
+
constructor(options?: InventoryRepoAxiosOptions);
|
|
13
|
+
findAll(query?: InventoryAssetFindAllQuery): Promise<unknown[]>;
|
|
14
|
+
findOne(assetTag: string): Promise<unknown[]>;
|
|
15
|
+
saveOne(doc: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
16
|
+
move(payload: InventoryMovePayload): Promise<Record<string, unknown>>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=inventoryAssetRepoAxios.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventoryAssetRepoAxios.d.ts","sourceRoot":"","sources":["../../src/models/inventoryAssetRepoAxios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAChG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,MAAM,WAAW,0BAA2B,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,qBAAa,uBAAwB,SAAQ,sBAAsB;gBACrD,OAAO,GAAE,yBAA8B;IAI7C,OAAO,CAAC,KAAK,GAAE,0BAA+B;IAI9C,OAAO,CAAC,QAAQ,EAAE,MAAM;IAIxB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIpC,IAAI,CAAC,OAAO,EAAE,oBAAoB;CAQzC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { InventoryRepoAxiosBase, InventoryRepoAxiosOptions } from './inventoryAxiosBase.js';
|
|
2
|
+
export interface InventoryTokenResult {
|
|
3
|
+
token: string;
|
|
4
|
+
tokenExpiry: number;
|
|
5
|
+
}
|
|
6
|
+
export interface InventoryLoginLinkResult {
|
|
7
|
+
email: string;
|
|
8
|
+
loginUrl: string;
|
|
9
|
+
sent: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface InventoryUserTokenResult {
|
|
12
|
+
email: string;
|
|
13
|
+
tenantCode: string;
|
|
14
|
+
userCode: string;
|
|
15
|
+
userToken: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class InventoryAuthRepoAxios extends InventoryRepoAxiosBase {
|
|
18
|
+
constructor(options?: InventoryRepoAxiosOptions);
|
|
19
|
+
getBrowserToken(): Promise<InventoryTokenResult>;
|
|
20
|
+
requestLoginLink({ email, tenantCode }: {
|
|
21
|
+
email: string;
|
|
22
|
+
tenantCode?: string;
|
|
23
|
+
}): Promise<InventoryLoginLinkResult>;
|
|
24
|
+
verifyLoginToken(loginToken: string): Promise<InventoryUserTokenResult>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=inventoryAuthRepoAxios.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventoryAuthRepoAxios.d.ts","sourceRoot":"","sources":["../../src/models/inventoryAuthRepoAxios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAEhG,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,sBAAuB,SAAQ,sBAAsB;gBACpD,OAAO,GAAE,yBAA8B;IAI7C,eAAe;IAQf,gBAAgB,CAAC,EAAE,KAAK,EAAE,UAA4B,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAQhG,gBAAgB,CAAC,UAAU,EAAE,MAAM;CAM1C"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface InventoryAxiosLike {
|
|
2
|
+
get: (url: string, config?: {
|
|
3
|
+
headers?: Record<string, string>;
|
|
4
|
+
params?: Record<string, unknown>;
|
|
5
|
+
}) => Promise<{
|
|
6
|
+
data: unknown;
|
|
7
|
+
}>;
|
|
8
|
+
post: (url: string, body?: Record<string, unknown>, config?: {
|
|
9
|
+
headers?: Record<string, string>;
|
|
10
|
+
}) => Promise<{
|
|
11
|
+
data: unknown;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
export interface InventoryRepoAxiosOptions {
|
|
15
|
+
axios?: InventoryAxiosLike;
|
|
16
|
+
authenticatorTokenProvider?: () => Promise<string> | string;
|
|
17
|
+
baseURL?: string;
|
|
18
|
+
movedBy?: string;
|
|
19
|
+
qRepo?: string;
|
|
20
|
+
tenantCode?: string;
|
|
21
|
+
userTokenProvider?: () => Promise<string> | string;
|
|
22
|
+
}
|
|
23
|
+
export declare abstract class InventoryRepoAxiosBase {
|
|
24
|
+
axios?: InventoryAxiosLike;
|
|
25
|
+
authenticatorTokenProvider?: () => Promise<string> | string;
|
|
26
|
+
baseURL: string;
|
|
27
|
+
movedBy: string;
|
|
28
|
+
qRepo?: string;
|
|
29
|
+
tenantCode: string;
|
|
30
|
+
userTokenProvider?: () => Promise<string> | string;
|
|
31
|
+
constructor(options?: InventoryRepoAxiosOptions);
|
|
32
|
+
protected get(path: string, query?: Record<string, unknown>): Promise<unknown[]>;
|
|
33
|
+
protected post(path: string, body?: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
34
|
+
protected getUrl(path: string): string;
|
|
35
|
+
protected getFetchUrl(url: URL): string;
|
|
36
|
+
protected withDefaults(obj?: Record<string, unknown>): {
|
|
37
|
+
[k: string]: unknown;
|
|
38
|
+
};
|
|
39
|
+
private getAuthHeaders;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=inventoryAxiosBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventoryAxiosBase.d.ts","sourceRoot":"","sources":["../../src/models/inventoryAxiosBase.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACjI,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CACjI;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,0BAA0B,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;CACnD;AAED,8BAAsB,sBAAsB;IAC1C,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,0BAA0B,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC3D,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;gBAEtC,OAAO,GAAE,yBAA8B;cAUnC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;cAgBrD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAiBrE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM;IAI7B,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG;IAI9B,SAAS,CAAC,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;YAQ1C,cAAc;CAY7B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InventoryRepoAxiosBase, InventoryRepoAxiosOptions } from './inventoryAxiosBase.js';
|
|
2
|
+
export interface InventoryLocationFindAllQuery extends Record<string, unknown> {
|
|
3
|
+
locationCode?: string;
|
|
4
|
+
locationType?: string;
|
|
5
|
+
parentLocationCode?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class InventoryLocationRepoAxios extends InventoryRepoAxiosBase {
|
|
8
|
+
constructor(options?: InventoryRepoAxiosOptions);
|
|
9
|
+
findAll(query?: InventoryLocationFindAllQuery): Promise<unknown[]>;
|
|
10
|
+
findOne(locationCode: string): Promise<unknown[]>;
|
|
11
|
+
saveOne(doc: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=inventoryLocationRepoAxios.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventoryLocationRepoAxios.d.ts","sourceRoot":"","sources":["../../src/models/inventoryLocationRepoAxios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAEhG,MAAM,WAAW,6BAA8B,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,qBAAa,0BAA2B,SAAQ,sBAAsB;gBACxD,OAAO,GAAE,yBAA8B;IAI7C,OAAO,CAAC,KAAK,GAAE,6BAAkC;IAIjD,OAAO,CAAC,YAAY,EAAE,MAAM;IAI5B,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG3C"}
|