Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
c38e0b8
improve CM class to be easier to extend and override defaults
nickofthyme Jul 26, 2025
a0df8cb
improve CM rpc types to satisfy generic type instead of be the generi…
nickofthyme Jul 26, 2025
d2af505
fix spelling errors
nickofthyme Jul 26, 2025
dd1d576
move and add constants
nickofthyme Jul 26, 2025
9dee933
update CM common schema
nickofthyme Jul 26, 2025
06ac9d2
update storage context params
nickofthyme Jul 26, 2025
0e1d797
cleanup `getMSearchClientFactory`
nickofthyme Jul 26, 2025
ff9d7bd
use api path constants
nickofthyme Jul 26, 2025
5ce1467
allow initial `v0` for `down` transforms
nickofthyme Jul 26, 2025
ab47bfd
refactor visualizations plugin clients
nickofthyme Jul 26, 2025
31dc07f
add content management schema
nickofthyme Jul 26, 2025
08313f2
add lens vis route schema
nickofthyme Jul 26, 2025
6628892
refactor types to use schema definitions
nickofthyme Jul 26, 2025
52615b0
update imports, constants and types
nickofthyme Jul 26, 2025
b25d312
update lens SO mappings to add new version property
nickofthyme Jul 26, 2025
aa7bd3f
implement all lens CM CRUD operations with latest CM schema
nickofthyme Jul 26, 2025
5b80de2
update lens CRUD apis
nickofthyme Jul 26, 2025
091a840
update CM service with v0 Item transforms
nickofthyme Jul 26, 2025
f2be004
add config builder stub
nickofthyme Jul 26, 2025
ce9493f
cleanup public constants and types
nickofthyme Jul 26, 2025
207e4c3
refactor lens public client
nickofthyme Jul 26, 2025
77e51b7
more type cleanup
nickofthyme Jul 27, 2025
9065432
register lens embeddable transforms
nickofthyme Jul 27, 2025
fe41466
fix build error
nickofthyme Jul 27, 2025
dd1ed49
[CI] Auto-commit changed files from 'node scripts/styled_components_m…
kibanamachine Jul 27, 2025
099929a
[CI] Auto-commit changed files from 'node scripts/check_mappings_upda…
kibanamachine Jul 27, 2025
bc50e0c
add sync check for transform before fetching
nickofthyme Jul 28, 2025
fe7241d
Merge branch 'main' into lens-transforms-phase-1
nickofthyme Jul 28, 2025
fdc5fc4
chore: fix type check and linting errors
nickofthyme Jul 28, 2025
6844da9
[CI] Auto-commit changed files from 'node scripts/yarn_deduplicate'
kibanamachine Jul 28, 2025
8fc9721
[CI] Auto-commit changed files from 'node scripts/jest_integration -u…
kibanamachine Jul 28, 2025
dd050dc
chore: fix more type errors
nickofthyme Jul 30, 2025
17794ab
Merge branch 'main' into lens-transforms-phase-1
nickofthyme Jul 30, 2025
6723e81
Merge branch 'lens-transforms-phase-1' into lens-transforms-phase-2
nickofthyme Jul 30, 2025
f8278e4
[CI] Auto-commit changed files from 'node scripts/notice'
kibanamachine Jul 30, 2025
7797b90
fix: import error
nickofthyme Jul 30, 2025
443b1c6
allow accessing props outside of schema
nickofthyme Aug 1, 2025
dae73c7
Merge branch 'main' into lens-transforms-phase-1
nickofthyme Aug 1, 2025
2965fb5
fix test and type errors
nickofthyme Aug 2, 2025
f4028ea
Merge branch 'main' into lens-transforms-phase-1
nickofthyme Aug 2, 2025
efaafb1
fix type and linting issues
nickofthyme Aug 2, 2025
c7d83b8
update register type
nickofthyme Aug 2, 2025
5a4e0d9
fix more type issues
nickofthyme Aug 2, 2025
836e7a5
fix more type errors and version issues
nickofthyme Aug 3, 2025
e331545
remove erroneous lens attributes
nickofthyme Aug 3, 2025
414125f
fix another type issue
nickofthyme Aug 3, 2025
16a3153
fix lens attribute versioning
nickofthyme Aug 3, 2025
1db8129
fix bad imports
nickofthyme Aug 3, 2025
297ab25
Merge branch 'main' into lens-transforms-phase-1
nickofthyme Aug 3, 2025
92e3a3b
permit unknown SO versioning
nickofthyme Aug 3, 2025
c53a9f3
fix another build errors
nickofthyme Aug 3, 2025
74374c0
Merge remote-tracking branch 'origin/lens-transforms-phase-1' into le…
nickofthyme Aug 3, 2025
72a54a8
[CI] Auto-commit changed files from 'node scripts/jest_integration -u…
kibanamachine Aug 3, 2025
bb697f2
fix: permit old SO shape on create
nickofthyme Aug 3, 2025
f9990e3
fix: lens doc services should return doc from request
nickofthyme Aug 3, 2025
3e7aa5b
Merge remote-tracking branch 'origin/lens-transforms-phase-1' into le…
nickofthyme Aug 3, 2025
c25ed7a
revert required version attribute changes
nickofthyme Aug 3, 2025
eb0ebad
[CI] Auto-commit changed files from 'node scripts/jest_integration -u…
kibanamachine Aug 3, 2025
af221ab
chore: remove versions in cb files
nickofthyme Aug 5, 2025
fe582c0
temporary limit bump
nickofthyme Aug 5, 2025
5974f43
make version optional
nickofthyme Aug 5, 2025
592e795
allow passing old SO to create route
nickofthyme Aug 5, 2025
20e70b1
chore: remove erroneous props
nickofthyme Aug 5, 2025
dcbe8a0
Merge remote-tracking branch 'origin/lens-transforms-phase-1' into le…
nickofthyme Aug 5, 2025
432ac1f
[CI] Auto-commit changed files from 'node scripts/jest_integration -u…
kibanamachine Aug 5, 2025
a525495
chore: move CM files and schema from common/ to server/
nickofthyme Aug 5, 2025
9d439b9
Revert "temporary limit bump"
nickofthyme Aug 5, 2025
cd51aa7
update registered types
nickofthyme Aug 5, 2025
0ddbc6a
Merge remote-tracking branch 'origin/lens-transforms-phase-1' into le…
nickofthyme Aug 5, 2025
82cec36
fix: lens save error
nickofthyme Aug 6, 2025
4867753
Merge branch 'main' into lens-transforms-phase-1
nickofthyme Aug 6, 2025
0c5b3e5
Merge branch 'lens-transforms-phase-1' into lens-transforms-phase-2
nickofthyme Aug 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/kbn-check-mappings-update-cli/current_fields.json
Original file line number Diff line number Diff line change
Expand Up @@ -787,6 +787,7 @@
"description",
"state",
"title",
"version",
"visualizationType"
],
"lens-ui-telemetry": [
Expand Down
3 changes: 3 additions & 0 deletions packages/kbn-check-mappings-update-cli/current_mappings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2610,6 +2610,9 @@
"title": {
"type": "text"
},
"version": {
"type": "integer"
},
"visualizationType": {
"type": "keyword"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ describe('checking migration metadata changes on all registered SO types', () =>
"inventory-view": "e125c6e6e49729055421e7b3a0544f24330d8dc6",
"kql-telemetry": "92d6357aa3ce28727492f86a54783f802dc38893",
"legacy-url-alias": "9b8cca3fbb2da46fd12823d3cd38fdf1c9f24bc8",
"lens": "6fa6bdc5de12859815de6e50488fa2a7b038278a",
"lens": "17438090d0184ea2d834692aec084f7ad4ded710",
"lens-ui-telemetry": "d6c4e330d170eefc6214dbf77a53de913fa3eebc",
"links": "53ae5a770d69eee34d842617be761cd059ab4b51",
"maintenance-window": "f3f19d1828e91418d13703ce6009e9c76a1686f9",
Expand Down Expand Up @@ -843,8 +843,9 @@ describe('checking migration metadata changes on all registered SO types', () =>
"legacy-url-alias|8.2.0: 4c58be29493363cb48eb37fa5612fb3fb0eed77e",
"================================================================",
"lens|global: 0267d37678684c5f234bd74f0f6ae2a5f6180eb4",
"lens|mappings: ccf7f3aea93efcf8d26faffa63e4bf6f0748ea80",
"lens|mappings: a7f9fb8ae5efb47f6ee930168cb1cdd221cd9d91",
"lens|schemas: da39a3ee5e6b4b0d3255bfef95601890afd80709",
"lens|10.1.0: 8f6fbdde199327bbfaba97d1d79ae3c9b9914b18",
"lens|8.9.0: f6592efb2500e39d1d31b1effdfad7d7ad1eca32",
"lens|8.6.0: 54c152a2584673672445346cf69d72bda587cc52",
"lens|8.5.0: 54c152a2584673672445346cf69d72bda587cc52",
Expand Down Expand Up @@ -1304,7 +1305,7 @@ describe('checking migration metadata changes on all registered SO types', () =>
"inventory-view": "10.2.0",
"kql-telemetry": "10.0.0",
"legacy-url-alias": "10.0.0",
"lens": "10.0.0",
"lens": "10.1.0",
"lens-ui-telemetry": "10.0.0",
"links": "10.0.0",
"maintenance-window": "10.2.0",
Expand Down Expand Up @@ -1451,7 +1452,7 @@ describe('checking migration metadata changes on all registered SO types', () =>
"inventory-view": "10.2.0",
"kql-telemetry": "0.0.0",
"legacy-url-alias": "8.2.0",
"lens": "8.9.0",
"lens": "10.1.0",
"lens-ui-telemetry": "0.0.0",
"links": "0.0.0",
"maintenance-window": "10.2.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,6 @@ export class ObjectType<P extends Props = any> extends Type<ObjectResultType<P>>

/**
* Return the schema for this object's underlying properties
*
* @internal should only be used internal for type reflection
*/
public getPropSchemas(): P {
return this.props;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,3 @@ export type * from './src/types';
export * from './src/schema';
export * from './src/saved_object_content_storage';
export * from './src/utils';
export * from './src/msearch';
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"type": "shared-server",
"type": "shared-common",
"id": "@kbn/content-management-utils",
"owner": [
"@elastic/kibana-data-discovery"
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,26 @@
*/

import { SOContentStorage } from './saved_object_content_storage';
import { CMCrudTypes } from './types';
import { ContentManagementCrudTypes } from './types';
import { loggerMock, MockedLogger } from '@kbn/logging-mocks';

import { schema } from '@kbn/config-schema';
import type {
ContentManagementServicesDefinition as ServicesDefinition,
Version,
} from '@kbn/object-versioning';
import { getContentManagmentServicesTransforms } from '@kbn/object-versioning';
import { getContentManagementServicesTransforms } from '@kbn/object-versioning';
import { savedObjectSchema, objectTypeToGetResultSchema, createResultSchema } from './schema';

import { coreMock } from '@kbn/core/server/mocks';
import type { SavedObject } from '@kbn/core/server';
import type { RequestHandlerContext, SavedObject } from '@kbn/core/server';
import { mockRouter } from '@kbn/core-http-router-server-mocks';

interface MockAttributes {
title: string;
description: string | null;
}
type MockCrudTypes = ContentManagementCrudTypes<'content-id', MockAttributes, {}, {}, {}>;

const testAttributesSchema = schema.object(
{
Expand Down Expand Up @@ -74,9 +81,9 @@ export const cmServicesDefinition: { [version: Version]: ServicesDefinition } =
1: serviceDefinition,
};

const transforms = getContentManagmentServicesTransforms(cmServicesDefinition, 1);
const transforms = getContentManagementServicesTransforms(cmServicesDefinition, 1);

class TestSOContentStorage extends SOContentStorage<CMCrudTypes> {
class TestSOContentStorage extends SOContentStorage<MockCrudTypes> {
constructor({
throwOnResultValidationError,
logger,
Expand All @@ -94,12 +101,12 @@ class TestSOContentStorage extends SOContentStorage<CMCrudTypes> {

const setup = ({ storage }: { storage?: TestSOContentStorage } = {}) => {
storage = storage ?? new TestSOContentStorage();
const mockRequest = mockRouter.createFakeKibanaRequest({});
const requestHandlerCoreContext = coreMock.createRequestHandlerContext();

const requestHandlerContext = {
const requestHandlerContext = jest.mocked<RequestHandlerContext>({
core: Promise.resolve(requestHandlerCoreContext),
resolve: jest.fn(),
};
});

return {
get: (mockSavedObject: SavedObject) => {
Expand All @@ -110,6 +117,7 @@ const setup = ({ storage }: { storage?: TestSOContentStorage } = {}) => {

return storage!.get(
{
request: mockRequest,
requestHandlerContext,
version: {
request: 1,
Expand All @@ -122,11 +130,12 @@ const setup = ({ storage }: { storage?: TestSOContentStorage } = {}) => {
mockSavedObject.id
);
},
create: (mockSavedObject: SavedObject<{}>) => {
create: (mockSavedObject: SavedObject<MockAttributes>) => {
requestHandlerCoreContext.savedObjects.client.create.mockResolvedValue(mockSavedObject);

return storage!.create(
{
request: mockRequest,
requestHandlerContext,
version: {
request: 1,
Expand All @@ -140,11 +149,12 @@ const setup = ({ storage }: { storage?: TestSOContentStorage } = {}) => {
{}
);
},
update: (mockSavedObject: SavedObject<{}>) => {
update: (mockSavedObject: SavedObject<MockAttributes>) => {
requestHandlerCoreContext.savedObjects.client.update.mockResolvedValue(mockSavedObject);

return storage!.update(
{
request: mockRequest,
requestHandlerContext,
version: {
request: 1,
Expand All @@ -159,7 +169,7 @@ const setup = ({ storage }: { storage?: TestSOContentStorage } = {}) => {
{}
);
},
search: (mockSavedObject: SavedObject<{}>) => {
search: (mockSavedObject: SavedObject<MockAttributes>) => {
requestHandlerCoreContext.savedObjects.client.find.mockResolvedValue({
saved_objects: [{ ...mockSavedObject, score: 100 }],
total: 1,
Expand All @@ -169,6 +179,7 @@ const setup = ({ storage }: { storage?: TestSOContentStorage } = {}) => {

return storage!.search(
{
request: mockRequest,
requestHandlerContext,
version: {
request: 1,
Expand All @@ -182,9 +193,10 @@ const setup = ({ storage }: { storage?: TestSOContentStorage } = {}) => {
{}
);
},
mSearch: async (mockSavedObject: SavedObject<{}>) => {
mSearch: async (mockSavedObject: SavedObject<MockAttributes>) => {
return storage!.mSearch!.toItemResult(
{
request: mockRequest,
requestHandlerContext,
version: {
request: 1,
Expand Down
Loading