@redocly/realm 0.129.0-next.0 → 0.129.0-next.1
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.
- package/CHANGELOG.md +21 -0
- package/dist/client/app/Sidebar/useBreadcrumbs.js +1 -1
- package/dist/client/app/hooks/codeHighlight/json-seq.d.ts +43 -0
- package/dist/client/app/hooks/codeHighlight/json-seq.js +1 -0
- package/dist/client/app/hooks/codeHighlight/map-lang.js +1 -1
- package/dist/client/app/hooks/codeHighlight/multipart-mixed.d.ts +40 -0
- package/dist/client/app/hooks/codeHighlight/multipart-mixed.js +1 -0
- package/dist/client/app/hooks/codeHighlight/useCodeHighlight.js +1 -1
- package/dist/server/plugins/search/documents/search-documents.js +1 -1
- package/dist/server/providers/database/copy-migrations.js +1 -1
- package/dist/server/providers/database/databases/main-sqlite/migrations/0005_recreate-scorecards-config.sql +25 -0
- package/dist/server/providers/database/databases/main-sqlite/migrations/meta/_journal.json +7 -0
- package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.d.ts +65 -14
- package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.js +1 -1
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/0005_recreate-scorecards-tables.sql +87 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/_journal.json +7 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/{scorecard-result-states-table.d.ts → scorecards-evaluation-runs-table.d.ts} +61 -65
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-evaluation-runs-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/{scorecard-result-levels-table.d.ts → scorecards-level-results-table.d.ts} +28 -60
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-level-results-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-levels-rules-results-table.d.ts +67 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-levels-rules-results-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/{scorecard-results-table.d.ts → scorecards-results-table.d.ts} +80 -46
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-results-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/{scorecard-evaluations-table.d.ts → scorecards-rule-results-table.d.ts} +29 -31
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-rule-results-table.js +1 -0
- package/dist/server/utils/envs/get-api-route-allowed-env-variables.js +1 -1
- package/package.json +7 -7
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-evaluations-table.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-level-states-table.d.ts +0 -48
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-level-states-table.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-levels-table.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-states-table.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-results-table.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @redocly/realm
|
|
2
2
|
|
|
3
|
+
## 0.129.0-next.1
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- eb3abbb06e: Added support for OpenAPI 3.2 Sequential and Streaming Data.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- edb34c5f33: Fixed an issue where breadcrumbs appeared on non-nested pages in projects with a path prefix.
|
|
12
|
+
- 743e6e5736: Fixed an issue where the product picker was not properly aligned in the navbar.
|
|
13
|
+
- Updated dependencies [edb34c5f33]
|
|
14
|
+
- Updated dependencies [eb3abbb06e]
|
|
15
|
+
- Updated dependencies [de9da5f2778]
|
|
16
|
+
- Updated dependencies [743e6e5736]
|
|
17
|
+
- @redocly/theme@0.61.0-next.1
|
|
18
|
+
- @redocly/portal-plugin-mock-server@0.14.0-next.1
|
|
19
|
+
- @redocly/openapi-docs@3.17.0-next.1
|
|
20
|
+
- @redocly/realm-asyncapi-sdk@0.7.0-next.1
|
|
21
|
+
- @redocly/asyncapi-docs@1.6.0-next.1
|
|
22
|
+
- @redocly/graphql-docs@1.6.0-next.0
|
|
23
|
+
|
|
3
24
|
## 0.129.0-next.0
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo as k}from"react";import{useLocation as T}from"react-router-dom";import{useThemeConfig as y}from"@redocly/theme/core/hooks";import{usePageVersions as
|
|
1
|
+
import{useMemo as k}from"react";import{useLocation as T}from"react-router-dom";import{useThemeConfig as y}from"@redocly/theme/core/hooks";import{withoutPathPrefix as K}from"@redocly/theme/core/utils";import{usePageVersions as g,useTranslate as v,usePageSharedData as d}from"../hooks";import{useSidebarItems as x}from"./useSidebarItems";function D(){const a=d("sidebar")?.relatedNavbarItem,n=d("current-catalog-info"),r=y(),{translate:l}=v(),{versions:e=[]}=g()||{},c=e.find(m=>m?.active),{allSidebarItems:i}=x(c),t=T().pathname,o=n?.item,s=n?.catalog,b=r.breadcrumbs?.prefixItems,f=r.breadcrumbs?.hide;return k(()=>{const m=B({allSidebarItems:i,pathname:K(t),catalogItemInfo:o,relatedNavbarItem:a,catalogInfo:s,prefixItems:b,hide:f,translate:l}),p=S(i,m);return{breadcrumbs:m,currentItemSiblings:p}},[t,a,i,o,s,b,f,l])}const B=({allSidebarItems:a=[],pathname:n,catalogItemInfo:r,relatedNavbarItem:l,catalogInfo:e,prefixItems:c,hide:i,translate:u})=>{if(i===!0)return[];const t=h(a);if(t.length===0)return[];if(r){const o=t[t.length-1];o&&o.label!==r.label&&t.unshift({label:r.label,link:r.link})}if(l&&l.label!==t[0].label&&t.unshift(l),e&&t.unshift({label:u(e.labelTranslationKey,e.label),labelTranslationKey:e.labelTranslationKey,link:e.link,icon:e.icon}),c?.length){const o=c.map(s=>({label:u(s.labelTranslationKey,s.label),labelTranslationKey:s.labelTranslationKey,link:s.link,icon:s.icon}));t.unshift(...o)}return t.length===1&&(!t[0]?.link||t[0]?.link===n)?[]:t},S=(a,n)=>{if(n.length===0)return[];const r=(e,c)=>{for(const i of e){if(i.active)return{item:i,parent:c};if(i.items?.length){const u=r(i.items,i);if(u)return u}}},l=r(a);return l?.parent?l.parent.items?.filter(e=>!!(e.link&&e.link!==l.item.link&&e.label)).map(e=>({label:e.label,labelTranslationKey:e.labelTranslationKey,link:e.link,icon:e.icon}))||[]:[]},h=a=>{const n=a.find(({active:l,hasActiveSubItem:e})=>l||e);if(!n?.label)return[];const r={label:n.label,labelTranslationKey:n.labelTranslationKey,link:n.link,icon:n.icon};return n.type==="group"&&n.selectFirstItemOnExpand&&n.items?.[0]?.link&&(r.link=n.items[0].link),n.items?.length||(r.link=void 0),[r,...h(n.items||[])]};export{B as generateBreadcrumbs,S as generateSiblings,D as useBreadcrumbs};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
declare const _default: (import("shiki").LanguageRegistration | {
|
|
2
|
+
displayName: string;
|
|
3
|
+
name: string;
|
|
4
|
+
scopeName: string;
|
|
5
|
+
patterns: {
|
|
6
|
+
include: string;
|
|
7
|
+
}[];
|
|
8
|
+
repository: {
|
|
9
|
+
'json-seq-record': {
|
|
10
|
+
comment: string;
|
|
11
|
+
begin: string;
|
|
12
|
+
end: string;
|
|
13
|
+
beginCaptures: {
|
|
14
|
+
'1': {
|
|
15
|
+
name: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
endCaptures: {
|
|
19
|
+
'1': {
|
|
20
|
+
name: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
patterns: {
|
|
24
|
+
comment: string;
|
|
25
|
+
begin: string;
|
|
26
|
+
end: string;
|
|
27
|
+
patterns: {
|
|
28
|
+
include: string;
|
|
29
|
+
}[];
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
'record-separator': {
|
|
33
|
+
match: string;
|
|
34
|
+
name: string;
|
|
35
|
+
};
|
|
36
|
+
'line-feed': {
|
|
37
|
+
match: string;
|
|
38
|
+
name: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
})[];
|
|
42
|
+
export default _default;
|
|
43
|
+
//# sourceMappingURL=json-seq.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"shiki/langs/json.mjs";const o={displayName:"JSON Sequence",name:"json-seq",scopeName:"source.json-seq",patterns:[{include:"#json-seq-record"}],repository:{"json-seq-record":{comment:"Match a complete json-seq record: 0x1E{...}0x0A",begin:"(0x1E)",end:"(0x0A)",beginCaptures:{1:{name:"keyword.control.record-separator.json-seq"}},endCaptures:{1:{name:"keyword.control.line-feed.json-seq"}},patterns:[{comment:"Highlight JSON content between separators",begin:"(?<=0x1E)(?=[\\[\\{])",end:"(?=0x0A)",patterns:[{include:"source.json"}]}]},"record-separator":{match:"0x1E",name:"keyword.control.record-separator.json-seq"},"line-feed":{match:"0x0A",name:"keyword.control.line-feed.json-seq"}}};var r=[...e,o];export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function c(s){return{"c++":"c",cpp:"c",jsx:"tsx","c#":"csharp","c#+newtonsoft":"csharp","java8+apache":"java",objectivec:"objective-c",shell:"bash",viml:"vim",curl:"bash","node.js":"js","multipart/mixed":"multipart-mixed","application/json-seq":"json-seq","json-seq":"json-seq"}[s]||s}export{c as mapLang};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
declare const _default: (import("shiki").LanguageRegistration | {
|
|
2
|
+
displayName: string;
|
|
3
|
+
name: string;
|
|
4
|
+
scopeName: string;
|
|
5
|
+
patterns: {
|
|
6
|
+
include: string;
|
|
7
|
+
}[];
|
|
8
|
+
repository: {
|
|
9
|
+
boundary: {
|
|
10
|
+
match: string;
|
|
11
|
+
name: string;
|
|
12
|
+
};
|
|
13
|
+
headers: {
|
|
14
|
+
match: string;
|
|
15
|
+
captures: {
|
|
16
|
+
'1': {
|
|
17
|
+
name: string;
|
|
18
|
+
};
|
|
19
|
+
'2': {
|
|
20
|
+
name: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
'json-body': {
|
|
25
|
+
comment: string;
|
|
26
|
+
begin: string;
|
|
27
|
+
end: string;
|
|
28
|
+
patterns: {
|
|
29
|
+
include: string;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
'binary-body': {
|
|
33
|
+
comment: string;
|
|
34
|
+
match: string;
|
|
35
|
+
name: string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
})[];
|
|
39
|
+
export default _default;
|
|
40
|
+
//# sourceMappingURL=multipart-mixed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t from"shiki/langs/css.mjs";import r from"shiki/langs/graphql.mjs";import a from"shiki/langs/html.mjs";import e from"shiki/langs/javascript.mjs";import o from"shiki/langs/json.mjs";import m from"shiki/langs/sql.mjs";import i from"shiki/langs/xml.mjs";import n from"shiki/langs/yaml.mjs";const s={displayName:"Multipart Mixed",name:"multipart-mixed",scopeName:"source.multipart",patterns:[{include:"#boundary"},{include:"#headers"},{include:"#json-body"},{include:"#binary-body"}],repository:{boundary:{match:"^--[a-zA-Z0-9_\\-\\.]+(?:--)?$",name:"keyword.control.boundary.multipart"},headers:{match:"^([a-zA-Z0-9\\-]+):\\s*(.*)$",captures:{1:{name:"variable.other.header.name.multipart"},2:{name:"string.unquoted.header.value.multipart"}}},"json-body":{comment:"Detects if a block starts with { or [ and highlights it as JSON until the next boundary",begin:"^\\s*(?=[{\\[])",end:"(?=^--)",patterns:[{include:"source.json"}]},"binary-body":{comment:"Catch-all for content that isn't headers or JSON",match:".+",name:"text.plain"}}};var f=[...o,...a,...i,...e,...t,...n,...r,...m,s];export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import u from"shiki/langs/bash.mjs";import w from"shiki/langs/c.mjs";import N from"shiki/langs/coffee.mjs";import b from"shiki/langs/csharp.mjs";import y from"shiki/langs/css.mjs";import H from"shiki/langs/go.mjs";import v from"shiki/langs/graphql.mjs";import
|
|
1
|
+
import u from"shiki/langs/bash.mjs";import w from"shiki/langs/c.mjs";import N from"shiki/langs/coffee.mjs";import b from"shiki/langs/csharp.mjs";import y from"shiki/langs/css.mjs";import H from"shiki/langs/go.mjs";import v from"shiki/langs/graphql.mjs";import x from"shiki/langs/html.mjs";import L from"shiki/langs/http.mjs";import _ from"shiki/langs/java.mjs";import j from"shiki/langs/javascript.mjs";import T from"shiki/langs/kotlin.mjs";import E from"shiki/langs/lua.mjs";import r from"shiki/langs/markdown.mjs";import M from"shiki/langs/objective-c.mjs";import q from"shiki/langs/perl.mjs";import S from"shiki/langs/php.mjs";import A from"shiki/langs/python.mjs";import D from"shiki/langs/scala.mjs";import F from"shiki/langs/sql.mjs";import a from"shiki/langs/swift.mjs";import R from"shiki/langs/tsx.mjs";import W from"shiki/langs/typescript.mjs";import C from"shiki/langs/vim.mjs";import G from"shiki/langs/xml.mjs";import J from"shiki/langs/yaml.mjs";import U from"shiki/langs/jsx.mjs";import V from"shiki/langs/jsonl.mjs";import{transformerNotationDiff as $,transformerNotationHighlight as z,transformerNotationWordHighlight as B,transformerNotationFocus as I,transformerNotationErrorLevel as K,transformerMetaHighlight as O,transformerMetaWordHighlight as P,transformerRemoveNotationEscape as Q}from"@shikijs/transformers";import{createHighlighterCoreSync as s}from"shiki/core";import{createJavaScriptRegexEngine as n}from"shiki/engine/javascript";import X from"./ruby";import Y from"./multipart-mixed";import Z from"./json-seq";import f from"./theme";import rr from"./treeview-transformer";import or from"./node-transformer";import tr from"./line-numbers-transformer";import{mapLang as mr}from"./map-lang";const er=[{...r[0],displayName:"Markdoc",name:"markdoc",scopeName:"source.markdoc",aliases:[],repository:{...r[0].repository,fenced_code_block:{patterns:[...r[0].repository.fenced_code_block.patterns||[],{name:"markdoc",begin:".*{%",end:"%}",patterns:[{match:"(?<={%)\\s*(/\\w+(-\\w+)?|\\w+(-\\w+)?)",name:"markdoc.tag"},{match:"\\$\\w+",name:"markdoc.variable"},{match:'".*?"',name:"markdoc.string"},{match:"\\b\\w+(?=\\()",name:"markdoc.function"},{match:"\\s+\\w+(?==|\\s)",name:"markdoc.keyword"},{match:"(?<==)false|true(?=\\s)",name:"markdoc.boolean"}]}]}}}],p="text",c=s({themes:[f],langs:[u,w,N,b,y,H,v,x,L,_,j,T,E,r,M,q,S,A,X,D,F,a,R,W,G,C,J,er,U,V,Y,Z],engine:n()}),ir=[$(),z(),B(),I(),K(),O(),P(),Q(),or()],ar=(o,m,h)=>{const{withLineNumbers:l,startLineNumber:g,highlight:d,customTransformer:e}=h||{},i=mr(m?.toLowerCase()||p),t={lang:i,theme:"theme",meta:{__raw:d},transformers:[...i==="treeview"?[rr()]:[],...ir,...l?[tr(g)]:[],...e?[e]:[]]};try{return m==="swift"?s({themes:[f],langs:[a],engine:n({forgiving:!0})}).codeToHtml(o,t):c.codeToHtml(o,t)}catch{return c.codeToHtml(o,{...t,lang:p})}};function Ir(){return{highlight:ar}}export{ar as highlight,Ir as useCodeHighlight};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{REDOCLY_ROUTE_RBAC as
|
|
1
|
+
import{REDOCLY_ROUTE_RBAC as T,REDOCLY_TEAMS_RBAC as p}from"@redocly/config";import{existsSync as O}from"fs";import{rm as $}from"node:fs/promises";import{DEFAULT_LOCALE_PLACEHOLDER as y}from"../../../../constants/common.js";import{SEARCH_DATA_EXPORT_FOLDER as S}from"../../../constants/plugins/search.js";import{isBuildMode as A}from"../../../utils/envs/is-build-mode.js";import{logger as n}from"../../../tools/notifiers/logger.js";import{extractTeamsForSearch as M,getRbacTeamsForSearch as P}from"../../../utils/index.js";import{getSearchDocumentGroup as B}from"../utils.js";import{telemetry as I}from"../../../../cli/telemetry/index.js";import{telemetryTraceStep as _}from"../../../../cli/telemetry/helpers/trace-step.js";async function J(b,t,l){await _("build.plugin.search.prepare_search_documents",async()=>{n.info("Preparing search documents and create indexes..."),A()&&O(`${t.outdir}/${S}`)&&await $(`${t.outdir}/${S}`,{recursive:!0});const F=n.startTiming(),R=t.getConfig().rbac,v=[y,...b.localeFolders.map(a=>a.toLowerCase())];for(const a of v)await _("build.plugin.search.prepare_search_documents.locale",async s=>{const w=t.getAllRoutesForLocale(a);let g=0,h=0;for(const r of w){if(g++,r.excludeFromSearch)continue;const f=new Map,{product:m}=r,C=await r.getStaticData?.(r,{...t,contentDir:t.contentDir,parseMarkdoc:(c,e,u)=>t.parseMarkdoc(c,e,u)})||{},i=await r.getSearchDocuments?.(r,{...C,[p]:r[p],[T]:r[T]},t),o=r.versions?.find(c=>c.active),L=P(r,R??{});if(i){if(i&&i.length){h+=i.length;for(const c in i){let e=i[c];const u=M(e?.[p]),D=u?.length?u:L,x=e.tags||[];e={...e,...o&&{version:o.version,isDefaultVersion:o.default,versionFolderId:o.folderId},...m&&{product:m},rbacTeams:D,tags:[...x,...D,...o?o.default?["v:default"]:[`v:${o.folderId}:${o.version}`]:["v:default"],...m?[`p:${m.name}`]:[]],url:e.url&&(e.path&&e.path.length>1?e.url:e.url.split("#")[0])};const d=B(e.facets);if(d){const E=f.get(d)??[];f.set(d,[...E,e])}}}for(const[c,e]of f)await l.addDocuments(e,{locale:a,group:c,outDir:t.outdir})}}s?.setAttribute("locale",a),s?.setAttribute("totalDocuments",g),s?.setAttribute("totalSearchDocuments",h)});if(l.cleanupFacetValues(t),n.infoTime(F,"Search indexes created"),A()){n.info("Writing out search data...");const a=n.startTiming();await l.export(t.outdir);const s=n.infoTime(a,"Search data written");s&&I.sendTimingPerformedMessage(s)}})}export{J as prepareSearchDocuments};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import c from"node:path";import{cpSync as m,existsSync as
|
|
1
|
+
import c from"node:path";import{cpSync as m,existsSync as t,mkdirSync as l}from"node:fs";import{logger as i}from"../../tools/notifiers/logger.js";import{fromCurrentDir as d}from"../../utils/index.js";import{PACKAGE_NAME as f}from"../../../config/product-gates.js";const u=["@redocly/realm","@redocly/reef","@redocly/redoc-reef","@redocly/revel-reef"],D=r=>{if(!u.includes(f))return;const s=["catalog-sqlite","main-sqlite","sqld-sqlite"];for(const o of s){const e=d(import.meta.url,`./databases/${o}/migrations`),a=c.join(r.serverOutDir,"migrations",o);if(!t(e)){i.warn(`Migrations folder not found at ${e}`);continue}t(r.serverOutDir)||l(r.serverOutDir,{recursive:!0});try{m(e,a,{recursive:!0})}catch(n){i.error("Failed to copy migrations folder: %s",n)}}};export{D as copyMigrationsFolder};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-- Drop old scorecards_config table
|
|
2
|
+
DROP TABLE IF EXISTS `scorecards_config`;--> statement-breakpoint
|
|
3
|
+
|
|
4
|
+
-- Create new scorecards_config table with updated schema
|
|
5
|
+
CREATE TABLE `scorecards_config` (
|
|
6
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
7
|
+
`key` text NOT NULL,
|
|
8
|
+
`slug` text NOT NULL,
|
|
9
|
+
`name` text NOT NULL,
|
|
10
|
+
`description` text,
|
|
11
|
+
`entities_filter` text NOT NULL,
|
|
12
|
+
`levels` text NOT NULL,
|
|
13
|
+
`config_hash` text NOT NULL,
|
|
14
|
+
`archived_at` integer,
|
|
15
|
+
`created_at` integer NOT NULL,
|
|
16
|
+
`updated_at` integer NOT NULL
|
|
17
|
+
);--> statement-breakpoint
|
|
18
|
+
|
|
19
|
+
-- Create indexes for scorecards_config
|
|
20
|
+
-- Note: key and slug are NOT unique - allows recreating archived configs with same key/slug
|
|
21
|
+
CREATE INDEX `idx_config_key` ON `scorecards_config` (`key`);--> statement-breakpoint
|
|
22
|
+
CREATE INDEX `idx_config_slug` ON `scorecards_config` (`slug`);--> statement-breakpoint
|
|
23
|
+
CREATE INDEX `idx_config_hash` ON `scorecards_config` (`config_hash`);--> statement-breakpoint
|
|
24
|
+
CREATE INDEX `idx_config_archived` ON `scorecards_config` (`archived_at`);
|
|
25
|
+
|
package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.d.ts
CHANGED
|
@@ -21,6 +21,25 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
21
21
|
}, {}, {
|
|
22
22
|
length: number | undefined;
|
|
23
23
|
}>;
|
|
24
|
+
key: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
25
|
+
name: "key";
|
|
26
|
+
tableName: "scorecards_config";
|
|
27
|
+
dataType: "string";
|
|
28
|
+
columnType: "SQLiteText";
|
|
29
|
+
data: string;
|
|
30
|
+
driverParam: string;
|
|
31
|
+
notNull: true;
|
|
32
|
+
hasDefault: false;
|
|
33
|
+
isPrimaryKey: false;
|
|
34
|
+
isAutoincrement: false;
|
|
35
|
+
hasRuntimeDefault: false;
|
|
36
|
+
enumValues: [string, ...string[]];
|
|
37
|
+
baseColumn: never;
|
|
38
|
+
identity: undefined;
|
|
39
|
+
generated: undefined;
|
|
40
|
+
}, {}, {
|
|
41
|
+
length: number | undefined;
|
|
42
|
+
}>;
|
|
24
43
|
slug: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
25
44
|
name: "slug";
|
|
26
45
|
tableName: "scorecards_config";
|
|
@@ -78,15 +97,15 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
78
97
|
}, {}, {
|
|
79
98
|
length: number | undefined;
|
|
80
99
|
}>;
|
|
81
|
-
|
|
82
|
-
name: "
|
|
100
|
+
entitiesFilter: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
101
|
+
name: "entities_filter";
|
|
83
102
|
tableName: "scorecards_config";
|
|
84
103
|
dataType: "string";
|
|
85
104
|
columnType: "SQLiteText";
|
|
86
105
|
data: string;
|
|
87
106
|
driverParam: string;
|
|
88
107
|
notNull: true;
|
|
89
|
-
hasDefault:
|
|
108
|
+
hasDefault: false;
|
|
90
109
|
isPrimaryKey: false;
|
|
91
110
|
isAutoincrement: false;
|
|
92
111
|
hasRuntimeDefault: false;
|
|
@@ -105,7 +124,7 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
105
124
|
data: string;
|
|
106
125
|
driverParam: string;
|
|
107
126
|
notNull: true;
|
|
108
|
-
hasDefault:
|
|
127
|
+
hasDefault: false;
|
|
109
128
|
isPrimaryKey: false;
|
|
110
129
|
isAutoincrement: false;
|
|
111
130
|
hasRuntimeDefault: false;
|
|
@@ -116,8 +135,8 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
116
135
|
}, {}, {
|
|
117
136
|
length: number | undefined;
|
|
118
137
|
}>;
|
|
119
|
-
|
|
120
|
-
name: "
|
|
138
|
+
configHash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
139
|
+
name: "config_hash";
|
|
121
140
|
tableName: "scorecards_config";
|
|
122
141
|
dataType: "string";
|
|
123
142
|
columnType: "SQLiteText";
|
|
@@ -135,25 +154,57 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
135
154
|
}, {}, {
|
|
136
155
|
length: number | undefined;
|
|
137
156
|
}>;
|
|
157
|
+
archivedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
158
|
+
name: "archived_at";
|
|
159
|
+
tableName: "scorecards_config";
|
|
160
|
+
dataType: "number";
|
|
161
|
+
columnType: "SQLiteInteger";
|
|
162
|
+
data: number;
|
|
163
|
+
driverParam: number;
|
|
164
|
+
notNull: false;
|
|
165
|
+
hasDefault: false;
|
|
166
|
+
isPrimaryKey: false;
|
|
167
|
+
isAutoincrement: false;
|
|
168
|
+
hasRuntimeDefault: false;
|
|
169
|
+
enumValues: undefined;
|
|
170
|
+
baseColumn: never;
|
|
171
|
+
identity: undefined;
|
|
172
|
+
generated: undefined;
|
|
173
|
+
}, {}, {}>;
|
|
174
|
+
createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
175
|
+
name: "created_at";
|
|
176
|
+
tableName: "scorecards_config";
|
|
177
|
+
dataType: "number";
|
|
178
|
+
columnType: "SQLiteInteger";
|
|
179
|
+
data: number;
|
|
180
|
+
driverParam: number;
|
|
181
|
+
notNull: true;
|
|
182
|
+
hasDefault: false;
|
|
183
|
+
isPrimaryKey: false;
|
|
184
|
+
isAutoincrement: false;
|
|
185
|
+
hasRuntimeDefault: false;
|
|
186
|
+
enumValues: undefined;
|
|
187
|
+
baseColumn: never;
|
|
188
|
+
identity: undefined;
|
|
189
|
+
generated: undefined;
|
|
190
|
+
}, {}, {}>;
|
|
138
191
|
updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
139
192
|
name: "updated_at";
|
|
140
193
|
tableName: "scorecards_config";
|
|
141
|
-
dataType: "
|
|
142
|
-
columnType: "
|
|
143
|
-
data:
|
|
144
|
-
driverParam:
|
|
194
|
+
dataType: "number";
|
|
195
|
+
columnType: "SQLiteInteger";
|
|
196
|
+
data: number;
|
|
197
|
+
driverParam: number;
|
|
145
198
|
notNull: true;
|
|
146
199
|
hasDefault: false;
|
|
147
200
|
isPrimaryKey: false;
|
|
148
201
|
isAutoincrement: false;
|
|
149
202
|
hasRuntimeDefault: false;
|
|
150
|
-
enumValues:
|
|
203
|
+
enumValues: undefined;
|
|
151
204
|
baseColumn: never;
|
|
152
205
|
identity: undefined;
|
|
153
206
|
generated: undefined;
|
|
154
|
-
}, {}, {
|
|
155
|
-
length: number | undefined;
|
|
156
|
-
}>;
|
|
207
|
+
}, {}, {}>;
|
|
157
208
|
};
|
|
158
209
|
dialect: "sqlite";
|
|
159
210
|
}>;
|
package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{sqliteTable as
|
|
1
|
+
import{sqliteTable as o,text as e,integer as n,index as t}from"drizzle-orm/sqlite-core";const c=o("scorecards_config",{id:e("id").primaryKey().notNull(),key:e("key").notNull(),slug:e("slug").notNull(),name:e("name").notNull(),description:e("description"),entitiesFilter:e("entities_filter").notNull(),levels:e("levels").notNull(),configHash:e("config_hash").notNull(),archivedAt:n("archived_at"),createdAt:n("created_at").notNull(),updatedAt:n("updated_at").notNull()},i=>[t("idx_config_key").on(i.key),t("idx_config_slug").on(i.slug),t("idx_config_hash").on(i.configHash),t("idx_config_archived").on(i.archivedAt)]);export{c as scorecardsConfigTable};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
-- Drop all old scorecard tables
|
|
2
|
+
DROP TABLE IF EXISTS `scorecard_result_level_states`;--> statement-breakpoint
|
|
3
|
+
DROP TABLE IF EXISTS `scorecard_result_levels`;--> statement-breakpoint
|
|
4
|
+
DROP TABLE IF EXISTS `scorecard_result_states`;--> statement-breakpoint
|
|
5
|
+
DROP TABLE IF EXISTS `scorecard_results`;--> statement-breakpoint
|
|
6
|
+
DROP TABLE IF EXISTS `scorecard_evaluations`;--> statement-breakpoint
|
|
7
|
+
|
|
8
|
+
-- Create scorecards_results table (renamed from scorecard_results)
|
|
9
|
+
CREATE TABLE `scorecards_results` (
|
|
10
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
11
|
+
`entity_id` text NOT NULL,
|
|
12
|
+
`config_id` text NOT NULL,
|
|
13
|
+
`created_at` integer NOT NULL,
|
|
14
|
+
`evaluated_at` integer NOT NULL,
|
|
15
|
+
`final_score` integer NOT NULL,
|
|
16
|
+
`final_level` text,
|
|
17
|
+
`evaluated_rules` text NOT NULL,
|
|
18
|
+
`rules_config_hash` text NOT NULL,
|
|
19
|
+
`entity_version` text NOT NULL,
|
|
20
|
+
`entity_revision` text
|
|
21
|
+
);--> statement-breakpoint
|
|
22
|
+
|
|
23
|
+
-- Create indexes for scorecards_results
|
|
24
|
+
CREATE UNIQUE INDEX `idx_results_lookup` ON `scorecards_results` (`entity_id`, `config_id`, `created_at` DESC);--> statement-breakpoint
|
|
25
|
+
CREATE INDEX `idx_results_config_time` ON `scorecards_results` (`config_id`, `created_at` DESC);--> statement-breakpoint
|
|
26
|
+
CREATE INDEX `idx_results_entity` ON `scorecards_results` (`entity_id`, `created_at` DESC);--> statement-breakpoint
|
|
27
|
+
CREATE INDEX `idx_results_config_entity_time` ON `scorecards_results` (`config_id`, `entity_id`, `created_at` DESC);--> statement-breakpoint
|
|
28
|
+
|
|
29
|
+
-- Create scorecards_level_results table (renamed from scorecard_result_levels)
|
|
30
|
+
CREATE TABLE `scorecards_level_results` (
|
|
31
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
32
|
+
`result_id` text NOT NULL,
|
|
33
|
+
`level_name` text NOT NULL,
|
|
34
|
+
`score` integer NOT NULL,
|
|
35
|
+
`passed_rules` integer NOT NULL,
|
|
36
|
+
`failed_rules` integer NOT NULL,
|
|
37
|
+
`total_rules` integer NOT NULL,
|
|
38
|
+
`rule_summary` text
|
|
39
|
+
);--> statement-breakpoint
|
|
40
|
+
|
|
41
|
+
-- Create indexes for scorecards_level_results
|
|
42
|
+
CREATE INDEX `idx_level_results_result` ON `scorecards_level_results` (`result_id`);--> statement-breakpoint
|
|
43
|
+
CREATE INDEX `idx_level_results_level` ON `scorecards_level_results` (`level_name`);--> statement-breakpoint
|
|
44
|
+
CREATE INDEX `idx_level_results_result_level` ON `scorecards_level_results` (`result_id`, `level_name`);--> statement-breakpoint
|
|
45
|
+
|
|
46
|
+
-- Create scorecards_rule_results table (renamed from scorecard_result_states)
|
|
47
|
+
CREATE TABLE `scorecards_rule_results` (
|
|
48
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
49
|
+
`rule_name` text NOT NULL,
|
|
50
|
+
`problems_hash` text NOT NULL,
|
|
51
|
+
`state` text NOT NULL,
|
|
52
|
+
`problems` text,
|
|
53
|
+
`first_seen_at` integer NOT NULL
|
|
54
|
+
);--> statement-breakpoint
|
|
55
|
+
|
|
56
|
+
-- Create indexes for scorecards_rule_results
|
|
57
|
+
CREATE UNIQUE INDEX `idx_rules_name_hash` ON `scorecards_rule_results` (`rule_name`, `problems_hash`);--> statement-breakpoint
|
|
58
|
+
CREATE INDEX `idx_rules_state` ON `scorecards_rule_results` (`state`);--> statement-breakpoint
|
|
59
|
+
|
|
60
|
+
-- Create scorecards_levels_rules_results table (renamed from scorecard_result_level_states)
|
|
61
|
+
CREATE TABLE `scorecards_levels_rules_results` (
|
|
62
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
63
|
+
`level_score_id` text NOT NULL,
|
|
64
|
+
`rule_id` text NOT NULL
|
|
65
|
+
);--> statement-breakpoint
|
|
66
|
+
|
|
67
|
+
-- Create indexes for scorecards_levels_rules_results
|
|
68
|
+
CREATE UNIQUE INDEX `idx_rule_problems_level_score_rule` ON `scorecards_levels_rules_results` (`level_score_id`, `rule_id`);--> statement-breakpoint
|
|
69
|
+
CREATE INDEX `idx_rule_problems_level_score` ON `scorecards_levels_rules_results` (`level_score_id`);--> statement-breakpoint
|
|
70
|
+
CREATE INDEX `idx_rule_problems_rule` ON `scorecards_levels_rules_results` (`rule_id`);--> statement-breakpoint
|
|
71
|
+
|
|
72
|
+
-- Create scorecards_evaluation_runs table (renamed from scorecard_evaluations)
|
|
73
|
+
CREATE TABLE `scorecards_evaluation_runs` (
|
|
74
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
75
|
+
`config_id` text NOT NULL,
|
|
76
|
+
`evaluated_at` integer NOT NULL,
|
|
77
|
+
`entities_checked` integer NOT NULL,
|
|
78
|
+
`entities_changed` integer NOT NULL,
|
|
79
|
+
`duration_ms` integer,
|
|
80
|
+
`status` text NOT NULL,
|
|
81
|
+
`error_message` text,
|
|
82
|
+
`entity_id` text
|
|
83
|
+
);--> statement-breakpoint
|
|
84
|
+
|
|
85
|
+
-- Create indexes for scorecards_evaluation_runs
|
|
86
|
+
CREATE INDEX `idx_runs_config_time` ON `scorecards_evaluation_runs` (`config_id`, `evaluated_at` DESC);
|
|
87
|
+
|