@goweekdays/layer-common 1.2.4 → 1.2.6
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/CHANGELOG.md +12 -0
- package/components/ListGroupSelection.vue +116 -0
- package/components/RoleForm.vue +326 -0
- package/components/RolePermissionFormCreate.vue +2 -2
- package/components/RolePermissionMain.vue +120 -184
- package/composables/useAddress.ts +4 -4
- package/composables/useChartOfAccount.ts +7 -10
- package/composables/useFile.ts +4 -7
- package/composables/useInvoice.ts +11 -17
- package/composables/useLocalAuth.ts +7 -7
- package/composables/useMember.ts +12 -18
- package/composables/useOrder.ts +1 -1
- package/composables/useOrg.ts +13 -19
- package/composables/usePayment.ts +1 -1
- package/composables/usePaymentMethod.ts +24 -37
- package/composables/usePermission.ts +2 -1
- package/composables/usePrice.ts +1 -1
- package/composables/usePromoCode.ts +4 -4
- package/composables/useRole.ts +25 -41
- package/composables/useSubscription.ts +25 -37
- package/composables/useUser.ts +10 -10
- package/composables/useUtils.ts +1 -1
- package/composables/useVerification.ts +1 -1
- package/package.json +1 -1
- package/plugins/API.ts +1 -1
- package/plugins/member.client.ts +4 -4
- package/plugins/secure.client.ts +3 -3
- package/types/local.d.ts +6 -0
- package/types/permission.d.ts +2 -0
- package/types/role.d.ts +1 -0
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
class="text-none"
|
|
7
7
|
rounded="pill"
|
|
8
8
|
variant="tonal"
|
|
9
|
-
@click="
|
|
9
|
+
@click="setRole({ mode: 'add', dialog: true })"
|
|
10
10
|
size="large"
|
|
11
11
|
v-if="canCreateRole"
|
|
12
12
|
>
|
|
13
|
-
|
|
13
|
+
Add Role
|
|
14
14
|
</v-btn>
|
|
15
15
|
</v-row>
|
|
16
16
|
</v-col>
|
|
@@ -60,90 +60,61 @@
|
|
|
60
60
|
</span>
|
|
61
61
|
<v-chip>{{ value.length }}</v-chip>
|
|
62
62
|
</template>
|
|
63
|
-
|
|
64
|
-
<template #item.action-table="{ item }" v-if="canDeleteRole">
|
|
65
|
-
<v-menu :close-on-content-click="false" offset-y width="150">
|
|
66
|
-
<template v-slot:activator="{ props }">
|
|
67
|
-
<v-icon v-bind="props">mdi-dots-horizontal</v-icon>
|
|
68
|
-
</template>
|
|
69
|
-
<v-list>
|
|
70
|
-
<v-list-item @click="openDeleteDialog(item._id)">
|
|
71
|
-
Delete Role
|
|
72
|
-
</v-list-item>
|
|
73
|
-
</v-list>
|
|
74
|
-
</v-menu>
|
|
75
|
-
</template>
|
|
76
63
|
</v-data-table>
|
|
77
64
|
</v-card>
|
|
78
65
|
</v-col>
|
|
79
66
|
|
|
80
67
|
<!-- dialogs -->
|
|
81
|
-
<v-dialog v-model="
|
|
82
|
-
<
|
|
83
|
-
|
|
84
|
-
:
|
|
85
|
-
|
|
86
|
-
@
|
|
87
|
-
v-model:type="type"
|
|
88
|
-
:types="props.types"
|
|
89
|
-
@success:create-more="getRoles()"
|
|
68
|
+
<v-dialog v-model="dialogAdd" width="500" persistent>
|
|
69
|
+
<RoleForm
|
|
70
|
+
v-model="role"
|
|
71
|
+
:app="props.app"
|
|
72
|
+
@cancel="setRole({ mode: 'add' })"
|
|
73
|
+
@submit="submitAdd()"
|
|
90
74
|
/>
|
|
91
75
|
</v-dialog>
|
|
92
76
|
|
|
93
|
-
<v-dialog v-model="
|
|
94
|
-
<
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
:name="name"
|
|
102
|
-
:id="roleId"
|
|
77
|
+
<v-dialog v-model="dialogPreview" width="500" persistent>
|
|
78
|
+
<RoleForm
|
|
79
|
+
title="Role Details"
|
|
80
|
+
v-model="role"
|
|
81
|
+
@close="setRole({ mode: 'view' })"
|
|
82
|
+
@edit="handOpenEdit()"
|
|
83
|
+
@delete="handleOpenDelete()"
|
|
84
|
+
mode="view"
|
|
103
85
|
/>
|
|
104
86
|
</v-dialog>
|
|
105
87
|
|
|
106
|
-
<
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
<p class="text-subtitle-2">
|
|
117
|
-
Are you sure you want to delete this role? This action cannot be
|
|
118
|
-
undone.
|
|
119
|
-
</p>
|
|
120
|
-
</template>
|
|
121
|
-
|
|
122
|
-
<template #footer>
|
|
123
|
-
<v-btn
|
|
124
|
-
variant="text"
|
|
125
|
-
@click="confirmDialog = false"
|
|
126
|
-
:disabled="deleteLoading"
|
|
127
|
-
>
|
|
128
|
-
Close
|
|
129
|
-
</v-btn>
|
|
130
|
-
<v-btn
|
|
131
|
-
color="primary"
|
|
132
|
-
variant="flat"
|
|
133
|
-
@click="handleDeleteRole"
|
|
134
|
-
:loading="deleteLoading"
|
|
135
|
-
>
|
|
136
|
-
Delete Role
|
|
137
|
-
</v-btn>
|
|
138
|
-
</template>
|
|
139
|
-
</ConfirmDialog>
|
|
88
|
+
<v-dialog v-model="dialogEdit" width="500" persistent>
|
|
89
|
+
<RoleForm
|
|
90
|
+
title="Edit Role Details"
|
|
91
|
+
:app="props.app"
|
|
92
|
+
v-model="role"
|
|
93
|
+
@cancel="setRole({ mode: 'edit' })"
|
|
94
|
+
@submit="submitEdit()"
|
|
95
|
+
mode="edit"
|
|
96
|
+
/>
|
|
97
|
+
</v-dialog>
|
|
140
98
|
|
|
141
|
-
<
|
|
99
|
+
<v-dialog v-model="dialogDelete" width="450" persistent>
|
|
100
|
+
<ConfirmationPrompt
|
|
101
|
+
title="Delete Role"
|
|
102
|
+
action="Delete Role"
|
|
103
|
+
content="Are you sure you want to delete this role? This action cannot be undone."
|
|
104
|
+
@cancel="setRole({ mode: 'delete' })"
|
|
105
|
+
@confirm="submitDelete()"
|
|
106
|
+
:message="message"
|
|
107
|
+
/>
|
|
108
|
+
</v-dialog>
|
|
142
109
|
</v-row>
|
|
143
110
|
</template>
|
|
144
111
|
|
|
145
112
|
<script setup lang="ts">
|
|
146
113
|
const props = defineProps({
|
|
114
|
+
app: {
|
|
115
|
+
type: String,
|
|
116
|
+
default: "",
|
|
117
|
+
},
|
|
147
118
|
orgId: {
|
|
148
119
|
type: String,
|
|
149
120
|
default: "",
|
|
@@ -201,15 +172,54 @@ const type = defineModel<string>("type", {
|
|
|
201
172
|
|
|
202
173
|
const { headerSearch } = useLocal();
|
|
203
174
|
|
|
204
|
-
const {
|
|
175
|
+
const {
|
|
176
|
+
role,
|
|
177
|
+
add: addRole,
|
|
178
|
+
getAll: _getRoles,
|
|
179
|
+
updateById,
|
|
180
|
+
deleteById,
|
|
181
|
+
} = useRole();
|
|
205
182
|
|
|
206
183
|
const page = ref(1);
|
|
207
184
|
const pages = ref(0);
|
|
208
185
|
const pageRange = ref("-- - -- of --");
|
|
186
|
+
const modeRole = ref("");
|
|
209
187
|
|
|
210
188
|
const message = ref("");
|
|
211
|
-
|
|
212
|
-
|
|
189
|
+
|
|
190
|
+
function setRole({
|
|
191
|
+
mode = "",
|
|
192
|
+
dialog = false,
|
|
193
|
+
data = useRole().role.value,
|
|
194
|
+
} = {}) {
|
|
195
|
+
Object.assign(
|
|
196
|
+
role.value,
|
|
197
|
+
JSON.parse(
|
|
198
|
+
JSON.stringify({
|
|
199
|
+
...data,
|
|
200
|
+
type: props.app,
|
|
201
|
+
})
|
|
202
|
+
)
|
|
203
|
+
);
|
|
204
|
+
modeRole.value = mode;
|
|
205
|
+
message.value = "";
|
|
206
|
+
|
|
207
|
+
if (modeRole.value === "add") {
|
|
208
|
+
dialogAdd.value = dialog;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
if (modeRole.value === "view") {
|
|
212
|
+
dialogPreview.value = dialog;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if (modeRole.value === "edit") {
|
|
216
|
+
dialogEdit.value = dialog;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (modeRole.value === "delete") {
|
|
220
|
+
dialogDelete.value = dialog;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
213
223
|
|
|
214
224
|
const items = ref<Array<Record<string, any>>>([]);
|
|
215
225
|
|
|
@@ -242,135 +252,61 @@ watchEffect(() => {
|
|
|
242
252
|
});
|
|
243
253
|
|
|
244
254
|
function tableRowClickHandler(_: any, data: any) {
|
|
245
|
-
|
|
246
|
-
roleId.value = data.item._id;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
const createDialog = ref(false);
|
|
250
|
-
|
|
251
|
-
function success() {
|
|
252
|
-
createDialog.value = false;
|
|
253
|
-
type.value = "";
|
|
254
|
-
getRoles();
|
|
255
|
+
setRole({ data: data.item, mode: "view", dialog: true });
|
|
255
256
|
}
|
|
256
257
|
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
const name = ref("");
|
|
260
|
-
const selectedPermissions = ref<Array<string>>([]);
|
|
261
|
-
const originalPermissions = ref<Array<string>>([]);
|
|
262
|
-
const edit = ref(false);
|
|
263
|
-
|
|
264
|
-
watchEffect(() => {
|
|
265
|
-
if (!edit.value) {
|
|
266
|
-
selectedPermissions.value = originalPermissions.value;
|
|
267
|
-
}
|
|
268
|
-
});
|
|
269
|
-
|
|
270
|
-
const roleId = ref("");
|
|
258
|
+
const dialogAdd = ref(false);
|
|
271
259
|
|
|
272
|
-
const
|
|
273
|
-
|
|
274
|
-
const { data: role, refresh: getRoleById } = useLazyAsyncData(
|
|
275
|
-
"role-permissions-get-by-id",
|
|
276
|
-
() => _getRoleById(roleId.value)
|
|
277
|
-
);
|
|
278
|
-
|
|
279
|
-
watchEffect(() => {
|
|
280
|
-
if (roleId.value) {
|
|
281
|
-
getRoleById();
|
|
282
|
-
}
|
|
283
|
-
});
|
|
260
|
+
const dialogPreview = ref(false);
|
|
284
261
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
262
|
+
async function submitAdd() {
|
|
263
|
+
try {
|
|
264
|
+
await addRole({
|
|
265
|
+
name: role.value.name,
|
|
266
|
+
permissions: role.value.permissions,
|
|
267
|
+
type: role.value.type,
|
|
268
|
+
org: props.orgId,
|
|
269
|
+
});
|
|
270
|
+
setRole({ mode: "add" });
|
|
271
|
+
getRoles();
|
|
272
|
+
} catch (error: any) {
|
|
273
|
+
message.value = error.response._data.message;
|
|
291
274
|
}
|
|
292
|
-
});
|
|
293
|
-
|
|
294
|
-
function filterPermissions(
|
|
295
|
-
allPermissions: TPermissions,
|
|
296
|
-
storedPermissions: string[]
|
|
297
|
-
) {
|
|
298
|
-
const filteredPermissions: TPermissions = {};
|
|
299
|
-
|
|
300
|
-
Object.entries(allPermissions).forEach(([resource, actions]) => {
|
|
301
|
-
const filteredActions = Object.entries(actions)
|
|
302
|
-
.filter(([action]) => storedPermissions.includes(`${resource}:${action}`))
|
|
303
|
-
.reduce((acc: Record<string, any>, [action, data]) => {
|
|
304
|
-
acc[action] = data;
|
|
305
|
-
return acc;
|
|
306
|
-
}, {});
|
|
307
|
-
|
|
308
|
-
if (Object.keys(filteredActions).length > 0) {
|
|
309
|
-
filteredPermissions[resource] = filteredActions;
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
|
|
313
|
-
return filteredPermissions;
|
|
314
275
|
}
|
|
315
276
|
|
|
316
|
-
const
|
|
317
|
-
const
|
|
318
|
-
|
|
319
|
-
const permissions = computed(() => {
|
|
320
|
-
if (role.value?.type === "organization") {
|
|
321
|
-
return orgPermissions;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
if (role.value?.type === "school") {
|
|
325
|
-
return schoolPermissions;
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
return {};
|
|
329
|
-
});
|
|
330
|
-
|
|
331
|
-
const Permissions = computed(() => {
|
|
332
|
-
return edit.value
|
|
333
|
-
? permissions.value
|
|
334
|
-
: filterPermissions(permissions.value, selectedPermissions.value);
|
|
335
|
-
});
|
|
277
|
+
const dialogEdit = ref(false);
|
|
278
|
+
const dialogDelete = ref(false);
|
|
336
279
|
|
|
337
|
-
function
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
getRoleById();
|
|
341
|
-
edit.value = false;
|
|
280
|
+
function handOpenEdit() {
|
|
281
|
+
dialogPreview.value = false;
|
|
282
|
+
dialogEdit.value = true;
|
|
342
283
|
}
|
|
343
284
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
285
|
+
async function submitEdit() {
|
|
286
|
+
try {
|
|
287
|
+
await updateById(role.value._id ?? "", {
|
|
288
|
+
name: role.value.name,
|
|
289
|
+
permissions: role.value.permissions,
|
|
290
|
+
});
|
|
291
|
+
await setRole({ mode: "edit" });
|
|
292
|
+
await getRoles();
|
|
293
|
+
} catch (error: any) {
|
|
294
|
+
message.value = error.response._data.message;
|
|
295
|
+
}
|
|
351
296
|
}
|
|
352
297
|
|
|
353
|
-
function
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
messageSnackbar.value = true;
|
|
298
|
+
function handleOpenDelete() {
|
|
299
|
+
dialogPreview.value = false;
|
|
300
|
+
dialogDelete.value = true;
|
|
357
301
|
}
|
|
358
302
|
|
|
359
|
-
async function
|
|
360
|
-
if (!selectedRoleId.value) return;
|
|
361
|
-
deleteLoading.value = true;
|
|
303
|
+
async function submitDelete() {
|
|
362
304
|
try {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
confirmDialog.value = false;
|
|
366
|
-
showMessage(res.message, "success");
|
|
305
|
+
await deleteById(role.value._id ?? "");
|
|
306
|
+
dialogDelete.value = false;
|
|
367
307
|
getRoles();
|
|
368
308
|
} catch (error: any) {
|
|
369
|
-
|
|
370
|
-
showMessage(errorMessage, "error");
|
|
371
|
-
} finally {
|
|
372
|
-
deleteLoading.value = false;
|
|
373
|
-
selectedRoleId.value = null;
|
|
309
|
+
message.value = error.response._data.message;
|
|
374
310
|
}
|
|
375
311
|
}
|
|
376
312
|
</script>
|
|
@@ -13,7 +13,7 @@ export default function useAddress() {
|
|
|
13
13
|
postalCode = "",
|
|
14
14
|
taxId = "",
|
|
15
15
|
} = {}) {
|
|
16
|
-
return
|
|
16
|
+
return $fetch("/api/addresses", {
|
|
17
17
|
method: "POST",
|
|
18
18
|
body: {
|
|
19
19
|
type,
|
|
@@ -57,18 +57,18 @@ export default function useAddress() {
|
|
|
57
57
|
payload.org = orgId;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
return
|
|
60
|
+
return $fetch(`/api/addresses/details/${id}`, {
|
|
61
61
|
method: "PUT",
|
|
62
62
|
body: payload,
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
function getByUserId(user = "") {
|
|
67
|
-
return
|
|
67
|
+
return $fetch<TAddress>(`/api/addresses/user/${user}`);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
function getByOrgId(id = "") {
|
|
71
|
-
return
|
|
71
|
+
return $fetch<TAddress>(`/api/addresses/org/${id}`);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
const _address = useState("address", (): TAddress => {
|
|
@@ -7,7 +7,7 @@ export default function useChartOfAccount() {
|
|
|
7
7
|
children?: number;
|
|
8
8
|
}
|
|
9
9
|
) {
|
|
10
|
-
return
|
|
10
|
+
return $fetch<Record<string, any>>("/api/chart-of-accounts", {
|
|
11
11
|
method: "GET",
|
|
12
12
|
query: { page, status, orgId, children },
|
|
13
13
|
});
|
|
@@ -23,33 +23,30 @@ export default function useChartOfAccount() {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
function add(value: TAddPayload) {
|
|
26
|
-
return
|
|
26
|
+
return $fetch<TAddPayload>("/api/chart-of-accounts", {
|
|
27
27
|
method: "POST",
|
|
28
28
|
body: value,
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function getById(id: string) {
|
|
33
|
-
return
|
|
34
|
-
`/api/chart-of-accounts/id/${id}`
|
|
35
|
-
);
|
|
33
|
+
return $fetch<Record<string, any>>(`/api/chart-of-accounts/id/${id}`);
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
function updateById(
|
|
39
37
|
id: string,
|
|
40
38
|
value: Pick<TAddPayload, "name" | "code" | "normalBalance" | "parent">
|
|
41
39
|
) {
|
|
42
|
-
return
|
|
40
|
+
return $fetch<TAddPayload>(`/api/chart-of-accounts/id/${id}`, {
|
|
43
41
|
method: "PUT",
|
|
44
42
|
body: value,
|
|
45
43
|
});
|
|
46
44
|
}
|
|
47
45
|
|
|
48
46
|
function deleteById(id: string) {
|
|
49
|
-
return
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
);
|
|
47
|
+
return $fetch<Record<string, any>>(`/api/chart-of-accounts/id/${id}`, {
|
|
48
|
+
method: "DELETE",
|
|
49
|
+
});
|
|
53
50
|
}
|
|
54
51
|
|
|
55
52
|
return {
|
package/composables/useFile.ts
CHANGED
|
@@ -7,19 +7,16 @@ export default function useFile() {
|
|
|
7
7
|
const formData = new FormData();
|
|
8
8
|
formData.append("file", file);
|
|
9
9
|
|
|
10
|
-
return
|
|
10
|
+
return $fetch<Record<string, any>>("/api/files", {
|
|
11
11
|
method: "POST",
|
|
12
12
|
body: formData,
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
function deleteFile(attachmentId: string) {
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
method: "DELETE",
|
|
21
|
-
}
|
|
22
|
-
);
|
|
17
|
+
return $fetch<Record<string, any>>(`/api/files/${attachmentId}`, {
|
|
18
|
+
method: "DELETE",
|
|
19
|
+
});
|
|
23
20
|
}
|
|
24
21
|
|
|
25
22
|
return {
|
|
@@ -4,29 +4,23 @@ export default function useInvoice() {
|
|
|
4
4
|
throw new Error("Subscription ID is required");
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
return
|
|
8
|
-
|
|
9
|
-
{
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
}
|
|
16
|
-
);
|
|
7
|
+
return $fetch<Record<string, any>>(`/api/invoices/subscription/${id}`, {
|
|
8
|
+
method: "GET",
|
|
9
|
+
params: {
|
|
10
|
+
search,
|
|
11
|
+
page,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
17
14
|
}
|
|
18
15
|
|
|
19
16
|
function getByNumber(number: string) {
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
method: "GET",
|
|
24
|
-
}
|
|
25
|
-
);
|
|
17
|
+
return $fetch<Record<string, any>>(`/api/invoices/number/${number}`, {
|
|
18
|
+
method: "GET",
|
|
19
|
+
});
|
|
26
20
|
}
|
|
27
21
|
|
|
28
22
|
function getByDueDateStatus(date: string, status: string) {
|
|
29
|
-
return
|
|
23
|
+
return $fetch<Record<string, any>>(
|
|
30
24
|
`/api/invoices/due-date/${date}/status/${status}`,
|
|
31
25
|
{
|
|
32
26
|
method: "GET",
|
|
@@ -21,7 +21,7 @@ export default function useLocalAuth() {
|
|
|
21
21
|
|
|
22
22
|
const { data: getCurrentUserReq, error: getCurrentUserErr } =
|
|
23
23
|
useLazyAsyncData("get-current-user", () =>
|
|
24
|
-
|
|
24
|
+
$fetch<TUser>(`/api/users/id/${user}`)
|
|
25
25
|
);
|
|
26
26
|
|
|
27
27
|
watchEffect(() => {
|
|
@@ -39,7 +39,7 @@ export default function useLocalAuth() {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
async function login({ email = "", password = "", role = "" }) {
|
|
42
|
-
return
|
|
42
|
+
return $fetch<Record<string, any>>("/api/auth/login", {
|
|
43
43
|
method: "POST",
|
|
44
44
|
body: JSON.stringify({ email, password, role }),
|
|
45
45
|
});
|
|
@@ -55,7 +55,7 @@ export default function useLocalAuth() {
|
|
|
55
55
|
const user = useCookie("user", cookieConfig).value;
|
|
56
56
|
if (!user) return null;
|
|
57
57
|
try {
|
|
58
|
-
const _user = await
|
|
58
|
+
const _user = await $fetch<TUser>(`/api/users/id/${user}`, {
|
|
59
59
|
method: "GET",
|
|
60
60
|
});
|
|
61
61
|
|
|
@@ -72,7 +72,7 @@ export default function useLocalAuth() {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
try {
|
|
75
|
-
const response = await
|
|
75
|
+
const response = await $fetch("/api/auth/forget-password", {
|
|
76
76
|
method: "POST",
|
|
77
77
|
body: JSON.stringify({ email }),
|
|
78
78
|
headers: { "Content-Type": "application/json" },
|
|
@@ -90,7 +90,7 @@ export default function useLocalAuth() {
|
|
|
90
90
|
passwordConfirmation: string
|
|
91
91
|
) {
|
|
92
92
|
try {
|
|
93
|
-
return await
|
|
93
|
+
return await $fetch("/api/auth/reset-password", {
|
|
94
94
|
method: "POST",
|
|
95
95
|
body: JSON.stringify({ otp, newPassword, passwordConfirmation }),
|
|
96
96
|
headers: { "Content-Type": "application/json" },
|
|
@@ -102,13 +102,13 @@ export default function useLocalAuth() {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
function verify(id: string) {
|
|
105
|
-
return
|
|
105
|
+
return $fetch<TKeyValuePair>(`/api/auth/verify/${id}`, {
|
|
106
106
|
method: "GET",
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
function signUp(email: string, referral: string) {
|
|
111
|
-
return
|
|
111
|
+
return $fetch<TKeyValuePair>("/api/auth/sign-up", {
|
|
112
112
|
method: "POST",
|
|
113
113
|
body: { email, referral },
|
|
114
114
|
});
|
package/composables/useMember.ts
CHANGED
|
@@ -22,11 +22,11 @@ export default function useMember() {
|
|
|
22
22
|
}));
|
|
23
23
|
|
|
24
24
|
function getByUserId(user: string) {
|
|
25
|
-
return
|
|
25
|
+
return $fetch<TMember>(`/api/members/user/${user}`);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
function getByUserType(user: string, type: string, org?: string) {
|
|
29
|
-
return
|
|
29
|
+
return $fetch<TMember>(`/api/members/user/${user}/app/${type}`, {
|
|
30
30
|
method: "GET",
|
|
31
31
|
query: { org },
|
|
32
32
|
});
|
|
@@ -41,7 +41,7 @@ export default function useMember() {
|
|
|
41
41
|
type = "",
|
|
42
42
|
status = "active",
|
|
43
43
|
} = {}) {
|
|
44
|
-
return
|
|
44
|
+
return $fetch<Record<string, any>>("/api/members", {
|
|
45
45
|
method: "GET",
|
|
46
46
|
query: { page, limit, search, user, org, type, status },
|
|
47
47
|
});
|
|
@@ -50,25 +50,19 @@ export default function useMember() {
|
|
|
50
50
|
verificationId: string,
|
|
51
51
|
payload: Record<string, any>
|
|
52
52
|
) {
|
|
53
|
-
return
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
body: payload,
|
|
58
|
-
}
|
|
59
|
-
);
|
|
53
|
+
return $fetch<Record<string, any>>(`/api/users/invite/${verificationId}`, {
|
|
54
|
+
method: "POST",
|
|
55
|
+
body: payload,
|
|
56
|
+
});
|
|
60
57
|
}
|
|
61
58
|
|
|
62
59
|
function createMemberInvite(verificatonId: string) {
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
method: "POST",
|
|
67
|
-
}
|
|
68
|
-
);
|
|
60
|
+
return $fetch<TMember>(`/api/members/verification/${verificatonId}`, {
|
|
61
|
+
method: "POST",
|
|
62
|
+
});
|
|
69
63
|
}
|
|
70
64
|
function updateMemberStatus(id: string, status: string) {
|
|
71
|
-
return
|
|
65
|
+
return $fetch<Record<string, any>>(
|
|
72
66
|
`/api/members/status/${status}/id/${id}`,
|
|
73
67
|
{
|
|
74
68
|
method: "PUT",
|
|
@@ -82,7 +76,7 @@ export default function useMember() {
|
|
|
82
76
|
type: string,
|
|
83
77
|
org: string
|
|
84
78
|
) {
|
|
85
|
-
return
|
|
79
|
+
return $fetch<Record<string, any>>(
|
|
86
80
|
`/api/members/id/${id}/role/${role}/type/${type}/org/${org}`,
|
|
87
81
|
{
|
|
88
82
|
method: "PUT",
|
package/composables/useOrder.ts
CHANGED