@schemavaults/app-definitions 0.6.19 → 0.6.21

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,8 @@
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[];
7
+ /** Get all hardcoded app IDs that have permission to access a specific hardcoded API server */
8
+ export declare function getHardcodedAppIdsForHardcodedApiServer(api_server_id: HardcodedApiServerId): HardcodedAppId[];
@@ -0,0 +1,51 @@
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
+ /** Get all hardcoded app IDs that have permission to access a specific hardcoded API server */
39
+ export function getHardcodedAppIdsForHardcodedApiServer(api_server_id) {
40
+ if (!isHardcodedApiServerId(api_server_id)) {
41
+ throw new TypeError("getHardcodedAppIdsForHardcodedApiServer received non-hardcoded API server ID!");
42
+ }
43
+ const result = [];
44
+ for (const [appId, apiServerIds] of Object.entries(HARDCODED_APP_TO_API_PERMISSIONS)) {
45
+ if (apiServerIds.includes(api_server_id)) {
46
+ result.push(appId);
47
+ }
48
+ }
49
+ return result;
50
+ }
51
+ //# 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;AAED,+FAA+F;AAC/F,MAAM,UAAU,uCAAuC,CACrD,aAAmC;IAEnC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,SAAS,CACjB,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,EAAE,CAAC;QACrF,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,KAAuB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/index.cjs CHANGED
@@ -69,10 +69,13 @@ __export(src_exports, {
69
69
  getAuthServerUri: () => getAuthServerUri,
70
70
  getHardcodedApiServer: () => getHardcodedApiServer,
71
71
  getHardcodedApiServerDomain: () => getHardcodedApiServerDomain,
72
+ getHardcodedApiServerIdsForHardcodedApp: () => getHardcodedApiServerIdsForHardcodedApp,
72
73
  getHardcodedApp: () => getHardcodedApp,
74
+ getHardcodedAppIdsForHardcodedApiServer: () => getHardcodedAppIdsForHardcodedApiServer,
73
75
  getHardcodedClientWebAppDomain: () => getHardcodedClientWebAppDomain,
74
76
  hardcodedApiServerIdSchema: () => hardcodedApiServerIdSchema,
75
77
  hardcodedAppIdSchema: () => hardcodedAppIdSchema,
78
+ hasHardcodedAppToApiPermission: () => hasHardcodedAppToApiPermission,
76
79
  isHardcodedApiServerId: () => isHardcodedApiServerId,
77
80
  isHardcodedAppId: () => isHardcodedAppId,
78
81
  listApiServersQueryTypeSchema: () => listApiServersQueryTypeSchema,
@@ -4867,6 +4870,58 @@ function getAuthServerUri(environment = getAppEnvironment()) {
4867
4870
 
4868
4871
  // src/SCHEMAVAULTS_AUTH_APP_ID.ts
4869
4872
  var SCHEMAVAULTS_AUTH_APP_ID = SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id;
4873
+
4874
+ // src/hardcoded-app-to-api-permissions.ts
4875
+ var HARDCODED_APP_TO_API_PERMISSIONS = {
4876
+ [SCHEMAVAULTS_WEB.app_id]: [
4877
+ SCHEMAVAULTS_REGISTRY_SERVER.api_server_id,
4878
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id
4879
+ ],
4880
+ [SCHEMAVAULTS_CLI.app_id]: [
4881
+ SCHEMAVAULTS_REGISTRY_SERVER.api_server_id,
4882
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id
4883
+ ],
4884
+ [SCHEMAVAULTS_MAIL_APP_DEFINITION.app_id]: [
4885
+ SCHEMAVAULTS_MAIL_SERVER.api_server_id
4886
+ ],
4887
+ [SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id]: []
4888
+ };
4889
+ function hasHardcodedAppToApiPermission(client_app_id, api_server_id) {
4890
+ if (!isHardcodedAppId(client_app_id)) {
4891
+ throw new TypeError(
4892
+ "hasHardcodedAppToApiPermission received non-hardcoded client app ID!"
4893
+ );
4894
+ } else if (!isHardcodedApiServerId(api_server_id)) {
4895
+ throw new TypeError(
4896
+ "hasHardcodedAppToApiPermission received non-hardcoded API server ID!"
4897
+ );
4898
+ }
4899
+ return HARDCODED_APP_TO_API_PERMISSIONS[client_app_id].includes(
4900
+ api_server_id
4901
+ ) ?? false;
4902
+ }
4903
+ function getHardcodedApiServerIdsForHardcodedApp(client_app_id) {
4904
+ if (!isHardcodedAppId(client_app_id)) {
4905
+ throw new TypeError(
4906
+ "hasHardcodedAppToApiPermission received non-hardcoded client app ID!"
4907
+ );
4908
+ }
4909
+ return HARDCODED_APP_TO_API_PERMISSIONS[client_app_id] ?? [];
4910
+ }
4911
+ function getHardcodedAppIdsForHardcodedApiServer(api_server_id) {
4912
+ if (!isHardcodedApiServerId(api_server_id)) {
4913
+ throw new TypeError(
4914
+ "getHardcodedAppIdsForHardcodedApiServer received non-hardcoded API server ID!"
4915
+ );
4916
+ }
4917
+ const result = [];
4918
+ for (const [appId, apiServerIds] of Object.entries(HARDCODED_APP_TO_API_PERMISSIONS)) {
4919
+ if (apiServerIds.includes(api_server_id)) {
4920
+ result.push(appId);
4921
+ }
4922
+ }
4923
+ return result;
4924
+ }
4870
4925
  // Annotate the CommonJS export names for ESM import in node:
4871
4926
  0 && (module.exports = {
4872
4927
  HARDCODED_CORE_SCHEMAVAULTS_API_SERVERS,
@@ -4918,10 +4973,13 @@ var SCHEMAVAULTS_AUTH_APP_ID = SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id;
4918
4973
  getAuthServerUri,
4919
4974
  getHardcodedApiServer,
4920
4975
  getHardcodedApiServerDomain,
4976
+ getHardcodedApiServerIdsForHardcodedApp,
4921
4977
  getHardcodedApp,
4978
+ getHardcodedAppIdsForHardcodedApiServer,
4922
4979
  getHardcodedClientWebAppDomain,
4923
4980
  hardcodedApiServerIdSchema,
4924
4981
  hardcodedAppIdSchema,
4982
+ hasHardcodedAppToApiPermission,
4925
4983
  isHardcodedApiServerId,
4926
4984
  isHardcodedAppId,
4927
4985
  listApiServersQueryTypeSchema,
package/dist/index.d.ts CHANGED
@@ -28,3 +28,4 @@ export type { SchemaVaultsAppEnvironment } from "./app-environments";
28
28
  export { getAppEnvironment } from "./get-app-environment";
29
29
  export { getAuthServerUri } from "./get-auth-server-uri";
30
30
  export { SCHEMAVAULTS_AUTH_APP_ID } from "./SCHEMAVAULTS_AUTH_APP_ID";
31
+ export { hasHardcodedAppToApiPermission, getHardcodedApiServerIdsForHardcodedApp, getHardcodedAppIdsForHardcodedApiServer, } from "./hardcoded-app-to-api-permissions";
package/dist/index.js CHANGED
@@ -16,4 +16,5 @@ export { schemaVaultsAppEnvironments, schemaVaultsAppEnvironmentSchema, } from "
16
16
  export { getAppEnvironment } from "./get-app-environment";
17
17
  export { getAuthServerUri } from "./get-auth-server-uri";
18
18
  export { SCHEMAVAULTS_AUTH_APP_ID } from "./SCHEMAVAULTS_AUTH_APP_ID";
19
+ export { hasHardcodedAppToApiPermission, getHardcodedApiServerIdsForHardcodedApp, getHardcodedAppIdsForHardcodedApiServer, } from "./hardcoded-app-to-api-permissions";
19
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;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"}
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,EACvC,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.19",
4
+ "version": "0.6.21",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
7
7
  "repository": {