sjursen-digital-watchtower
Version:
A TypeScript Node.js SDK for Watchtower, an Intelligence as a Service (IaaS) platform that uses Google's Gemini AI model to transform traditional logging into an active intelligence system with predictive analytics and automated decision-making capabiliti
79 lines (78 loc) • 1.84 kB
TypeScript
export interface CreateOrganizationRequest {
client_email: string;
organization_name: string;
}
export interface CreateAppRequest {
organization_apikey: string;
app_name: string;
tenancy_model: 'single' | 'multi';
}
export interface CreateAPIKeyRequest {
organization_apikey: string;
app_apikey?: string;
tenant_apikey?: string;
name: string;
type: 'organization' | 'app' | 'tenant';
}
export interface APIKeyResponse {
key: string;
type: 'organization' | 'app' | 'tenant';
organization_id: string;
app_id?: string;
tenant_id?: string;
name: string;
status: 'active';
created_at: string;
updated_at: string;
}
export interface ErrorResponse {
error: string;
}
export interface CreateOrgKeyRequest {
organization_id: string;
}
export interface CreateAppKeyRequest {
app_name: string;
tenancy_model: 'single' | 'multi';
}
export interface AppAPIKey {
key: string;
type: 'app';
organization_id: string;
app_id: string;
name: string;
status: 'active';
created_at: string;
updated_at: string;
}
export interface TenantAPIKey {
key: string;
type: 'tenant';
organization_id: string;
app_id: string;
tenant_id: string;
name: string;
status: 'active';
created_at: string;
updated_at: string;
}
export interface CreateTenantRequest {
organization_apikey: string;
app_apikey: string;
client_email: string;
}
export interface RollAPIKeyRequest {
current_apikey: string;
type: 'organization' | 'app' | 'tenant';
}
export interface RolledAPIKey {
key: string;
type: 'organization' | 'app' | 'tenant';
organization_id: string;
app_id?: string;
tenant_id?: string;
name: string;
status: 'active';
created_at: string;
updated_at: string;
}