@gftdcojp/gftd-orm
Version:
Enterprise-grade real-time data platform with ksqlDB, inspired by Supabase architecture
86 lines • 2.64 kB
JavaScript
/**
* GFTD ORM Core Types
*/
/**
* 監査ログレベル
*/
export var AuditLogLevel;
(function (AuditLogLevel) {
AuditLogLevel["DEBUG"] = "DEBUG";
AuditLogLevel["INFO"] = "INFO";
AuditLogLevel["WARN"] = "WARN";
AuditLogLevel["ERROR"] = "ERROR";
AuditLogLevel["CRITICAL"] = "CRITICAL";
})(AuditLogLevel || (AuditLogLevel = {}));
/**
* 監査イベントタイプ
*/
export var AuditEventType;
(function (AuditEventType) {
AuditEventType["AUTH_LOGIN"] = "AUTH_LOGIN";
AuditEventType["AUTH_LOGOUT"] = "AUTH_LOGOUT";
AuditEventType["AUTH_FAILED"] = "AUTH_FAILED";
AuditEventType["DATA_READ"] = "DATA_READ";
AuditEventType["DATA_WRITE"] = "DATA_WRITE";
AuditEventType["DATA_DELETE"] = "DATA_DELETE";
AuditEventType["ADMIN_ACTION"] = "ADMIN_ACTION";
AuditEventType["ADMIN_USER_CREATE"] = "ADMIN_USER_CREATE";
AuditEventType["ADMIN_USER_DELETE"] = "ADMIN_USER_DELETE";
AuditEventType["ADMIN_POLICY_CHANGE"] = "ADMIN_POLICY_CHANGE";
AuditEventType["UNAUTHORIZED_ACCESS"] = "UNAUTHORIZED_ACCESS";
AuditEventType["SECURITY_EVENT"] = "SECURITY_EVENT";
})(AuditEventType || (AuditEventType = {}));
/**
* 監査ログマネージャー
*/
export class AuditLogManager {
static log(entry) {
console.log('[AUDIT]', JSON.stringify({
...entry,
timestamp: entry.timestamp || new Date(),
}));
}
static logRateLimitViolation(userId, details) {
this.log({
level: AuditLogLevel.WARN,
eventType: AuditEventType.SECURITY_EVENT,
userId,
result: 'FAILURE',
message: 'Rate limit violation detected',
details,
});
}
static logSecurityViolation(userId, violationType, details) {
this.log({
level: AuditLogLevel.ERROR,
eventType: AuditEventType.SECURITY_EVENT,
userId,
result: 'FAILURE',
message: `Security violation: ${violationType}`,
details,
});
}
}
// Mock implementations for JWT and RLS functions
export const jwtAuth = {
authenticate: (user) => ({
user,
accessToken: 'mock-token',
expiresIn: 3600,
tokenType: 'Bearer'
}),
verifyToken: (token) => null,
};
export const rls = {
enable: () => { },
disable: () => { },
setUser: (user) => { },
applyToQuery: (query, user) => query,
};
export const executePullQuery = async (query, options) => {
return { data: [] };
};
export const executePushQuery = async (query, onData, onError) => {
return {};
};
//# sourceMappingURL=types.js.map