Update deps and Zammad version (6.4.1)
This commit is contained in:
parent
07ee819520
commit
9e5ea2fc41
40 changed files with 973 additions and 849 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/bridge-frontend",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
|
@ -17,10 +17,10 @@
|
|||
"@mui/icons-material": "^6",
|
||||
"@mui/material": "^6",
|
||||
"@mui/material-nextjs": "^6",
|
||||
"@mui/x-license": "^7.23.2",
|
||||
"@mui/x-license": "^7.23.6",
|
||||
"@link-stack/bridge-common": "*",
|
||||
"@link-stack/bridge-ui": "*",
|
||||
"next": "15.1.0",
|
||||
"next": "15.1.4",
|
||||
"next-auth": "^4.24.11",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/bridge-migrations",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"migrate:up:all": "tsx migrate.ts up:all",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/bridge-whatsapp",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"main": "build/main/index.js",
|
||||
"author": "Darren Clarke <darren@redaranj.com>",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
|
|
@ -11,16 +11,16 @@
|
|||
"@hapipal/toys": "^4.0.0",
|
||||
"@whiskeysockets/baileys": "^6.7.9",
|
||||
"hapi-pino": "^12.1.0",
|
||||
"link-preview-js": "^3.0.12"
|
||||
"link-preview-js": "^3.0.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@link-stack/eslint-config": "*",
|
||||
"@link-stack/jest-config": "*",
|
||||
"@link-stack/typescript-config": "*",
|
||||
"@types/node": "*",
|
||||
"dotenv-cli": "^7.4.4",
|
||||
"dotenv-cli": "^8.0.0",
|
||||
"tsx": "^4.19.2",
|
||||
"typescript": "^5.7.2"
|
||||
"typescript": "^5.7.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -p tsconfig.json",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/bridge-worker",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"type": "module",
|
||||
"main": "build/main/index.js",
|
||||
"author": "Darren Clarke <darren@redaranj.com>",
|
||||
|
|
@ -16,14 +16,14 @@
|
|||
"@link-stack/signal-api": "*",
|
||||
"fluent-ffmpeg": "^2.1.3",
|
||||
"graphile-worker": "^0.16.6",
|
||||
"remeda": "^2.17.4",
|
||||
"twilio": "^5.4.0"
|
||||
"remeda": "^2.19.1",
|
||||
"twilio": "^5.4.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/fluent-ffmpeg": "^2.1.27",
|
||||
"dotenv-cli": "^7.4.4",
|
||||
"dotenv-cli": "^8.0.0",
|
||||
"@link-stack/eslint-config": "*",
|
||||
"@link-stack/typescript-config": "*",
|
||||
"typescript": "^5.7.2"
|
||||
"typescript": "^5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@ const getVisualization = async (visualizationID: string) => {
|
|||
);
|
||||
const hit = hits[0];
|
||||
const visualization = {
|
||||
id: hit._id.split(":")[1],
|
||||
title: hit._source.visualization.title,
|
||||
description: hit._source.visualization.description,
|
||||
id: hit?._id.split(":")[1],
|
||||
title: hit?._source?.visualization.title,
|
||||
description: hit?._source?.visualization.description,
|
||||
url: `/app/visualize?security_tenant=global#/edit/${
|
||||
hit._id.split(":")[1]
|
||||
}?embed=true`,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ const userMetadataIndexName = "user_metadata";
|
|||
|
||||
const baseURL = `https://${process.env.OPENSEARCH_USERNAME}:${process.env.OPENSEARCH_PASSWORD}@${process.env.OPENSEARCH_URL}`;
|
||||
|
||||
const createClient = () => new Client({
|
||||
const createClient = () =>
|
||||
new Client({
|
||||
node: baseURL,
|
||||
auth: {
|
||||
username: process.env.OPENSEARCH_USERNAME!,
|
||||
|
|
@ -19,9 +20,10 @@ const createClient = () => new Client({
|
|||
ssl: {
|
||||
rejectUnauthorized: false,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
const createUserClient = (username: string, password: string) => new Client({
|
||||
const createUserClient = (username: string, password: string) =>
|
||||
new Client({
|
||||
node: baseURL,
|
||||
auth: {
|
||||
username,
|
||||
|
|
@ -30,7 +32,7 @@ const createUserClient = (username: string, password: string) => new Client({
|
|||
ssl: {
|
||||
rejectUnauthorized: false,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
export const checkAuth = async (username: string, password: string) => {
|
||||
const client = createUserClient(username, password);
|
||||
|
|
@ -115,7 +117,7 @@ export const getUserMetadata = async (username: string) => {
|
|||
await client.create({
|
||||
id: username,
|
||||
index: userMetadataIndexName,
|
||||
body: { username, savedSearches: [] }
|
||||
body: { username, savedSearches: [] },
|
||||
});
|
||||
|
||||
res = await client.get({
|
||||
|
|
@ -132,7 +134,7 @@ export const saveUserMetadata = async (username: string, metadata: any) => {
|
|||
await client.update({
|
||||
id: username,
|
||||
index: userMetadataIndexName,
|
||||
body: { doc: { username, ...metadata } }
|
||||
body: { doc: { username, ...metadata } },
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -181,7 +183,7 @@ const getIndexPattern: any = async (index: string) => {
|
|||
sort: ["updated_at:desc"],
|
||||
});
|
||||
|
||||
if (res.body.hits.total.value === 0) {
|
||||
if (res?.body?.hits?.total?.valueOf() === 0) {
|
||||
// eslint-disable-next-line no-use-before-define
|
||||
return createCurrentUserIndexPattern(index);
|
||||
}
|
||||
|
|
@ -226,7 +228,7 @@ interface createUserVisualizationProps {
|
|||
}
|
||||
|
||||
export const createUserVisualization = async (
|
||||
props: createUserVisualizationProps
|
||||
props: createUserVisualizationProps,
|
||||
) => {
|
||||
const { email, query, visualizationID, title, description } = props;
|
||||
const userIndex = await getCurrentUserIndex(email);
|
||||
|
|
@ -279,7 +281,7 @@ interface updateVisualizationProps {
|
|||
}
|
||||
|
||||
export const updateUserVisualization = async (
|
||||
props: updateVisualizationProps
|
||||
props: updateVisualizationProps,
|
||||
) => {
|
||||
const { email, id, query, title, description } = props;
|
||||
const userIndex = await getCurrentUserIndex(email);
|
||||
|
|
@ -469,10 +471,18 @@ export const performQuery = async (searchQuery: any, limit: number) => {
|
|||
const results = hits.map((hit: any) => ({
|
||||
...hit._source,
|
||||
id: hit._id,
|
||||
incident: Array.isArray(hit._source.incident) ? hit._source.incident.join(", ") : hit._source.incident,
|
||||
technology: Array.isArray(hit._source.technology) ? hit._source.technology.join(", ") : hit._source.technology,
|
||||
targeted_group: Array.isArray(hit._source.targeted_group) ? hit._source.targeted_group.join(", ") : hit._source.targeted_group,
|
||||
country: Array.isArray(hit._source.country) ? hit._source.country.join(", ") : hit._source.country,
|
||||
incident: Array.isArray(hit._source.incident)
|
||||
? hit._source.incident.join(", ")
|
||||
: hit._source.incident,
|
||||
technology: Array.isArray(hit._source.technology)
|
||||
? hit._source.technology.join(", ")
|
||||
: hit._source.technology,
|
||||
targeted_group: Array.isArray(hit._source.targeted_group)
|
||||
? hit._source.targeted_group.join(", ")
|
||||
: hit._source.targeted_group,
|
||||
country: Array.isArray(hit._source.country)
|
||||
? hit._source.country.join(", ")
|
||||
: hit._source.country,
|
||||
}));
|
||||
|
||||
return results;
|
||||
|
|
@ -570,7 +580,6 @@ export const getTemplates = async (limit: number) => {
|
|||
},
|
||||
};
|
||||
|
||||
|
||||
const rawResponse = await client.search({
|
||||
index: globalIndex,
|
||||
size: limit,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/leafcutter",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"scripts": {
|
||||
"dev": "next dev -p 3001",
|
||||
"login": "aws sso login --sso-session cdr",
|
||||
|
|
@ -22,12 +22,12 @@
|
|||
"@mui/icons-material": "^6",
|
||||
"@mui/material": "^6",
|
||||
"@mui/material-nextjs": "^6",
|
||||
"@mui/x-date-pickers-pro": "^7.23.2",
|
||||
"@opensearch-project/opensearch": "^2.13.0",
|
||||
"@mui/x-date-pickers-pro": "^7.23.6",
|
||||
"@opensearch-project/opensearch": "^3.1.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"http-proxy-middleware": "^3.0.3",
|
||||
"material-ui-popup-state": "^5.3.1",
|
||||
"next": "15.1.0",
|
||||
"material-ui-popup-state": "^5.3.3",
|
||||
"next": "15.1.4",
|
||||
"next-auth": "^4.24.11",
|
||||
"react": "19.0.0",
|
||||
"react-cookie": "^7.2.2",
|
||||
|
|
@ -36,14 +36,14 @@
|
|||
"react-iframe": "^1.8.5",
|
||||
"react-polyglot": "^0.7.2",
|
||||
"sharp": "^0.33.5",
|
||||
"uuid": "^11.0.3"
|
||||
"uuid": "^11.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/react": "19.0.1",
|
||||
"@types/node": "^22.10.6",
|
||||
"@types/react": "19.0.7",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"@link-stack/eslint-config": "*",
|
||||
"@link-stack/typescript-config": "*",
|
||||
"typescript": "5.7.2"
|
||||
"typescript": "5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,9 @@ const fetchUser = async (email: string) => {
|
|||
const getUserRoles = async (email: string) => {
|
||||
try {
|
||||
const user = await fetchUser(email);
|
||||
if (!user) {
|
||||
return [];
|
||||
}
|
||||
const allRoles = await fetchRoles();
|
||||
const roles = user.role_ids.map((roleID: number) => {
|
||||
const role = allRoles[roleID];
|
||||
|
|
|
|||
|
|
@ -14,9 +14,6 @@ const rewriteURL = (
|
|||
const destinationURL = `${destinationBaseURL}/${path}`;
|
||||
console.log(`Rewriting ${request.url} to ${destinationURL}`);
|
||||
const requestHeaders = new Headers(request.headers);
|
||||
for (const [key, value] of requestHeaders.entries()) {
|
||||
console.log(`${key}: ${value}`);
|
||||
}
|
||||
|
||||
requestHeaders.delete("x-forwarded-user");
|
||||
requestHeaders.delete("x-forwarded-roles");
|
||||
|
|
@ -46,6 +43,7 @@ const checkRewrites = async (request: NextRequestWithAuth) => {
|
|||
"/graphql",
|
||||
"/cable",
|
||||
];
|
||||
const isSetupMode = process.env.SETUP_MODE === "true";
|
||||
const { token } = request.nextauth;
|
||||
const email = token?.email?.toLowerCase() ?? "unknown";
|
||||
const roles = (token?.roles as string[]) ?? [];
|
||||
|
|
@ -66,7 +64,7 @@ const checkRewrites = async (request: NextRequestWithAuth) => {
|
|||
} else if (zammadPaths.some((p) => request.nextUrl.pathname.startsWith(p))) {
|
||||
return rewriteURL(request, linkBaseURL, zammadURL, headers);
|
||||
} else if (request.nextUrl.pathname.startsWith("/api/v1")) {
|
||||
if (email && email !== "unknown") {
|
||||
if ((email && email !== "unknown") || isSetupMode) {
|
||||
return NextResponse.next();
|
||||
} else {
|
||||
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/link",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
|
@ -24,14 +24,14 @@
|
|||
"@mui/icons-material": "^6",
|
||||
"@mui/material": "^6",
|
||||
"@mui/material-nextjs": "^6",
|
||||
"@mui/x-data-grid-pro": "^7.23.2",
|
||||
"@mui/x-date-pickers": "^7.23.2",
|
||||
"@mui/x-date-pickers-pro": "^7.23.2",
|
||||
"@mui/x-license": "^7.23.2",
|
||||
"@mui/x-data-grid-pro": "^7.23.6",
|
||||
"@mui/x-date-pickers": "^7.23.6",
|
||||
"@mui/x-date-pickers-pro": "^7.23.6",
|
||||
"@mui/x-license": "^7.23.6",
|
||||
"date-fns": "^4.1.0",
|
||||
"graphql-request": "^7.1.2",
|
||||
"mui-chips-input": "^4.0.1",
|
||||
"next": "15.1.0",
|
||||
"next": "15.1.4",
|
||||
"next-auth": "^4.24.11",
|
||||
"react": "19.0.0",
|
||||
"react-cookie": "^7.2.2",
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@link-stack/eslint-config": "*",
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/react": "19.0.1",
|
||||
"@types/node": "^22.10.6",
|
||||
"@types/react": "19.0.7",
|
||||
"@types/uuid": "^10.0.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ services:
|
|||
context: ../../
|
||||
dockerfile: ./apps/bridge-frontend/Dockerfile
|
||||
container_name: bridge-frontend
|
||||
image: registry.gitlab.com/digiresilience/link/link-stack/bridge-frontend:${LINK_STACK_VERSION}
|
||||
restart: ${RESTART}
|
||||
ports:
|
||||
- 8006:3000
|
||||
|
|
@ -35,5 +36,6 @@ services:
|
|||
context: ../../
|
||||
dockerfile: ./apps/bridge-worker/Dockerfile
|
||||
container_name: bridge-worker
|
||||
image: registry.gitlab.com/digiresilience/link/link-stack/bridge-worker:${LINK_STACK_VERSION}
|
||||
restart: ${RESTART}
|
||||
environment: *common-bridge-variables
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
services:
|
||||
signal-cli-rest-api:
|
||||
container_name: signal-cli-rest-api
|
||||
build: ../signal-cli-rest-api
|
||||
image: registry.gitlab.com/digiresilience/link/link-stack/signal-cli-rest-api:develop
|
||||
platform: linux/amd64
|
||||
environment:
|
||||
- MODE=json-rpc
|
||||
volumes:
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ x-zammad-vars: &common-zammad-variables
|
|||
|
||||
services:
|
||||
zammad-init:
|
||||
platform: linux/x86_64
|
||||
container_name: zammad-init
|
||||
command: ["zammad-init"]
|
||||
depends_on:
|
||||
|
|
@ -47,7 +46,6 @@ services:
|
|||
<<: *common-global-variables
|
||||
|
||||
zammad-nginx:
|
||||
platform: linux/x86_64
|
||||
container_name: zammad-nginx
|
||||
command: ["zammad-nginx"]
|
||||
expose:
|
||||
|
|
@ -72,7 +70,6 @@ services:
|
|||
- zammad-var:/opt/zammad/var:ro
|
||||
|
||||
zammad-railsserver:
|
||||
platform: linux/x86_64
|
||||
container_name: zammad-railsserver
|
||||
command: ["zammad-railsserver"]
|
||||
depends_on:
|
||||
|
|
@ -103,7 +100,6 @@ services:
|
|||
- redis-data:/data
|
||||
|
||||
zammad-scheduler:
|
||||
platform: linux/x86_64
|
||||
container_name: zammad-scheduler
|
||||
command: ["zammad-scheduler"]
|
||||
depends_on:
|
||||
|
|
@ -123,7 +119,6 @@ services:
|
|||
- zammad-storage:/opt/zammad/storage
|
||||
|
||||
zammad-websocket:
|
||||
platform: linux/x86_64
|
||||
container_name: zammad-websocket
|
||||
command: ["zammad-websocket"]
|
||||
depends_on:
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
FROM memcached:1.6.31-bookworm
|
||||
FROM memcached:1.6.34-bookworm
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
FROM nginxproxy/nginx-proxy:1.6.1
|
||||
FROM nginxproxy/nginx-proxy:1.6.4
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
FROM opensearchproject/opensearch-dashboards:2.17.0
|
||||
FROM opensearchproject/opensearch-dashboards:2.18.0
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
FROM opensearchproject/opensearch:2.17.0
|
||||
FROM opensearchproject/opensearch:2.18.0
|
||||
RUN /usr/share/opensearch/bin/opensearch-plugin install ingest-attachment -b
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
FROM redis:7.4.0-bookworm
|
||||
FROM redis:7.4.2-bookworm
|
||||
|
|
|
|||
|
|
@ -17,8 +17,7 @@ const files = {
|
|||
|
||||
const finalFiles = files[app]
|
||||
.map((file) => ['-f', `docker/compose/${file}.yml`]).flat();
|
||||
const finalCommand = command === "up" ? ["up", "-d"] : [command];
|
||||
|
||||
const finalCommand = command === "up" ? ["up", "-d", "--remove-orphans"] : [command];
|
||||
const dockerCompose = spawn('docker', ['compose', '--env-file', '.env', ...finalFiles, ...finalCommand]);
|
||||
|
||||
dockerCompose.stdout.on('data', (data) => {
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
FROM bbernhard/signal-cli-rest-api:0.89
|
||||
FROM bbernhard/signal-cli-rest-api:0.90
|
||||
|
|
|
|||
|
|
@ -1,19 +1,25 @@
|
|||
ARG ZAMMAD_VERSION=6.3.1
|
||||
ARG ZAMMAD_VERSION=6.4.1
|
||||
|
||||
FROM node:22-slim as node
|
||||
FROM node:22-slim AS node
|
||||
|
||||
FROM zammad/zammad-docker-compose:${ZAMMAD_VERSION} AS builder
|
||||
USER root
|
||||
COPY --from=node /opt /opt
|
||||
COPY --from=node /usr/local/bin /usr/local/bin
|
||||
COPY --from=node /usr/local/lib /usr/local/lib
|
||||
COPY --from=node /usr/lib /usr/lib
|
||||
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]
|
||||
RUN npm install -g pnpm
|
||||
RUN pnpm --version
|
||||
WORKDIR ${ZAMMAD_DIR}
|
||||
RUN mkdir -p /opt/zammad/contrib/link/addons
|
||||
COPY addons contrib/link/addons
|
||||
COPY setup.rb contrib/link/setup.rb
|
||||
COPY install.rb contrib/link/install.rb
|
||||
|
||||
USER root
|
||||
RUN sed -i '/script\/build\/cleanup\.sh/d' contrib/docker/setup.sh
|
||||
RUN sed -i '/touch db\/schema.rb/a ZAMMAD_SAFE_MODE=1 DATABASE_URL=postgresql:\/\/zammad:\/zammad bundle exec rails runner \/opt\/zammad\/contrib\/link\/install.rb' contrib/docker/setup.sh
|
||||
RUN cat contrib/docker/setup.sh
|
||||
RUN contrib/docker/setup.sh builder
|
||||
ARG EMBEDDED=false
|
||||
RUN if [ "$EMBEDDED" = "true" ] ; then sed -i '/proxy_set_header X-Forwarded-User "";/d' ${ZAMMAD_DIR}/contrib/nginx/zammad.conf; fi
|
||||
|
|
@ -22,11 +28,9 @@ RUN sed -i '/^[[:space:]]*# es config/a\
|
|||
bundle exec rails runner /opt/zammad/contrib/link/setup.rb\n\
|
||||
bundle exec rake zammad:package:migrate\n\
|
||||
' /docker-entrypoint.sh
|
||||
RUN ZAMMAD_SAFE_MODE=1 DATABASE_URL=postgresql://zammad:/zammad bundle exec rails runner /opt/zammad/contrib/link/install.rb
|
||||
RUN ZAMMAD_SAFE_MODE=1 DATABASE_URL=postgresql://zammad:/zammad bundle exec rake assets:precompile
|
||||
|
||||
FROM zammad/zammad-docker-compose:${ZAMMAD_VERSION} as runner
|
||||
USER ${ZAMMAD_USER}
|
||||
FROM zammad/zammad-docker-compose:${ZAMMAD_VERSION} AS runner
|
||||
USER zammad
|
||||
COPY --from=builder --chown=zammad:zammad ${ZAMMAD_DIR} ${ZAMMAD_DIR}
|
||||
COPY --from=builder /usr/local/bundle /usr/local/bundle
|
||||
COPY --from=builder /docker-entrypoint.sh /docker-entrypoint.sh
|
||||
|
|
|
|||
1521
package-lock.json
generated
1521
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"name": "@link-stack",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "Link from the Center for Digital Resilience",
|
||||
"scripts": {
|
||||
"dev": "dotenv -- turbo dev",
|
||||
"build": "dotenv -- turbo build",
|
||||
"migrate": "dotenv -- npm run migrate --workspace=database",
|
||||
"lint": "dotenv turbo lint",
|
||||
"update-version": "find . -name 'package.json' -exec sed -i -E 's/\"version\": \"[^\"]+\"/\"version\": \"2.3.4\"/' {} +",
|
||||
"update-version": "find . -name 'package.json' -exec sed -i -E 's/\"version\": \"[^\"]+\"/\"version\": \"2.4.0b1\"/' {} +",
|
||||
"upgrade:setup": "npm i -g npm-check-updates",
|
||||
"upgrade:check": "ncu && ncu -ws",
|
||||
"upgrade": "ncu -u -x eslint -x kysely && ncu -ws -u -x eslint -x kysely && npm i",
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
"type": "git",
|
||||
"url": "git+https://gitlab.com/digiresilience/link/link-stack.git"
|
||||
},
|
||||
"packageManager": "npm@10.9.2",
|
||||
"packageManager": "npm@11.0.0",
|
||||
"author": "Darren Clarke",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"devDependencies": {
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
"typescript": "latest",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"@types/react": "^19.0.0"
|
||||
"@types/react": "^19.0.7"
|
||||
},
|
||||
"overrides": {
|
||||
"material-ui-popup-state": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/bridge-common",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"main": "build/main/index.js",
|
||||
"type": "module",
|
||||
"author": "Darren Clarke <darren@redaranj.com>",
|
||||
|
|
@ -17,6 +17,6 @@
|
|||
"devDependencies": {
|
||||
"@link-stack/eslint-config": "*",
|
||||
"@link-stack/typescript-config": "*",
|
||||
"typescript": "^5.7.2"
|
||||
"typescript": "^5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
{
|
||||
"name": "@link-stack/bridge-ui",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"scripts": {
|
||||
"build": "tsc -p tsconfig.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"@link-stack/bridge-common": "^2.2.0",
|
||||
"@link-stack/bridge-common": "*",
|
||||
"@link-stack/signal-api": "*",
|
||||
"@link-stack/ui": "^2.2.0",
|
||||
"@link-stack/ui": "*",
|
||||
"@mui/material": "^6",
|
||||
"@mui/x-data-grid-pro": "^7.23.2",
|
||||
"@mui/x-data-grid-pro": "^7.23.6",
|
||||
"kysely": "0.26.1",
|
||||
"next": "15.1.0",
|
||||
"next": "15.1.4",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
"react-qr-code": "^2.0.15"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/react": "19.0.1",
|
||||
"@types/react-dom": "^19.0.2",
|
||||
"typescript": "5.7.2"
|
||||
"@types/node": "^22.10.6",
|
||||
"@types/react": "19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"typescript": "5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/eslint-config",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "amigo's eslint config",
|
||||
"author": "Abel Luck <abel@guardianproject.info>",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
|
|
@ -9,17 +9,17 @@
|
|||
"fmt": "prettier \"profile/**/*.js\" --write"
|
||||
},
|
||||
"dependencies": {
|
||||
"@rushstack/eslint-patch": "^1.10.4",
|
||||
"@typescript-eslint/eslint-plugin": "^8.18.0",
|
||||
"@typescript-eslint/parser": "^8.18.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"@rushstack/eslint-patch": "^1.10.5",
|
||||
"@typescript-eslint/eslint-plugin": "^8.20.0",
|
||||
"@typescript-eslint/parser": "^8.20.0",
|
||||
"eslint-config-prettier": "^10.0.1",
|
||||
"eslint-config-xo-space": "^0.35.0",
|
||||
"eslint-plugin-eslint-comments": "^3.2.0",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
"eslint-plugin-jest": "^28.9.0",
|
||||
"eslint-plugin-jest": "^28.11.0",
|
||||
"eslint-plugin-promise": "^7.2.1",
|
||||
"eslint-plugin-unicorn": "56.0.1",
|
||||
"@babel/eslint-parser": "7.25.9"
|
||||
"@babel/eslint-parser": "7.26.5"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "^4.9.5"
|
||||
|
|
@ -27,6 +27,6 @@
|
|||
"devDependencies": {
|
||||
"eslint": "^8",
|
||||
"jest": "^29.7.0",
|
||||
"typescript": "^5.7.2"
|
||||
"typescript": "^5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/jest-config",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "",
|
||||
"author": "Abel Luck <abel@guardianproject.info>",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/leafcutter-ui",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"scripts": {
|
||||
"build": "tsc -p tsconfig.json"
|
||||
},
|
||||
|
|
@ -10,23 +10,23 @@
|
|||
"@link-stack/opensearch-common": "*",
|
||||
"@mui/icons-material": "^6",
|
||||
"@mui/material": "^6",
|
||||
"@mui/x-data-grid-pro": "^7.23.2",
|
||||
"@mui/x-date-pickers-pro": "^7.23.2",
|
||||
"@mui/x-data-grid-pro": "^7.23.6",
|
||||
"@mui/x-date-pickers-pro": "^7.23.6",
|
||||
"date-fns": "^4.1.0",
|
||||
"next": "15.1.0",
|
||||
"next": "15.1.4",
|
||||
"next-auth": "^4.24.11",
|
||||
"react": "19.0.0",
|
||||
"react-cookie": "^7.2.2",
|
||||
"react-dom": "19.0.0",
|
||||
"react-iframe": "^1.8.5",
|
||||
"react-markdown": "^9.0.1",
|
||||
"react-markdown": "^9.0.3",
|
||||
"react-polyglot": "^0.7.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@link-stack/eslint-config": "*",
|
||||
"@link-stack/typescript-config": "*",
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/react": "19.0.1",
|
||||
"typescript": "5.7.2"
|
||||
"@types/node": "^22.10.6",
|
||||
"@types/react": "19.0.7",
|
||||
"typescript": "5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ const getIndexPattern: any = async (index: string) => {
|
|||
sort: ["updated_at:desc"],
|
||||
});
|
||||
|
||||
if (res.body.hits.total.value === 0) {
|
||||
if (res?.body?.hits?.total?.valueOf() === 0) {
|
||||
// eslint-disable-next-line no-use-before-define
|
||||
return createCurrentUserIndexPattern(index);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
{
|
||||
"name": "@link-stack/opensearch-common",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"scripts": {
|
||||
"build": "tsc -p tsconfig.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opensearch-project/opensearch": "^2.13.0",
|
||||
"uuid": "^11.0.3"
|
||||
"@opensearch-project/opensearch": "^3.1.0",
|
||||
"uuid": "^11.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/node": "^22.10.6",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"@link-stack/typescript-config": "*",
|
||||
"@link-stack/eslint-config": "*",
|
||||
"typescript": "5.7.2"
|
||||
"typescript": "5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/signal-api",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"type": "module",
|
||||
"main": "build/index.js",
|
||||
"exports": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/typescript-config",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "Shared TypeScript config",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"author": "Abel Luck <abel@guardianproject.info>",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/ui",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"build": "tsc -p tsconfig.json"
|
||||
|
|
@ -9,15 +9,15 @@
|
|||
"dependencies": {
|
||||
"@mui/icons-material": "^6",
|
||||
"@mui/material": "^6",
|
||||
"@mui/x-data-grid-pro": "^7.23.2",
|
||||
"@mui/x-license": "^7.23.2",
|
||||
"next": "15.1.0",
|
||||
"@mui/x-data-grid-pro": "^7.23.6",
|
||||
"@mui/x-license": "^7.23.6",
|
||||
"next": "15.1.4",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/react": "19.0.1",
|
||||
"typescript": "^5.7.2"
|
||||
"@types/node": "^22.10.6",
|
||||
"@types/react": "19.0.7",
|
||||
"typescript": "^5.7.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "@link-stack/zammad-addon-bridge",
|
||||
"displayName": "Bridge",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "An addon that adds CDR Bridge channels to Zammad.",
|
||||
"scripts": {
|
||||
"build": "node '../../node_modules/@link-stack/zammad-addon-common/dist/build.js'",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class CdrSignalChannel < ActiveRecord::Migration[5.2]
|
|||
)
|
||||
Permission.create_if_not_exists(
|
||||
name: 'admin.channel_cdr_signal',
|
||||
note: 'Manage %s',
|
||||
description: 'Manage %s',
|
||||
preferences: {
|
||||
translations: ['Channel - Signal']
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class CdrVoiceChannel < ActiveRecord::Migration[5.2]
|
|||
)
|
||||
Permission.create_if_not_exists(
|
||||
name: 'admin.channel_cdr_voice',
|
||||
note: 'Manage %s',
|
||||
description: 'Manage %s',
|
||||
preferences: {
|
||||
translations: ['Channel - Voice']
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class CdrWhatsappChannel < ActiveRecord::Migration[5.2]
|
|||
)
|
||||
Permission.create_if_not_exists(
|
||||
name: 'admin.channel_cdr_whatsapp',
|
||||
note: 'Manage %s',
|
||||
description: 'Manage %s',
|
||||
preferences: {
|
||||
translations: ['Channel - Whatsapp']
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@link-stack/zammad-addon-common",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "",
|
||||
"bin": {
|
||||
"zpm-build": "./dist/build.js",
|
||||
|
|
@ -10,12 +10,12 @@
|
|||
"build": "tsc"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/node": "^22.10.6",
|
||||
"typescript": "^5"
|
||||
},
|
||||
"author": "",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"dependencies": {
|
||||
"glob": "^11.0.0"
|
||||
"glob": "^11.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "@link-stack/zammad-addon-hardening",
|
||||
"displayName": "Hardening",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "A Zammad addon that hardens a Zammad instance according to CDR's needs.",
|
||||
"scripts": {
|
||||
"build": "node '../../node_modules/@link-stack/zammad-addon-common/dist/build.js'",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "@link-stack/zammad-addon-leafcutter",
|
||||
"displayName": "Leafcutter",
|
||||
"version": "2.3.4",
|
||||
"version": "2.4.0b1",
|
||||
"description": "Adds a common set of tags for Leafcutter uses.",
|
||||
"scripts": {
|
||||
"build": "node '../../node_modules/@link-stack/zammad-addon-common/dist/build.js'",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue