Implemented partnerui

This commit is contained in:
2026-10-23 00:58:47 +02:00
parent 9ed210613e
commit 8f58e15f0f
27 changed files with 11416 additions and 983 deletions
@@ -1,694 +1 @@
/**
* OpenAPI TypeScript Models for PostFundManagement.Api v1
* Synchronized from https://api.ifri.khongisa.co.za/openapi/v1/
*/
export interface ProblemDetails {
type?: string | null;
title?: string | null;
status?: number | string | null;
detail?: string | null;
instance?: string | null;
[key: string]: any;
}
export type ActivityStatus = 0 | 1 | 2 | 3 | 4 | 'Planned' | 'InProgress' | 'Completed' | 'Delayed' | 'Cancelled' | number | string;
export type ApprovalStatus = 0 | 1 | 2 | 3 | 'Draft' | 'PendingApproval' | 'Approved' | 'Rejected' | number | string;
export type ContractStatus = 0 | 1 | 2 | 3 | 4 | 'Draft' | 'Active' | 'Executed' | 'Terminated' | 'Expired' | number | string;
export type EvidenceType = 0 | 1 | 2 | 3 | 4 | 5 | 'Document' | 'Invoice' | 'Receipt' | 'SitePhoto' | 'Report' | 'Other' | number | string;
export type IndustrySector = number | string;
export type NotificationPlatform = 0 | 1 | 2 | 'Email' | 'SMS' | 'InApp' | number | string;
export type NotificationStatus = 0 | 1 | 2 | 3 | 'Queued' | 'Sent' | 'Failed' | 'Delivered' | number | string;
export type OrganisationType = 0 | 1 | 2 | 3 | 'Grantee' | 'Funder' | 'Partner' | 'Auditor' | number | string;
export type Priority = 0 | 1 | 2 | 3 | 'Low' | 'Medium' | 'High' | 'Critical' | number | string;
export type ProjectType = 0 | 1 | 2 | 3 | 'Grant' | 'Loan' | 'Equity' | 'Hybrid' | number | string;
export type RiskImpact = 0 | 1 | 2 | 3 | 'Low' | 'Medium' | 'High' | 'Critical' | number | string;
export type RiskLikelihood = 0 | 1 | 2 | 3 | 'Rare' | 'Unlikely' | 'Possible' | 'Likely' | number | string;
export type UnitOfMeasure = number | string;
export interface Pagination {
page?: number;
pageSize?: number;
totalRecords?: number;
totalPages?: number;
}
export interface User {
id?: string;
sub?: string;
email?: string;
name?: string;
role?: string;
tenant?: string;
tenant_id?: number | string;
status?: string | number;
createdAt?: string;
updatedAt?: string;
[key: string]: any;
}
export interface UserFilterRequest {
email?: string;
name?: string;
role?: string;
status?: string;
}
export interface Activity {
id?: string | number;
projectId?: string | number;
title?: string;
description?: string;
status?: ActivityStatus;
startDate?: string;
endDate?: string;
progressPercentage?: number;
[key: string]: any;
}
export interface CreateActivityRequest {
projectId: string | number;
title: string;
description?: string;
startDate?: string;
endDate?: string;
status?: ActivityStatus;
}
export interface Beneficiary {
id?: string | number;
projectId?: string | number;
name?: string;
identificationNumber?: string;
contactNumber?: string;
email?: string;
location?: string;
gender?: string;
age?: number;
[key: string]: any;
}
export interface CreateBeneficiaryRequest {
projectId: string | number;
name: string;
identificationNumber?: string;
contactNumber?: string;
email?: string;
location?: string;
gender?: string;
age?: number;
}
export interface UpdateBeneficiaryRequest {
id: string | number;
projectId?: string | number;
name?: string;
identificationNumber?: string;
contactNumber?: string;
email?: string;
location?: string;
gender?: string;
age?: number;
}
export interface Outcome {
id?: string | number;
beneficiaryId?: string | number;
projectId?: string | number;
title?: string;
description?: string;
targetMetric?: string;
achievedMetric?: string;
dateRecorded?: string;
[key: string]: any;
}
export interface CreateOutcomeRequest {
beneficiaryId?: string | number;
projectId?: string | number;
title: string;
description?: string;
targetMetric?: string;
achievedMetric?: string;
dateRecorded?: string;
}
export interface UpdateOutcomeRequest {
id: string | number;
title?: string;
description?: string;
targetMetric?: string;
achievedMetric?: string;
}
export interface ChangeRequest {
id?: string | number;
projectId?: string | number;
reason?: string;
proposedChanges?: string;
requestedBy?: string;
status?: ApprovalStatus;
requestDate?: string;
approvalDate?: string;
[key: string]: any;
}
export interface CreateChangeRequest {
projectId: string | number;
reason: string;
proposedChanges: string;
}
export interface UpdateChangeRequest {
id: string | number;
reason?: string;
proposedChanges?: string;
status?: ApprovalStatus;
}
export interface ComplianceItem {
id?: string | number;
projectId?: string | number;
title?: string;
description?: string;
isCompliant?: boolean;
dueDate?: string;
verifiedAt?: string;
verifiedBy?: string;
[key: string]: any;
}
export interface CreateComplianceItemRequest {
projectId: string | number;
title: string;
description?: string;
dueDate?: string;
}
export interface UpdateComplianceItemRequest {
id: string | number;
title?: string;
description?: string;
isCompliant?: boolean;
dueDate?: string;
}
export interface Issue {
id?: string | number;
projectId?: string | number;
title?: string;
description?: string;
priority?: Priority;
status?: string;
reportedBy?: string;
resolvedAt?: string;
[key: string]: any;
}
export interface CreateIssueRequest {
projectId: string | number;
title: string;
description?: string;
priority?: Priority;
}
export interface UpdateIssueRequest {
id: string | number;
title?: string;
description?: string;
priority?: Priority;
status?: string;
}
export interface Milestone {
id?: string | number;
projectId?: string | number;
title?: string;
description?: string;
dueDate?: string;
amount?: number;
status?: ApprovalStatus;
completionPercentage?: number;
[key: string]: any;
}
export interface CreateMilestoneRequest {
projectId: string | number;
title: string;
description?: string;
dueDate?: string;
amount?: number;
}
export interface UpdateMilestoneRequest {
id: string | number;
title?: string;
description?: string;
dueDate?: string;
amount?: number;
status?: ApprovalStatus;
completionPercentage?: number;
}
export interface Project {
id?: string | number;
programmeId?: string | number;
organisationId?: string | number;
name?: string;
code?: string;
description?: string;
type?: ProjectType;
startDate?: string;
endDate?: string;
budget?: number;
status?: string;
[key: string]: any;
}
export interface CreateProjectRequest {
programmeId: string | number;
organisationId: string | number;
name: string;
code?: string;
description?: string;
type?: ProjectType;
startDate?: string;
endDate?: string;
budget?: number;
}
export interface UpdateProjectRequest {
id: string | number;
name?: string;
description?: string;
budget?: number;
startDate?: string;
endDate?: string;
}
export interface UpdateProjectStatusRequest {
projectId: string | number;
status: string | number;
}
export interface SiteVisit {
id?: string | number;
projectId?: string | number;
visitDate?: string;
visitorName?: string;
findings?: string;
recommendations?: string;
[key: string]: any;
}
export interface CreateSiteVisitRequest {
projectId: string | number;
visitDate: string;
visitorName: string;
findings?: string;
recommendations?: string;
}
export interface UpdateSiteVisitRequest {
id: string | number;
visitDate?: string;
visitorName?: string;
findings?: string;
recommendations?: string;
}
export interface Award {
id?: string | number;
projectId?: string | number;
amount?: number;
awardDate?: string;
conditions?: string;
[key: string]: any;
}
export interface CreateAwardRequest {
projectId: string | number;
amount: number;
awardDate?: string;
conditions?: string;
}
export interface Budget {
id?: string | number;
projectId?: string | number;
category?: string;
allocatedAmount?: number;
spentAmount?: number;
notes?: string;
[key: string]: any;
}
export interface CreateBudgetRequest {
projectId: string | number;
category: string;
allocatedAmount: number;
notes?: string;
}
export interface UpdateBudgetRequest {
id: string | number;
category?: string;
allocatedAmount?: number;
spentAmount?: number;
notes?: string;
}
export interface Contract {
id?: string | number;
projectId?: string | number;
title?: string;
contractNumber?: string;
status?: ContractStatus;
signedDate?: string;
expiryDate?: string;
value?: number;
[key: string]: any;
}
export interface CreateContractRequest {
projectId: string | number;
title: string;
contractNumber?: string;
signedDate?: string;
expiryDate?: string;
value?: number;
}
export interface UpdateContractRequest {
id: string | number;
title?: string;
status?: ContractStatus;
expiryDate?: string;
value?: number;
}
export interface ExecuteContractRequest {
contractId: string | number;
executionDate: string;
notes?: string;
}
export interface Instrument {
id?: string | number;
programmeId?: string | number;
name?: string;
type?: string;
description?: string;
terms?: string;
[key: string]: any;
}
export interface CreateInstrumentRequest {
programmeId: string | number;
name: string;
type?: string;
description?: string;
terms?: string;
}
export interface UpdateInstrumentRequest {
id: string | number;
name?: string;
type?: string;
description?: string;
terms?: string;
}
export interface Organisation {
id?: string | number;
name?: string;
registrationNumber?: string;
type?: OrganisationType;
email?: string;
phone?: string;
address?: string;
[key: string]: any;
}
export interface CreateOrganisationRequest {
name: string;
registrationNumber?: string;
type?: OrganisationType;
email?: string;
phone?: string;
address?: string;
}
export interface UpdateOrganisationRequest {
id: string | number;
name?: string;
registrationNumber?: string;
type?: OrganisationType;
email?: string;
phone?: string;
address?: string;
}
export interface Portfolio {
id?: string | number;
organisationId?: string | number;
name?: string;
description?: string;
totalValue?: number;
[key: string]: any;
}
export interface CreatePortfolioRequest {
organisationId: string | number;
name: string;
description?: string;
}
export interface UpdatePortfolioRequest {
id: string | number;
name?: string;
description?: string;
}
export interface Programme {
id?: string | number;
portfolioId?: string | number;
name?: string;
description?: string;
budget?: number;
startDate?: string;
endDate?: string;
[key: string]: any;
}
export interface CreateProgrammeRequest {
portfolioId: string | number;
name: string;
description?: string;
budget?: number;
startDate?: string;
endDate?: string;
}
export interface UpdateProgrammeRequest {
id: string | number;
name?: string;
description?: string;
budget?: number;
}
export interface Tenant {
id?: string | number;
name?: string;
code?: string;
isActive?: boolean;
createdDate?: string;
[key: string]: any;
}
export interface CreateTenantRequest {
name: string;
code?: string;
isActive?: boolean;
}
export interface UpdateTenantRequest {
id: string | number;
name?: string;
code?: string;
isActive?: boolean;
}
export interface Dashboard {
totalProjects?: number;
totalCommittedCapital?: number;
totalDisbursedCapital?: number;
activeMilestonesCount?: number;
complianceRate?: number;
recentActivities?: any[];
[key: string]: any;
}
export interface AuditLog {
id?: string | number;
entityName?: string;
entityId?: string | number;
action?: string;
timestamp?: string;
performedBy?: string;
details?: string;
error?: string | null;
isError?: boolean;
[key: string]: any;
}
export interface Disbursement {
id?: string | number;
projectId?: string | number;
milestoneId?: string | number;
amount?: number;
disbursementDate?: string;
status?: ApprovalStatus;
referenceNumber?: string;
[key: string]: any;
}
export interface CreateDisbursementRequest {
projectId: string | number;
milestoneId?: string | number;
amount: number;
referenceNumber?: string;
}
export interface UpdateDisbursementRequest {
id: string | number;
amount?: number;
status?: ApprovalStatus;
referenceNumber?: string;
}
export interface Risk {
id?: string | number;
projectId?: string | number;
title?: string;
description?: string;
likelihood?: RiskLikelihood;
impact?: RiskImpact;
mitigationPlan?: string;
status?: string;
[key: string]: any;
}
export interface CreateRiskRequest {
projectId: string | number;
title: string;
description?: string;
likelihood?: RiskLikelihood;
impact?: RiskImpact;
mitigationPlan?: string;
}
export interface UpdateRiskRequest {
id: string | number;
title?: string;
description?: string;
likelihood?: RiskLikelihood;
impact?: RiskImpact;
mitigationPlan?: string;
status?: string;
}
export interface Rule {
id?: string | number;
programmeId?: string | number;
name?: string;
expression?: string;
description?: string;
isActive?: boolean;
[key: string]: any;
}
export interface CreateRuleRequest {
programmeId: string | number;
name: string;
expression: string;
description?: string;
isActive?: boolean;
}
export interface UpdateRuleRequest {
id: string | number;
name?: string;
expression?: string;
description?: string;
isActive?: boolean;
}
export interface Evidence {
id?: string | number;
projectId?: string | number;
milestoneId?: string | number;
title?: string;
description?: string;
type?: EvidenceType;
fileUrl?: string;
fileName?: string;
fileSize?: number;
uploadedAt?: string;
verified?: boolean;
[key: string]: any;
}
export interface UpdateEvidenceRequest {
id: string | number;
title?: string;
description?: string;
type?: EvidenceType;
verified?: boolean;
}
export interface Indicator {
id?: string | number;
projectId?: string | number;
name?: string;
description?: string;
targetValue?: number;
actualValue?: number;
unit?: UnitOfMeasure;
[key: string]: any;
}
export interface CreateIndicatorRequest {
projectId: string | number;
name: string;
description?: string;
targetValue: number;
unit?: UnitOfMeasure;
}
export interface Invite {
id?: string | number;
email?: string;
role?: string;
organisationId?: string | number;
status?: string;
expiresAt?: string;
[key: string]: any;
}
export interface InviteRequest {
email: string;
role?: string;
organisationId?: string | number;
}
export interface Notification {
id?: string | number;
organisationId?: string | number;
platform?: NotificationPlatform;
status?: NotificationStatus;
message?: string;
recipient?: string;
sentAt?: string;
[key: string]: any;
}
export * from '../../types';