diff --git a/services/iam-service/src/docs/swagger.ts b/services/iam-service/src/docs/swagger.ts index aa14f49b..5cf42bd5 100644 --- a/services/iam-service/src/docs/swagger.ts +++ b/services/iam-service/src/docs/swagger.ts @@ -254,6 +254,93 @@ const options = { organizationId: { type: 'string' }, }, }, + AccessRequest: { + type: 'object', + properties: { + id: { type: 'string' }, + resource: { type: 'string' }, + action: { type: 'string' }, + status: { type: 'string', enum: ['PENDING', 'APPROVED', 'REJECTED'] }, + reason: { type: 'string' }, + requesterId: { type: 'string' }, + createdAt: { type: 'string', format: 'date-time' }, + }, + }, + CreateAccessRequest: { + type: 'object', + properties: { + resource: { type: 'string' }, + action: { type: 'string' }, + reason: { type: 'string' }, + expiresAt: { type: 'string', format: 'date-time' }, + }, + required: ['resource', 'action'], + }, + AccessReview: { + type: 'object', + properties: { + id: { type: 'string' }, + name: { type: 'string' }, + status: { type: 'string' }, + type: { type: 'string' }, + startDate: { type: 'string', format: 'date-time' }, + endDate: { type: 'string', format: 'date-time' }, + }, + }, + CreateAccessReviewRequest: { + type: 'object', + properties: { + name: { type: 'string' }, + type: { type: 'string', enum: ['PERIODIC', 'ADHOC'] }, + startDate: { type: 'string', format: 'date-time' }, + endDate: { type: 'string', format: 'date-time' }, + }, + required: ['name', 'type'], + }, + Policy: { + type: 'object', + properties: { + id: { type: 'string' }, + name: { type: 'string' }, + type: { type: 'string' }, + content: { type: 'object' }, + isActive: { type: 'boolean' }, + }, + }, + ComplianceReport: { + type: 'object', + properties: { + id: { type: 'string' }, + type: { type: 'string' }, + status: { type: 'string' }, + generatedAt: { type: 'string', format: 'date-time' }, + url: { type: 'string' }, + }, + }, + GenerateComplianceReportRequest: { + type: 'object', + properties: { + type: { type: 'string' }, + periodStart: { type: 'string', format: 'date-time' }, + periodEnd: { type: 'string', format: 'date-time' }, + }, + required: ['type'], + }, + Session: { + type: 'object', + properties: { + id: { type: 'string' }, + userId: { type: 'string' }, + deviceId: { type: 'string' }, + deviceName: { type: 'string' }, + ipAddress: { type: 'string' }, + userAgent: { type: 'string' }, + isActive: { type: 'boolean' }, + expiresAt: { type: 'string', format: 'date-time' }, + createdAt: { type: 'string', format: 'date-time' }, + lastActivityAt: { type: 'string', format: 'date-time' }, + }, + }, Feature: { type: 'object', properties: {