@eventcatalog/core 2.20.1 → 2.20.3

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.
@@ -37,7 +37,7 @@ var import_axios = __toESM(require("axios"), 1);
37
37
  var import_os = __toESM(require("os"), 1);
38
38
 
39
39
  // package.json
40
- var version = "2.20.1";
40
+ var version = "2.20.3";
41
41
 
42
42
  // src/constants.ts
43
43
  var VERSION = version;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  raiseEvent
3
- } from "../chunk-IXGDS55I.js";
4
- import "../chunk-P4LJB7KO.js";
3
+ } from "../chunk-42WNO5YL.js";
4
+ import "../chunk-JWQ7UROI.js";
5
5
  export {
6
6
  raiseEvent
7
7
  };
@@ -106,7 +106,7 @@ var import_axios = __toESM(require("axios"), 1);
106
106
  var import_os = __toESM(require("os"), 1);
107
107
 
108
108
  // package.json
109
- var version = "2.20.1";
109
+ var version = "2.20.3";
110
110
 
111
111
  // src/constants.ts
112
112
  var VERSION = version;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  log_build_default
3
- } from "../chunk-IMSJ6ZK2.js";
4
- import "../chunk-IXGDS55I.js";
5
- import "../chunk-P4LJB7KO.js";
3
+ } from "../chunk-QPETROKH.js";
4
+ import "../chunk-42WNO5YL.js";
5
+ import "../chunk-JWQ7UROI.js";
6
6
  import "../chunk-E7TXTI7G.js";
7
7
  export {
8
8
  log_build_default as default
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-P4LJB7KO.js";
3
+ } from "./chunk-JWQ7UROI.js";
4
4
 
5
5
  // src/analytics/analytics.js
6
6
  import axios from "axios";
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "2.20.1";
2
+ var version = "2.20.3";
3
3
 
4
4
  // src/constants.ts
5
5
  var VERSION = version;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  raiseEvent
3
- } from "./chunk-IXGDS55I.js";
3
+ } from "./chunk-42WNO5YL.js";
4
4
  import {
5
5
  getEventCatalogConfigFile,
6
6
  verifyRequiredFieldsAreInCatalogConfigFile
@@ -25,7 +25,7 @@ __export(constants_exports, {
25
25
  module.exports = __toCommonJS(constants_exports);
26
26
 
27
27
  // package.json
28
- var version = "2.20.1";
28
+ var version = "2.20.3";
29
29
 
30
30
  // src/constants.ts
31
31
  var VERSION = version;
package/dist/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-P4LJB7KO.js";
3
+ } from "./chunk-JWQ7UROI.js";
4
4
  export {
5
5
  VERSION
6
6
  };
@@ -161,7 +161,7 @@ var import_axios = __toESM(require("axios"), 1);
161
161
  var import_os = __toESM(require("os"), 1);
162
162
 
163
163
  // package.json
164
- var version = "2.20.1";
164
+ var version = "2.20.3";
165
165
 
166
166
  // src/constants.ts
167
167
  var VERSION = version;
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-SHCMAL37.js";
4
4
  import {
5
5
  log_build_default
6
- } from "./chunk-IMSJ6ZK2.js";
7
- import "./chunk-IXGDS55I.js";
6
+ } from "./chunk-QPETROKH.js";
7
+ import "./chunk-42WNO5YL.js";
8
8
  import {
9
9
  catalogToAstro
10
10
  } from "./chunk-WF34R5UT.js";
11
11
  import {
12
12
  VERSION
13
- } from "./chunk-P4LJB7KO.js";
13
+ } from "./chunk-JWQ7UROI.js";
14
14
  import {
15
15
  generate
16
16
  } from "./chunk-YEQVKHST.js";
@@ -28,6 +28,7 @@ declare module '@tanstack/react-table' {
28
28
  | 'receives'
29
29
  | 'services'
30
30
  | 'ownedCommands'
31
+ | 'ownedQueries'
31
32
  | 'ownedEvents'
32
33
  | 'ownedServices'
33
34
  | 'associatedTeams';
@@ -112,7 +113,7 @@ export type TData<T extends TCollectionTypes> = {
112
113
  ownedEvents: any;
113
114
  ownedServices: any;
114
115
  associatedTeams: any;
115
-
116
+ ownedQueries: any;
116
117
  // Teams
117
118
  members: any;
118
119
  };
@@ -38,13 +38,10 @@ export const columns = () => [
38
38
  href={buildUrl(`/docs/${messageRaw.collection}/${messageRaw.data.id}`)}
39
39
  className={`group-hover:text-pink-500 flex space-x-1 items-center`}
40
40
  >
41
- <div className={`flex items-center border border-gray-300 shadow-sm rounded-md group-hover:border-pink-400`}>
41
+ <div className={`flex items-center rounded-md group-hover:border-pink-400`}>
42
42
  <span className="flex items-center">
43
- <span className={`bg-pink-500 group-hover:bg-pink-600 h-full rounded-tl rounded-bl p-1`}>
44
- {!messageRaw.data.avatarUrl && <Users className="h-4 w-4 text-white" />}
45
- </span>
46
- <span className="leading-none px-2 group-hover:underline group-hover:text-primary font-light">
47
- {messageRaw.data.name}
43
+ <span className="flex flex-col leading-none px-2 group-hover:underline group-hover:text-primary font-light">
44
+ <span className="font-semibold">{messageRaw.data.name}</span>
48
45
  </span>
49
46
  </span>
50
47
  </div>
@@ -59,21 +56,56 @@ export const columns = () => [
59
56
  filterFn: filterByName,
60
57
  }),
61
58
 
62
- columnHelper.accessor('data.members', {
63
- header: () => <span>Team members</span>,
59
+ columnHelper.accessor('data.ownedEvents', {
60
+ header: () => <span>Owned events</span>,
64
61
  meta: {
65
- // filterVariant: 'collection',
66
- showFilter: false,
62
+ filterVariant: 'collection',
63
+ collectionFilterKey: 'ownedEvents',
67
64
  },
68
65
  cell: (info) => {
69
- const members = info.getValue();
70
- if (members?.length === 0 || !members)
71
- return <div className="font-light text-sm text-gray-400/60 text-left italic">Team has no members</div>;
66
+ const events = info.getValue();
67
+ if (events?.length === 0 || !events)
68
+ return <div className="font-light text-sm text-gray-400/80 text-left italic">Team owns no events</div>;
72
69
 
73
- return <div>{members.length}</div>;
70
+ const isExpandable = events?.length > 10;
71
+ const isOpen = isExpandable ? events?.length < 10 : true;
72
+ const [isExpanded, setIsExpanded] = useState(isOpen);
73
+
74
+ return (
75
+ <div>
76
+ {isExpandable && (
77
+ <button onClick={() => setIsExpanded(!isExpanded)} className="mb-2 text-sm text-gray-600 hover:text-gray-900">
78
+ {isExpanded ? '▼' : '▶'} {events.length} event{events.length !== 1 ? 's' : ''}
79
+ </button>
80
+ )}
81
+ {isExpanded && (
82
+ <ul>
83
+ {events.map((event: CollectionEntry<'events'>, index: number) => (
84
+ <li key={`${event.data.id}-${index}`} className="py-1 group font-light ">
85
+ <a
86
+ href={buildUrl(`/docs/${event.collection}/${event.data.id}/${event.data.version}`)}
87
+ className="group-hover:text-primary flex space-x-1 items-center "
88
+ >
89
+ <div className={`flex items-center border border-gray-300 shadow-sm rounded-md`}>
90
+ <span className="flex items-center">
91
+ <span className={`bg-orange-500 h-full rounded-tl rounded-bl p-1`}>
92
+ <BoltIcon className="h-4 w-4 text-white" />
93
+ </span>
94
+ <span className="leading-none px-2 group-hover:underline ">
95
+ {event.data.name} (v{event.data.version})
96
+ </span>
97
+ </span>
98
+ </div>
99
+ </a>
100
+ </li>
101
+ ))}
102
+ </ul>
103
+ )}
104
+ </div>
105
+ );
74
106
  },
75
107
  footer: (info) => info.column.id,
76
- filterFn: filterByName,
108
+ filterFn: filterCollectionByName('ownedEvents'),
77
109
  }),
78
110
 
79
111
  columnHelper.accessor('data.ownedCommands', {
@@ -85,7 +117,7 @@ export const columns = () => [
85
117
  cell: (info) => {
86
118
  const commands = info.getValue();
87
119
  if (commands?.length === 0 || !commands)
88
- return <div className="font-light text-sm text-gray-400/60 text-left italic">User owns no commands</div>;
120
+ return <div className="font-light text-sm text-gray-400/60 text-left italic">Team owns no commands</div>;
89
121
 
90
122
  const isExpandable = commands?.length > 10;
91
123
  const isOpen = isExpandable ? commands?.length < 10 : true;
@@ -129,43 +161,44 @@ export const columns = () => [
129
161
  footer: (info) => info.column.id,
130
162
  filterFn: filterCollectionByName('ownedCommands'),
131
163
  }),
132
- columnHelper.accessor('data.ownedEvents', {
133
- header: () => <span>Owned Events</span>,
164
+
165
+ columnHelper.accessor('data.ownedQueries', {
166
+ header: () => <span>Owned queries</span>,
134
167
  meta: {
135
168
  filterVariant: 'collection',
136
- collectionFilterKey: 'ownedEvents',
169
+ collectionFilterKey: 'ownedQueries',
137
170
  },
138
171
  cell: (info) => {
139
- const events = info.getValue();
140
- if (events?.length === 0 || !events)
141
- return <div className="font-light text-sm text-gray-400/80 text-left italic">User owns no events</div>;
172
+ const queries = info.getValue();
173
+ if (queries?.length === 0 || !queries)
174
+ return <div className="font-light text-sm text-gray-400/60 text-left italic">Team owns no queries</div>;
142
175
 
143
- const isExpandable = events?.length > 10;
144
- const isOpen = isExpandable ? events?.length < 10 : true;
176
+ const isExpandable = queries?.length > 10;
177
+ const isOpen = isExpandable ? queries?.length < 10 : true;
145
178
  const [isExpanded, setIsExpanded] = useState(isOpen);
146
179
 
147
180
  return (
148
181
  <div>
149
182
  {isExpandable && (
150
183
  <button onClick={() => setIsExpanded(!isExpanded)} className="mb-2 text-sm text-gray-600 hover:text-gray-900">
151
- {isExpanded ? '▼' : '▶'} {events.length} event{events.length !== 1 ? 's' : ''}
184
+ {isExpanded ? '▼' : '▶'} {queries.length} query{queries.length !== 1 ? 's' : ''}
152
185
  </button>
153
186
  )}
154
187
  {isExpanded && (
155
188
  <ul>
156
- {events.map((event: CollectionEntry<'events'>, index: number) => (
157
- <li key={`${event.data.id}-${index}`} className="py-1 group font-light ">
189
+ {queries.map((query: CollectionEntry<'queries'>, index: number) => (
190
+ <li key={`${query.data.id}-${index}`} className="py-1 group font-light ">
158
191
  <a
159
- href={buildUrl(`/docs/${event.collection}/${event.data.id}/${event.data.version}`)}
192
+ href={buildUrl(`/docs/${query.collection}/${query.data.id}/${query.data.version}`)}
160
193
  className="group-hover:text-primary flex space-x-1 items-center "
161
194
  >
162
195
  <div className={`flex items-center border border-gray-300 shadow-sm rounded-md`}>
163
196
  <span className="flex items-center">
164
- <span className={`bg-orange-500 h-full rounded-tl rounded-bl p-1`}>
165
- <BoltIcon className="h-4 w-4 text-white" />
197
+ <span className={`bg-blue-500 h-full rounded-tl rounded-bl p-1`}>
198
+ <ChatBubbleLeftIcon className="h-4 w-4 text-white" />
166
199
  </span>
167
200
  <span className="leading-none px-2 group-hover:underline ">
168
- {event.data.name} (v{event.data.version})
201
+ {query.data.name} (v{query.data.version})
169
202
  </span>
170
203
  </span>
171
204
  </div>
@@ -176,10 +209,13 @@ export const columns = () => [
176
209
  )}
177
210
  </div>
178
211
  );
212
+
213
+ // return commands.length;
179
214
  },
180
215
  footer: (info) => info.column.id,
181
- filterFn: filterCollectionByName('ownedEvents'),
216
+ filterFn: filterCollectionByName('ownedCommands'),
182
217
  }),
218
+
183
219
  columnHelper.accessor('data.ownedServices', {
184
220
  header: () => <span>Owned Services</span>,
185
221
  meta: {
@@ -189,7 +225,7 @@ export const columns = () => [
189
225
  cell: (info) => {
190
226
  const services = info.getValue();
191
227
  if (services?.length === 0 || !services)
192
- return <div className="font-light text-sm text-gray-400/80 text-left italic">User owns no services</div>;
228
+ return <div className="font-light text-sm text-gray-400/80 text-left italic">Team owns no services</div>;
193
229
 
194
230
  const isExpandable = services?.length > 10;
195
231
  const isOpen = isExpandable ? services?.length < 10 : true;
@@ -6,7 +6,7 @@ import type { TData } from '../Table';
6
6
  import type { CollectionUserTypes } from '@types';
7
7
  import { User, Users } from 'lucide-react';
8
8
  import type { CollectionEntry } from 'astro:content';
9
- import { ServerIcon, BoltIcon, ChatBubbleLeftIcon } from '@heroicons/react/24/solid';
9
+ import { ServerIcon, BoltIcon, ChatBubbleLeftIcon, MagnifyingGlassIcon } from '@heroicons/react/24/solid';
10
10
 
11
11
  const columnHelper = createColumnHelper<TData<CollectionUserTypes>>();
12
12
 
@@ -23,19 +23,10 @@ export const columns = () => [
23
23
  href={buildUrl(`/docs/${messageRaw.collection}/${messageRaw.data.id}`)}
24
24
  className={`group-hover:text-gray-500 flex space-x-1 items-center`}
25
25
  >
26
- <div className={`flex items-center border border-gray-300 shadow-sm rounded-md group-hover:border-gray-400`}>
26
+ <div className={`flex items-center rounded-md group-hover:border-gray-400`}>
27
27
  <span className="flex items-center">
28
- {!messageRaw.data.avatarUrl && (
29
- <span className={`bg-gray-300 group-hover:bg-gray-600 h-full rounded-tl rounded-bl p-1`}>
30
- <User className="h-4 w-4 text-white" />
31
- </span>
32
- )}
33
- {messageRaw.data.avatarUrl && (
34
- <img src={messageRaw.data.avatarUrl} alt={messageRaw.data.name} className="h-12 w-12 rounded-md p-0.5" />
35
- )}
36
-
37
- <span className="leading-none px-2 group-hover:underline group-hover:text-primary font-light">
38
- {messageRaw.data.name}
28
+ <span className="flex flex-col leading-none px-2 group-hover:underline group-hover:text-primary font-light">
29
+ <span className="font-semibold">{messageRaw.data.name}</span>
39
30
  </span>
40
31
  </span>
41
32
  </div>
@@ -50,16 +41,56 @@ export const columns = () => [
50
41
  filterFn: filterByName,
51
42
  }),
52
43
 
53
- columnHelper.accessor('data.role', {
54
- id: 'role',
55
- header: () => 'Role',
56
- cell: (info) => <span className="font-light ">{info.renderValue()}</span>,
57
- footer: (info) => info.column.id,
44
+ columnHelper.accessor('data.ownedEvents', {
45
+ header: () => <span>Owned events</span>,
58
46
  meta: {
59
- showFilter: false,
60
- className: 'max-w-[200px]',
47
+ filterVariant: 'collection',
48
+ collectionFilterKey: 'ownedEvents',
61
49
  },
62
- filterFn: filterCollectionByName('role'),
50
+ cell: (info) => {
51
+ const events = info.getValue();
52
+ if (events?.length === 0 || !events)
53
+ return <div className="font-light text-sm text-gray-400/80 text-left italic">User owns no events</div>;
54
+
55
+ const isExpandable = events?.length > 10;
56
+ const isOpen = isExpandable ? events?.length < 10 : true;
57
+ const [isExpanded, setIsExpanded] = useState(isOpen);
58
+
59
+ return (
60
+ <div>
61
+ {isExpandable && (
62
+ <button onClick={() => setIsExpanded(!isExpanded)} className="mb-2 text-sm text-gray-600 hover:text-gray-900">
63
+ {isExpanded ? '▼' : '▶'} {events.length} event{events.length !== 1 ? 's' : ''}
64
+ </button>
65
+ )}
66
+ {isExpanded && (
67
+ <ul>
68
+ {events.map((event: CollectionEntry<'events'>, index: number) => (
69
+ <li key={`${event.data.id}-${index}`} className="py-1 group font-light ">
70
+ <a
71
+ href={buildUrl(`/docs/${event.collection}/${event.data.id}/${event.data.version}`)}
72
+ className="group-hover:text-primary flex space-x-1 items-center "
73
+ >
74
+ <div className={`flex items-center border border-gray-300 shadow-sm rounded-md`}>
75
+ <span className="flex items-center">
76
+ <span className={`bg-orange-500 h-full rounded-tl rounded-bl p-1`}>
77
+ <BoltIcon className="h-4 w-4 text-white" />
78
+ </span>
79
+ <span className="leading-none px-2 group-hover:underline ">
80
+ {event.data.name} (v{event.data.version})
81
+ </span>
82
+ </span>
83
+ </div>
84
+ </a>
85
+ </li>
86
+ ))}
87
+ </ul>
88
+ )}
89
+ </div>
90
+ );
91
+ },
92
+ footer: (info) => info.column.id,
93
+ filterFn: filterCollectionByName('ownedEvents'),
63
94
  }),
64
95
 
65
96
  columnHelper.accessor('data.ownedCommands', {
@@ -115,43 +146,44 @@ export const columns = () => [
115
146
  footer: (info) => info.column.id,
116
147
  filterFn: filterCollectionByName('ownedCommands'),
117
148
  }),
118
- columnHelper.accessor('data.ownedEvents', {
119
- header: () => <span>Owned Events</span>,
149
+
150
+ columnHelper.accessor('data.ownedQueries', {
151
+ header: () => <span>Owned queries</span>,
120
152
  meta: {
121
153
  filterVariant: 'collection',
122
- collectionFilterKey: 'ownedEvents',
154
+ collectionFilterKey: 'ownedQueries',
123
155
  },
124
156
  cell: (info) => {
125
- const events = info.getValue();
126
- if (events?.length === 0 || !events)
127
- return <div className="font-light text-sm text-gray-400/80 text-left italic">User owns no events</div>;
157
+ const queries = info.getValue();
158
+ if (queries?.length === 0 || !queries)
159
+ return <div className="font-light text-sm text-gray-400/60 text-left italic">User owns no queries</div>;
128
160
 
129
- const isExpandable = events?.length > 10;
130
- const isOpen = isExpandable ? events?.length < 10 : true;
161
+ const isExpandable = queries?.length > 10;
162
+ const isOpen = isExpandable ? queries?.length < 10 : true;
131
163
  const [isExpanded, setIsExpanded] = useState(isOpen);
132
164
 
133
165
  return (
134
166
  <div>
135
167
  {isExpandable && (
136
168
  <button onClick={() => setIsExpanded(!isExpanded)} className="mb-2 text-sm text-gray-600 hover:text-gray-900">
137
- {isExpanded ? '▼' : '▶'} {events.length} event{events.length !== 1 ? 's' : ''}
169
+ {isExpanded ? '▼' : '▶'} {queries.length} query{queries.length !== 1 ? 's' : ''}
138
170
  </button>
139
171
  )}
140
172
  {isExpanded && (
141
173
  <ul>
142
- {events.map((event: CollectionEntry<'events'>, index: number) => (
143
- <li key={`${event.data.id}-${index}`} className="py-1 group font-light ">
174
+ {queries.map((query: CollectionEntry<'queries'>, index: number) => (
175
+ <li key={`${query.data.id}-${index}`} className="py-1 group font-light ">
144
176
  <a
145
- href={buildUrl(`/docs/${event.collection}/${event.data.id}/${event.data.version}`)}
177
+ href={buildUrl(`/docs/${query.collection}/${query.data.id}/${query.data.version}`)}
146
178
  className="group-hover:text-primary flex space-x-1 items-center "
147
179
  >
148
- <div className={`flex items-center border border-gray-300 shadow-sm rounded-md`}>
180
+ <div className={`flex items-center border border-gray-300 shadow-sm rounded-md h-full`}>
149
181
  <span className="flex items-center">
150
- <span className={`bg-orange-500 h-full rounded-tl rounded-bl p-1`}>
151
- <BoltIcon className="h-4 w-4 text-white" />
182
+ <span className={`bg-green-500 flex rounded-tl rounded-bl p-1 h-full`}>
183
+ <MagnifyingGlassIcon className="h-4 w-4 text-white" />
152
184
  </span>
153
185
  <span className="leading-none px-2 group-hover:underline ">
154
- {event.data.name} (v{event.data.version})
186
+ {query.data.name} (v{query.data.version})
155
187
  </span>
156
188
  </span>
157
189
  </div>
@@ -162,10 +194,13 @@ export const columns = () => [
162
194
  )}
163
195
  </div>
164
196
  );
197
+
198
+ // return commands.length;
165
199
  },
166
200
  footer: (info) => info.column.id,
167
- filterFn: filterCollectionByName('ownedEvents'),
201
+ filterFn: filterCollectionByName('ownedCommands'),
168
202
  }),
203
+
169
204
  columnHelper.accessor('data.ownedServices', {
170
205
  header: () => <span>Owned Services</span>,
171
206
  meta: {
@@ -267,6 +267,7 @@ const users = defineCollection({
267
267
  ownedServices: z.array(reference('services')).optional(),
268
268
  ownedEvents: z.array(reference('events')).optional(),
269
269
  ownedCommands: z.array(reference('commands')).optional(),
270
+ ownedQueries: z.array(reference('queries')).optional(),
270
271
  associatedTeams: z.array(reference('teams')).optional(),
271
272
  }),
272
273
  });
@@ -283,6 +284,7 @@ const teams = defineCollection({
283
284
  msTeamsDirectMessageUrl: z.string().optional(),
284
285
  members: z.array(reference('users')).optional(),
285
286
  ownedCommands: z.array(reference('commands')).optional(),
287
+ ownedQueries: z.array(reference('queries')).optional(),
286
288
  ownedDomains: z.array(reference('domains')).optional(),
287
289
  ownedServices: z.array(reference('services')).optional(),
288
290
  ownedEvents: z.array(reference('events')).optional(),
@@ -46,6 +46,7 @@ function mapToItem(i: any) {
46
46
  ({
47
47
  collection: d.collection,
48
48
  data: {
49
+ // @ts-ignore
49
50
  id: d.data.id,
50
51
  name: d.data.name,
51
52
  // @ts-ignore
@@ -57,6 +58,8 @@ function mapToItem(i: any) {
57
58
  // @ts-ignore
58
59
  ownedCommands: d.data?.ownedCommands?.map(mapToItem) ?? [],
59
60
  // @ts-ignore
61
+ ownedQueries: d.data?.ownedQueries?.map(mapToItem) ?? [],
62
+ // @ts-ignore
60
63
  ownedEvents: d.data?.ownedEvents?.map(mapToItem) ?? [],
61
64
  // @ts-ignore
62
65
  ownedServices: d.data?.ownedServices?.map(mapToItem) ?? [],
@@ -37,6 +37,7 @@ const domains = props.data.ownedDomains as CollectionEntry<'domains'>[];
37
37
  const services = props.data.ownedServices as CollectionEntry<'services'>[];
38
38
  const events = props.data.ownedEvents as CollectionEntry<'events'>[];
39
39
  const commands = props.data.ownedCommands as CollectionEntry<'commands'>[];
40
+ const queries = props.data.ownedQueries as CollectionEntry<'queries'>[];
40
41
 
41
42
  const membersList = members.map((o) => ({
42
43
  label: o.data.name,
@@ -68,6 +69,13 @@ const ownedEventsList = [...events, ...commands].map((p) => ({
68
69
  collection: p.collection,
69
70
  tag: `v${p.data.version}`,
70
71
  }));
72
+
73
+ const ownedQueriesList = queries.map((p) => ({
74
+ label: `${p.data.name}`,
75
+ href: buildUrl(`/docs/${p.collection}/${p.data.id}/${p.data.version}`),
76
+ collection: p.collection,
77
+ tag: `v${p.data.version}`,
78
+ }));
71
79
  ---
72
80
 
73
81
  <VerticalSideBarLayout title={`Team | ${props.data.name}`} description={props.data.summary}>
@@ -153,6 +161,13 @@ const ownedEventsList = [...events, ...commands].map((p) => ({
153
161
  emptyMessage={`This team does not own any messages .`}
154
162
  client:load
155
163
  />
164
+ <PillListFlat
165
+ color="purple"
166
+ title={`Owned queries (${ownedQueriesList.length})`}
167
+ pills={ownedQueriesList}
168
+ emptyMessage={`This team does not own any queries .`}
169
+ client:load
170
+ />
156
171
  <OwnersList
157
172
  title={`Team members (${membersList.length})`}
158
173
  owners={membersList}
@@ -33,6 +33,7 @@ const domains = props.data.ownedDomains as CollectionEntry<'domains'>[];
33
33
  const services = props.data.ownedServices as CollectionEntry<'services'>[];
34
34
  const events = props.data.ownedEvents as CollectionEntry<'events'>[];
35
35
  const commands = props.data.ownedCommands as CollectionEntry<'commands'>[];
36
+ const queries = props.data.ownedQueries as CollectionEntry<'queries'>[];
36
37
  const teams = props.data.associatedTeams as CollectionEntry<'teams'>[];
37
38
 
38
39
  const ownedDomainsList = domains.map((p) => ({
@@ -49,7 +50,7 @@ const ownedServicesList = services.map((p) => ({
49
50
  tag: `v${p.data.version}`,
50
51
  }));
51
52
 
52
- const ownedMessageList = [...events, ...commands].map((p) => ({
53
+ const ownedMessageList = [...events, ...commands, ...queries].map((p) => ({
53
54
  label: `${p.data.name}`,
54
55
  badge: p.collection,
55
56
  color: p.collection === 'events' ? 'orange' : 'blue',
@@ -23,7 +23,7 @@ export const getTeams = async (): Promise<Team[]> => {
23
23
  // What do they own?
24
24
  const events = await getCollection('events');
25
25
  const commands = await getCollection('commands');
26
-
26
+ const queries = await getCollection('queries');
27
27
  cachedTeams = teams.map((team) => {
28
28
  const ownedDomains = domains.filter((domain) => {
29
29
  return domain.data.owners?.find((owner) => owner.id === team.data.id);
@@ -41,6 +41,10 @@ export const getTeams = async (): Promise<Team[]> => {
41
41
  return command.data.owners?.find((owner) => owner.id === team.data.id);
42
42
  });
43
43
 
44
+ const ownedQueries = queries.filter((query) => {
45
+ return query.data.owners?.find((owner) => owner.id === team.data.id);
46
+ });
47
+
44
48
  return {
45
49
  ...team,
46
50
  data: {
@@ -48,6 +52,7 @@ export const getTeams = async (): Promise<Team[]> => {
48
52
  ownedDomains,
49
53
  ownedServices,
50
54
  ownedCommands,
55
+ ownedQueries,
51
56
  ownedEvents,
52
57
  },
53
58
  catalog: {