@vicacha-devs/strapi-plugin-certificates 0.0.0-stage → 1.0.0
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/LICENSE.md +21 -0
- package/README.md +17 -2
- package/dist/admin/CertificatesPage-CFDIEBN_.js +783 -0
- package/dist/admin/CertificatesPage-DeGmoX7h.cjs +783 -0
- package/dist/admin/SettingsPage-CsWFO1XB.js +447 -0
- package/dist/admin/SettingsPage-D7Ob1gV0.cjs +447 -0
- package/dist/admin/ar-Bv3T0_7C.cjs +258 -0
- package/dist/admin/ar-CDFHNnFd.js +258 -0
- package/dist/admin/de-BjMxn-Lt.js +258 -0
- package/dist/admin/de-DB5eW-yI.cjs +258 -0
- package/dist/admin/en-BI5Z3lPW.js +258 -0
- package/dist/admin/en-CsYV0VDf.cjs +258 -0
- package/dist/admin/es-B7uy9a-2.js +258 -0
- package/dist/admin/es-DEp3j3kD.cjs +258 -0
- package/dist/admin/fr-D7y038Pm.cjs +258 -0
- package/dist/admin/fr-DxbtdEIA.js +258 -0
- package/dist/admin/id-DfW4ARVm.js +258 -0
- package/dist/admin/id-Wuw9jl-Y.cjs +258 -0
- package/dist/admin/index-BQdS3gc3.cjs +707 -0
- package/dist/admin/index-BYO34da4.js +708 -0
- package/dist/admin/index.cjs +5 -0
- package/dist/admin/index.js +5 -0
- package/dist/admin/index.mjs +5 -0
- package/dist/admin/pt-C0QaikKS.js +258 -0
- package/dist/admin/pt-Dj2oc3Ga.cjs +258 -0
- package/dist/admin/src/components/IssueCertificateModal.d.ts +9 -0
- package/dist/admin/src/components/SettingsTabHelpers.d.ts +13 -0
- package/dist/admin/src/index.d.ts +11 -0
- package/dist/admin/src/pages/CertificatesPage.d.ts +3 -0
- package/dist/admin/src/pages/SettingsPage.d.ts +3 -0
- package/dist/admin/src/translations/cmLabels.d.ts +1 -0
- package/dist/admin/src/translations/cmPlaceholders.d.ts +1 -0
- package/dist/admin/tr-BbeagXRY.js +258 -0
- package/dist/admin/tr-DlGl_XMF.cjs +258 -0
- package/dist/admin/ur-Bwn4TrjF.js +258 -0
- package/dist/admin/ur-qIlUtgqb.cjs +258 -0
- package/dist/admin/zh-Cmg5mEvP.js +258 -0
- package/dist/admin/zh-D-3QDsuQ.cjs +258 -0
- package/dist/package.json +3 -0
- package/dist/server/index.cjs +2282 -0
- package/dist/server/index.js +2282 -0
- package/dist/server/index.mjs +2282 -0
- package/dist/server/src/bootstrap.d.ts +5 -0
- package/dist/server/src/content-types/certificate/schema.json.d.ts +165 -0
- package/dist/server/src/content-types/index.d.ts +277 -0
- package/dist/server/src/content-types/template/schema.json.d.ts +118 -0
- package/dist/server/src/controllers/admin.d.ts +31 -0
- package/dist/server/src/controllers/content-api.d.ts +28 -0
- package/dist/server/src/controllers/index.d.ts +30 -0
- package/dist/server/src/index.d.ts +413 -0
- package/dist/server/src/register.d.ts +5 -0
- package/dist/server/src/routes/admin.d.ts +12 -0
- package/dist/server/src/routes/content-api.d.ts +12 -0
- package/dist/server/src/routes/index.d.ts +25 -0
- package/dist/server/src/services/docusign.d.ts +76 -0
- package/dist/server/src/services/index.d.ts +76 -0
- package/dist/server/src/services/issuance.d.ts +54 -0
- package/dist/server/src/services/issuanceHelpers.d.ts +47 -0
- package/dist/server/src/services/settings.d.ts +17 -0
- package/dist/server/src/services/urlHelpers.d.ts +2 -0
- package/dist/shared/calendarSystems.d.ts +3 -0
- package/dist/shared/cryptoEngine.d.ts +27 -0
- package/dist/shared/documentRenderer.d.ts +12 -0
- package/dist/shared/index.cjs +636 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.js +613 -0
- package/dist/shared/index.mjs +613 -0
- package/dist/shared/pluginId.d.ts +2 -0
- package/dist/shared/types.d.ts +194 -0
- package/package.json +112 -3
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CanonicalCertificatePayload, CertificateRecord, CertificateSignatory, CertificateStats, CertificateTemplate, CertificateVerificationResult, CertificateWitness, CertificatesPluginSettings } from '../../../shared';
|
|
2
|
+
export declare function checkRateLimit(key: string, maxRequests?: number, windowMs?: number): boolean;
|
|
3
|
+
export declare function normalizeSignatories(raw: unknown): CertificateSignatory[];
|
|
4
|
+
export declare function normalizeWitnesses(raw: unknown): CertificateWitness[];
|
|
5
|
+
export declare function normalizeTemplateRecord(doc: Record<string, unknown>): CertificateTemplate;
|
|
6
|
+
export declare function normalizeCertificateRecord(doc: Record<string, unknown>, includePrivate?: boolean): CertificateRecord;
|
|
7
|
+
export declare function buildCanonicalPayload(params: {
|
|
8
|
+
serialNumber: string;
|
|
9
|
+
templateSlug: string;
|
|
10
|
+
organizationName: string;
|
|
11
|
+
recipientFullName: string;
|
|
12
|
+
recipientChosenName?: string;
|
|
13
|
+
nationalIdHash?: string;
|
|
14
|
+
issuedAt: string;
|
|
15
|
+
expiresAt?: string | null;
|
|
16
|
+
signatories: CertificateSignatory[];
|
|
17
|
+
witnesses: CertificateWitness[];
|
|
18
|
+
}): CanonicalCertificatePayload;
|
|
19
|
+
export declare function evaluateCertificateVerification(params: {
|
|
20
|
+
cert: CertificateRecord;
|
|
21
|
+
template: CertificateTemplate | null;
|
|
22
|
+
settings: CertificatesPluginSettings;
|
|
23
|
+
options?: {
|
|
24
|
+
token?: string;
|
|
25
|
+
nationalId?: string;
|
|
26
|
+
};
|
|
27
|
+
}): CertificateVerificationResult;
|
|
28
|
+
export declare function renderPrintableFromRecord(params: {
|
|
29
|
+
cert: CertificateRecord;
|
|
30
|
+
template: CertificateTemplate | null;
|
|
31
|
+
settings: CertificatesPluginSettings;
|
|
32
|
+
options?: {
|
|
33
|
+
token?: string;
|
|
34
|
+
isAdmin?: boolean;
|
|
35
|
+
};
|
|
36
|
+
}): {
|
|
37
|
+
html: string;
|
|
38
|
+
serialNumber: string;
|
|
39
|
+
};
|
|
40
|
+
export declare function filterAndComputeCertificateStats(allRecords: CertificateRecord[], filters?: {
|
|
41
|
+
status?: string;
|
|
42
|
+
templateSlug?: string;
|
|
43
|
+
search?: string;
|
|
44
|
+
}): {
|
|
45
|
+
records: CertificateRecord[];
|
|
46
|
+
stats: CertificateStats;
|
|
47
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Core } from '@strapi/strapi';
|
|
2
|
+
import { CalendarSystemConfig, CertificatesPluginSettings, DocuSignProviderConfig, Ed25519KeyPairMaterial } from '../../../shared';
|
|
3
|
+
export declare const DEFAULT_SECONDARY_CALENDARS: CalendarSystemConfig[];
|
|
4
|
+
export declare const DEFAULT_ESIGN_CONFIG: DocuSignProviderConfig;
|
|
5
|
+
export declare const DEFAULT_SETTINGS: Omit<CertificatesPluginSettings, "publicKeyPem" | "publicKeyFingerprint">;
|
|
6
|
+
declare const _default: ({ strapi }: {
|
|
7
|
+
strapi: Core.Strapi;
|
|
8
|
+
}) => {
|
|
9
|
+
getSigningKeyPair(): Promise<Ed25519KeyPairMaterial>;
|
|
10
|
+
rotateKeyPair(): Promise<{
|
|
11
|
+
publicKeyPem: string;
|
|
12
|
+
publicKeyFingerprint: string;
|
|
13
|
+
}>;
|
|
14
|
+
getSettings(): Promise<CertificatesPluginSettings>;
|
|
15
|
+
updateSettings(partial: Partial<CertificatesPluginSettings>): Promise<CertificatesPluginSettings>;
|
|
16
|
+
};
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { SUPPORTED_INTL_CALENDARS, applyDayOffset, extractCalendarParts, formatDateInCalendarSystem, getRegisteredCalendarFormatters, registerCalendarSystemFormatter, resolveOccurrenceAlternateDates, unregisterCalendarSystemFormatter, AlternateDateValue, CalendarSystemConfig, CalendarSystemFormatterFn } from '../../strapi-plugin-calendar/shared/index.ts';
|
|
2
|
+
export { SUPPORTED_INTL_CALENDARS, applyDayOffset, extractCalendarParts, formatDateInCalendarSystem, getRegisteredCalendarFormatters, registerCalendarSystemFormatter, resolveOccurrenceAlternateDates, unregisterCalendarSystemFormatter, type AlternateDateValue, type CalendarSystemConfig, type CalendarSystemFormatterFn, };
|
|
3
|
+
export declare function formatSecondaryCalendars(date: Date, systems: CalendarSystemConfig[], locale?: string): Record<string, AlternateDateValue>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CanonicalCertificatePayload } from './types';
|
|
2
|
+
export interface Ed25519KeyPairMaterial {
|
|
3
|
+
publicKeyPem: string;
|
|
4
|
+
privateKeyPem: string;
|
|
5
|
+
fingerprint: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function computePublicKeyFingerprint(publicKeyPem: string): string;
|
|
8
|
+
export declare function generateEd25519KeyPair(): Ed25519KeyPairMaterial;
|
|
9
|
+
export declare function sanitizeSerialPrefix(prefix?: string): string;
|
|
10
|
+
export declare function generateSerialNumber(prefix?: string, year?: number): string;
|
|
11
|
+
export declare function generateVerificationToken(): string;
|
|
12
|
+
export declare function normalizeNationalId(rawId?: string): string;
|
|
13
|
+
export declare function maskNationalId(rawId?: string): string;
|
|
14
|
+
export declare function hashNationalId(rawId: string, serialNumber: string): string;
|
|
15
|
+
export declare function verifyNationalIdHash(rawId: string, serialNumber: string, expectedHash?: string): boolean;
|
|
16
|
+
export declare function maskRecipientName(fullName: string): string;
|
|
17
|
+
export declare function serializeCanonicalPayload(payload: CanonicalCertificatePayload): string;
|
|
18
|
+
export declare function computeCanonicalPayloadHash(payload: CanonicalCertificatePayload): string;
|
|
19
|
+
export declare function signCanonicalPayload(payload: CanonicalCertificatePayload, privateKeyPem: string): {
|
|
20
|
+
canonicalJson: string;
|
|
21
|
+
payloadHash: string;
|
|
22
|
+
signature: string;
|
|
23
|
+
};
|
|
24
|
+
export declare function verifyCanonicalPayloadSignature(payload: CanonicalCertificatePayload, signatureBase64Url: string, publicKeyPem: string): boolean;
|
|
25
|
+
export declare function verifyTokenConstantTime(providedToken?: string, expectedToken?: string): boolean;
|
|
26
|
+
export declare function computeDocuSignWebhookHmac(rawPayload: string, webhookSecret: string): string;
|
|
27
|
+
export declare function verifyDocuSignWebhookHmac(rawPayload: string, signatureHeaderBase64?: string, webhookSecret?: string): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CertificateRecord, CertificateTemplate } from './types';
|
|
2
|
+
export declare function escapeHtml(input: unknown): string;
|
|
3
|
+
export declare function sanitizeHexColor(input?: string, fallback?: string): string;
|
|
4
|
+
export declare function interpolateBodyTemplate(templateText: string, variables: Record<string, string>): string;
|
|
5
|
+
export declare function renderVerificationMatrixSvg(seedText: string, accentColor?: string): string;
|
|
6
|
+
export declare function renderPrintableCertificateHtml(params: {
|
|
7
|
+
certificate: CertificateRecord;
|
|
8
|
+
template: CertificateTemplate;
|
|
9
|
+
verificationUrl: string;
|
|
10
|
+
}): string;
|
|
11
|
+
export declare function escapeCsvCell(value: unknown): string;
|
|
12
|
+
export declare function exportCertificatesToCsv(records: CertificateRecord[]): string;
|