@schemavaults/app-definitions 0.6.18 → 0.6.20

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.
@@ -0,0 +1,5 @@
1
+ import type { SchemaVaultsApiServerDomainRef } from "./api-server-definition";
2
+ import type { ApiServerId } from "./api-server-id";
3
+ import type { SchemaVaultsAppEnvironment } from "./app-environments";
4
+ export declare function getHardcodedApiServerDomain(api_server_id: ApiServerId, environment: SchemaVaultsAppEnvironment): SchemaVaultsApiServerDomainRef;
5
+ export default getHardcodedApiServerDomain;
@@ -0,0 +1,17 @@
1
+ import { HARDCODED_CORE_SCHEMAVAULTS_API_SERVER_DOMAINS } from "./hardcoded-core-schemavaults-api-server-domains";
2
+ import { getHardcodedApiServer } from "./hardcoded-core-schemavaults-api-servers";
3
+ export function getHardcodedApiServerDomain(api_server_id, environment) {
4
+ const hardcodedApi = getHardcodedApiServer(api_server_id);
5
+ if (!hardcodedApi) {
6
+ throw new Error(`Failed to load hardcoded API server with ID '${api_server_id}'`);
7
+ }
8
+ const hardcodedDomain = HARDCODED_CORE_SCHEMAVAULTS_API_SERVER_DOMAINS.find((domain) => domain.api_server_id === api_server_id &&
9
+ domain.environment === environment &&
10
+ domain.hardcoded);
11
+ if (!hardcodedDomain) {
12
+ throw new Error(`Failed to find domain for hardcoded API server with ID '${api_server_id}' in environment '${environment}'`);
13
+ }
14
+ return hardcodedDomain;
15
+ }
16
+ export default getHardcodedApiServerDomain;
17
+ //# sourceMappingURL=get-hardcoded-api-server-domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-hardcoded-api-server-domain.js","sourceRoot":"","sources":["../src/get-hardcoded-api-server-domain.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,8CAA8C,EAAE,MAAM,kDAAkD,CAAC;AAClH,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAElF,MAAM,UAAU,2BAA2B,CACzC,aAA0B,EAC1B,WAAuC;IAEvC,MAAM,YAAY,GAChB,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,gDAAgD,aAAa,GAAG,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,8CAA8C,CAAC,IAAI,CACzE,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,aAAa,KAAK,aAAa;QACtC,MAAM,CAAC,WAAW,KAAK,WAAW;QAClC,MAAM,CAAC,SAAS,CACnB,CAAC;IACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,2DAA2D,aAAa,qBAAqB,WAAW,GAAG,CAC5G,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,eAAe,2BAA2B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { HardcodedAppId } from "./hardcoded-core-schemavaults-apps";
2
+ import type { HardcodedApiServerId } from "./hardcoded-core-schemavaults-api-servers";
3
+ /** Check if a hardcoded app has permission to access a specific API server */
4
+ export declare function hasHardcodedAppToApiPermission(client_app_id: HardcodedAppId, api_server_id: HardcodedApiServerId): boolean;
5
+ /** Get all hardcoded API server IDs that a hardcoded app has permission to access */
6
+ export declare function getHardcodedApiServerIdsForHardcodedApp(client_app_id: HardcodedAppId): HardcodedApiServerId[];
@@ -0,0 +1,38 @@
1
+ import { SCHEMAVAULTS_AUTH_APP_DEFINITION, SCHEMAVAULTS_WEB, } from "./hardcoded-core-schemavaults-apps";
2
+ import { SCHEMAVAULTS_CLI } from "./hardcoded-core-schemavaults-apps";
3
+ import { SCHEMAVAULTS_MAIL_APP_DEFINITION } from "./hardcoded-core-schemavaults-apps";
4
+ import { SCHEMAVAULTS_REGISTRY_SERVER, SCHEMAVAULTS_MAIL_SERVER, isHardcodedApiServerId, } from "./hardcoded-core-schemavaults-api-servers";
5
+ import { isHardcodedAppId } from "./hardcoded-core-schemavaults-apps";
6
+ // Map of hardcoded app IDs to their permitted hardcoded API server IDs
7
+ const HARDCODED_APP_TO_API_PERMISSIONS = {
8
+ [SCHEMAVAULTS_WEB.app_id]: [
9
+ SCHEMAVAULTS_REGISTRY_SERVER.api_server_id,
10
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id,
11
+ ],
12
+ [SCHEMAVAULTS_CLI.app_id]: [
13
+ SCHEMAVAULTS_REGISTRY_SERVER.api_server_id,
14
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id,
15
+ ],
16
+ [SCHEMAVAULTS_MAIL_APP_DEFINITION.app_id]: [
17
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id,
18
+ ],
19
+ [SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id]: [],
20
+ };
21
+ /** Check if a hardcoded app has permission to access a specific API server */
22
+ export function hasHardcodedAppToApiPermission(client_app_id, api_server_id) {
23
+ if (!isHardcodedAppId(client_app_id)) {
24
+ throw new TypeError("hasHardcodedAppToApiPermission received non-hardcoded client app ID!");
25
+ }
26
+ else if (!isHardcodedApiServerId(api_server_id)) {
27
+ throw new TypeError("hasHardcodedAppToApiPermission received non-hardcoded API server ID!");
28
+ }
29
+ return (HARDCODED_APP_TO_API_PERMISSIONS[client_app_id].includes(api_server_id) ?? false);
30
+ }
31
+ /** Get all hardcoded API server IDs that a hardcoded app has permission to access */
32
+ export function getHardcodedApiServerIdsForHardcodedApp(client_app_id) {
33
+ if (!isHardcodedAppId(client_app_id)) {
34
+ throw new TypeError("hasHardcodedAppToApiPermission received non-hardcoded client app ID!");
35
+ }
36
+ return HARDCODED_APP_TO_API_PERMISSIONS[client_app_id] ?? [];
37
+ }
38
+ //# sourceMappingURL=hardcoded-app-to-api-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardcoded-app-to-api-permissions.js","sourceRoot":"","sources":["../src/hardcoded-app-to-api-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gCAAgC,EAChC,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAGtE,uEAAuE;AACvE,MAAM,gCAAgC,GAGlC;IACF,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QACzB,4BAA4B,CAAC,aAAa;QAC1C,wBAAwB,CAAC,aAAa;KACvC;IACD,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QACzB,4BAA4B,CAAC,aAAa;QAC1C,wBAAwB,CAAC,aAAa;KACvC;IACD,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE;QACzC,wBAAwB,CAAC,aAAa;KACvC;IACD,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,EAAE;CAC9C,CAAC;AAEF,8EAA8E;AAC9E,MAAM,UAAU,8BAA8B,CAC5C,aAA6B,EAC7B,aAAmC;IAEnC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CACjB,sEAAsE,CACvE,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CACjB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,CACL,gCAAgC,CAAC,aAAa,CAAC,CAAC,QAAQ,CACtD,aAAqC,CACtC,IAAI,KAAK,CACX,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,uCAAuC,CACrD,aAA6B;IAE7B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CACjB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,gCAAgC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC/D,CAAC"}
package/dist/index.cjs CHANGED
@@ -68,10 +68,13 @@ __export(src_exports, {
68
68
  getAppEnvironment: () => getAppEnvironment,
69
69
  getAuthServerUri: () => getAuthServerUri,
70
70
  getHardcodedApiServer: () => getHardcodedApiServer,
71
+ getHardcodedApiServerDomain: () => getHardcodedApiServerDomain,
72
+ getHardcodedApiServerIdsForHardcodedApp: () => getHardcodedApiServerIdsForHardcodedApp,
71
73
  getHardcodedApp: () => getHardcodedApp,
72
74
  getHardcodedClientWebAppDomain: () => getHardcodedClientWebAppDomain,
73
75
  hardcodedApiServerIdSchema: () => hardcodedApiServerIdSchema,
74
76
  hardcodedAppIdSchema: () => hardcodedAppIdSchema,
77
+ hasHardcodedAppToApiPermission: () => hasHardcodedAppToApiPermission,
75
78
  isHardcodedApiServerId: () => isHardcodedApiServerId,
76
79
  isHardcodedAppId: () => isHardcodedAppId,
77
80
  listApiServersQueryTypeSchema: () => listApiServersQueryTypeSchema,
@@ -4709,6 +4712,25 @@ var HARDCODED_CORE_SCHEMAVAULTS_API_SERVER_DOMAINS = [
4709
4712
  ...HARDCODED_SCHEMAVAULTS_AUTH_SERVER_DOMAINS
4710
4713
  ];
4711
4714
 
4715
+ // src/get-hardcoded-api-server-domain.ts
4716
+ function getHardcodedApiServerDomain(api_server_id, environment) {
4717
+ const hardcodedApi = getHardcodedApiServer(api_server_id);
4718
+ if (!hardcodedApi) {
4719
+ throw new Error(
4720
+ `Failed to load hardcoded API server with ID '${api_server_id}'`
4721
+ );
4722
+ }
4723
+ const hardcodedDomain = HARDCODED_CORE_SCHEMAVAULTS_API_SERVER_DOMAINS.find(
4724
+ (domain) => domain.api_server_id === api_server_id && domain.environment === environment && domain.hardcoded
4725
+ );
4726
+ if (!hardcodedDomain) {
4727
+ throw new Error(
4728
+ `Failed to find domain for hardcoded API server with ID '${api_server_id}' in environment '${environment}'`
4729
+ );
4730
+ }
4731
+ return hardcodedDomain;
4732
+ }
4733
+
4712
4734
  // src/production-auth-server-url.ts
4713
4735
  var PRODUCTION_AUTH_SERVER_URL = getHardcodedClientWebAppDomain(
4714
4736
  SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id,
@@ -4847,6 +4869,44 @@ function getAuthServerUri(environment = getAppEnvironment()) {
4847
4869
 
4848
4870
  // src/SCHEMAVAULTS_AUTH_APP_ID.ts
4849
4871
  var SCHEMAVAULTS_AUTH_APP_ID = SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id;
4872
+
4873
+ // src/hardcoded-app-to-api-permissions.ts
4874
+ var HARDCODED_APP_TO_API_PERMISSIONS = {
4875
+ [SCHEMAVAULTS_WEB.app_id]: [
4876
+ SCHEMAVAULTS_REGISTRY_SERVER.api_server_id,
4877
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id
4878
+ ],
4879
+ [SCHEMAVAULTS_CLI.app_id]: [
4880
+ SCHEMAVAULTS_REGISTRY_SERVER.api_server_id,
4881
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id
4882
+ ],
4883
+ [SCHEMAVAULTS_MAIL_APP_DEFINITION.app_id]: [
4884
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id
4885
+ ],
4886
+ [SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id]: []
4887
+ };
4888
+ function hasHardcodedAppToApiPermission(client_app_id, api_server_id) {
4889
+ if (!isHardcodedAppId(client_app_id)) {
4890
+ throw new TypeError(
4891
+ "hasHardcodedAppToApiPermission received non-hardcoded client app ID!"
4892
+ );
4893
+ } else if (!isHardcodedApiServerId(api_server_id)) {
4894
+ throw new TypeError(
4895
+ "hasHardcodedAppToApiPermission received non-hardcoded API server ID!"
4896
+ );
4897
+ }
4898
+ return HARDCODED_APP_TO_API_PERMISSIONS[client_app_id].includes(
4899
+ api_server_id
4900
+ ) ?? false;
4901
+ }
4902
+ function getHardcodedApiServerIdsForHardcodedApp(client_app_id) {
4903
+ if (!isHardcodedAppId(client_app_id)) {
4904
+ throw new TypeError(
4905
+ "hasHardcodedAppToApiPermission received non-hardcoded client app ID!"
4906
+ );
4907
+ }
4908
+ return HARDCODED_APP_TO_API_PERMISSIONS[client_app_id] ?? [];
4909
+ }
4850
4910
  // Annotate the CommonJS export names for ESM import in node:
4851
4911
  0 && (module.exports = {
4852
4912
  HARDCODED_CORE_SCHEMAVAULTS_API_SERVERS,
@@ -4897,10 +4957,13 @@ var SCHEMAVAULTS_AUTH_APP_ID = SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id;
4897
4957
  getAppEnvironment,
4898
4958
  getAuthServerUri,
4899
4959
  getHardcodedApiServer,
4960
+ getHardcodedApiServerDomain,
4961
+ getHardcodedApiServerIdsForHardcodedApp,
4900
4962
  getHardcodedApp,
4901
4963
  getHardcodedClientWebAppDomain,
4902
4964
  hardcodedApiServerIdSchema,
4903
4965
  hardcodedAppIdSchema,
4966
+ hasHardcodedAppToApiPermission,
4904
4967
  isHardcodedApiServerId,
4905
4968
  isHardcodedAppId,
4906
4969
  listApiServersQueryTypeSchema,
package/dist/index.d.ts CHANGED
@@ -21,9 +21,11 @@ export * from "./hardcoded-core-schemavaults-api-servers";
21
21
  export type * from "./hardcoded-core-schemavaults-api-servers";
22
22
  export * from "./hardcoded-core-schemavaults-api-server-domains";
23
23
  export type * from "./hardcoded-core-schemavaults-api-server-domains";
24
+ export { getHardcodedApiServerDomain } from "./get-hardcoded-api-server-domain";
24
25
  export { PRODUCTION_AUTH_SERVER_URL } from "./production-auth-server-url";
25
26
  export { schemaVaultsAppEnvironments, schemaVaultsAppEnvironmentSchema, } from "./app-environments";
26
27
  export type { SchemaVaultsAppEnvironment } from "./app-environments";
27
28
  export { getAppEnvironment } from "./get-app-environment";
28
29
  export { getAuthServerUri } from "./get-auth-server-uri";
29
30
  export { SCHEMAVAULTS_AUTH_APP_ID } from "./SCHEMAVAULTS_AUTH_APP_ID";
31
+ export { hasHardcodedAppToApiPermission, getHardcodedApiServerIdsForHardcodedApp, } from "./hardcoded-app-to-api-permissions";
package/dist/index.js CHANGED
@@ -10,9 +10,11 @@ export * from "./hardcoded-core-schemavaults-app-domains";
10
10
  export { getHardcodedClientWebAppDomain } from "./get-hardcoded-client-web-app-domain";
11
11
  export * from "./hardcoded-core-schemavaults-api-servers";
12
12
  export * from "./hardcoded-core-schemavaults-api-server-domains";
13
+ export { getHardcodedApiServerDomain } from "./get-hardcoded-api-server-domain";
13
14
  export { PRODUCTION_AUTH_SERVER_URL } from "./production-auth-server-url";
14
15
  export { schemaVaultsAppEnvironments, schemaVaultsAppEnvironmentSchema, } from "./app-environments";
15
16
  export { getAppEnvironment } from "./get-app-environment";
16
17
  export { getAuthServerUri } from "./get-auth-server-uri";
17
18
  export { SCHEMAVAULTS_AUTH_APP_ID } from "./SCHEMAVAULTS_AUTH_APP_ID";
19
+ export { hasHardcodedAppToApiPermission, getHardcodedApiServerIdsForHardcodedApp, } from "./hardcoded-app-to-api-permissions";
18
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AAGjC,cAAc,mCAAmC,CAAC;AAGlD,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EACL,qCAAqC,EACrC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AAGjC,cAAc,0CAA0C,CAAC;AAGzD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,2CAA2C,CAAC;AAE1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAEvF,cAAc,2CAA2C,CAAC;AAE1D,cAAc,kDAAkD,CAAC;AAGjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AAGjC,cAAc,mCAAmC,CAAC;AAGlD,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EACL,qCAAqC,EACrC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AAGjC,cAAc,0CAA0C,CAAC;AAGzD,cAAc,6BAA6B,CAAC;AAG5C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,2CAA2C,CAAC;AAE1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAEvF,cAAc,2CAA2C,CAAC;AAE1D,cAAc,kDAAkD,CAAC;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EACL,8BAA8B,EAC9B,uCAAuC,GACxC,MAAM,oCAAoC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@schemavaults/app-definitions",
3
3
  "description": "Define frontend or API server applications",
4
- "version": "0.6.18",
4
+ "version": "0.6.20",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
7
7
  "repository": {