@7365admin1/layer-common 1.10.10 → 1.11.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/CHANGELOG.md +6 -0
- package/components/AccessCardAddForm.vue +1 -1
- package/components/AccessCardAssignToUnitForm.vue +10 -13
- package/components/AccessCardQrTagging.vue +2 -2
- package/components/Chat/SkeletonLoader.vue +71 -0
- package/components/DashboardMain.vue +176 -0
- package/components/EntryPassInformation.vue +3 -7
- package/components/FileInputWithList.vue +304 -0
- package/components/IncidentReport/IncidentInformation.vue +14 -2
- package/components/IncidentReport/IncidentInformationDownload.vue +22 -9
- package/components/IncidentReport/affectedEntities.vue +5 -0
- package/components/Signature.vue +133 -0
- package/components/SlideCardGroup.vue +194 -0
- package/components/VisitorForm.vue +17 -1
- package/composables/useAccessManagement.ts +25 -6
- package/composables/useComment.ts +147 -0
- package/composables/useFeedback.ts +79 -29
- package/composables/usePDFDownload.ts +1 -1
- package/composables/useWorkOrder.ts +61 -26
- package/package.json +2 -1
- package/public/default-image.svg +4 -0
- package/public/placeholder-image.svg +6 -0
- package/types/comment.d.ts +38 -0
- package/types/dashboard.d.ts +12 -0
- package/types/feedback.d.ts +56 -20
- package/types/work-order.d.ts +54 -18
- package/utils/data.ts +31 -0
|
@@ -1,36 +1,63 @@
|
|
|
1
1
|
export default function useFeedback() {
|
|
2
|
-
|
|
2
|
+
class MFeedback implements TFeedback {
|
|
3
|
+
_id?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
subject?: string;
|
|
6
|
+
service?: string;
|
|
7
|
+
provider?: string | null;
|
|
8
|
+
location: string;
|
|
9
|
+
status?: string;
|
|
10
|
+
createdBy?: any;
|
|
11
|
+
createdByName?: string;
|
|
12
|
+
createdByEmail?: string;
|
|
13
|
+
attachments?: TAttachment[];
|
|
14
|
+
workOrders?: object[];
|
|
15
|
+
workOrder?: Record<string, any>;
|
|
16
|
+
organization: string;
|
|
17
|
+
site: string;
|
|
18
|
+
createdAt?: string | Date;
|
|
19
|
+
updatedAt?: string | Date;
|
|
20
|
+
app: string;
|
|
21
|
+
assignee?: string;
|
|
22
|
+
assigneeName?: string;
|
|
23
|
+
assigneeInfo?: Record<string, any>;
|
|
24
|
+
statusUpdates?: any[];
|
|
25
|
+
attachedIR?: Array<Record<string, any>>;
|
|
26
|
+
|
|
27
|
+
constructor(feedback: Partial<TFeedback> = {}) {
|
|
28
|
+
this._id = feedback._id || "";
|
|
29
|
+
this.description = feedback.description || "";
|
|
30
|
+
this.subject = feedback.subject || "";
|
|
31
|
+
this.service = feedback.service || "";
|
|
32
|
+
this.status = feedback.status || "";
|
|
33
|
+
this.createdBy = feedback.createdBy || {};
|
|
34
|
+
this.provider = feedback.provider || null;
|
|
35
|
+
this.location = feedback.location || "";
|
|
36
|
+
this.attachments = feedback.attachments || [];
|
|
37
|
+
this.workOrders = feedback.workOrders || [];
|
|
38
|
+
this.workOrder = feedback.workOrder ?? {};
|
|
39
|
+
this.organization = feedback.organization || "";
|
|
40
|
+
this.site = feedback.site || "";
|
|
41
|
+
this.createdAt = "";
|
|
42
|
+
this.updatedAt = "";
|
|
43
|
+
this.app = feedback.app || "";
|
|
44
|
+
this.assignee = feedback.assignee || "";
|
|
45
|
+
this.assigneeName = feedback.assigneeName || "";
|
|
46
|
+
this.assigneeInfo = feedback.assigneeInfo ?? {};
|
|
47
|
+
this.statusUpdates = feedback.statusUpdates ?? [];
|
|
48
|
+
this.attachedIR = feedback.attachedIR ?? [];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const feedback = useState("feedback", () => new MFeedback());
|
|
53
|
+
const feedbacks = useState("feedbacks", (): TFeedback[] => []);
|
|
3
54
|
const page = useState("page", () => 1);
|
|
4
55
|
const pages = useState("pages", () => 0);
|
|
5
56
|
const pageRange = useState("pageRange", () => "-- - -- of --");
|
|
6
57
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
_id: "",
|
|
11
|
-
attachments: [],
|
|
12
|
-
category: "",
|
|
13
|
-
categoryInfo: "",
|
|
14
|
-
subject: "",
|
|
15
|
-
location: "",
|
|
16
|
-
description: "",
|
|
17
|
-
createdBy: "",
|
|
18
|
-
createdAt: "",
|
|
19
|
-
updatedAt: "",
|
|
20
|
-
status: "pending",
|
|
21
|
-
metadata: {
|
|
22
|
-
serviceProvider: "",
|
|
23
|
-
assignee: "",
|
|
24
|
-
organization: "",
|
|
25
|
-
site: "",
|
|
26
|
-
name: "",
|
|
27
|
-
signature: "",
|
|
28
|
-
attachments: "",
|
|
29
|
-
completedAt: "",
|
|
30
|
-
},
|
|
31
|
-
workOrderNo: "",
|
|
32
|
-
})
|
|
33
|
-
);
|
|
58
|
+
function setFeedback(data?: TFeedback) {
|
|
59
|
+
feedback.value = data || new MFeedback();
|
|
60
|
+
}
|
|
34
61
|
|
|
35
62
|
const { currentUser } = useLocalAuth();
|
|
36
63
|
|
|
@@ -89,7 +116,7 @@ export default function useFeedback() {
|
|
|
89
116
|
});
|
|
90
117
|
}
|
|
91
118
|
|
|
92
|
-
function createFeedback(payload:
|
|
119
|
+
function createFeedback(payload: TFeedback) {
|
|
93
120
|
return useNuxtApp().$api<Record<string, any>>("/api/feedbacks2", {
|
|
94
121
|
method: "POST",
|
|
95
122
|
body: payload,
|
|
@@ -135,8 +162,29 @@ export default function useFeedback() {
|
|
|
135
162
|
);
|
|
136
163
|
}
|
|
137
164
|
|
|
165
|
+
function addFeedBackWorkOrder(payload: any) {
|
|
166
|
+
return useNuxtApp().$api<Record<string, any>>(
|
|
167
|
+
"/api/feedbacks2/create-work-order",
|
|
168
|
+
{
|
|
169
|
+
method: "POST",
|
|
170
|
+
body: payload,
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
function updateStatusFeedback(payload: any) {
|
|
176
|
+
return useNuxtApp().$api<Record<string, any>>(
|
|
177
|
+
"/api/feedbacks2/status-update",
|
|
178
|
+
{
|
|
179
|
+
method: "POST",
|
|
180
|
+
body: payload,
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
|
|
138
185
|
return {
|
|
139
186
|
feedbacks,
|
|
187
|
+
setFeedback,
|
|
140
188
|
feedback,
|
|
141
189
|
page,
|
|
142
190
|
pages,
|
|
@@ -148,5 +196,7 @@ export default function useFeedback() {
|
|
|
148
196
|
deleteFeedback,
|
|
149
197
|
updateFeedbackServiceProvider,
|
|
150
198
|
updateStatusComplete,
|
|
199
|
+
addFeedBackWorkOrder,
|
|
200
|
+
updateStatusFeedback,
|
|
151
201
|
};
|
|
152
202
|
}
|
|
@@ -11,7 +11,7 @@ export default function(){
|
|
|
11
11
|
const downloadUrl = window.URL.createObjectURL(res);
|
|
12
12
|
const a = document.createElement("a");
|
|
13
13
|
a.href = downloadUrl;
|
|
14
|
-
a.download =
|
|
14
|
+
a.download = title; // Specify the file name
|
|
15
15
|
document.body.appendChild(a);
|
|
16
16
|
a.click(); // Trigger the download
|
|
17
17
|
window.URL.revokeObjectURL(downloadUrl); // Clean up
|
|
@@ -1,34 +1,68 @@
|
|
|
1
1
|
export default function useWorkOrder() {
|
|
2
|
+
class MWorkOrder implements TWorkOrder {
|
|
3
|
+
_id?: string;
|
|
4
|
+
description: string;
|
|
5
|
+
service: string;
|
|
6
|
+
subject: string | null;
|
|
7
|
+
provider: string | null;
|
|
8
|
+
providerName?: string;
|
|
9
|
+
status?: string;
|
|
10
|
+
assignee?: string | TUser;
|
|
11
|
+
assigneeName?: string;
|
|
12
|
+
attachments?: string[];
|
|
13
|
+
createdBy?: string | TUser;
|
|
14
|
+
createdByName?: string;
|
|
15
|
+
site: string;
|
|
16
|
+
organization: string;
|
|
17
|
+
location?: string;
|
|
18
|
+
comments?: TComment[];
|
|
19
|
+
createdAt?: string | Date;
|
|
20
|
+
updatedAt?: string | Date;
|
|
21
|
+
feedback?: string;
|
|
22
|
+
statusUpdates?: any[];
|
|
23
|
+
prefix?: string;
|
|
24
|
+
noOfDigits?: any;
|
|
25
|
+
number?: number;
|
|
26
|
+
version?: number;
|
|
27
|
+
isHighPriority?: boolean;
|
|
28
|
+
|
|
29
|
+
constructor(workOrder: Partial<TWorkOrder> = {}) {
|
|
30
|
+
this._id = workOrder._id || "";
|
|
31
|
+
this.description = workOrder.description || "";
|
|
32
|
+
this.service = workOrder.service || "";
|
|
33
|
+
this.subject = workOrder.subject || null;
|
|
34
|
+
this.provider = workOrder.provider || null;
|
|
35
|
+
this.providerName = workOrder.providerName || "";
|
|
36
|
+
this.status = workOrder.status || "";
|
|
37
|
+
this.assignee = workOrder.assignee;
|
|
38
|
+
this.attachments = workOrder.attachments || [];
|
|
39
|
+
this.createdBy = workOrder.createdBy || "";
|
|
40
|
+
this.createdByName = workOrder.createdByName;
|
|
41
|
+
this.site = workOrder.site || "";
|
|
42
|
+
this.organization = workOrder.organization || "";
|
|
43
|
+
this.location = workOrder.location || "";
|
|
44
|
+
this.assigneeName = workOrder.assigneeName || "";
|
|
45
|
+
this.comments = workOrder.comments || [];
|
|
46
|
+
this.createdAt = "";
|
|
47
|
+
this.updatedAt = "";
|
|
48
|
+
this.feedback = workOrder.feedback || "";
|
|
49
|
+
this.prefix = workOrder.prefix || "";
|
|
50
|
+
this.noOfDigits = workOrder.noOfDigits || 1;
|
|
51
|
+
this.number = workOrder.number || 1;
|
|
52
|
+
this.version = workOrder.version || 0;
|
|
53
|
+
this.isHighPriority = workOrder.isHighPriority || false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const workOrder = useState("workOrder", () => new MWorkOrder());
|
|
2
58
|
const workOrders = useState<Array<TWorkOrder>>("workOrders", () => []);
|
|
3
59
|
const page = useState("page", () => 1);
|
|
4
60
|
const pages = useState("pages", () => 0);
|
|
5
61
|
const pageRange = useState("pageRange", () => "-- - -- of --");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
subject: "",
|
|
11
|
-
description: "",
|
|
12
|
-
createdBy: "",
|
|
13
|
-
service: "",
|
|
14
|
-
provider: "",
|
|
15
|
-
organization: "",
|
|
16
|
-
site: "",
|
|
17
|
-
createdByName: "",
|
|
18
|
-
assignee: "",
|
|
19
|
-
location: "",
|
|
20
|
-
attachments: [],
|
|
21
|
-
feedback: "",
|
|
22
|
-
status: "",
|
|
23
|
-
createdAt: "",
|
|
24
|
-
updatedAt: "",
|
|
25
|
-
deletedAt: "",
|
|
26
|
-
highPriority: false,
|
|
27
|
-
block: "",
|
|
28
|
-
level: "",
|
|
29
|
-
unit: "",
|
|
30
|
-
serviceProvider: "",
|
|
31
|
-
}));
|
|
62
|
+
|
|
63
|
+
function setWorkOrder(data?: TWorkOrder) {
|
|
64
|
+
workOrder.value = data || new MWorkOrder();
|
|
65
|
+
}
|
|
32
66
|
|
|
33
67
|
async function getWorkOrders({
|
|
34
68
|
page = 1,
|
|
@@ -100,6 +134,7 @@ export default function useWorkOrder() {
|
|
|
100
134
|
|
|
101
135
|
return {
|
|
102
136
|
workOrders,
|
|
137
|
+
setWorkOrder,
|
|
103
138
|
workOrder,
|
|
104
139
|
page,
|
|
105
140
|
pages,
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@7365admin1/layer-common",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.11.0",
|
|
6
6
|
"author": "7365admin1",
|
|
7
7
|
"main": "./nuxt.config.ts",
|
|
8
8
|
"publishConfig": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"ckeditor5": "^47.2.0",
|
|
36
36
|
"html2pdf.js": "^0.10.2",
|
|
37
37
|
"moment-timezone": "^0.6.0",
|
|
38
|
+
"nuxt-signature-pad": "^1.8.0",
|
|
38
39
|
"qrcode": "^1.5.4",
|
|
39
40
|
"qrcode.vue": "^3.4.1",
|
|
40
41
|
"sass": "^1.80.6",
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="500" height="500" viewBox="0 0 500 500" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="500" height="500" fill="#E0E0E0"/>
|
|
3
|
+
<path d="M225.438 260.812L242.625 281.438L266.688 250.5L297.625 291.75H201.375L225.438 260.812ZM311.375 298.625V202.375C311.375 198.728 309.926 195.231 307.348 192.652C304.769 190.074 301.272 188.625 297.625 188.625H201.375C197.728 188.625 194.231 190.074 191.652 192.652C189.074 195.231 187.625 198.728 187.625 202.375V298.625C187.625 302.272 189.074 305.769 191.652 308.348C194.231 310.926 197.728 312.375 201.375 312.375H297.625C301.272 312.375 304.769 310.926 307.348 308.348C309.926 305.769 311.375 302.272 311.375 298.625Z" fill="black" fill-opacity="0.54"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg width="421" height="256" viewBox="0 0 421 256" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0.5" width="420" height="256" rx="8" fill="#FAFAFA"/>
|
|
3
|
+
<rect x="1" y="0.5" width="419" height="255" rx="7.5" stroke="#B9B8C0" stroke-opacity="0.2"/>
|
|
4
|
+
<rect width="64" height="64" transform="translate(178.5 96)" fill="#FAFAFA"/>
|
|
5
|
+
<path d="M201.167 132L207.833 140L217.167 128L229.167 144H191.833L201.167 132ZM234.5 146.667V109.333C234.5 106.373 232.1 104 229.167 104H191.833C190.419 104 189.062 104.562 188.062 105.562C187.062 106.562 186.5 107.919 186.5 109.333V146.667C186.5 148.081 187.062 149.438 188.062 150.438C189.062 151.438 190.419 152 191.833 152H229.167C230.581 152 231.938 151.438 232.938 150.438C233.938 149.438 234.5 148.081 234.5 146.667Z" fill="#969696" fill-opacity="0.5"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
declare type TCommentChat = {
|
|
2
|
+
seenByNames: string;
|
|
3
|
+
_id?: string;
|
|
4
|
+
comment: string;
|
|
5
|
+
attachments?: TAttachment[];
|
|
6
|
+
createdBy: string;
|
|
7
|
+
workOrder: string;
|
|
8
|
+
createdAt?: string | Date;
|
|
9
|
+
updatedAt?: string;
|
|
10
|
+
createdByName?: string;
|
|
11
|
+
createdByType?: string;
|
|
12
|
+
justify?: string;
|
|
13
|
+
feedback?: string;
|
|
14
|
+
seenByNames: Person;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
declare type TCommentResponse = {
|
|
18
|
+
items: TCommentChat[];
|
|
19
|
+
pageRange: string;
|
|
20
|
+
pages: number;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
declare type TCommentPaginated = {
|
|
24
|
+
items: TCommentChat[];
|
|
25
|
+
pageRange: string;
|
|
26
|
+
pages: number;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
declare type TAttachment = {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
// other properties of the attachment, if any
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
declare type Person = {
|
|
36
|
+
givenName: string;
|
|
37
|
+
surname: string;
|
|
38
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare type TDashboardValues = "today" | "thisWeek" | "thisMonth";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
declare type TPeriodState = Record<string, TDashboardValues>
|
|
5
|
+
|
|
6
|
+
declare type TDashboardCardValue = {
|
|
7
|
+
key: string;
|
|
8
|
+
periodKey: keyof TPeriodState;
|
|
9
|
+
title: string;
|
|
10
|
+
icon: string;
|
|
11
|
+
color: string;
|
|
12
|
+
};
|
package/types/feedback.d.ts
CHANGED
|
@@ -1,28 +1,64 @@
|
|
|
1
1
|
declare type TFeedback = {
|
|
2
|
-
_id
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
_id?: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
subject?: string;
|
|
5
|
+
service?: string;
|
|
6
|
+
provider?: string | null;
|
|
7
7
|
location: string;
|
|
8
|
-
description: string;
|
|
9
|
-
createdBy: string;
|
|
10
|
-
createdAt?: string;
|
|
11
|
-
updatedAt?: string;
|
|
12
8
|
status?: string;
|
|
13
|
-
|
|
9
|
+
createdBy?: any;
|
|
14
10
|
createdByName?: string;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
creaetdByEmail?: string;
|
|
12
|
+
attachments?: TAttachment[];
|
|
13
|
+
workOrders?: object[];
|
|
14
|
+
workOrder?: Record<string, any>;
|
|
15
|
+
organization: string;
|
|
16
|
+
site: string;
|
|
17
|
+
createdAt?: string | Date;
|
|
18
|
+
updatedAt?: string | Date;
|
|
19
|
+
app: string;
|
|
21
20
|
assignee?: string;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
assigneeName?: string;
|
|
22
|
+
assigneeInfo?: Record<string, any>;
|
|
23
|
+
statusUpdates?: any[];
|
|
24
|
+
attachedIR?: Array<Record<string, any>>;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
declare type TGetFeedbacksByPageSearchResponse = {
|
|
28
|
+
items: TFeedback[];
|
|
29
|
+
pageRange: string;
|
|
30
|
+
pages: number;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
declare type TAssignee = {
|
|
34
|
+
_id: string;
|
|
35
|
+
givenName: string;
|
|
36
|
+
middleName: string;
|
|
37
|
+
surname: string;
|
|
38
|
+
organization: string;
|
|
39
|
+
role: string;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
declare type TCreatedBy = {
|
|
43
|
+
_id: string;
|
|
44
|
+
givenName: string;
|
|
45
|
+
middleName: string;
|
|
46
|
+
surname: string;
|
|
47
|
+
organization: string;
|
|
48
|
+
role: string;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
declare type TUpdateFeedbackDescriptionOptions = {
|
|
52
|
+
_id: string;
|
|
53
|
+
description: string;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
declare type TAttachment = {
|
|
57
|
+
name: string;
|
|
58
|
+
_id?: string;
|
|
59
|
+
id: string;
|
|
60
|
+
url: string;
|
|
61
|
+
type: string;
|
|
26
62
|
};
|
|
27
63
|
|
|
28
64
|
declare type TFeedbackMetadata = {
|
package/types/work-order.d.ts
CHANGED
|
@@ -1,26 +1,49 @@
|
|
|
1
|
+
declare interface ISearchWorkOrder {
|
|
2
|
+
page?: number;
|
|
3
|
+
limit?: number;
|
|
4
|
+
search?: string;
|
|
5
|
+
startDate?: any;
|
|
6
|
+
endDate?: any;
|
|
7
|
+
date?: any;
|
|
8
|
+
status?: string;
|
|
9
|
+
organization?: string;
|
|
10
|
+
site?: string;
|
|
11
|
+
provider?: string;
|
|
12
|
+
providerService?: string;
|
|
13
|
+
service?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
1
16
|
declare type TWorkOrder = {
|
|
2
|
-
_id
|
|
3
|
-
subject: string;
|
|
4
|
-
category: string;
|
|
5
|
-
categoryInfo?: string;
|
|
17
|
+
_id?: string;
|
|
6
18
|
description: string;
|
|
7
|
-
createdBy: string;
|
|
8
|
-
createdByName?: string;
|
|
9
19
|
service: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
subject: string | null;
|
|
21
|
+
provider: string | null;
|
|
22
|
+
providerName?: string;
|
|
23
|
+
status?: string;
|
|
24
|
+
assignee?: string | TUser;
|
|
25
|
+
assigneeName?: string;
|
|
15
26
|
attachments?: string[];
|
|
27
|
+
createdBy?: string | TUser;
|
|
28
|
+
createdByName?: string;
|
|
29
|
+
site: string;
|
|
30
|
+
organization: string;
|
|
31
|
+
location?: string;
|
|
32
|
+
comments?: TComment[];
|
|
33
|
+
createdAt?: string | Date;
|
|
34
|
+
updatedAt?: string | Date;
|
|
16
35
|
feedback?: string;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
36
|
+
prefix?: string;
|
|
37
|
+
noOfDigits?: any;
|
|
38
|
+
number?: number;
|
|
39
|
+
version?: number;
|
|
40
|
+
isHighPriority?: boolean;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
declare type TWorkOrderResponse = {
|
|
44
|
+
items: TWorkOrder[];
|
|
45
|
+
pageRange: string;
|
|
46
|
+
pages: number;
|
|
24
47
|
};
|
|
25
48
|
|
|
26
49
|
declare type TWorkOrderCreate = Pick<
|
|
@@ -40,3 +63,16 @@ declare type TWorkOrderCreate = Pick<
|
|
|
40
63
|
| "category"
|
|
41
64
|
| "serviceProvider"
|
|
42
65
|
>;
|
|
66
|
+
|
|
67
|
+
declare type TComment = {
|
|
68
|
+
seenByNames: any;
|
|
69
|
+
justify: string;
|
|
70
|
+
_id?: string;
|
|
71
|
+
comment: string;
|
|
72
|
+
attachments?: TAttachment[];
|
|
73
|
+
createdBy: string;
|
|
74
|
+
workOrder: string;
|
|
75
|
+
updatedAt?: string;
|
|
76
|
+
createdByName?: string;
|
|
77
|
+
createdByType?: string;
|
|
78
|
+
};
|
package/utils/data.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export const errorConverter = (data: any): string => {
|
|
2
|
+
let error =
|
|
3
|
+
"Something went wrong. Please try again or contact support if the problem persists.";
|
|
4
|
+
|
|
5
|
+
if (data?.response) {
|
|
6
|
+
console.log("errorConverter response: ", data.response);
|
|
7
|
+
if (
|
|
8
|
+
data.response.status == 400 ||
|
|
9
|
+
data.response.status == 500 ||
|
|
10
|
+
data.response.status == 502 ||
|
|
11
|
+
(data.response.status == 404 && data.response._data.message)
|
|
12
|
+
) {
|
|
13
|
+
if (data.response._data) {
|
|
14
|
+
return (error = data.response._data.message || data.response._data);
|
|
15
|
+
}
|
|
16
|
+
} else if (data.response._data) {
|
|
17
|
+
return (error = data.response._data.message || data.response._data);
|
|
18
|
+
} else if (data.response.status == 404) {
|
|
19
|
+
return "Server Endpoint Not Found";
|
|
20
|
+
} else if (data.response.status == 502) {
|
|
21
|
+
return "The server is temporarily unavailable. Please try again in a few moments.";
|
|
22
|
+
}
|
|
23
|
+
error = `Error ${data.response.status}: ${JSON.stringify(
|
|
24
|
+
data.response._data
|
|
25
|
+
)}`;
|
|
26
|
+
} else if (data?.message) {
|
|
27
|
+
console.log("converter: ", data);
|
|
28
|
+
error = data?.message;
|
|
29
|
+
}
|
|
30
|
+
return error;
|
|
31
|
+
};
|