prow-authority 3.6.3
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/.claude/settings.local.json +11 -0
- package/.dockerignore +11 -0
- package/.github/workflows/_deploy.yml +191 -0
- package/.github/workflows/deploy-dev.yml +30 -0
- package/.github/workflows/deploy-prod.yml +34 -0
- package/CLAUDE.md +114 -0
- package/Dockerfile +61 -0
- package/Dockerfile.dev +24 -0
- package/README.md +1 -0
- package/package.json +61 -0
- package/src/App.ts +40 -0
- package/src/helpers/api-error.ts +21 -0
- package/src/helpers/authority.ts +216 -0
- package/src/helpers/config.ts +4 -0
- package/src/helpers/holded.ts +105 -0
- package/src/helpers/mysql.ts +15 -0
- package/src/helpers/notifications.ts +55 -0
- package/src/helpers/random.ts +18 -0
- package/src/helpers/s3.ts +43 -0
- package/src/helpers/stripe.ts +8 -0
- package/src/index.ts +47 -0
- package/src/v1/common-types.ts +12 -0
- package/src/v1/controllers/admin/accounting-seat-controller.ts +148 -0
- package/src/v1/controllers/admin/billing-cycle-controller.ts +171 -0
- package/src/v1/controllers/admin/invoice-controller.ts +222 -0
- package/src/v1/controllers/admin/license-controller.ts +190 -0
- package/src/v1/controllers/admin/license-limit-controller.ts +160 -0
- package/src/v1/controllers/admin/notification-controller.ts +115 -0
- package/src/v1/controllers/admin/organization-controller.ts +210 -0
- package/src/v1/controllers/admin/organization-license-controller.ts +224 -0
- package/src/v1/controllers/admin/organization-license-limit-controller.ts +196 -0
- package/src/v1/controllers/admin/organization-usage-controller.ts +167 -0
- package/src/v1/controllers/admin/payment-method-controller.ts +173 -0
- package/src/v1/controllers/admin/policy-controller.ts +138 -0
- package/src/v1/controllers/admin/policy-version-controller.ts +143 -0
- package/src/v1/controllers/admin/schedule-controller.ts +181 -0
- package/src/v1/controllers/admin/service-controller.ts +206 -0
- package/src/v1/controllers/admin/service-notification-controller.ts +166 -0
- package/src/v1/controllers/admin/user-controller.ts +282 -0
- package/src/v1/controllers/admin/user-organization-controller.ts +172 -0
- package/src/v1/controllers/admin/user-policy-controller.ts +164 -0
- package/src/v1/controllers/auth/@deprecated oauth-controller.ts +191 -0
- package/src/v1/controllers/auth/identity-token-controller.ts +286 -0
- package/src/v1/controllers/auth/organization-token-controller.ts +277 -0
- package/src/v1/controllers/auth/temp-code-controller.ts +60 -0
- package/src/v1/controllers/billing/billing-controller.ts +805 -0
- package/src/v1/controllers/organizations/public-organization-controller.ts +1796 -0
- package/src/v1/controllers/policies/public-policy-controller.ts +68 -0
- package/src/v1/controllers/services/public-service-controller.ts +177 -0
- package/src/v1/controllers/services/service-controller.ts +474 -0
- package/src/v1/controllers/users/public-user-controller.ts +471 -0
- package/src/v1/daos/@deprecated auth-dao.ts +173 -0
- package/src/v1/daos/accounting-seat-dao.ts +111 -0
- package/src/v1/daos/billing-cycle-dao.ts +107 -0
- package/src/v1/daos/invoice-dao.ts +131 -0
- package/src/v1/daos/license-dao.ts +152 -0
- package/src/v1/daos/license-limit-dao.ts +120 -0
- package/src/v1/daos/organization-dao.ts +109 -0
- package/src/v1/daos/organization-license-dao.ts +117 -0
- package/src/v1/daos/organization-license-limit-dao.ts +157 -0
- package/src/v1/daos/organization-usage-dao.ts +115 -0
- package/src/v1/daos/payment-method-dao.ts +110 -0
- package/src/v1/daos/policy-dao.ts +105 -0
- package/src/v1/daos/policy-version-dao.ts +112 -0
- package/src/v1/daos/redis-dao.ts +38 -0
- package/src/v1/daos/schema.sql +462 -0
- package/src/v1/daos/service-dao.ts +118 -0
- package/src/v1/daos/service-notification-dao.ts +120 -0
- package/src/v1/daos/user-dao.ts +127 -0
- package/src/v1/daos/user-organization-dao.ts +123 -0
- package/src/v1/daos/user-policy-dao.ts +109 -0
- package/src/v1/middlewares/auth/identity-token-middleware.ts +51 -0
- package/src/v1/middlewares/auth/organization-token-middleware.ts +73 -0
- package/src/v1/middlewares/auth/service-token-middleware.ts +167 -0
- package/src/v1/middlewares/authority-middleware.ts +97 -0
- package/src/v1/middlewares/organizations/organization-middleware.ts +94 -0
- package/src/v1/middlewares/static/static-middleware.ts +41 -0
- package/src/v1/middlewares/users/user-middleware.ts +41 -0
- package/src/v1/routes/admin/accounting-seat-router.ts +89 -0
- package/src/v1/routes/admin/admin-router.ts +61 -0
- package/src/v1/routes/admin/billing-cycle-router.ts +89 -0
- package/src/v1/routes/admin/invoice-router.ts +89 -0
- package/src/v1/routes/admin/license-limit-router.ts +89 -0
- package/src/v1/routes/admin/license-router.ts +89 -0
- package/src/v1/routes/admin/notification-router.ts +61 -0
- package/src/v1/routes/admin/organization-license-limit-router.ts +89 -0
- package/src/v1/routes/admin/organization-license-router.ts +89 -0
- package/src/v1/routes/admin/organization-router.ts +89 -0
- package/src/v1/routes/admin/payment-method-router.ts +89 -0
- package/src/v1/routes/admin/policy-router.ts +89 -0
- package/src/v1/routes/admin/policy-version-router.ts +89 -0
- package/src/v1/routes/admin/schedule-router.ts +75 -0
- package/src/v1/routes/admin/service-notification-router.ts +98 -0
- package/src/v1/routes/admin/service-router.ts +89 -0
- package/src/v1/routes/admin/user-organization-router.ts +89 -0
- package/src/v1/routes/admin/user-policy-router.ts +89 -0
- package/src/v1/routes/admin/user-router.ts +89 -0
- package/src/v1/routes/auth/@deprecated auth-router.ts +199 -0
- package/src/v1/routes/auth/identity-token-router.ts +147 -0
- package/src/v1/routes/auth/organization-token-router.ts +70 -0
- package/src/v1/routes/billing/billing-router.ts +227 -0
- package/src/v1/routes/organizations/invoices-router.ts +48 -0
- package/src/v1/routes/organizations/payments-router.ts +104 -0
- package/src/v1/routes/organizations/public-organization-router.ts +319 -0
- package/src/v1/routes/organizations/users-router.ts +139 -0
- package/src/v1/routes/policies/public-policy-router.ts +50 -0
- package/src/v1/routes/services/public-service-router.ts +89 -0
- package/src/v1/routes/services/service-router.ts +197 -0
- package/src/v1/routes/users/public-user-router.ts +230 -0
- package/src/v1/routes/v1-router.ts +50 -0
- package/src/v1/schemas/admin/accounting-seat-schemas.ts +22 -0
- package/src/v1/schemas/admin/billing-cycle-schemas.ts +20 -0
- package/src/v1/schemas/admin/invoice-schemas.ts +41 -0
- package/src/v1/schemas/admin/license-limit-schemas.ts +25 -0
- package/src/v1/schemas/admin/license-schemas.ts +30 -0
- package/src/v1/schemas/admin/organization-license-limit-schemas.ts +29 -0
- package/src/v1/schemas/admin/organization-license-schemas.ts +43 -0
- package/src/v1/schemas/admin/organization-schemas.ts +67 -0
- package/src/v1/schemas/admin/organization-usage-schemas.ts +15 -0
- package/src/v1/schemas/admin/payment-method-schemas.ts +40 -0
- package/src/v1/schemas/admin/policy-schemas.ts +31 -0
- package/src/v1/schemas/admin/service-notification-schemas.ts +23 -0
- package/src/v1/schemas/admin/service-schemas.ts +56 -0
- package/src/v1/schemas/admin/user-organization-schemas.ts +24 -0
- package/src/v1/schemas/admin/user-policy-schemas.ts +17 -0
- package/src/v1/schemas/admin/user-schemas.ts +52 -0
- package/src/v1/schemas/auth/auth-schemas.ts +55 -0
- package/src/v1/schemas/billing/billing-schemas.ts +32 -0
- package/src/v1/schemas/organizations/public-organization-schemas.ts +77 -0
- package/src/v1/schemas/payments/payment-method-schemas.ts +0 -0
- package/src/v1/schemas/services/public-service-schemas.ts +5 -0
- package/src/v1/schemas/services/service-schemas.ts +27 -0
- package/src/v1/schemas/users/public-user-schemas.ts +73 -0
- package/src/v1/types/admin/accounting-seat-types.ts +16 -0
- package/src/v1/types/admin/billing-cycle-types.ts +14 -0
- package/src/v1/types/admin/invoice-types.ts +39 -0
- package/src/v1/types/admin/license-limit-types.ts +16 -0
- package/src/v1/types/admin/license-types.ts +29 -0
- package/src/v1/types/admin/organization-license-limit-types.ts +13 -0
- package/src/v1/types/admin/organization-license-types.ts +21 -0
- package/src/v1/types/admin/organization-types.ts +60 -0
- package/src/v1/types/admin/organization-usage-types.ts +17 -0
- package/src/v1/types/admin/payment-method-types.ts +30 -0
- package/src/v1/types/admin/policy-types.ts +9 -0
- package/src/v1/types/admin/policy-version-types.ts +12 -0
- package/src/v1/types/admin/service-notification-types.ts +20 -0
- package/src/v1/types/admin/service-types.ts +36 -0
- package/src/v1/types/admin/user-organization-types.ts +31 -0
- package/src/v1/types/admin/user-types.ts +44 -0
- package/src/v1/types/auth/@deprecated auth-types.ts +26 -0
- package/src/v1/types/auth/common-types.ts +7 -0
- package/src/v1/types/auth/confirmation-types.ts +5 -0
- package/src/v1/types/auth/identity-token-types.ts +8 -0
- package/src/v1/types/auth/organization-token-types.ts +23 -0
- package/src/v1/types/auth/otp-types.ts +12 -0
- package/src/v1/types/billing/billing-types.ts +37 -0
- package/src/v1/types/billing/ue-types.ts +29 -0
- package/src/v1/types/organizations/public-organization-types.ts +76 -0
- package/src/v1/types/policies/public-policy-types.ts +7 -0
- package/src/v1/types/services/public-service-types.ts +20 -0
- package/src/v1/types/services/service-types.ts +43 -0
- package/src/v1/types/users/public-user-types.ts +15 -0
- package/src/v1/types/users/user-policy-types.ts +11 -0
- package/static/error.html +55 -0
- package/static/grant.html +117 -0
- package/static/login.html +54 -0
- package/static/oauth-client-logo.webp +0 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Request, Router, Response } from 'express';
|
|
2
|
+
import billingCycleController from '../../controllers/admin/billing-cycle-controller';
|
|
3
|
+
import httpcodes from 'http-status-codes';
|
|
4
|
+
import APIError from '../../../helpers/api-error';
|
|
5
|
+
|
|
6
|
+
class BillingCycleRouter {
|
|
7
|
+
router: Router;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = Router();
|
|
11
|
+
this.init();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private readonly get = async (req: Request, res: Response) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await billingCycleController.get(parseInt(req.params[`id`], 10));
|
|
17
|
+
res.json(response);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
if (e instanceof APIError) {
|
|
20
|
+
res.status(e.code).json(e.data);
|
|
21
|
+
} else {
|
|
22
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
private readonly list = async (req: Request, res: Response) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await billingCycleController.list(req.body);
|
|
30
|
+
res.json(response);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e instanceof APIError) {
|
|
33
|
+
res.status(e.code).json(e.data);
|
|
34
|
+
} else {
|
|
35
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private readonly add = async (req: Request, res: Response) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await billingCycleController.add(req.body);
|
|
43
|
+
res.json(response);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (e instanceof APIError) {
|
|
46
|
+
res.status(e.code).json(e.data);
|
|
47
|
+
} else {
|
|
48
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
private readonly update = async (req: Request, res: Response) => {
|
|
54
|
+
try {
|
|
55
|
+
const response = await billingCycleController.update(parseInt(req.params[`id`], 10), req.body);
|
|
56
|
+
res.json(response);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
if (e instanceof APIError) {
|
|
59
|
+
res.status(e.code).json(e.data);
|
|
60
|
+
} else {
|
|
61
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
private readonly delete = async (req: Request, res: Response) => {
|
|
67
|
+
try {
|
|
68
|
+
const response = await billingCycleController.delete(parseInt(req.params[`id`], 10));
|
|
69
|
+
res.json(response);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
if (e instanceof APIError) {
|
|
72
|
+
res.status(e.code).json(e.data);
|
|
73
|
+
} else {
|
|
74
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
private readonly init = () => {
|
|
80
|
+
this.router.get(`/:id`, this.get);
|
|
81
|
+
this.router.post(`/list`, this.list);
|
|
82
|
+
this.router.post(`/`, this.add);
|
|
83
|
+
this.router.put(`/:id`, this.update);
|
|
84
|
+
this.router.delete(`/:id`, this.delete);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const billingCycleRouter = (new BillingCycleRouter()).router;
|
|
89
|
+
export default billingCycleRouter;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Request, Router, Response } from 'express';
|
|
2
|
+
import invoiceController from '../../controllers/admin/invoice-controller';
|
|
3
|
+
import httpcodes from 'http-status-codes';
|
|
4
|
+
import APIError from '../../../helpers/api-error';
|
|
5
|
+
|
|
6
|
+
class InvoiceRouter {
|
|
7
|
+
router: Router;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = Router();
|
|
11
|
+
this.init();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private readonly get = async (req: Request, res: Response) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await invoiceController.get(parseInt(req.params[`id`], 10));
|
|
17
|
+
res.json(response);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
if (e instanceof APIError) {
|
|
20
|
+
res.status(e.code).json(e.data);
|
|
21
|
+
} else {
|
|
22
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
private readonly list = async (req: Request, res: Response) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await invoiceController.list(req.body);
|
|
30
|
+
res.json(response);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e instanceof APIError) {
|
|
33
|
+
res.status(e.code).json(e.data);
|
|
34
|
+
} else {
|
|
35
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private readonly add = async (req: Request, res: Response) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await invoiceController.add(req.body);
|
|
43
|
+
res.json(response);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (e instanceof APIError) {
|
|
46
|
+
res.status(e.code).json(e.data);
|
|
47
|
+
} else {
|
|
48
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
private readonly update = async (req: Request, res: Response) => {
|
|
54
|
+
try {
|
|
55
|
+
const response = await invoiceController.update(parseInt(req.params[`id`], 10), req.body);
|
|
56
|
+
res.json(response);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
if (e instanceof APIError) {
|
|
59
|
+
res.status(e.code).json(e.data);
|
|
60
|
+
} else {
|
|
61
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
private readonly delete = async (req: Request, res: Response) => {
|
|
67
|
+
try {
|
|
68
|
+
const response = await invoiceController.delete(parseInt(req.params[`id`], 10));
|
|
69
|
+
res.json(response);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
if (e instanceof APIError) {
|
|
72
|
+
res.status(e.code).json(e.data);
|
|
73
|
+
} else {
|
|
74
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
private readonly init = () => {
|
|
80
|
+
this.router.get(`/:id`, this.get);
|
|
81
|
+
this.router.post(`/list`, this.list);
|
|
82
|
+
this.router.post(`/`, this.add);
|
|
83
|
+
this.router.put(`/:id`, this.update);
|
|
84
|
+
this.router.delete(`/:id`, this.delete);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const invoiceRouter = (new InvoiceRouter()).router;
|
|
89
|
+
export default invoiceRouter;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Request, Router, Response } from 'express';
|
|
2
|
+
import licenseLimitController from '../../controllers/admin/license-limit-controller';
|
|
3
|
+
import httpcodes from 'http-status-codes';
|
|
4
|
+
import APIError from '../../../helpers/api-error';
|
|
5
|
+
|
|
6
|
+
class LicenseLimitRouter {
|
|
7
|
+
router: Router;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = Router();
|
|
11
|
+
this.init();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private readonly get = async (req: Request, res: Response) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await licenseLimitController.get(parseInt(req.params[`id`], 10));
|
|
17
|
+
res.json(response);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
if (e instanceof APIError) {
|
|
20
|
+
res.status(e.code).json(e.data);
|
|
21
|
+
} else {
|
|
22
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
private readonly list = async (req: Request, res: Response) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await licenseLimitController.list(req.body);
|
|
30
|
+
res.json(response);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e instanceof APIError) {
|
|
33
|
+
res.status(e.code).json(e.data);
|
|
34
|
+
} else {
|
|
35
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private readonly add = async (req: Request, res: Response) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await licenseLimitController.add(req.body);
|
|
43
|
+
res.json(response);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (e instanceof APIError) {
|
|
46
|
+
res.status(e.code).json(e.data);
|
|
47
|
+
} else {
|
|
48
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
private readonly update = async (req: Request, res: Response) => {
|
|
54
|
+
try {
|
|
55
|
+
const response = await licenseLimitController.update(parseInt(req.params[`id`], 10), req.body);
|
|
56
|
+
res.json(response);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
if (e instanceof APIError) {
|
|
59
|
+
res.status(e.code).json(e.data);
|
|
60
|
+
} else {
|
|
61
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
private readonly delete = async (req: Request, res: Response) => {
|
|
67
|
+
try {
|
|
68
|
+
const response = await licenseLimitController.delete(parseInt(req.params[`id`], 10));
|
|
69
|
+
res.json(response);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
if (e instanceof APIError) {
|
|
72
|
+
res.status(e.code).json(e.data);
|
|
73
|
+
} else {
|
|
74
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
private readonly init = () => {
|
|
80
|
+
this.router.get(`/:id`, this.get);
|
|
81
|
+
this.router.post(`/list`, this.list);
|
|
82
|
+
this.router.post(`/`, this.add);
|
|
83
|
+
this.router.put(`/:id`, this.update);
|
|
84
|
+
this.router.delete(`/:id`, this.delete);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const licenseLimitRouter = (new LicenseLimitRouter()).router;
|
|
89
|
+
export default licenseLimitRouter;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Request, Router, Response } from 'express';
|
|
2
|
+
import licenseController from '../../controllers/admin/license-controller';
|
|
3
|
+
import httpcodes from 'http-status-codes';
|
|
4
|
+
import APIError from '../../../helpers/api-error';
|
|
5
|
+
|
|
6
|
+
class LicenseRouter {
|
|
7
|
+
router: Router;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = Router();
|
|
11
|
+
this.init();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private readonly get = async (req: Request, res: Response) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await licenseController.get(parseInt(req.params[`id`], 10));
|
|
17
|
+
res.json(response);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
if (e instanceof APIError) {
|
|
20
|
+
res.status(e.code).json(e.data);
|
|
21
|
+
} else {
|
|
22
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
private readonly list = async (req: Request, res: Response) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await licenseController.list(req.body);
|
|
30
|
+
res.json(response);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e instanceof APIError) {
|
|
33
|
+
res.status(e.code).json(e.data);
|
|
34
|
+
} else {
|
|
35
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private readonly add = async (req: Request, res: Response) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await licenseController.add(req.body);
|
|
43
|
+
res.json(response);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (e instanceof APIError) {
|
|
46
|
+
res.status(e.code).json(e.data);
|
|
47
|
+
} else {
|
|
48
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
private readonly update = async (req: Request, res: Response) => {
|
|
54
|
+
try {
|
|
55
|
+
const response = await licenseController.update(parseInt(req.params[`id`], 10), req.body);
|
|
56
|
+
res.json(response);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
if (e instanceof APIError) {
|
|
59
|
+
res.status(e.code).json(e.data);
|
|
60
|
+
} else {
|
|
61
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
private readonly delete = async (req: Request, res: Response) => {
|
|
67
|
+
try {
|
|
68
|
+
const response = await licenseController.delete(parseInt(req.params[`id`], 10));
|
|
69
|
+
res.json(response);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
if (e instanceof APIError) {
|
|
72
|
+
res.status(e.code).json(e.data);
|
|
73
|
+
} else {
|
|
74
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
private readonly init = () => {
|
|
80
|
+
this.router.get(`/:id`, this.get);
|
|
81
|
+
this.router.post(`/list`, this.list);
|
|
82
|
+
this.router.post(`/`, this.add);
|
|
83
|
+
this.router.put(`/:id`, this.update);
|
|
84
|
+
this.router.delete(`/:id`, this.delete);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const licenseRouter = (new LicenseRouter()).router;
|
|
89
|
+
export default licenseRouter;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Request, Response, Router } from 'express';
|
|
2
|
+
import httpcodes from 'http-status-codes';
|
|
3
|
+
import APIError from '../../../helpers/api-error';
|
|
4
|
+
import notificationController from '../../controllers/admin/notification-controller';
|
|
5
|
+
|
|
6
|
+
class NotificationRouter {
|
|
7
|
+
router: Router;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = Router();
|
|
11
|
+
this.init();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private readonly confirmation = async (req: Request, res: Response) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await notificationController.confirmation(parseInt(req.params[`id`], 10));
|
|
17
|
+
res.json(response);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
if (e instanceof APIError) {
|
|
20
|
+
res.status(e.code).json(e.data);
|
|
21
|
+
} else {
|
|
22
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
private readonly password = async (req: Request, res: Response) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await notificationController.password(parseInt(req.params[`id`], 10));
|
|
30
|
+
res.json(response);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e instanceof APIError) {
|
|
33
|
+
res.status(e.code).json(e.data);
|
|
34
|
+
} else {
|
|
35
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private readonly otp = async (req: Request, res: Response) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await notificationController.otp(parseInt(req.params[`id`], 10));
|
|
43
|
+
res.json(response);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (e instanceof APIError) {
|
|
46
|
+
res.status(e.code).json(e.data);
|
|
47
|
+
} else {
|
|
48
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
private readonly init = () => {
|
|
54
|
+
this.router.post(`/:id/confirmation`, this.confirmation);
|
|
55
|
+
this.router.post(`/:id/password`, this.password);
|
|
56
|
+
this.router.post(`/:id/otp`, this.otp);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const notificationRouter = (new NotificationRouter()).router;
|
|
61
|
+
export default notificationRouter;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Request, Router, Response } from 'express';
|
|
2
|
+
import organizationLicenseLimitController from '../../controllers/admin/organization-license-limit-controller';
|
|
3
|
+
import httpcodes from 'http-status-codes';
|
|
4
|
+
import APIError from '../../../helpers/api-error';
|
|
5
|
+
|
|
6
|
+
class OrganizationLicenseLimitRouter {
|
|
7
|
+
router: Router;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = Router();
|
|
11
|
+
this.init();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private readonly get = async (req: Request, res: Response) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await organizationLicenseLimitController.get(parseInt(req.params[`id`], 10));
|
|
17
|
+
res.json(response);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
if (e instanceof APIError) {
|
|
20
|
+
res.status(e.code).json(e.data);
|
|
21
|
+
} else {
|
|
22
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
private readonly list = async (req: Request, res: Response) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await organizationLicenseLimitController.list(req.body);
|
|
30
|
+
res.json(response);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e instanceof APIError) {
|
|
33
|
+
res.status(e.code).json(e.data);
|
|
34
|
+
} else {
|
|
35
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private readonly add = async (req: Request, res: Response) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await organizationLicenseLimitController.add(req.body);
|
|
43
|
+
res.json(response);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (e instanceof APIError) {
|
|
46
|
+
res.status(e.code).json(e.data);
|
|
47
|
+
} else {
|
|
48
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
private readonly update = async (req: Request, res: Response) => {
|
|
54
|
+
try {
|
|
55
|
+
const response = await organizationLicenseLimitController.update(parseInt(req.params[`id`], 10), req.body);
|
|
56
|
+
res.json(response);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
if (e instanceof APIError) {
|
|
59
|
+
res.status(e.code).json(e.data);
|
|
60
|
+
} else {
|
|
61
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
private readonly delete = async (req: Request, res: Response) => {
|
|
67
|
+
try {
|
|
68
|
+
const response = await organizationLicenseLimitController.delete(parseInt(req.params[`id`], 10));
|
|
69
|
+
res.json(response);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
if (e instanceof APIError) {
|
|
72
|
+
res.status(e.code).json(e.data);
|
|
73
|
+
} else {
|
|
74
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
private readonly init = () => {
|
|
80
|
+
this.router.get(`/:id`, this.get);
|
|
81
|
+
this.router.post(`/list`, this.list);
|
|
82
|
+
this.router.post(`/`, this.add);
|
|
83
|
+
this.router.put(`/:id`, this.update);
|
|
84
|
+
this.router.delete(`/:id`, this.delete);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const organizationLicenseLimitRouter = (new OrganizationLicenseLimitRouter()).router;
|
|
89
|
+
export default organizationLicenseLimitRouter;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Request, Router, Response } from 'express';
|
|
2
|
+
import organizationLicenseController from '../../controllers/admin/organization-license-controller';
|
|
3
|
+
import httpcodes from 'http-status-codes';
|
|
4
|
+
import APIError from '../../../helpers/api-error';
|
|
5
|
+
|
|
6
|
+
class OrganizationLicenseRouter {
|
|
7
|
+
router: Router;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = Router();
|
|
11
|
+
this.init();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private readonly get = async (req: Request, res: Response) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await organizationLicenseController.get(parseInt(req.params[`id`], 10));
|
|
17
|
+
res.json(response);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
if (e instanceof APIError) {
|
|
20
|
+
res.status(e.code).json(e.data);
|
|
21
|
+
} else {
|
|
22
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
private readonly list = async (req: Request, res: Response) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await organizationLicenseController.list(req.body);
|
|
30
|
+
res.json(response);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e instanceof APIError) {
|
|
33
|
+
res.status(e.code).json(e.data);
|
|
34
|
+
} else {
|
|
35
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private readonly add = async (req: Request, res: Response) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await organizationLicenseController.add(req.body);
|
|
43
|
+
res.json(response);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (e instanceof APIError) {
|
|
46
|
+
res.status(e.code).json(e.data);
|
|
47
|
+
} else {
|
|
48
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
private readonly update = async (req: Request, res: Response) => {
|
|
54
|
+
try {
|
|
55
|
+
const response = await organizationLicenseController.update(parseInt(req.params[`id`], 10), req.body);
|
|
56
|
+
res.json(response);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
if (e instanceof APIError) {
|
|
59
|
+
res.status(e.code).json(e.data);
|
|
60
|
+
} else {
|
|
61
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
private readonly delete = async (req: Request, res: Response) => {
|
|
67
|
+
try {
|
|
68
|
+
const response = await organizationLicenseController.delete(parseInt(req.params[`id`], 10));
|
|
69
|
+
res.json(response);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
if (e instanceof APIError) {
|
|
72
|
+
res.status(e.code).json(e.data);
|
|
73
|
+
} else {
|
|
74
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
private readonly init = () => {
|
|
80
|
+
this.router.get(`/:id`, this.get);
|
|
81
|
+
this.router.post(`/list`, this.list);
|
|
82
|
+
this.router.post(`/`, this.add);
|
|
83
|
+
this.router.put(`/:id`, this.update);
|
|
84
|
+
this.router.delete(`/:id`, this.delete);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const organizationLicenseRouter = (new OrganizationLicenseRouter()).router;
|
|
89
|
+
export default organizationLicenseRouter;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Request, Router, Response } from 'express';
|
|
2
|
+
import organizationController from '../../controllers/admin/organization-controller';
|
|
3
|
+
import httpcodes from 'http-status-codes';
|
|
4
|
+
import APIError from '../../../helpers/api-error';
|
|
5
|
+
|
|
6
|
+
class OrganizationRouter {
|
|
7
|
+
router: Router;
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = Router();
|
|
11
|
+
this.init();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private readonly get = async (req: Request, res: Response) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await organizationController.get(parseInt(req.params[`id`], 10));
|
|
17
|
+
res.json(response);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
if (e instanceof APIError) {
|
|
20
|
+
res.status(e.code).json(e.data);
|
|
21
|
+
} else {
|
|
22
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
private readonly list = async (req: Request, res: Response) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await organizationController.list(req.body);
|
|
30
|
+
res.json(response);
|
|
31
|
+
} catch (e) {
|
|
32
|
+
if (e instanceof APIError) {
|
|
33
|
+
res.status(e.code).json(e.data);
|
|
34
|
+
} else {
|
|
35
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private readonly add = async (req: Request, res: Response) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await organizationController.add(req.body);
|
|
43
|
+
res.json(response);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (e instanceof APIError) {
|
|
46
|
+
res.status(e.code).json(e.data);
|
|
47
|
+
} else {
|
|
48
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
private readonly update = async (req: Request, res: Response) => {
|
|
54
|
+
try {
|
|
55
|
+
const response = await organizationController.update(parseInt(req.params[`id`], 10), req.body);
|
|
56
|
+
res.json(response);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
if (e instanceof APIError) {
|
|
59
|
+
res.status(e.code).json(e.data);
|
|
60
|
+
} else {
|
|
61
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
private readonly delete = async (req: Request, res: Response) => {
|
|
67
|
+
try {
|
|
68
|
+
const response = await organizationController.delete(parseInt(req.params[`id`], 10));
|
|
69
|
+
res.json(response);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
if (e instanceof APIError) {
|
|
72
|
+
res.status(e.code).json(e.data);
|
|
73
|
+
} else {
|
|
74
|
+
res.status(httpcodes.INTERNAL_SERVER_ERROR).json({ error: e.message || e });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
private readonly init = () => {
|
|
80
|
+
this.router.get(`/:id`, this.get);
|
|
81
|
+
this.router.post(`/list`, this.list);
|
|
82
|
+
this.router.post(`/`, this.add);
|
|
83
|
+
this.router.put(`/:id`, this.update);
|
|
84
|
+
this.router.delete(`/:id`, this.delete);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const organizationRouter = (new OrganizationRouter()).router;
|
|
89
|
+
export default organizationRouter;
|