Skip to content

Commit 043ca4f

Browse files
authored
Merge pull request #4517 from airqo-platform/staging
move to production
2 parents 1cfefd3 + aa9a26a commit 043ca4f

File tree

18 files changed

+862
-70
lines changed

18 files changed

+862
-70
lines changed

k8s/auth-service/values-prod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ app:
66
replicaCount: 3
77
image:
88
repository: eu.gcr.io/airqo-250220/airqo-auth-api
9-
tag: prod-a5891acb-1740669362
9+
tag: prod-1cfefd36-1740828978
1010
nameOverride: ''
1111
fullnameOverride: ''
1212
podAnnotations: {}

k8s/auth-service/values-stage.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ app:
66
replicaCount: 2
77
image:
88
repository: eu.gcr.io/airqo-250220/airqo-stage-auth-api
9-
tag: stage-c19b9d1b-1740578709
9+
tag: stage-0b57b6d6-1741008627
1010
nameOverride: ''
1111
fullnameOverride: ''
1212
podAnnotations: {}

k8s/data-mgt/values-prod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ app:
66
replicaCount: 2
77
image:
88
repository: eu.gcr.io/airqo-250220/airqo-data-mgt-api
9-
tag: prod-a5891acb-1740669362
9+
tag: prod-1cfefd36-1740828978
1010
nameOverride: ''
1111
fullnameOverride: ''
1212
podAnnotations: {}

k8s/device-registry/values-prod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ app:
66
replicaCount: 3
77
image:
88
repository: eu.gcr.io/airqo-250220/airqo-device-registry-api
9-
tag: prod-a5891acb-1740669362
9+
tag: prod-1cfefd36-1740828978
1010
nameOverride: ''
1111
fullnameOverride: ''
1212
podAnnotations: {}

k8s/device-registry/values-stage.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ app:
66
replicaCount: 2
77
image:
88
repository: eu.gcr.io/airqo-250220/airqo-stage-device-registry-api
9-
tag: stage-d6023000-1740329829
9+
tag: stage-3c01ed08-1741003992
1010
nameOverride: ''
1111
fullnameOverride: ''
1212
podAnnotations: {}

k8s/predict/values-prod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ images:
77
predictJob: eu.gcr.io/airqo-250220/airqo-predict-job
88
trainJob: eu.gcr.io/airqo-250220/airqo-train-job
99
predictPlaces: eu.gcr.io/airqo-250220/airqo-predict-places-air-quality
10-
tag: prod-a5891acb-1740669362
10+
tag: prod-1cfefd36-1740828978
1111
api:
1212
name: airqo-prediction-api
1313
label: prediction-api

k8s/spatial/values-prod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ app:
66
replicaCount: 3
77
image:
88
repository: eu.gcr.io/airqo-250220/airqo-spatial-api
9-
tag: prod-a5891acb-1740669362
9+
tag: prod-1cfefd36-1740828978
1010
nameOverride: ''
1111
fullnameOverride: ''
1212
podAnnotations: {}

k8s/workflows/values-prod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ images:
1010
initContainer: eu.gcr.io/airqo-250220/airqo-workflows-xcom
1111
redisContainer: eu.gcr.io/airqo-250220/airqo-redis
1212
containers: eu.gcr.io/airqo-250220/airqo-workflows
13-
tag: prod-a5891acb-1740669362
13+
tag: prod-1cfefd36-1740828978
1414
nameOverride: ''
1515
fullnameOverride: ''
1616
podAnnotations: {}

k8s/workflows/values-stage.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ images:
1010
initContainer: eu.gcr.io/airqo-250220/airqo-stage-workflows-xcom
1111
redisContainer: eu.gcr.io/airqo-250220/airqo-stage-redis
1212
containers: eu.gcr.io/airqo-250220/airqo-stage-workflows
13-
tag: stage-d5a5f567-1740669230
13+
tag: stage-49c61b4d-1740828876
1414
nameOverride: ''
1515
fullnameOverride: ''
1616
podAnnotations: {}
Lines changed: 230 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,230 @@
1+
// tenantSettings.controller.js
2+
const tenantSettingsUtil = require("@utils/tenant-settings.util");
3+
const {
4+
logObject,
5+
logText,
6+
logElement,
7+
HttpError,
8+
extractErrorsFromRequest,
9+
} = require("@utils/shared");
10+
const constants = require("@config/constants");
11+
const isEmpty = require("is-empty");
12+
const httpStatus = require("http-status");
13+
const log4js = require("log4js");
14+
const logger = log4js.getLogger(
15+
`${constants.ENVIRONMENT} -- tenantSettings-controller`
16+
);
17+
18+
const tenantSettings = {
19+
create: async (req, res, next) => {
20+
try {
21+
const errors = extractErrorsFromRequest(req);
22+
if (errors) {
23+
next(
24+
new HttpError("bad request errors", httpStatus.BAD_REQUEST, errors)
25+
);
26+
return;
27+
}
28+
const request = req;
29+
const defaultTenant = constants.DEFAULT_TENANT || "airqo";
30+
request.query.tenant = isEmpty(req.query.tenant)
31+
? defaultTenant
32+
: req.query.tenant;
33+
34+
const result = await tenantSettingsUtil.create(request, next);
35+
36+
if (isEmpty(result) || res.headersSent) {
37+
return;
38+
}
39+
40+
if (result.success === true) {
41+
const status = result.status ? result.status : httpStatus.OK;
42+
return res.status(status).json({
43+
success: true,
44+
message: result.message ? result.message : "",
45+
tenantSettings: result.data ? result.data : [],
46+
});
47+
} else if (result.success === false) {
48+
const status = result.status
49+
? result.status
50+
: httpStatus.INTERNAL_SERVER_ERROR;
51+
return res.status(status).json({
52+
success: false,
53+
message: result.message ? result.message : "",
54+
errors: result.errors ? result.errors : { message: "" },
55+
});
56+
}
57+
} catch (error) {
58+
logger.error(`🐛🐛 Internal Server Error ${error.message}`);
59+
next(
60+
new HttpError(
61+
"Internal Server Error",
62+
httpStatus.INTERNAL_SERVER_ERROR,
63+
{ message: error.message }
64+
)
65+
);
66+
return;
67+
}
68+
},
69+
70+
list: async (req, res, next) => {
71+
try {
72+
const errors = extractErrorsFromRequest(req);
73+
if (errors) {
74+
next(
75+
new HttpError("bad request errors", httpStatus.BAD_REQUEST, errors)
76+
);
77+
return;
78+
}
79+
const request = req;
80+
const defaultTenant = constants.DEFAULT_TENANT || "airqo";
81+
request.query.tenant = isEmpty(req.query.tenant)
82+
? defaultTenant
83+
: req.query.tenant;
84+
85+
const result = await tenantSettingsUtil.list(request, next);
86+
87+
if (isEmpty(result) || res.headersSent) {
88+
return;
89+
}
90+
91+
if (result.success === true) {
92+
const status = result.status ? result.status : httpStatus.OK;
93+
return res.status(status).json({
94+
success: true,
95+
message: result.message ? result.message : "",
96+
tenantSettings: result.data ? result.data : [],
97+
});
98+
} else if (result.success === false) {
99+
const status = result.status
100+
? result.status
101+
: httpStatus.INTERNAL_SERVER_ERROR;
102+
return res.status(status).json({
103+
success: false,
104+
message: result.message ? result.message : "",
105+
errors: result.errors
106+
? result.errors
107+
: { message: "Internal Server Error" },
108+
});
109+
}
110+
} catch (error) {
111+
logger.error(`🐛🐛 Internal Server Error ${error.message}`);
112+
next(
113+
new HttpError(
114+
"Internal Server Error",
115+
httpStatus.INTERNAL_SERVER_ERROR,
116+
{ message: error.message }
117+
)
118+
);
119+
return;
120+
}
121+
},
122+
123+
update: async (req, res, next) => {
124+
try {
125+
const errors = extractErrorsFromRequest(req);
126+
if (errors) {
127+
next(
128+
new HttpError("bad request errors", httpStatus.BAD_REQUEST, errors)
129+
);
130+
return;
131+
}
132+
const request = req;
133+
const defaultTenant = constants.DEFAULT_TENANT || "airqo";
134+
request.query.tenant = isEmpty(req.query.tenant)
135+
? defaultTenant
136+
: req.query.tenant;
137+
138+
const result = await tenantSettingsUtil.update(request, next);
139+
140+
if (isEmpty(result) || res.headersSent) {
141+
return;
142+
}
143+
144+
if (result.success === true) {
145+
const status = result.status ? result.status : httpStatus.OK;
146+
return res.status(status).json({
147+
success: true,
148+
message: result.message ? result.message : "",
149+
updatedTenantSettings: result.data ? result.data : [],
150+
});
151+
} else if (result.success === false) {
152+
const status = result.status
153+
? result.status
154+
: httpStatus.INTERNAL_SERVER_ERROR;
155+
return res.status(status).json({
156+
success: false,
157+
message: result.message ? result.message : "",
158+
errors: result.errors
159+
? result.errors
160+
: { message: "Internal Server Error" },
161+
});
162+
}
163+
} catch (error) {
164+
logger.error(`🐛🐛 Internal Server Error ${error.message}`);
165+
next(
166+
new HttpError(
167+
"Internal Server Error",
168+
httpStatus.INTERNAL_SERVER_ERROR,
169+
{ message: error.message }
170+
)
171+
);
172+
return;
173+
}
174+
},
175+
176+
delete: async (req, res, next) => {
177+
try {
178+
const errors = extractErrorsFromRequest(req);
179+
if (errors) {
180+
next(
181+
new HttpError("bad request errors", httpStatus.BAD_REQUEST, errors)
182+
);
183+
return;
184+
}
185+
const request = req;
186+
const defaultTenant = constants.DEFAULT_TENANT || "airqo";
187+
request.query.tenant = isEmpty(req.query.tenant)
188+
? defaultTenant
189+
: req.query.tenant;
190+
191+
const result = await tenantSettingsUtil.delete(request, next);
192+
193+
if (isEmpty(result) || res.headersSent) {
194+
return;
195+
}
196+
197+
if (result.success === true) {
198+
const status = result.status ? result.status : httpStatus.OK;
199+
return res.status(status).json({
200+
success: true,
201+
message: result.message ? result.message : "",
202+
deletedTenantSettings: result.data ? result.data : [],
203+
});
204+
} else if (result.success === false) {
205+
const status = result.status
206+
? result.status
207+
: httpStatus.INTERNAL_SERVER_ERROR;
208+
return res.status(status).json({
209+
success: false,
210+
message: result.message ? result.message : "",
211+
errors: result.errors
212+
? result.errors
213+
: { message: "Internal Server Error" },
214+
});
215+
}
216+
} catch (error) {
217+
logger.error(`🐛🐛 Internal Server Error ${error.message}`);
218+
next(
219+
new HttpError(
220+
"Internal Server Error",
221+
httpStatus.INTERNAL_SERVER_ERROR,
222+
{ message: error.message }
223+
)
224+
);
225+
return;
226+
}
227+
},
228+
};
229+
230+
module.exports = tenantSettings;

0 commit comments

Comments
 (0)