@superblocksteam/shared 0.9619.0 → 0.9619.2

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.
Files changed (29) hide show
  1. package/dist/database-lifecycle/appDatabaseSharing.d.ts +24 -0
  2. package/dist/database-lifecycle/appDatabaseSharing.d.ts.map +1 -0
  3. package/dist/database-lifecycle/appDatabaseSharing.js +37 -0
  4. package/dist/database-lifecycle/appDatabaseSharing.js.map +1 -0
  5. package/dist/database-lifecycle/appDatabaseSharing.test.d.ts +2 -0
  6. package/dist/database-lifecycle/appDatabaseSharing.test.d.ts.map +1 -0
  7. package/dist/database-lifecycle/appDatabaseSharing.test.js +54 -0
  8. package/dist/database-lifecycle/appDatabaseSharing.test.js.map +1 -0
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/types/integration/index.d.ts +7 -1
  14. package/dist/types/integration/index.d.ts.map +1 -1
  15. package/dist/types/integration/index.js +7 -1
  16. package/dist/types/integration/index.js.map +1 -1
  17. package/dist/types/publishPipeline/index.d.ts +19 -0
  18. package/dist/types/publishPipeline/index.d.ts.map +1 -1
  19. package/dist/types/publishPipeline/index.js.map +1 -1
  20. package/dist/types/publishPipeline/plan.d.ts +1 -1
  21. package/dist/types/publishPipeline/plan.d.ts.map +1 -1
  22. package/dist/types/publishPipeline/plan.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/database-lifecycle/appDatabaseSharing.test.ts +72 -0
  25. package/src/database-lifecycle/appDatabaseSharing.ts +58 -0
  26. package/src/index.ts +1 -0
  27. package/src/types/integration/index.ts +8 -0
  28. package/src/types/publishPipeline/index.ts +20 -0
  29. package/src/types/publishPipeline/plan.ts +1 -1
@@ -0,0 +1,24 @@
1
+ export declare const INTEGRATION_READ_ONLY_ROLE_NAME = "Read only";
2
+ export declare function isIntegrationReadOnlyRole(role: {
3
+ name: string;
4
+ organizationId?: string | null;
5
+ }): boolean;
6
+ type AppDatabaseOwnershipFields = {
7
+ applicationId?: string | null;
8
+ managedBy?: string | null;
9
+ };
10
+ export declare function isAppDatabase(integration: AppDatabaseOwnershipFields | undefined): boolean;
11
+ export declare function isAppDatabaseReadOnlyForApplication(integration: AppDatabaseOwnershipFields | undefined, applicationId: string | null | undefined): boolean;
12
+ export declare const INTEGRATION_ACCESS_LEVEL_READ_ONLY = "read_only";
13
+ export type IntegrationAccessLevel = typeof INTEGRATION_ACCESS_LEVEL_READ_ONLY;
14
+ export declare function getAppDatabaseAccessLevel(integration: (AppDatabaseOwnershipFields & {
15
+ ownerApplicationName?: string;
16
+ }) | undefined, applicationId: string | null | undefined): IntegrationAccessLevel | undefined;
17
+ export declare function appDatabaseAccessFields(integration: (AppDatabaseOwnershipFields & {
18
+ ownerApplicationName?: string;
19
+ }) | undefined, applicationId: string | null | undefined): {
20
+ accessLevel?: IntegrationAccessLevel;
21
+ ownerApplicationName?: string;
22
+ };
23
+ export {};
24
+ //# sourceMappingURL=appDatabaseSharing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appDatabaseSharing.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/appDatabaseSharing.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,+BAA+B,cAAc,CAAC;AAE3D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAEzG;AAED,KAAK,0BAA0B,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,wBAAgB,aAAa,CAAC,WAAW,EAAE,0BAA0B,GAAG,SAAS,GAAG,OAAO,CAE1F;AAID,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,0BAA0B,GAAG,SAAS,EACnD,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,OAAO,CAET;AAGD,eAAO,MAAM,kCAAkC,cAAc,CAAC;AAC9D,MAAM,MAAM,sBAAsB,GAAG,OAAO,kCAAkC,CAAC;AAK/E,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,CAAC,0BAA0B,GAAG;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,EACzF,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,sBAAsB,GAAG,SAAS,CAGpC;AAID,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,CAAC,0BAA0B,GAAG;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,EACzF,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC;IAAE,WAAW,CAAC,EAAE,sBAAsB,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,CASzE"}
@@ -0,0 +1,37 @@
1
+ import { DATABASE_LIFECYCLE_MANAGED_BY } from './index.js';
2
+ // The built-in integrations role that gives an app read-only access to an app
3
+ // database another app owns. Only 3.0 apps can hold it.
4
+ export const INTEGRATION_READ_ONLY_ROLE_NAME = 'Read only';
5
+ export function isIntegrationReadOnlyRole(role) {
6
+ return role.name === INTEGRATION_READ_ONLY_ROLE_NAME && !role.organizationId;
7
+ }
8
+ export function isAppDatabase(integration) {
9
+ return integration?.managedBy === DATABASE_LIFECYCLE_MANAGED_BY && Boolean(integration.applicationId);
10
+ }
11
+ // True when the integration is an app database owned by a different app. That
12
+ // app can read the data but not change it; the owning app keeps full access.
13
+ export function isAppDatabaseReadOnlyForApplication(integration, applicationId) {
14
+ return isAppDatabase(integration) && Boolean(applicationId) && integration?.applicationId !== applicationId;
15
+ }
16
+ // Same wire value the orchestrator receives in executionAccess.level.
17
+ export const INTEGRATION_ACCESS_LEVEL_READ_ONLY = 'read_only';
18
+ // The server names the owning app only in a payload built for a different
19
+ // app, so a named owner marks the database read-only even when the caller does
20
+ // not know which app it is building.
21
+ export function getAppDatabaseAccessLevel(integration, applicationId) {
22
+ const namedOwner = isAppDatabase(integration) && Boolean(integration?.ownerApplicationName);
23
+ return namedOwner || isAppDatabaseReadOnlyForApplication(integration, applicationId) ? INTEGRATION_ACCESS_LEVEL_READ_ONLY : undefined;
24
+ }
25
+ // Fields to copy onto an integration summary so Clark knows it may only read
26
+ // this database, and whose it is. Empty for anything the app can write to.
27
+ export function appDatabaseAccessFields(integration, applicationId) {
28
+ const accessLevel = getAppDatabaseAccessLevel(integration, applicationId);
29
+ if (!accessLevel) {
30
+ return {};
31
+ }
32
+ return {
33
+ accessLevel,
34
+ ...(integration?.ownerApplicationName ? { ownerApplicationName: integration.ownerApplicationName } : {})
35
+ };
36
+ }
37
+ //# sourceMappingURL=appDatabaseSharing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appDatabaseSharing.js","sourceRoot":"","sources":["../../src/database-lifecycle/appDatabaseSharing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAE3D,8EAA8E;AAC9E,wDAAwD;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,WAAW,CAAC;AAE3D,MAAM,UAAU,yBAAyB,CAAC,IAAsD;IAC9F,OAAO,IAAI,CAAC,IAAI,KAAK,+BAA+B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AAC/E,CAAC;AAOD,MAAM,UAAU,aAAa,CAAC,WAAmD;IAC/E,OAAO,WAAW,EAAE,SAAS,KAAK,6BAA6B,IAAI,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACxG,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,UAAU,mCAAmC,CACjD,WAAmD,EACnD,aAAwC;IAExC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,WAAW,EAAE,aAAa,KAAK,aAAa,CAAC;AAC9G,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,kCAAkC,GAAG,WAAW,CAAC;AAG9D,0EAA0E;AAC1E,+EAA+E;AAC/E,qCAAqC;AACrC,MAAM,UAAU,yBAAyB,CACvC,WAAyF,EACzF,aAAwC;IAExC,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC5F,OAAO,UAAU,IAAI,mCAAmC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxI,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,MAAM,UAAU,uBAAuB,CACrC,WAAyF,EACzF,aAAwC;IAExC,MAAM,WAAW,GAAG,yBAAyB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO;QACL,WAAW;QACX,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=appDatabaseSharing.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appDatabaseSharing.test.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/appDatabaseSharing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { appDatabaseAccessFields, getAppDatabaseAccessLevel, INTEGRATION_READ_ONLY_ROLE_NAME, isAppDatabase, isAppDatabaseReadOnlyForApplication, isIntegrationReadOnlyRole } from './appDatabaseSharing.js';
3
+ import { DATABASE_LIFECYCLE_MANAGED_BY } from './index.js';
4
+ const appDatabase = { applicationId: 'owner-app', managedBy: DATABASE_LIFECYCLE_MANAGED_BY };
5
+ describe('isIntegrationReadOnlyRole', () => {
6
+ it('matches only the built-in role, not an org role with the same name', () => {
7
+ expect(isIntegrationReadOnlyRole({ name: INTEGRATION_READ_ONLY_ROLE_NAME, organizationId: null })).toBe(true);
8
+ expect(isIntegrationReadOnlyRole({ name: INTEGRATION_READ_ONLY_ROLE_NAME, organizationId: 'org-1' })).toBe(false);
9
+ expect(isIntegrationReadOnlyRole({ name: 'Developer', organizationId: null })).toBe(false);
10
+ });
11
+ });
12
+ describe('isAppDatabase', () => {
13
+ it('is true only for a lifecycle-managed integration with an owning app', () => {
14
+ expect(isAppDatabase(appDatabase)).toBe(true);
15
+ expect(isAppDatabase({ applicationId: 'owner-app', managedBy: null })).toBe(false);
16
+ expect(isAppDatabase({ applicationId: null, managedBy: DATABASE_LIFECYCLE_MANAGED_BY })).toBe(false);
17
+ expect(isAppDatabase(undefined)).toBe(false);
18
+ });
19
+ });
20
+ describe('isAppDatabaseReadOnlyForApplication', () => {
21
+ it('is read-only for an app that does not own the database', () => {
22
+ expect(isAppDatabaseReadOnlyForApplication(appDatabase, 'consumer-app')).toBe(true);
23
+ });
24
+ it('gives the owning app full access', () => {
25
+ expect(isAppDatabaseReadOnlyForApplication(appDatabase, 'owner-app')).toBe(false);
26
+ });
27
+ it('is not read-only without an app context', () => {
28
+ expect(isAppDatabaseReadOnlyForApplication(appDatabase, undefined)).toBe(false);
29
+ });
30
+ it('is not read-only for org integrations', () => {
31
+ expect(isAppDatabaseReadOnlyForApplication({ applicationId: 'owner-app', managedBy: null }, 'consumer-app')).toBe(false);
32
+ });
33
+ });
34
+ describe('getAppDatabaseAccessLevel', () => {
35
+ it('reports read_only for an app database another app owns', () => {
36
+ expect(getAppDatabaseAccessLevel(appDatabase, 'consumer-app')).toBe('read_only');
37
+ });
38
+ it('reports nothing when the app has full access', () => {
39
+ expect(getAppDatabaseAccessLevel(appDatabase, 'owner-app')).toBeUndefined();
40
+ expect(getAppDatabaseAccessLevel({ applicationId: null, managedBy: null }, 'consumer-app')).toBeUndefined();
41
+ });
42
+ it('names the owner alongside read_only, and nothing for a database the app can write to', () => {
43
+ const shared = { ...appDatabase, ownerApplicationName: 'Orders' };
44
+ expect(appDatabaseAccessFields(shared, 'consumer-app')).toEqual({ accessLevel: 'read_only', ownerApplicationName: 'Orders' });
45
+ expect(appDatabaseAccessFields(appDatabase, 'consumer-app')).toEqual({ accessLevel: 'read_only' });
46
+ expect(appDatabaseAccessFields(appDatabase, 'owner-app')).toEqual({});
47
+ });
48
+ it('reports read_only when the server named another owning app, even without an app context', () => {
49
+ const shared = { ...appDatabase, ownerApplicationName: 'Orders' };
50
+ expect(getAppDatabaseAccessLevel(shared, undefined)).toBe('read_only');
51
+ expect(getAppDatabaseAccessLevel(appDatabase, undefined)).toBeUndefined();
52
+ });
53
+ });
54
+ //# sourceMappingURL=appDatabaseSharing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appDatabaseSharing.test.js","sourceRoot":"","sources":["../../src/database-lifecycle/appDatabaseSharing.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -31,6 +31,7 @@ export * from './database-lifecycle/index.js';
31
31
  export * from './database-lifecycle/appDatabaseCompatibility.js';
32
32
  export * from './database-lifecycle/importCompatibility.js';
33
33
  export type * from './database-lifecycle/appDatabaseMigrations.js';
34
+ export * from './database-lifecycle/appDatabaseSharing.js';
34
35
  export * from './database-lifecycle/appDatabaseStatus.js';
35
36
  export * from './database-lifecycle/edit-lifecycle-capability.js';
36
37
  export * from './environment-compatibility/appEnvironmentCompatibility.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,mBAAmB,+CAA+C,CAAC;AACnE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,4DAA4D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,mBAAmB,+CAA+C,CAAC;AACnE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,4DAA4D,CAAC"}
package/dist/index.js CHANGED
@@ -30,6 +30,7 @@ export * from './org-features/index.js';
30
30
  export * from './database-lifecycle/index.js';
31
31
  export * from './database-lifecycle/appDatabaseCompatibility.js';
32
32
  export * from './database-lifecycle/importCompatibility.js';
33
+ export * from './database-lifecycle/appDatabaseSharing.js';
33
34
  export * from './database-lifecycle/appDatabaseStatus.js';
34
35
  export * from './database-lifecycle/edit-lifecycle-capability.js';
35
36
  export * from './environment-compatibility/appEnvironmentCompatibility.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAE5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,4DAA4D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAE5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,4DAA4D,CAAC"}
@@ -70,6 +70,11 @@ export declare class SupersetIntegrationDto extends IntegrationBaseDto {
70
70
  */
71
71
  configuredProfileKeys: string[];
72
72
  hasDefaultConfiguration: boolean;
73
+ /**
74
+ * Name of the app that owns this App Database. Set only when the payload is for a different
75
+ * app, which can read the database but not change it.
76
+ */
77
+ ownerApplicationName?: string;
73
78
  slug?: string;
74
79
  ownerEmail?: string;
75
80
  readOnly: boolean;
@@ -78,7 +83,7 @@ export declare class SupersetIntegrationDto extends IntegrationBaseDto {
78
83
  permissions?: ActionTypeEnum[];
79
84
  creator?: CreatorDto;
80
85
  enabledForV2?: boolean;
81
- constructor({ id, created, updated, deactivated, name, pluginId, kind, organizationId, configurations, configurationSummaries, configuredProfileKeys, demoIntegrationId, hasDefaultConfiguration, isUserConfigured, ownerEmail, slug, readOnly, editable, permissions, creator, enabledForV2, applicationId, managedBy, userEditable }: {
86
+ constructor({ id, created, updated, deactivated, name, pluginId, kind, organizationId, configurations, configurationSummaries, configuredProfileKeys, demoIntegrationId, hasDefaultConfiguration, isUserConfigured, ownerApplicationName, ownerEmail, slug, readOnly, editable, permissions, creator, enabledForV2, applicationId, managedBy, userEditable }: {
82
87
  id: string;
83
88
  created: Date;
84
89
  updated: Date;
@@ -97,6 +102,7 @@ export declare class SupersetIntegrationDto extends IntegrationBaseDto {
97
102
  hasDefaultConfiguration?: boolean;
98
103
  demoIntegrationId?: string;
99
104
  isUserConfigured: boolean;
105
+ ownerApplicationName?: string;
100
106
  ownerEmail?: string;
101
107
  slug?: string;
102
108
  readOnly: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/integration/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/integration/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnE,qBAAa,2BAA2B;IACtC,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,EAAE,IAAI,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IAInB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEZ,EACV,EAAE,EACF,OAAO,EACP,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACb,EAAE;QACD,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,IAAI,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,uBAAuB,CAAC;QACvC,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB;CASF;AAID,qBAAa,mCAAmC;IAC9C,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,EAAE,IAAI,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IAInB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEV,EACV,EAAE,EACF,OAAO,EACP,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,EACX,EAAE;QACD,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,IAAI,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QAEtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnC,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB;CAQF;AAED,cAAM,kBAAkB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAI1B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,cAAc,EAAE,2BAA2B,EAAE,CAAC;IAC9C;;;;OAIG;IACH,sBAAsB,EAAE,KAAK,CAAC;QAC5B,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;IACH;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;gBAEX,EACV,EAAE,EACF,OAAO,EACP,OAAO,EACP,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,OAAO,EACP,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACb,EAAE;QACD,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,IAAI,CAAC;QACd,OAAO,EAAE,IAAI,CAAC;QACd,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,eAAe,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,2BAA2B,EAAE,CAAC;QAC9C,sBAAsB,CAAC,EAAE,KAAK,CAAC;YAC7B,EAAE,EAAE,MAAM,CAAC;YACX,SAAS,EAAE,OAAO,CAAC;YACnB,UAAU,EAAE,MAAM,EAAE,CAAC;SACtB,CAAC,CAAC;QACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;QACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB;CAqCF;AAED,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,IAAI,EAAE,eAAe,CAAC;IAEtB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IACd,cAAc,EAAE,2BAA2B,EAAE,CAAC;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;gBAEX,EACV,EAAE,EACF,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACb,EAAE;QACD,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,IAAI,CAAC;QACd,OAAO,EAAE,IAAI,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,2BAA2B,EAAE,CAAC;QAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,IAAI,EAAE,eAAe,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB;CAoBF"}
@@ -76,6 +76,11 @@ export class SupersetIntegrationDto extends IntegrationBaseDto {
76
76
  */
77
77
  configuredProfileKeys;
78
78
  hasDefaultConfiguration;
79
+ /**
80
+ * Name of the app that owns this App Database. Set only when the payload is for a different
81
+ * app, which can read the database but not change it.
82
+ */
83
+ ownerApplicationName;
79
84
  slug;
80
85
  ownerEmail;
81
86
  readOnly;
@@ -84,7 +89,7 @@ export class SupersetIntegrationDto extends IntegrationBaseDto {
84
89
  permissions;
85
90
  creator;
86
91
  enabledForV2;
87
- constructor({ id, created, updated, deactivated, name, pluginId, kind, organizationId, configurations, configurationSummaries, configuredProfileKeys, demoIntegrationId, hasDefaultConfiguration, isUserConfigured, ownerEmail, slug, readOnly, editable, permissions, creator, enabledForV2, applicationId, managedBy, userEditable }) {
92
+ constructor({ id, created, updated, deactivated, name, pluginId, kind, organizationId, configurations, configurationSummaries, configuredProfileKeys, demoIntegrationId, hasDefaultConfiguration, isUserConfigured, ownerApplicationName, ownerEmail, slug, readOnly, editable, permissions, creator, enabledForV2, applicationId, managedBy, userEditable }) {
88
93
  super();
89
94
  this.id = id;
90
95
  this.created = created;
@@ -102,6 +107,7 @@ export class SupersetIntegrationDto extends IntegrationBaseDto {
102
107
  this.isUserConfigured = isUserConfigured;
103
108
  this.managedBy = managedBy;
104
109
  this.userEditable = userEditable ?? true;
110
+ this.ownerApplicationName = ownerApplicationName;
105
111
  this.ownerEmail = ownerEmail;
106
112
  this.slug = slug;
107
113
  this.readOnly = readOnly;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/integration/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/integration/index.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,19 @@ export type PublishPlanTarget = {
70
70
  applicationId: string;
71
71
  commitId: string;
72
72
  };
73
+ /**
74
+ * An App Database another app shared with this one, whose owner has no usable
75
+ * database yet for some of the data tags this app deploys to. This app's
76
+ * queries to it fail on those tags until the owner publishes.
77
+ */
78
+ export type UnprovisionedSharedAppDatabase = {
79
+ integrationId: string;
80
+ integrationName: string;
81
+ /** Display names of the data tags this app deploys to that the owner lacks. */
82
+ missingProfileNames: string[];
83
+ ownerApplicationId: string;
84
+ ownerApplicationName?: string;
85
+ };
73
86
  export type PublishPlan = {
74
87
  /**
75
88
  * Whether publishing this app runs policy agents, as the organization has it
@@ -83,6 +96,12 @@ export type PublishPlan = {
83
96
  status: PublishStepStatus;
84
97
  steps: PublishStep[];
85
98
  target: PublishPlanTarget;
99
+ /**
100
+ * Shared App Databases this app would reach in production before their
101
+ * owners have created them. About the app, not one version, like
102
+ * `hasPolicyPublishChecks`. Absent when it could not be determined.
103
+ */
104
+ unprovisionedSharedAppDatabases?: UnprovisionedSharedAppDatabase[];
86
105
  };
87
106
  /**
88
107
  * Single source of truth for publish-plan step ids. These are wire values: the
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,cAAc,GAAG,SAAS,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;OAUG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,yGAAyG;IACzG,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,qEAAqE;IACrE,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,aAAa,EAO7C,CAAC;AAEX,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,cAAc,GAAG,SAAS,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;OAUG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,yGAAyG;IACzG,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,qEAAqE;IACrE,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,8BAA8B,EAAE,CAAC;CACpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,aAAa,EAO7C,CAAC;AAEX,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+FH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,sBAAsB,EAAE,2BAA2B;IACnD,uBAAuB,EAAE,4BAA4B;IACrD,OAAO,EAAE,SAAS;CACV,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,aAAa,CAAC,sBAAsB;IACpC,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,uBAAuB;IACrC,aAAa,CAAC,oBAAoB;IAClC,aAAa,CAAC,iBAAiB;IAC/B,aAAa,CAAC,OAAO;CACb,CAAC;AAEX,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmHH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,sBAAsB,EAAE,2BAA2B;IACnD,uBAAuB,EAAE,4BAA4B;IACrD,OAAO,EAAE,SAAS;CACV,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,aAAa,CAAC,sBAAsB;IACpC,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,uBAAuB;IACrC,aAAa,CAAC,oBAAoB;IAClC,aAAa,CAAC,iBAAiB;IAC/B,aAAa,CAAC,OAAO;CACb,CAAC;AAEX,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
@@ -9,5 +9,5 @@ export declare function orderPublishSteps(steps: PublishStep[]): PublishStep[];
9
9
  * `facts` carries what the plan says about the app rather than about its steps,
10
10
  * so rebuilding a plan from a response keeps it instead of dropping it.
11
11
  */
12
- export declare function buildPublishPlan(target: PublishPlanTarget, steps: PublishStep[], facts?: Pick<PublishPlan, 'hasDevServerPolicyPublishChecks' | 'hasPolicyPublishChecks'>): PublishPlan;
12
+ export declare function buildPublishPlan(target: PublishPlanTarget, steps: PublishStep[], facts?: Pick<PublishPlan, 'hasDevServerPolicyPublishChecks' | 'hasPolicyPublishChecks' | 'unprovisionedSharedAppDatabases'>): PublishPlan;
13
13
  //# sourceMappingURL=plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgBjG,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,iBAAiB,CAgB1F;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAiBrE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,iCAAiC,GAAG,wBAAwB,CAAC,GACtF,WAAW,CAGb"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgBjG,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,iBAAiB,CAgB1F;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAiBrE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,iCAAiC,GAAG,wBAAwB,GAAG,iCAAiC,CAAC,GAC1H,WAAW,CAGb"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,8EAA8E;AAC9E,MAAM,WAAW,GAAsC;IACrD,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,CAAC;IAClB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,KAAoC;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,GAAsB,SAAS,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAyB,EACzB,KAAoB,EACpB,KAAuF;IAEvF,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,8EAA8E;AAC9E,MAAM,WAAW,GAAsC;IACrD,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,CAAC;IAClB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,KAAoC;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,GAAsB,SAAS,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAyB,EACzB,KAAoB,EACpB,KAA2H;IAE3H,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACnF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/shared",
3
- "version": "0.9619.0",
3
+ "version": "0.9619.2",
4
4
  "description": "Superblocks Shared Resources",
5
5
  "license": "Superblocks Community Software License",
6
6
  "repository": {
@@ -0,0 +1,72 @@
1
+ import { describe, expect, it } from 'vitest';
2
+
3
+ import {
4
+ appDatabaseAccessFields,
5
+ getAppDatabaseAccessLevel,
6
+ INTEGRATION_READ_ONLY_ROLE_NAME,
7
+ isAppDatabase,
8
+ isAppDatabaseReadOnlyForApplication,
9
+ isIntegrationReadOnlyRole
10
+ } from './appDatabaseSharing.js';
11
+ import { DATABASE_LIFECYCLE_MANAGED_BY } from './index.js';
12
+
13
+ const appDatabase = { applicationId: 'owner-app', managedBy: DATABASE_LIFECYCLE_MANAGED_BY };
14
+
15
+ describe('isIntegrationReadOnlyRole', () => {
16
+ it('matches only the built-in role, not an org role with the same name', () => {
17
+ expect(isIntegrationReadOnlyRole({ name: INTEGRATION_READ_ONLY_ROLE_NAME, organizationId: null })).toBe(true);
18
+ expect(isIntegrationReadOnlyRole({ name: INTEGRATION_READ_ONLY_ROLE_NAME, organizationId: 'org-1' })).toBe(false);
19
+ expect(isIntegrationReadOnlyRole({ name: 'Developer', organizationId: null })).toBe(false);
20
+ });
21
+ });
22
+
23
+ describe('isAppDatabase', () => {
24
+ it('is true only for a lifecycle-managed integration with an owning app', () => {
25
+ expect(isAppDatabase(appDatabase)).toBe(true);
26
+ expect(isAppDatabase({ applicationId: 'owner-app', managedBy: null })).toBe(false);
27
+ expect(isAppDatabase({ applicationId: null, managedBy: DATABASE_LIFECYCLE_MANAGED_BY })).toBe(false);
28
+ expect(isAppDatabase(undefined)).toBe(false);
29
+ });
30
+ });
31
+
32
+ describe('isAppDatabaseReadOnlyForApplication', () => {
33
+ it('is read-only for an app that does not own the database', () => {
34
+ expect(isAppDatabaseReadOnlyForApplication(appDatabase, 'consumer-app')).toBe(true);
35
+ });
36
+
37
+ it('gives the owning app full access', () => {
38
+ expect(isAppDatabaseReadOnlyForApplication(appDatabase, 'owner-app')).toBe(false);
39
+ });
40
+
41
+ it('is not read-only without an app context', () => {
42
+ expect(isAppDatabaseReadOnlyForApplication(appDatabase, undefined)).toBe(false);
43
+ });
44
+
45
+ it('is not read-only for org integrations', () => {
46
+ expect(isAppDatabaseReadOnlyForApplication({ applicationId: 'owner-app', managedBy: null }, 'consumer-app')).toBe(false);
47
+ });
48
+ });
49
+
50
+ describe('getAppDatabaseAccessLevel', () => {
51
+ it('reports read_only for an app database another app owns', () => {
52
+ expect(getAppDatabaseAccessLevel(appDatabase, 'consumer-app')).toBe('read_only');
53
+ });
54
+
55
+ it('reports nothing when the app has full access', () => {
56
+ expect(getAppDatabaseAccessLevel(appDatabase, 'owner-app')).toBeUndefined();
57
+ expect(getAppDatabaseAccessLevel({ applicationId: null, managedBy: null }, 'consumer-app')).toBeUndefined();
58
+ });
59
+
60
+ it('names the owner alongside read_only, and nothing for a database the app can write to', () => {
61
+ const shared = { ...appDatabase, ownerApplicationName: 'Orders' };
62
+ expect(appDatabaseAccessFields(shared, 'consumer-app')).toEqual({ accessLevel: 'read_only', ownerApplicationName: 'Orders' });
63
+ expect(appDatabaseAccessFields(appDatabase, 'consumer-app')).toEqual({ accessLevel: 'read_only' });
64
+ expect(appDatabaseAccessFields(appDatabase, 'owner-app')).toEqual({});
65
+ });
66
+
67
+ it('reports read_only when the server named another owning app, even without an app context', () => {
68
+ const shared = { ...appDatabase, ownerApplicationName: 'Orders' };
69
+ expect(getAppDatabaseAccessLevel(shared, undefined)).toBe('read_only');
70
+ expect(getAppDatabaseAccessLevel(appDatabase, undefined)).toBeUndefined();
71
+ });
72
+ });
@@ -0,0 +1,58 @@
1
+ import { DATABASE_LIFECYCLE_MANAGED_BY } from './index.js';
2
+
3
+ // The built-in integrations role that gives an app read-only access to an app
4
+ // database another app owns. Only 3.0 apps can hold it.
5
+ export const INTEGRATION_READ_ONLY_ROLE_NAME = 'Read only';
6
+
7
+ export function isIntegrationReadOnlyRole(role: { name: string; organizationId?: string | null }): boolean {
8
+ return role.name === INTEGRATION_READ_ONLY_ROLE_NAME && !role.organizationId;
9
+ }
10
+
11
+ type AppDatabaseOwnershipFields = {
12
+ applicationId?: string | null;
13
+ managedBy?: string | null;
14
+ };
15
+
16
+ export function isAppDatabase(integration: AppDatabaseOwnershipFields | undefined): boolean {
17
+ return integration?.managedBy === DATABASE_LIFECYCLE_MANAGED_BY && Boolean(integration.applicationId);
18
+ }
19
+
20
+ // True when the integration is an app database owned by a different app. That
21
+ // app can read the data but not change it; the owning app keeps full access.
22
+ export function isAppDatabaseReadOnlyForApplication(
23
+ integration: AppDatabaseOwnershipFields | undefined,
24
+ applicationId: string | null | undefined
25
+ ): boolean {
26
+ return isAppDatabase(integration) && Boolean(applicationId) && integration?.applicationId !== applicationId;
27
+ }
28
+
29
+ // Same wire value the orchestrator receives in executionAccess.level.
30
+ export const INTEGRATION_ACCESS_LEVEL_READ_ONLY = 'read_only';
31
+ export type IntegrationAccessLevel = typeof INTEGRATION_ACCESS_LEVEL_READ_ONLY;
32
+
33
+ // The server names the owning app only in a payload built for a different
34
+ // app, so a named owner marks the database read-only even when the caller does
35
+ // not know which app it is building.
36
+ export function getAppDatabaseAccessLevel(
37
+ integration: (AppDatabaseOwnershipFields & { ownerApplicationName?: string }) | undefined,
38
+ applicationId: string | null | undefined
39
+ ): IntegrationAccessLevel | undefined {
40
+ const namedOwner = isAppDatabase(integration) && Boolean(integration?.ownerApplicationName);
41
+ return namedOwner || isAppDatabaseReadOnlyForApplication(integration, applicationId) ? INTEGRATION_ACCESS_LEVEL_READ_ONLY : undefined;
42
+ }
43
+
44
+ // Fields to copy onto an integration summary so Clark knows it may only read
45
+ // this database, and whose it is. Empty for anything the app can write to.
46
+ export function appDatabaseAccessFields(
47
+ integration: (AppDatabaseOwnershipFields & { ownerApplicationName?: string }) | undefined,
48
+ applicationId: string | null | undefined
49
+ ): { accessLevel?: IntegrationAccessLevel; ownerApplicationName?: string } {
50
+ const accessLevel = getAppDatabaseAccessLevel(integration, applicationId);
51
+ if (!accessLevel) {
52
+ return {};
53
+ }
54
+ return {
55
+ accessLevel,
56
+ ...(integration?.ownerApplicationName ? { ownerApplicationName: integration.ownerApplicationName } : {})
57
+ };
58
+ }
package/src/index.ts CHANGED
@@ -31,6 +31,7 @@ export * from './database-lifecycle/index.js';
31
31
  export * from './database-lifecycle/appDatabaseCompatibility.js';
32
32
  export * from './database-lifecycle/importCompatibility.js';
33
33
  export type * from './database-lifecycle/appDatabaseMigrations.js';
34
+ export * from './database-lifecycle/appDatabaseSharing.js';
34
35
  export * from './database-lifecycle/appDatabaseStatus.js';
35
36
  export * from './database-lifecycle/edit-lifecycle-capability.js';
36
37
  export * from './environment-compatibility/appEnvironmentCompatibility.js';
@@ -122,6 +122,11 @@ export class SupersetIntegrationDto extends IntegrationBaseDto {
122
122
  */
123
123
  configuredProfileKeys: string[];
124
124
  hasDefaultConfiguration: boolean;
125
+ /**
126
+ * Name of the app that owns this App Database. Set only when the payload is for a different
127
+ * app, which can read the database but not change it.
128
+ */
129
+ ownerApplicationName?: string;
125
130
  slug?: string;
126
131
  ownerEmail?: string;
127
132
  readOnly: boolean;
@@ -146,6 +151,7 @@ export class SupersetIntegrationDto extends IntegrationBaseDto {
146
151
  demoIntegrationId,
147
152
  hasDefaultConfiguration,
148
153
  isUserConfigured,
154
+ ownerApplicationName,
149
155
  ownerEmail,
150
156
  slug,
151
157
  readOnly,
@@ -175,6 +181,7 @@ export class SupersetIntegrationDto extends IntegrationBaseDto {
175
181
  hasDefaultConfiguration?: boolean;
176
182
  demoIntegrationId?: string;
177
183
  isUserConfigured: boolean;
184
+ ownerApplicationName?: string;
178
185
  ownerEmail?: string;
179
186
  slug?: string;
180
187
  readOnly: boolean;
@@ -203,6 +210,7 @@ export class SupersetIntegrationDto extends IntegrationBaseDto {
203
210
  this.isUserConfigured = isUserConfigured;
204
211
  this.managedBy = managedBy;
205
212
  this.userEditable = userEditable ?? true;
213
+ this.ownerApplicationName = ownerApplicationName;
206
214
  this.ownerEmail = ownerEmail;
207
215
  this.slug = slug;
208
216
  this.readOnly = readOnly;
@@ -88,6 +88,20 @@ export type PublishPlanTarget = {
88
88
  commitId: string;
89
89
  };
90
90
 
91
+ /**
92
+ * An App Database another app shared with this one, whose owner has no usable
93
+ * database yet for some of the data tags this app deploys to. This app's
94
+ * queries to it fail on those tags until the owner publishes.
95
+ */
96
+ export type UnprovisionedSharedAppDatabase = {
97
+ integrationId: string;
98
+ integrationName: string;
99
+ /** Display names of the data tags this app deploys to that the owner lacks. */
100
+ missingProfileNames: string[];
101
+ ownerApplicationId: string;
102
+ ownerApplicationName?: string;
103
+ };
104
+
91
105
  export type PublishPlan = {
92
106
  /**
93
107
  * Whether publishing this app runs policy agents, as the organization has it
@@ -101,6 +115,12 @@ export type PublishPlan = {
101
115
  status: PublishStepStatus;
102
116
  steps: PublishStep[];
103
117
  target: PublishPlanTarget;
118
+ /**
119
+ * Shared App Databases this app would reach in production before their
120
+ * owners have created them. About the app, not one version, like
121
+ * `hasPolicyPublishChecks`. Absent when it could not be determined.
122
+ */
123
+ unprovisionedSharedAppDatabases?: UnprovisionedSharedAppDatabase[];
104
124
  };
105
125
 
106
126
  /**
@@ -62,7 +62,7 @@ export function orderPublishSteps(steps: PublishStep[]): PublishStep[] {
62
62
  export function buildPublishPlan(
63
63
  target: PublishPlanTarget,
64
64
  steps: PublishStep[],
65
- facts?: Pick<PublishPlan, 'hasDevServerPolicyPublishChecks' | 'hasPolicyPublishChecks'>
65
+ facts?: Pick<PublishPlan, 'hasDevServerPolicyPublishChecks' | 'hasPolicyPublishChecks' | 'unprovisionedSharedAppDatabases'>
66
66
  ): PublishPlan {
67
67
  const ordered = orderPublishSteps(steps);
68
68
  return { ...facts, status: rollUpPublishSteps(ordered), steps: ordered, target };