Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
97 lines
3.8 KiB
TypeScript
97 lines
3.8 KiB
TypeScript
import { z } from 'zod';
|
|
import { BaseDomainEventPayloadSchema, uuidSchema } from './commonEventPayloadSchemas';
|
|
|
|
const documentIdSchema = uuidSchema('Document ID');
|
|
const userIdSchema = uuidSchema('User ID');
|
|
|
|
export const documentUploadedEventPayloadSchema = BaseDomainEventPayloadSchema.extend({
|
|
documentId: documentIdSchema,
|
|
uploadedByUserId: userIdSchema.optional(),
|
|
uploadedAt: z.string().datetime().optional(),
|
|
fileName: z.string().min(1),
|
|
contentType: z.string().min(1),
|
|
sizeBytes: z.number().int().nonnegative(),
|
|
storageKey: z.string().min(1),
|
|
}).describe('Payload for DOCUMENT_UPLOADED');
|
|
|
|
export type DocumentUploadedEventPayload = z.infer<typeof documentUploadedEventPayloadSchema>;
|
|
|
|
export const documentDeletedEventPayloadSchema = BaseDomainEventPayloadSchema.extend({
|
|
documentId: documentIdSchema,
|
|
deletedByUserId: userIdSchema.optional(),
|
|
deletedAt: z.string().datetime().optional(),
|
|
reason: z.string().optional(),
|
|
}).describe('Payload for DOCUMENT_DELETED');
|
|
|
|
export type DocumentDeletedEventPayload = z.infer<typeof documentDeletedEventPayloadSchema>;
|
|
|
|
export const documentAssociatedEventPayloadSchema = BaseDomainEventPayloadSchema.extend({
|
|
documentId: documentIdSchema,
|
|
entityType: z.string().min(1),
|
|
entityId: z.string().min(1),
|
|
associatedByUserId: userIdSchema.optional(),
|
|
associatedAt: z.string().datetime().optional(),
|
|
}).describe('Payload for DOCUMENT_ASSOCIATED');
|
|
|
|
export type DocumentAssociatedEventPayload = z.infer<typeof documentAssociatedEventPayloadSchema>;
|
|
|
|
export const documentDetachedEventPayloadSchema = BaseDomainEventPayloadSchema.extend({
|
|
documentId: documentIdSchema,
|
|
entityType: z.string().min(1),
|
|
entityId: z.string().min(1),
|
|
detachedByUserId: userIdSchema.optional(),
|
|
detachedAt: z.string().datetime().optional(),
|
|
reason: z.string().optional(),
|
|
}).describe('Payload for DOCUMENT_DETACHED');
|
|
|
|
export type DocumentDetachedEventPayload = z.infer<typeof documentDetachedEventPayloadSchema>;
|
|
|
|
export const documentGeneratedEventPayloadSchema = BaseDomainEventPayloadSchema.extend({
|
|
documentId: documentIdSchema,
|
|
sourceType: z.string().min(1),
|
|
sourceId: z.string().min(1),
|
|
generatedByUserId: userIdSchema.optional(),
|
|
generatedAt: z.string().datetime().optional(),
|
|
fileName: z.string().min(1),
|
|
}).describe('Payload for DOCUMENT_GENERATED');
|
|
|
|
export type DocumentGeneratedEventPayload = z.infer<typeof documentGeneratedEventPayloadSchema>;
|
|
|
|
export const documentSignatureRequestedEventPayloadSchema = BaseDomainEventPayloadSchema.extend({
|
|
documentId: documentIdSchema,
|
|
requestId: z.string().uuid(),
|
|
requestedByUserId: userIdSchema.optional(),
|
|
requestedAt: z.string().datetime().optional(),
|
|
signers: z
|
|
.array(
|
|
z.object({
|
|
email: z.string().email(),
|
|
name: z.string().optional(),
|
|
})
|
|
)
|
|
.min(1),
|
|
expiresAt: z.string().datetime().optional(),
|
|
}).describe('Payload for DOCUMENT_SIGNATURE_REQUESTED');
|
|
|
|
export type DocumentSignatureRequestedEventPayload = z.infer<
|
|
typeof documentSignatureRequestedEventPayloadSchema
|
|
>;
|
|
|
|
export const documentSignedEventPayloadSchema = BaseDomainEventPayloadSchema.extend({
|
|
documentId: documentIdSchema,
|
|
requestId: z.string().uuid(),
|
|
signedAt: z.string().datetime().optional(),
|
|
signerEmail: z.string().email().optional(),
|
|
signerId: z.string().uuid().optional(),
|
|
}).describe('Payload for DOCUMENT_SIGNED');
|
|
|
|
export type DocumentSignedEventPayload = z.infer<typeof documentSignedEventPayloadSchema>;
|
|
|
|
export const documentSignatureExpiredEventPayloadSchema = BaseDomainEventPayloadSchema.extend({
|
|
documentId: documentIdSchema,
|
|
requestId: z.string().uuid(),
|
|
expiredAt: z.string().datetime().optional(),
|
|
}).describe('Payload for DOCUMENT_SIGNATURE_EXPIRED');
|
|
|
|
export type DocumentSignatureExpiredEventPayload = z.infer<typeof documentSignatureExpiredEventPayloadSchema>;
|