@ordentco/addons-auth-provider 0.9.96 → 0.9.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/custom-axios.js +93 -76
- package/dist/services/custom-axios.js.map +1 -1
- package/dist/types/product.d.ts +6 -3
- package/dist/types/product.js +3 -0
- package/dist/types/product.js.map +1 -1
- package/package.json +1 -1
- package/services/custom-axios.ts +96 -88
- package/types/product.ts +7 -3
|
@@ -55,9 +55,9 @@ exports.customAxios = void 0;
|
|
|
55
55
|
var axios_1 = __importDefault(require("axios"));
|
|
56
56
|
//@ts-ignore
|
|
57
57
|
var crypto_js_1 = __importDefault(require("crypto-js"));
|
|
58
|
-
|
|
58
|
+
// import config from "../config"
|
|
59
59
|
exports.customAxios = axios_1.default.create({
|
|
60
|
-
baseURL:
|
|
60
|
+
baseURL: process.env["NEXT_PUBLIC_API_URL"],
|
|
61
61
|
headers: {
|
|
62
62
|
"Content-Type": "application/json",
|
|
63
63
|
},
|
|
@@ -98,85 +98,102 @@ exports.customAxios.interceptors.response.use(function (response) {
|
|
|
98
98
|
if (error && isMain) {
|
|
99
99
|
return Promise.reject(__assign({}, error));
|
|
100
100
|
}
|
|
101
|
-
if (((
|
|
101
|
+
if (((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
|
|
102
|
+
document.dispatchEvent(new Event("showDialog"));
|
|
103
|
+
return Promise.reject(__assign({}, error));
|
|
104
|
+
}
|
|
105
|
+
if (((_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message) === "Another Login Detected" || (error === null || error === void 0 ? void 0 : error.message) === "Another Login Detected") {
|
|
102
106
|
localStorage.removeItem("access-token");
|
|
103
107
|
localStorage.removeItem("refresh-token");
|
|
104
108
|
window.location.href = "/main-page?logout=true";
|
|
105
109
|
return;
|
|
106
110
|
}
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
111
|
+
// if (error?.response?.status === 401 && !originalRequest._retry) {
|
|
112
|
+
// if (isRefreshing) {
|
|
113
|
+
// return new Promise(function (resolve, reject) {
|
|
114
|
+
// failedQueue.push({ resolve, reject });
|
|
115
|
+
// })
|
|
116
|
+
// .then((token) => {
|
|
117
|
+
// originalRequest.headers["Authorization"] = "Bearer " + token;
|
|
118
|
+
// return customAxios(originalRequest);
|
|
119
|
+
// })
|
|
120
|
+
// .catch((err) => {
|
|
121
|
+
// return Promise.reject(err);
|
|
122
|
+
// });
|
|
123
|
+
// }
|
|
124
|
+
//
|
|
125
|
+
// originalRequest._retry = true;
|
|
126
|
+
// isRefreshing = true;
|
|
127
|
+
//
|
|
128
|
+
// const refreshToken = localStorage.getItem("refresh-token");
|
|
129
|
+
// if (!refreshToken) {
|
|
130
|
+
// window.location.href = "/main-page?logout=true";
|
|
131
|
+
// }
|
|
132
|
+
//
|
|
133
|
+
// return new Promise(function (resolve, reject) {
|
|
134
|
+
// customAxios
|
|
135
|
+
// .post("/auth/refresh", { refreshToken })
|
|
136
|
+
// .then(({ data }) => {
|
|
137
|
+
// if ((data.data.accessToken === "" || data.data.refreshToken === "")) {
|
|
138
|
+
// console.log("Refresh token nya gak dapet, malah string kosong");
|
|
139
|
+
//
|
|
140
|
+
// localStorage.removeItem("access-token");
|
|
141
|
+
// localStorage.removeItem("refresh-token");
|
|
142
|
+
//
|
|
143
|
+
// window.location.href = "/main-page?logout=true";
|
|
144
|
+
//
|
|
145
|
+
// return;
|
|
146
|
+
// }
|
|
147
|
+
//
|
|
148
|
+
// const token = data?.data?.accessToken;
|
|
149
|
+
// const refreshToken = data?.data?.accessToken;
|
|
150
|
+
// const companyID = data?.data?.companyID;
|
|
151
|
+
// const userID = data?.data?.userID;
|
|
152
|
+
//
|
|
153
|
+
// localStorage.setItem("access-token", token);
|
|
154
|
+
// localStorage.setItem("refresh-token", refreshToken);
|
|
155
|
+
//
|
|
156
|
+
// customAxios.defaults.headers.common["Authorization"] = "Bearer " + token;
|
|
157
|
+
// originalRequest.headers["Authorization"] = "Bearer " + token;
|
|
158
|
+
//
|
|
159
|
+
// if (originalRequest.data !== undefined && originalRequest.data !== null) {
|
|
160
|
+
// if (originalRequest.headers["Content-Type"].toString().includes("json")) {
|
|
161
|
+
// const rep = JSON.parse(originalRequest.data);
|
|
162
|
+
//
|
|
163
|
+
// const signature = CreateSignature(rep, companyID, userID, process.env["NEXT_PUBLIC_SIGNATURE"], token);
|
|
164
|
+
// originalRequest.headers["Grpc-Metadata-Signature"] = signature;
|
|
165
|
+
// } else if (originalRequest.headers["Content-Type"].toString().includes("url")) {
|
|
166
|
+
// const decode = decodeURIComponent(originalRequest.data);
|
|
167
|
+
// const split = decode.split("=");
|
|
168
|
+
// const rep = JSON.parse(split[1]);
|
|
169
|
+
//
|
|
170
|
+
// const signature = CreateSignature(rep, companyID, userID, process.env["NEXT_PUBLIC_SIGNATURE"], token);
|
|
171
|
+
// originalRequest.headers["Grpc-Metadata-Signature"] = signature;
|
|
172
|
+
// }
|
|
173
|
+
// }
|
|
174
|
+
//
|
|
175
|
+
// processQueue(null, token);
|
|
176
|
+
//
|
|
177
|
+
// resolve(customAxios(originalRequest));
|
|
178
|
+
// })
|
|
179
|
+
// .catch((err) => {
|
|
180
|
+
// if (err?.response?.data?.code === 404 && err?.response?.data?.message === "Not Found") {
|
|
181
|
+
// localStorage.removeItem("access-token");
|
|
182
|
+
// localStorage.removeItem("refresh-token");
|
|
183
|
+
//
|
|
184
|
+
// window.location.href = "/main-page?logout=true";
|
|
185
|
+
//
|
|
186
|
+
// return;
|
|
187
|
+
// }
|
|
188
|
+
//
|
|
189
|
+
// processQueue(err, null);
|
|
190
|
+
// reject(err);
|
|
191
|
+
// })
|
|
192
|
+
// .finally(() => {
|
|
193
|
+
// isRefreshing = false;
|
|
194
|
+
// });
|
|
195
|
+
// });
|
|
196
|
+
// }
|
|
180
197
|
if (!error.response) {
|
|
181
198
|
return Promise.reject(__assign(__assign({}, error), { response: { data: { error: true, code: 504, message: "Connection Timeout" } } }));
|
|
182
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-axios.js","sourceRoot":"","sources":["../../services/custom-axios.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,gDAA0B;AAC1B,YAAY;AACZ,wDAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"custom-axios.js","sourceRoot":"","sources":["../../services/custom-axios.ts"],"names":[],"mappings":"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"}
|
package/dist/types/product.d.ts
CHANGED
|
@@ -117,7 +117,8 @@ export declare enum ProductTypeEnum {
|
|
|
117
117
|
DO_SEMEN_INDONESIA = "DO Semen Indonesia",
|
|
118
118
|
COMPANY_CODE_MAPPING = "Company Code Mapping",
|
|
119
119
|
BANK_MONITORING_TRANSACTION = "Bank Monitoring Transaction",
|
|
120
|
-
APPROVAL_SIGNATURE = "Approval Signature"
|
|
120
|
+
APPROVAL_SIGNATURE = "Approval Signature",
|
|
121
|
+
CASH_CARD_OVERVIEW = "Cash Card Overview"
|
|
121
122
|
}
|
|
122
123
|
export declare enum ProductIdByTypeEnum {
|
|
123
124
|
ACCOUNT = "4",
|
|
@@ -235,7 +236,8 @@ export declare enum ProductIdByTypeEnum {
|
|
|
235
236
|
DO_SEMEN_INDONESIA = "533",
|
|
236
237
|
COMPANY_CODE_MAPPING = "545",
|
|
237
238
|
BANK_MONITORING_TRANSACTION = "327",
|
|
238
|
-
APPROVAL_SIGNATURE = "546"
|
|
239
|
+
APPROVAL_SIGNATURE = "546",
|
|
240
|
+
CASH_CARD_OVERVIEW = "569"
|
|
239
241
|
}
|
|
240
242
|
export declare enum ProductTypeEnumUpperCase {
|
|
241
243
|
ALL = "ALL",
|
|
@@ -363,5 +365,6 @@ export declare enum ProductTypeNameEnum {
|
|
|
363
365
|
DO_SEMEN_INDONESIA = "DO Semen Indonesia",
|
|
364
366
|
COMPANY_CODE_MAPPING = "Company Code Mapping",
|
|
365
367
|
BANK_MONITORING_TRANSACTION = "Bank Monitoring Transaction",
|
|
366
|
-
APPROVAL_SIGNATURE = "Approval Signature"
|
|
368
|
+
APPROVAL_SIGNATURE = "Approval Signature",
|
|
369
|
+
CASH_CARD_OVERVIEW = "Cash Card Overview"
|
|
367
370
|
}
|
package/dist/types/product.js
CHANGED
|
@@ -122,6 +122,7 @@ var ProductTypeEnum;
|
|
|
122
122
|
ProductTypeEnum["COMPANY_CODE_MAPPING"] = "Company Code Mapping";
|
|
123
123
|
ProductTypeEnum["BANK_MONITORING_TRANSACTION"] = "Bank Monitoring Transaction";
|
|
124
124
|
ProductTypeEnum["APPROVAL_SIGNATURE"] = "Approval Signature";
|
|
125
|
+
ProductTypeEnum["CASH_CARD_OVERVIEW"] = "Cash Card Overview";
|
|
125
126
|
})(ProductTypeEnum || (exports.ProductTypeEnum = ProductTypeEnum = {}));
|
|
126
127
|
// Product Id by Product Type
|
|
127
128
|
var ProductIdByTypeEnum;
|
|
@@ -244,6 +245,7 @@ var ProductIdByTypeEnum;
|
|
|
244
245
|
ProductIdByTypeEnum["COMPANY_CODE_MAPPING"] = "545";
|
|
245
246
|
ProductIdByTypeEnum["BANK_MONITORING_TRANSACTION"] = "327";
|
|
246
247
|
ProductIdByTypeEnum["APPROVAL_SIGNATURE"] = "546";
|
|
248
|
+
ProductIdByTypeEnum["CASH_CARD_OVERVIEW"] = "569";
|
|
247
249
|
})(ProductIdByTypeEnum || (exports.ProductIdByTypeEnum = ProductIdByTypeEnum = {}));
|
|
248
250
|
//sementara
|
|
249
251
|
var ProductTypeEnumUpperCase;
|
|
@@ -375,5 +377,6 @@ var ProductTypeNameEnum;
|
|
|
375
377
|
ProductTypeNameEnum["COMPANY_CODE_MAPPING"] = "Company Code Mapping";
|
|
376
378
|
ProductTypeNameEnum["BANK_MONITORING_TRANSACTION"] = "Bank Monitoring Transaction";
|
|
377
379
|
ProductTypeNameEnum["APPROVAL_SIGNATURE"] = "Approval Signature";
|
|
380
|
+
ProductTypeNameEnum["CASH_CARD_OVERVIEW"] = "Cash Card Overview";
|
|
378
381
|
})(ProductTypeNameEnum || (exports.ProductTypeNameEnum = ProductTypeNameEnum = {}));
|
|
379
382
|
//# sourceMappingURL=product.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../types/product.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../types/product.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/services/custom-axios.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import axios from "axios";
|
|
4
4
|
//@ts-ignore
|
|
5
5
|
import crypto from "crypto-js";
|
|
6
|
-
import config from "../config"
|
|
6
|
+
// import config from "../config"
|
|
7
7
|
export const customAxios = axios.create({
|
|
8
|
-
baseURL:
|
|
8
|
+
baseURL: process.env["NEXT_PUBLIC_API_URL"],
|
|
9
9
|
headers: {
|
|
10
10
|
"Content-Type": "application/json",
|
|
11
11
|
},
|
|
@@ -58,6 +58,14 @@ customAxios.interceptors.response.use(
|
|
|
58
58
|
...error,
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
|
+
|
|
62
|
+
if (error?.response?.status === 401) {
|
|
63
|
+
document.dispatchEvent(new Event("showDialog"));
|
|
64
|
+
return Promise.reject({
|
|
65
|
+
...error,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
61
69
|
if (error?.response?.data?.message === "Another Login Detected" || error?.message === "Another Login Detected") {
|
|
62
70
|
localStorage.removeItem("access-token");
|
|
63
71
|
localStorage.removeItem("refresh-token");
|
|
@@ -66,92 +74,92 @@ customAxios.interceptors.response.use(
|
|
|
66
74
|
}
|
|
67
75
|
|
|
68
76
|
|
|
69
|
-
if (error?.response?.status === 401 && !originalRequest._retry) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
77
|
+
// if (error?.response?.status === 401 && !originalRequest._retry) {
|
|
78
|
+
// if (isRefreshing) {
|
|
79
|
+
// return new Promise(function (resolve, reject) {
|
|
80
|
+
// failedQueue.push({ resolve, reject });
|
|
81
|
+
// })
|
|
82
|
+
// .then((token) => {
|
|
83
|
+
// originalRequest.headers["Authorization"] = "Bearer " + token;
|
|
84
|
+
// return customAxios(originalRequest);
|
|
85
|
+
// })
|
|
86
|
+
// .catch((err) => {
|
|
87
|
+
// return Promise.reject(err);
|
|
88
|
+
// });
|
|
89
|
+
// }
|
|
90
|
+
//
|
|
91
|
+
// originalRequest._retry = true;
|
|
92
|
+
// isRefreshing = true;
|
|
93
|
+
//
|
|
94
|
+
// const refreshToken = localStorage.getItem("refresh-token");
|
|
95
|
+
// if (!refreshToken) {
|
|
96
|
+
// window.location.href = "/main-page?logout=true";
|
|
97
|
+
// }
|
|
98
|
+
//
|
|
99
|
+
// return new Promise(function (resolve, reject) {
|
|
100
|
+
// customAxios
|
|
101
|
+
// .post("/auth/refresh", { refreshToken })
|
|
102
|
+
// .then(({ data }) => {
|
|
103
|
+
// if ((data.data.accessToken === "" || data.data.refreshToken === "")) {
|
|
104
|
+
// console.log("Refresh token nya gak dapet, malah string kosong");
|
|
105
|
+
//
|
|
106
|
+
// localStorage.removeItem("access-token");
|
|
107
|
+
// localStorage.removeItem("refresh-token");
|
|
108
|
+
//
|
|
109
|
+
// window.location.href = "/main-page?logout=true";
|
|
110
|
+
//
|
|
111
|
+
// return;
|
|
112
|
+
// }
|
|
113
|
+
//
|
|
114
|
+
// const token = data?.data?.accessToken;
|
|
115
|
+
// const refreshToken = data?.data?.accessToken;
|
|
116
|
+
// const companyID = data?.data?.companyID;
|
|
117
|
+
// const userID = data?.data?.userID;
|
|
118
|
+
//
|
|
119
|
+
// localStorage.setItem("access-token", token);
|
|
120
|
+
// localStorage.setItem("refresh-token", refreshToken);
|
|
121
|
+
//
|
|
122
|
+
// customAxios.defaults.headers.common["Authorization"] = "Bearer " + token;
|
|
123
|
+
// originalRequest.headers["Authorization"] = "Bearer " + token;
|
|
124
|
+
//
|
|
125
|
+
// if (originalRequest.data !== undefined && originalRequest.data !== null) {
|
|
126
|
+
// if (originalRequest.headers["Content-Type"].toString().includes("json")) {
|
|
127
|
+
// const rep = JSON.parse(originalRequest.data);
|
|
128
|
+
//
|
|
129
|
+
// const signature = CreateSignature(rep, companyID, userID, process.env["NEXT_PUBLIC_SIGNATURE"], token);
|
|
130
|
+
// originalRequest.headers["Grpc-Metadata-Signature"] = signature;
|
|
131
|
+
// } else if (originalRequest.headers["Content-Type"].toString().includes("url")) {
|
|
132
|
+
// const decode = decodeURIComponent(originalRequest.data);
|
|
133
|
+
// const split = decode.split("=");
|
|
134
|
+
// const rep = JSON.parse(split[1]);
|
|
135
|
+
//
|
|
136
|
+
// const signature = CreateSignature(rep, companyID, userID, process.env["NEXT_PUBLIC_SIGNATURE"], token);
|
|
137
|
+
// originalRequest.headers["Grpc-Metadata-Signature"] = signature;
|
|
138
|
+
// }
|
|
139
|
+
// }
|
|
140
|
+
//
|
|
141
|
+
// processQueue(null, token);
|
|
142
|
+
//
|
|
143
|
+
// resolve(customAxios(originalRequest));
|
|
144
|
+
// })
|
|
145
|
+
// .catch((err) => {
|
|
146
|
+
// if (err?.response?.data?.code === 404 && err?.response?.data?.message === "Not Found") {
|
|
147
|
+
// localStorage.removeItem("access-token");
|
|
148
|
+
// localStorage.removeItem("refresh-token");
|
|
149
|
+
//
|
|
150
|
+
// window.location.href = "/main-page?logout=true";
|
|
151
|
+
//
|
|
152
|
+
// return;
|
|
153
|
+
// }
|
|
154
|
+
//
|
|
155
|
+
// processQueue(err, null);
|
|
156
|
+
// reject(err);
|
|
157
|
+
// })
|
|
158
|
+
// .finally(() => {
|
|
159
|
+
// isRefreshing = false;
|
|
160
|
+
// });
|
|
161
|
+
// });
|
|
162
|
+
// }
|
|
155
163
|
if (!error.response) {
|
|
156
164
|
return Promise.reject({
|
|
157
165
|
...error,
|
package/types/product.ts
CHANGED
|
@@ -117,7 +117,9 @@ export enum ProductTypeEnum {
|
|
|
117
117
|
DO_SEMEN_INDONESIA = "DO Semen Indonesia",
|
|
118
118
|
COMPANY_CODE_MAPPING = "Company Code Mapping",
|
|
119
119
|
BANK_MONITORING_TRANSACTION="Bank Monitoring Transaction",
|
|
120
|
-
APPROVAL_SIGNATURE="Approval Signature"
|
|
120
|
+
APPROVAL_SIGNATURE="Approval Signature",
|
|
121
|
+
CASH_CARD_OVERVIEW = "Cash Card Overview",
|
|
122
|
+
|
|
121
123
|
}
|
|
122
124
|
|
|
123
125
|
// Product Id by Product Type
|
|
@@ -239,7 +241,8 @@ export enum ProductTypeEnum {
|
|
|
239
241
|
DO_SEMEN_INDONESIA = "533",
|
|
240
242
|
COMPANY_CODE_MAPPING = "545",
|
|
241
243
|
BANK_MONITORING_TRANSACTION="327",
|
|
242
|
-
APPROVAL_SIGNATURE="546"
|
|
244
|
+
APPROVAL_SIGNATURE="546",
|
|
245
|
+
CASH_CARD_OVERVIEW = "569",
|
|
243
246
|
}
|
|
244
247
|
|
|
245
248
|
//sementara
|
|
@@ -370,5 +373,6 @@ export enum ProductTypeEnum {
|
|
|
370
373
|
DO_SEMEN_INDONESIA = "DO Semen Indonesia",
|
|
371
374
|
COMPANY_CODE_MAPPING = "Company Code Mapping",
|
|
372
375
|
BANK_MONITORING_TRANSACTION="Bank Monitoring Transaction",
|
|
373
|
-
APPROVAL_SIGNATURE="Approval Signature"
|
|
376
|
+
APPROVAL_SIGNATURE="Approval Signature",
|
|
377
|
+
CASH_CARD_OVERVIEW = "Cash Card Overview",
|
|
374
378
|
}
|