namirasoft-site-map 1.4.41 → 1.4.43

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/package.json CHANGED
@@ -1,62 +1,62 @@
1
- {
2
- "name": "namirasoft-site-map",
3
- "title": "Namirasoft Site Map NPM Package",
4
- "description": "Namira Software Corporation Site Map NPM Package",
5
- "icon": "logo.png",
6
- "logo": "https://static.namirasoft.com/image/namirasoft/site/logo/base.png",
7
- "language": "ts",
8
- "framework": "npm",
9
- "application": "package",
10
- "private": false,
11
- "version": "1.4.41",
12
- "author": "Amir Abolhasani",
13
- "license": "MIT",
14
- "main": "./dist/index.js",
15
- "types": "./dist/index.d.ts",
16
- "scripts": {
17
- "build": "node ./dist/check.js",
18
- "check": "node ./dist/check.js"
19
- },
20
- "dependencies": {
21
- "@types/node": "^24.10.1",
22
- "namirasoft-access": "^1.4.73",
23
- "namirasoft-account": "^1.4.103",
24
- "namirasoft-alarm": "^1.4.30",
25
- "namirasoft-api-link": "^1.4.20",
26
- "namirasoft-api-news": "^1.4.14",
27
- "namirasoft-api-product": "^1.4.45",
28
- "namirasoft-api-service": "^1.4.12",
29
- "namirasoft-api-work": "^1.4.14",
30
- "namirasoft-balance": "^1.4.26",
31
- "namirasoft-bill-watch": "^1.4.65",
32
- "namirasoft-container-registry": "^1.4.3",
33
- "namirasoft-content-template": "^1.4.30",
34
- "namirasoft-core": "^1.4.109",
35
- "namirasoft-cost": "^1.4.62",
36
- "namirasoft-credential": "^1.4.34",
37
- "namirasoft-data": "^1.4.5",
38
- "namirasoft-email-sender": "^1.4.38",
39
- "namirasoft-field": "^1.4.27",
40
- "namirasoft-history": "^1.4.17",
41
- "namirasoft-infra": "^1.4.1",
42
- "namirasoft-job-arranger": "^1.4.61",
43
- "namirasoft-log": "^1.4.41",
44
- "namirasoft-message": "^1.4.22",
45
- "namirasoft-notification-sender": "^1.4.31",
46
- "namirasoft-nws-max-mind": "^1.4.7",
47
- "namirasoft-nws-region": "^1.4.13",
48
- "namirasoft-nws-volume": "^1.4.13",
49
- "namirasoft-password": "^1.4.18",
50
- "namirasoft-payment": "^1.4.133",
51
- "namirasoft-quota": "^1.4.24",
52
- "namirasoft-scheduler": "^1.4.10",
53
- "namirasoft-secret": "^1.4.42",
54
- "namirasoft-site": "^1.4.44",
55
- "namirasoft-slack-sender": "^1.4.6",
56
- "namirasoft-sms-sender": "^1.4.26",
57
- "namirasoft-support": "^1.4.14",
58
- "namirasoft-teams-sender": "^1.4.12",
59
- "namirasoft-telegram-sender": "^1.4.4",
60
- "namirasoft-workspace": "^1.4.25"
61
- }
1
+ {
2
+ "name": "namirasoft-site-map",
3
+ "title": "Namirasoft Site Map NPM Package",
4
+ "description": "Namira Software Corporation Site Map NPM Package",
5
+ "icon": "logo.png",
6
+ "logo": "https://static.namirasoft.com/image/namirasoft/site/logo/base.png",
7
+ "language": "ts",
8
+ "framework": "npm",
9
+ "application": "package",
10
+ "private": false,
11
+ "version": "1.4.43",
12
+ "author": "Amir Abolhasani",
13
+ "license": "MIT",
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "scripts": {
17
+ "build": "node ./dist/check.js",
18
+ "check": "node ./dist/check.js"
19
+ },
20
+ "dependencies": {
21
+ "@types/node": "^25.0.3",
22
+ "namirasoft-access": "^1.4.73",
23
+ "namirasoft-account": "^1.4.103",
24
+ "namirasoft-alarm": "^1.4.30",
25
+ "namirasoft-api-link": "^1.4.20",
26
+ "namirasoft-api-news": "^1.4.14",
27
+ "namirasoft-api-product": "^1.4.48",
28
+ "namirasoft-api-service": "^1.4.12",
29
+ "namirasoft-api-work": "^1.4.14",
30
+ "namirasoft-balance": "^1.4.27",
31
+ "namirasoft-bill-watch": "^1.4.65",
32
+ "namirasoft-container-registry": "^1.4.3",
33
+ "namirasoft-content-template": "^1.4.30",
34
+ "namirasoft-core": "^1.4.110",
35
+ "namirasoft-cost": "^1.4.68",
36
+ "namirasoft-credential": "^1.4.35",
37
+ "namirasoft-data": "^1.4.5",
38
+ "namirasoft-email-sender": "^1.4.39",
39
+ "namirasoft-field": "^1.4.28",
40
+ "namirasoft-history": "^1.4.17",
41
+ "namirasoft-infra": "^1.4.9",
42
+ "namirasoft-job-arranger": "^1.4.65",
43
+ "namirasoft-log": "^1.4.41",
44
+ "namirasoft-message": "^1.4.22",
45
+ "namirasoft-notification-sender": "^1.4.31",
46
+ "namirasoft-nws-max-mind": "^1.4.8",
47
+ "namirasoft-nws-region": "^1.4.14",
48
+ "namirasoft-nws-volume": "^1.4.14",
49
+ "namirasoft-password": "^1.4.23",
50
+ "namirasoft-payment": "^1.4.135",
51
+ "namirasoft-quota": "^1.4.24",
52
+ "namirasoft-scheduler": "^1.4.10",
53
+ "namirasoft-secret": "^1.4.43",
54
+ "namirasoft-site": "^1.4.44",
55
+ "namirasoft-slack-sender": "^1.4.6",
56
+ "namirasoft-sms-sender": "^1.4.26",
57
+ "namirasoft-support": "^1.4.14",
58
+ "namirasoft-teams-sender": "^1.4.12",
59
+ "namirasoft-telegram-sender": "^1.4.4",
60
+ "namirasoft-workspace": "^1.4.26"
61
+ }
62
62
  }
@@ -1,184 +1,184 @@
1
- import { NamirasoftAccessMetaDatabase } from "namirasoft-access";
2
- import { NamirasoftAccountMetaDatabase, TokenManager } from "namirasoft-account";
3
- import { NamirasoftAlarmMetaDatabase } from "namirasoft-alarm";
4
- import { NamirasoftAPILinkMetaDatabase } from "namirasoft-api-link";
5
- import { NamirasoftAPINewsMetaDatabase } from "namirasoft-api-news";
6
- import { NamirasoftAPIProductMetaDatabase } from "namirasoft-api-product";
7
- import { NamirasoftAPIServiceMetaDatabase } from "namirasoft-api-service";
8
- import { NamirasoftAPIWorkMetaDatabase } from "namirasoft-api-work";
9
- import { NamirasoftBalanceMetaDatabase } from "namirasoft-balance";
10
- import { NamirasoftBillWatchMetaDatabase } from "namirasoft-bill-watch";
11
- import { NamirasoftContainerRegistryMetaDatabase } from "namirasoft-container-registry";
12
- import { NamirasoftContentTemplateMetaDatabase } from "namirasoft-content-template";
13
- import { NamirasoftCostMetaDatabase } from "namirasoft-cost";
14
- import { NamirasoftCredentialMetaDatabase } from "namirasoft-credential";
15
- import { NamirasoftDataMetaDatabase } from "namirasoft-data";
16
- import { NamirasoftEmailSenderMetaDatabase } from "namirasoft-email-sender";
17
- import { NamirasoftFieldMetaDatabase } from "namirasoft-field";
18
- import { NamirasoftHistoryMetaDatabase } from "namirasoft-history";
19
- import { NamirasoftInfraMetaDatabase } from "namirasoft-infra";
20
- import { NamirasoftJobArrangerMetaDatabase } from "namirasoft-job-arranger";
21
- import { NamirasoftLogMetaDatabase } from "namirasoft-log";
22
- import { NamirasoftMessageMetaDatabase } from "namirasoft-message";
23
- import { NamirasoftNotificationSenderMetaDatabase } from "namirasoft-notification-sender";
24
- import { NamirasoftNWSMaxMindMetaDatabase } from "namirasoft-nws-max-mind";
25
- import { NamirasoftNWSRegionMetaDatabase } from "namirasoft-nws-region";
26
- import { NamirasoftNWSVolumeMetaDatabase } from "namirasoft-nws-volume";
27
- import { NamirasoftPasswordMetaDatabase } from "namirasoft-password";
28
- import { NamirasoftPaymentMetaDatabase } from "namirasoft-payment";
29
- import { NamirasoftQuotaMetaDatabase } from "namirasoft-quota";
30
- import { NamirasoftSchedulerMetaDatabase } from "namirasoft-scheduler";
31
- import { NamirasoftSecretMetaDatabase } from "namirasoft-secret";
32
- import { NSBaseMetaDatabase, NSBaseMetaTable, NSBaseServer } from "namirasoft-site";
33
- import { NamirasoftSlackSenderMetaDatabase } from "namirasoft-slack-sender";
34
- import { NamirasoftSMSSenderMetaDatabase } from "namirasoft-sms-sender";
35
- import { NamirasoftSupportMetaDatabase } from "namirasoft-support";
36
- import { NamirasoftTeamsSenderMetaDatabase } from "namirasoft-teams-sender";
37
- import { NamirasoftTelegramSenderMetaDatabase } from "namirasoft-telegram-sender";
38
- import { NamirasoftWorkspaceMetaDatabase } from "namirasoft-workspace";
39
-
40
- export class NamirasoftMap
41
- {
42
- // tables define start
43
- public api_link: NamirasoftAPILinkMetaDatabase;
44
- public api_news: NamirasoftAPINewsMetaDatabase;
45
- public api_product: NamirasoftAPIProductMetaDatabase;
46
- public api_service: NamirasoftAPIServiceMetaDatabase;
47
- public api_work: NamirasoftAPIWorkMetaDatabase;
48
- public access: NamirasoftAccessMetaDatabase;
49
- public account: NamirasoftAccountMetaDatabase;
50
- public alarm: NamirasoftAlarmMetaDatabase;
51
- public balance: NamirasoftBalanceMetaDatabase;
52
- public bill_watch: NamirasoftBillWatchMetaDatabase;
53
- public container_registry: NamirasoftContainerRegistryMetaDatabase;
54
- public content_template: NamirasoftContentTemplateMetaDatabase;
55
- public cost: NamirasoftCostMetaDatabase;
56
- public credential: NamirasoftCredentialMetaDatabase;
57
- public data: NamirasoftDataMetaDatabase;
58
- public email_sender: NamirasoftEmailSenderMetaDatabase;
59
- public field: NamirasoftFieldMetaDatabase;
60
- public history: NamirasoftHistoryMetaDatabase;
61
- public infra: NamirasoftInfraMetaDatabase;
62
- public job_arranger: NamirasoftJobArrangerMetaDatabase;
63
- public log: NamirasoftLogMetaDatabase;
64
- public message: NamirasoftMessageMetaDatabase;
65
- public nws_max_mind: NamirasoftNWSMaxMindMetaDatabase;
66
- public nws_region: NamirasoftNWSRegionMetaDatabase;
67
- public nws_volume: NamirasoftNWSVolumeMetaDatabase;
68
- public notification_sender: NamirasoftNotificationSenderMetaDatabase;
69
- public password: NamirasoftPasswordMetaDatabase;
70
- public payment: NamirasoftPaymentMetaDatabase;
71
- public quota: NamirasoftQuotaMetaDatabase;
72
- public scheduler: NamirasoftSchedulerMetaDatabase;
73
- public secret: NamirasoftSecretMetaDatabase;
74
- public slack_sender: NamirasoftSlackSenderMetaDatabase;
75
- public sms_sender: NamirasoftSMSSenderMetaDatabase;
76
- public support: NamirasoftSupportMetaDatabase;
77
- public teams_sender: NamirasoftTeamsSenderMetaDatabase;
78
- public telegram_sender: NamirasoftTelegramSenderMetaDatabase;
79
- public workspace: NamirasoftWorkspaceMetaDatabase;
80
- // tables define end
81
- constructor(manager?: TokenManager, onError?: (error: Error) => void)
82
- {
83
- // tables init start
84
- this.api_link = new NamirasoftAPILinkMetaDatabase(onError);
85
- this.api_news = new NamirasoftAPINewsMetaDatabase(onError);
86
- this.api_product = new NamirasoftAPIProductMetaDatabase(onError);
87
- this.api_service = new NamirasoftAPIServiceMetaDatabase(onError);
88
- this.api_work = new NamirasoftAPIWorkMetaDatabase(onError);
89
- this.access = new NamirasoftAccessMetaDatabase(manager, onError);
90
- this.account = new NamirasoftAccountMetaDatabase(manager, onError);
91
- this.alarm = new NamirasoftAlarmMetaDatabase(manager, onError);
92
- this.balance = new NamirasoftBalanceMetaDatabase(manager, onError);
93
- this.bill_watch = new NamirasoftBillWatchMetaDatabase(manager, onError);
94
- this.container_registry = new NamirasoftContainerRegistryMetaDatabase(manager, onError);
95
- this.content_template = new NamirasoftContentTemplateMetaDatabase(manager, onError);
96
- this.cost = new NamirasoftCostMetaDatabase(manager, onError);
97
- this.credential = new NamirasoftCredentialMetaDatabase(manager, onError);
98
- this.data = new NamirasoftDataMetaDatabase(manager, onError);
99
- this.email_sender = new NamirasoftEmailSenderMetaDatabase(manager, onError);
100
- this.field = new NamirasoftFieldMetaDatabase(manager, onError);
101
- this.history = new NamirasoftHistoryMetaDatabase(manager, onError);
102
- this.infra = new NamirasoftInfraMetaDatabase(manager, onError);
103
- this.job_arranger = new NamirasoftJobArrangerMetaDatabase(manager, onError);
104
- this.log = new NamirasoftLogMetaDatabase(manager, onError);
105
- this.message = new NamirasoftMessageMetaDatabase(manager, onError);
106
- this.nws_max_mind = new NamirasoftNWSMaxMindMetaDatabase(manager, onError);
107
- this.nws_region = new NamirasoftNWSRegionMetaDatabase(manager, onError);
108
- this.nws_volume = new NamirasoftNWSVolumeMetaDatabase(manager, onError);
109
- this.notification_sender = new NamirasoftNotificationSenderMetaDatabase(manager, onError);
110
- this.password = new NamirasoftPasswordMetaDatabase(manager, onError);
111
- this.payment = new NamirasoftPaymentMetaDatabase(manager, onError);
112
- this.quota = new NamirasoftQuotaMetaDatabase(manager, onError);
113
- this.scheduler = new NamirasoftSchedulerMetaDatabase(manager, onError);
114
- this.secret = new NamirasoftSecretMetaDatabase(manager, onError);
115
- this.slack_sender = new NamirasoftSlackSenderMetaDatabase(manager, onError);
116
- this.sms_sender = new NamirasoftSMSSenderMetaDatabase(manager, onError);
117
- this.support = new NamirasoftSupportMetaDatabase(manager, onError);
118
- this.teams_sender = new NamirasoftTeamsSenderMetaDatabase(manager, onError);
119
- this.telegram_sender = new NamirasoftTelegramSenderMetaDatabase(manager, onError);
120
- this.workspace = new NamirasoftWorkspaceMetaDatabase(manager, onError);
121
-
122
- // tables init end
123
-
124
- this.api_product.tables.product.front_end.getViewLink = (id: string) =>
125
- {
126
- return this.getByProductID(id).product.link;
127
- };
128
- this.account.tables.user.front_end.getViewLink = (id: string) =>
129
- {
130
- return this.account.tables.user.front_end.getBaseLink() + "/" + id + "/view/decide";
131
- };
132
- this.account.tables.session.front_end.getViewLink = (id: string) =>
133
- {
134
- return this.account.tables.session.front_end.getBaseLink() + "/" + id + "/view/decide";
135
- };
136
- }
137
- forEachProduct<T>(handler: (meta: NSBaseMetaDatabase<NSBaseServer>) => T | null): T | null
138
- {
139
- for (let key of Object.keys(this))
140
- {
141
- let obj = (this as any)[key];
142
- if (obj?.tables)
143
- {
144
- let ans = handler(obj);
145
- if (ans)
146
- return ans;
147
- }
148
- }
149
- return null;
150
- }
151
- getByProductID(product_id: string): NSBaseMetaDatabase<NSBaseServer>
152
- {
153
- let ans = this.forEachProduct(m =>
154
- {
155
- if (m.product.id === product_id)
156
- return m;
157
- return null;
158
- });
159
- if (ans)
160
- return ans;
161
- throw new Error(`Map could not be found for product id: ${product_id}`);
162
- }
163
- getByShortName(short_name: string):
164
- {
165
- product: {
166
- id: string;
167
- name: string;
168
- headline: string;
169
- description: string;
170
- logo: string;
171
- link: string;
172
- };
173
- table: NSBaseMetaTable<NSBaseServer, any>;
174
- }
175
- {
176
- let ans = this.forEachProduct(product =>
177
- {
178
- return product.getByShortNameOrNull(short_name);
179
- });
180
- if (ans)
181
- return ans;
182
- throw new Error(`Result could not be found for short name: ${short_name}`);
183
- }
1
+ import { NamirasoftAccessMetaDatabase } from "namirasoft-access";
2
+ import { NamirasoftAccountMetaDatabase, TokenManager } from "namirasoft-account";
3
+ import { NamirasoftAlarmMetaDatabase } from "namirasoft-alarm";
4
+ import { NamirasoftAPILinkMetaDatabase } from "namirasoft-api-link";
5
+ import { NamirasoftAPINewsMetaDatabase } from "namirasoft-api-news";
6
+ import { NamirasoftAPIProductMetaDatabase } from "namirasoft-api-product";
7
+ import { NamirasoftAPIServiceMetaDatabase } from "namirasoft-api-service";
8
+ import { NamirasoftAPIWorkMetaDatabase } from "namirasoft-api-work";
9
+ import { NamirasoftBalanceMetaDatabase } from "namirasoft-balance";
10
+ import { NamirasoftBillWatchMetaDatabase } from "namirasoft-bill-watch";
11
+ import { NamirasoftContainerRegistryMetaDatabase } from "namirasoft-container-registry";
12
+ import { NamirasoftContentTemplateMetaDatabase } from "namirasoft-content-template";
13
+ import { NamirasoftCostMetaDatabase } from "namirasoft-cost";
14
+ import { NamirasoftCredentialMetaDatabase } from "namirasoft-credential";
15
+ import { NamirasoftDataMetaDatabase } from "namirasoft-data";
16
+ import { NamirasoftEmailSenderMetaDatabase } from "namirasoft-email-sender";
17
+ import { NamirasoftFieldMetaDatabase } from "namirasoft-field";
18
+ import { NamirasoftHistoryMetaDatabase } from "namirasoft-history";
19
+ import { NamirasoftInfraMetaDatabase } from "namirasoft-infra";
20
+ import { NamirasoftJobArrangerMetaDatabase } from "namirasoft-job-arranger";
21
+ import { NamirasoftLogMetaDatabase } from "namirasoft-log";
22
+ import { NamirasoftMessageMetaDatabase } from "namirasoft-message";
23
+ import { NamirasoftNotificationSenderMetaDatabase } from "namirasoft-notification-sender";
24
+ import { NamirasoftNWSMaxMindMetaDatabase } from "namirasoft-nws-max-mind";
25
+ import { NamirasoftNWSRegionMetaDatabase } from "namirasoft-nws-region";
26
+ import { NamirasoftNWSVolumeMetaDatabase } from "namirasoft-nws-volume";
27
+ import { NamirasoftPasswordMetaDatabase } from "namirasoft-password";
28
+ import { NamirasoftPaymentMetaDatabase } from "namirasoft-payment";
29
+ import { NamirasoftQuotaMetaDatabase } from "namirasoft-quota";
30
+ import { NamirasoftSchedulerMetaDatabase } from "namirasoft-scheduler";
31
+ import { NamirasoftSecretMetaDatabase } from "namirasoft-secret";
32
+ import { NSBaseMetaDatabase, NSBaseMetaTable, NSBaseServer } from "namirasoft-site";
33
+ import { NamirasoftSlackSenderMetaDatabase } from "namirasoft-slack-sender";
34
+ import { NamirasoftSMSSenderMetaDatabase } from "namirasoft-sms-sender";
35
+ import { NamirasoftSupportMetaDatabase } from "namirasoft-support";
36
+ import { NamirasoftTeamsSenderMetaDatabase } from "namirasoft-teams-sender";
37
+ import { NamirasoftTelegramSenderMetaDatabase } from "namirasoft-telegram-sender";
38
+ import { NamirasoftWorkspaceMetaDatabase } from "namirasoft-workspace";
39
+
40
+ export class NamirasoftMap
41
+ {
42
+ // tables define start
43
+ public api_link: NamirasoftAPILinkMetaDatabase;
44
+ public api_news: NamirasoftAPINewsMetaDatabase;
45
+ public api_product: NamirasoftAPIProductMetaDatabase;
46
+ public api_service: NamirasoftAPIServiceMetaDatabase;
47
+ public api_work: NamirasoftAPIWorkMetaDatabase;
48
+ public access: NamirasoftAccessMetaDatabase;
49
+ public account: NamirasoftAccountMetaDatabase;
50
+ public alarm: NamirasoftAlarmMetaDatabase;
51
+ public balance: NamirasoftBalanceMetaDatabase;
52
+ public bill_watch: NamirasoftBillWatchMetaDatabase;
53
+ public container_registry: NamirasoftContainerRegistryMetaDatabase;
54
+ public content_template: NamirasoftContentTemplateMetaDatabase;
55
+ public cost: NamirasoftCostMetaDatabase;
56
+ public credential: NamirasoftCredentialMetaDatabase;
57
+ public data: NamirasoftDataMetaDatabase;
58
+ public email_sender: NamirasoftEmailSenderMetaDatabase;
59
+ public field: NamirasoftFieldMetaDatabase;
60
+ public history: NamirasoftHistoryMetaDatabase;
61
+ public infra: NamirasoftInfraMetaDatabase;
62
+ public job_arranger: NamirasoftJobArrangerMetaDatabase;
63
+ public log: NamirasoftLogMetaDatabase;
64
+ public message: NamirasoftMessageMetaDatabase;
65
+ public nws_max_mind: NamirasoftNWSMaxMindMetaDatabase;
66
+ public nws_region: NamirasoftNWSRegionMetaDatabase;
67
+ public nws_volume: NamirasoftNWSVolumeMetaDatabase;
68
+ public notification_sender: NamirasoftNotificationSenderMetaDatabase;
69
+ public password: NamirasoftPasswordMetaDatabase;
70
+ public payment: NamirasoftPaymentMetaDatabase;
71
+ public quota: NamirasoftQuotaMetaDatabase;
72
+ public scheduler: NamirasoftSchedulerMetaDatabase;
73
+ public secret: NamirasoftSecretMetaDatabase;
74
+ public slack_sender: NamirasoftSlackSenderMetaDatabase;
75
+ public sms_sender: NamirasoftSMSSenderMetaDatabase;
76
+ public support: NamirasoftSupportMetaDatabase;
77
+ public teams_sender: NamirasoftTeamsSenderMetaDatabase;
78
+ public telegram_sender: NamirasoftTelegramSenderMetaDatabase;
79
+ public workspace: NamirasoftWorkspaceMetaDatabase;
80
+ // tables define end
81
+ constructor(manager?: TokenManager, onError?: (error: Error) => void)
82
+ {
83
+ // tables init start
84
+ this.api_link = new NamirasoftAPILinkMetaDatabase(onError);
85
+ this.api_news = new NamirasoftAPINewsMetaDatabase(onError);
86
+ this.api_product = new NamirasoftAPIProductMetaDatabase(onError);
87
+ this.api_service = new NamirasoftAPIServiceMetaDatabase(onError);
88
+ this.api_work = new NamirasoftAPIWorkMetaDatabase(onError);
89
+ this.access = new NamirasoftAccessMetaDatabase(manager, onError);
90
+ this.account = new NamirasoftAccountMetaDatabase(manager, onError);
91
+ this.alarm = new NamirasoftAlarmMetaDatabase(manager, onError);
92
+ this.balance = new NamirasoftBalanceMetaDatabase(manager, onError);
93
+ this.bill_watch = new NamirasoftBillWatchMetaDatabase(manager, onError);
94
+ this.container_registry = new NamirasoftContainerRegistryMetaDatabase(manager, onError);
95
+ this.content_template = new NamirasoftContentTemplateMetaDatabase(manager, onError);
96
+ this.cost = new NamirasoftCostMetaDatabase(manager, onError);
97
+ this.credential = new NamirasoftCredentialMetaDatabase(manager, onError);
98
+ this.data = new NamirasoftDataMetaDatabase(manager, onError);
99
+ this.email_sender = new NamirasoftEmailSenderMetaDatabase(manager, onError);
100
+ this.field = new NamirasoftFieldMetaDatabase(manager, onError);
101
+ this.history = new NamirasoftHistoryMetaDatabase(manager, onError);
102
+ this.infra = new NamirasoftInfraMetaDatabase(manager, onError);
103
+ this.job_arranger = new NamirasoftJobArrangerMetaDatabase(manager, onError);
104
+ this.log = new NamirasoftLogMetaDatabase(manager, onError);
105
+ this.message = new NamirasoftMessageMetaDatabase(manager, onError);
106
+ this.nws_max_mind = new NamirasoftNWSMaxMindMetaDatabase(manager, onError);
107
+ this.nws_region = new NamirasoftNWSRegionMetaDatabase(manager, onError);
108
+ this.nws_volume = new NamirasoftNWSVolumeMetaDatabase(manager, onError);
109
+ this.notification_sender = new NamirasoftNotificationSenderMetaDatabase(manager, onError);
110
+ this.password = new NamirasoftPasswordMetaDatabase(manager, onError);
111
+ this.payment = new NamirasoftPaymentMetaDatabase(manager, onError);
112
+ this.quota = new NamirasoftQuotaMetaDatabase(manager, onError);
113
+ this.scheduler = new NamirasoftSchedulerMetaDatabase(manager, onError);
114
+ this.secret = new NamirasoftSecretMetaDatabase(manager, onError);
115
+ this.slack_sender = new NamirasoftSlackSenderMetaDatabase(manager, onError);
116
+ this.sms_sender = new NamirasoftSMSSenderMetaDatabase(manager, onError);
117
+ this.support = new NamirasoftSupportMetaDatabase(manager, onError);
118
+ this.teams_sender = new NamirasoftTeamsSenderMetaDatabase(manager, onError);
119
+ this.telegram_sender = new NamirasoftTelegramSenderMetaDatabase(manager, onError);
120
+ this.workspace = new NamirasoftWorkspaceMetaDatabase(manager, onError);
121
+
122
+ // tables init end
123
+
124
+ this.api_product.tables.product.front_end.getViewLink = (id: string) =>
125
+ {
126
+ return this.getByProductID(id).product.link;
127
+ };
128
+ this.account.tables.user.front_end.getViewLink = (id: string) =>
129
+ {
130
+ return this.account.tables.user.front_end.getBaseLink() + "/" + id + "/view/decide";
131
+ };
132
+ this.account.tables.session.front_end.getViewLink = (id: string) =>
133
+ {
134
+ return this.account.tables.session.front_end.getBaseLink() + "/" + id + "/view/decide";
135
+ };
136
+ }
137
+ forEachProduct<T>(handler: (meta: NSBaseMetaDatabase<NSBaseServer>) => T | null): T | null
138
+ {
139
+ for (let key of Object.keys(this))
140
+ {
141
+ let obj = (this as any)[key];
142
+ if (obj?.tables)
143
+ {
144
+ let ans = handler(obj);
145
+ if (ans)
146
+ return ans;
147
+ }
148
+ }
149
+ return null;
150
+ }
151
+ getByProductID(product_id: string): NSBaseMetaDatabase<NSBaseServer>
152
+ {
153
+ let ans = this.forEachProduct(m =>
154
+ {
155
+ if (m.product.id === product_id)
156
+ return m;
157
+ return null;
158
+ });
159
+ if (ans)
160
+ return ans;
161
+ throw new Error(`Map could not be found for product id: ${product_id}`);
162
+ }
163
+ getByShortName(short_name: string):
164
+ {
165
+ product: {
166
+ id: string;
167
+ name: string;
168
+ headline: string;
169
+ description: string;
170
+ logo: string;
171
+ link: string;
172
+ };
173
+ table: NSBaseMetaTable<NSBaseServer, any>;
174
+ }
175
+ {
176
+ let ans = this.forEachProduct(product =>
177
+ {
178
+ return product.getByShortNameOrNull(short_name);
179
+ });
180
+ if (ans)
181
+ return ans;
182
+ throw new Error(`Result could not be found for short name: ${short_name}`);
183
+ }
184
184
  };
package/src/check.ts CHANGED
@@ -1,23 +1,23 @@
1
- import { NSBaseMetaTable, NSBaseServer } from "namirasoft-site";
2
- import { NamirasoftMap } from "./NamirasoftMap";
3
-
4
- let keys: { [short: string]: NSBaseMetaTable<NSBaseServer, any> } = {};
5
-
6
- let namirasoft = new NamirasoftMap();
7
- namirasoft.forEachProduct(product =>
8
- {
9
- for (let key in product.tables)
10
- {
11
- const table = product.tables[key];
12
- if (table.uuid.short)
13
- {
14
- if (keys[table.uuid.short])
15
- {
16
- console.log(`Duplicate short name: ${table.uuid.short}`);
17
- console.log(`\t\t${table.database.product.name} - ${table.text}`);
18
- console.log(`\t\t${keys[table.uuid.short].database.product.name} - ${keys[table.uuid.short].text}`);
19
- }
20
- keys[table.uuid.short] = table;
21
- }
22
- }
1
+ import { NSBaseMetaTable, NSBaseServer } from "namirasoft-site";
2
+ import { NamirasoftMap } from "./NamirasoftMap";
3
+
4
+ let keys: { [short: string]: NSBaseMetaTable<NSBaseServer, any> } = {};
5
+
6
+ let namirasoft = new NamirasoftMap();
7
+ namirasoft.forEachProduct(product =>
8
+ {
9
+ for (let key in product.tables)
10
+ {
11
+ const table = product.tables[key];
12
+ if (table.uuid.short)
13
+ {
14
+ if (keys[table.uuid.short])
15
+ {
16
+ console.log(`Duplicate short name: ${table.uuid.short}`);
17
+ console.log(`\t\t${table.database.product.name} - ${table.text}`);
18
+ console.log(`\t\t${keys[table.uuid.short].database.product.name} - ${keys[table.uuid.short].text}`);
19
+ }
20
+ keys[table.uuid.short] = table;
21
+ }
22
+ }
23
23
  });