mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-11 16:05:44 +01:00
refactor
This commit is contained in:
@@ -36,7 +36,7 @@ export { Branch, BranchRequest } from "./Branches";
|
|||||||
|
|
||||||
export { Person } from "./Person";
|
export { Person } from "./Person";
|
||||||
|
|
||||||
export { Changeset, Contributor, ParentChangeset } from "./Changesets";
|
export { Changeset, Contributor, ParentChangeset, Signature } from "./Changesets";
|
||||||
|
|
||||||
export { AnnotatedSource, AnnotatedLine } from "./Annotate";
|
export { AnnotatedSource, AnnotatedLine } from "./Annotate";
|
||||||
|
|
||||||
|
|||||||
@@ -92,6 +92,7 @@
|
|||||||
"signatureStatus": "Status",
|
"signatureStatus": "Status",
|
||||||
"keyId": "Schlüssel-ID",
|
"keyId": "Schlüssel-ID",
|
||||||
"keyContacts": "Kontakte",
|
"keyContacts": "Kontakte",
|
||||||
|
"noOwner": "Unbekannt",
|
||||||
"signatureVerified": "Verifiziert",
|
"signatureVerified": "Verifiziert",
|
||||||
"signatureNotVerified": "Nicht verifiziert",
|
"signatureNotVerified": "Nicht verifiziert",
|
||||||
"signatureInvalid": "Ungültig",
|
"signatureInvalid": "Ungültig",
|
||||||
|
|||||||
@@ -90,6 +90,7 @@
|
|||||||
"signedBy": "Signed by",
|
"signedBy": "Signed by",
|
||||||
"keyId": "Key ID",
|
"keyId": "Key ID",
|
||||||
"keyContacts": "Contacts",
|
"keyContacts": "Contacts",
|
||||||
|
"noOwner": "Unknown",
|
||||||
"signatureStatus": "Status",
|
"signatureStatus": "Status",
|
||||||
"signatureVerified": "verified",
|
"signatureVerified": "verified",
|
||||||
"signatureNotVerified": "not verified",
|
"signatureNotVerified": "not verified",
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
import React, { FC } from "react";
|
import React, { FC } from "react";
|
||||||
import { Icon, Tooltip } from "@scm-manager/ui-components";
|
import { Icon, Tooltip } from "@scm-manager/ui-components";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
//import { Signature } from "@scm-manager/ui-types";
|
import { Signature } from "@scm-manager/ui-types";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
signatures: any[];
|
signatures: Signature[];
|
||||||
className: any;
|
className: any;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -36,6 +36,10 @@ const SignatureIcon: FC<Props> = ({ signatures, className }) => {
|
|||||||
|
|
||||||
const signature = signatures?.length > 0 ? signatures[0] : undefined;
|
const signature = signatures?.length > 0 ? signatures[0] : undefined;
|
||||||
|
|
||||||
|
if (!signature) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
const createTooltipMessage = () => {
|
const createTooltipMessage = () => {
|
||||||
let status;
|
let status;
|
||||||
if (signature.status === "VERIFIED") {
|
if (signature.status === "VERIFIED") {
|
||||||
@@ -50,7 +54,7 @@ const SignatureIcon: FC<Props> = ({ signatures, className }) => {
|
|||||||
return `${t("changeset.signatureStatus")}: ${status}`;
|
return `${t("changeset.signatureStatus")}: ${status}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
let message = `${t("changeset.signedBy")}: ${signature.owner}\n${t("changeset.keyId")}: ${signature.keyId}\n${t(
|
let message = `${t("changeset.signedBy")}: ${signature.owner ? signature.owner : t("changeset.noOwner")}\n${t("changeset.keyId")}: ${signature.keyId}\n${t(
|
||||||
"changeset.signatureStatus"
|
"changeset.signatureStatus"
|
||||||
)}: ${status}`;
|
)}: ${status}`;
|
||||||
|
|
||||||
@@ -71,9 +75,6 @@ const SignatureIcon: FC<Props> = ({ signatures, className }) => {
|
|||||||
return undefined;
|
return undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!signature) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Tooltip location="top" message={createTooltipMessage()}>
|
<Tooltip location="top" message={createTooltipMessage()}>
|
||||||
|
|||||||
@@ -23,29 +23,14 @@
|
|||||||
*/
|
*/
|
||||||
import { formatPublicKey } from "./formatPublicKey";
|
import { formatPublicKey } from "./formatPublicKey";
|
||||||
|
|
||||||
describe("format authorized key tests", () => {
|
describe("format public key tests", () => {
|
||||||
it("should format the given key", () => {
|
it("should format the given key", () => {
|
||||||
const key = "ssh-rsa ACB0DEFGHIJKLMOPQRSTUVWXYZ tricia@hitchhiker.com";
|
const key = "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nA1B2C3D4E5F6HDJSURNSKFHSNEKFHK443MKD\n-----END PGP PUBLIC KEY BLOCK-----";
|
||||||
expect(formatPublicKey(key)).toEqual("ssh-rsa ... tricia@hitchhiker.com");
|
expect(formatPublicKey(key)).toEqual("A1B2C3D4E5F6HDJ");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should use the first chars of the key without prefix", () => {
|
it("should format bad formatted key", () => {
|
||||||
const key = "ACB0DEFGHIJKLMOPQRSTUVWXYZ tricia@hitchhiker.com";
|
const key = "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n\nA1B2C3D4E5F6HDJSURNSKFHSNEKFHK443MKD\n\n\n-----END PGP PUBLIC KEY BLOCK-----";
|
||||||
expect(formatPublicKey(key)).toEqual("ACB0DEF... tricia@hitchhiker.com");
|
expect(formatPublicKey(key)).toEqual("-----BEGIN PGP ");
|
||||||
});
|
|
||||||
|
|
||||||
it("should use the last chars of the key without suffix", () => {
|
|
||||||
const key = "ssh-rsa ACB0DEFGHIJKLMOPQRSTUVWXYZ";
|
|
||||||
expect(formatPublicKey(key)).toEqual("ssh-rsa ...TUVWXYZ");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should use a few chars from the beginning and a few from the end, if the key has no prefix and suffix", () => {
|
|
||||||
const key = "ACB0DEFGHIJKLMOPQRSTUVWXYZ0123456789";
|
|
||||||
expect(formatPublicKey(key)).toEqual("ACB0DEF...3456789");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should return the whole string for a short key", () => {
|
|
||||||
const key = "ABCDE";
|
|
||||||
expect(formatPublicKey(key)).toEqual("ABCDE");
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -24,5 +24,8 @@
|
|||||||
|
|
||||||
export const formatPublicKey = (key: string) => {
|
export const formatPublicKey = (key: string) => {
|
||||||
const parts = key.split(/\n/);
|
const parts = key.split(/\n/);
|
||||||
|
if (parts[2].length >= 15) {
|
||||||
return parts[2].substring(0, 15);
|
return parts[2].substring(0, 15);
|
||||||
|
}
|
||||||
|
return parts[0].substring(0, 15);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user