feat: initial schemas-app implementation
- Add Nuxt 4 application with Vuetify UI framework - Implement GraphQL schema registry management interface - Add Apollo Client integration with Auth0 authentication - Create organization and API key management - Add schema and ref browsing capabilities - Implement organization switcher for multi-org users - Add delete functionality for organizations and API keys - Create Kubernetes deployment descriptors - Add Docker configuration with nginx Features: - Dashboard with organization overview - Schema browsing by ref with supergraph viewing - Ref management with schema details - Settings page for organizations and API keys - User list per organization with provider icons - Admin-only organization creation - Delete confirmations with warnings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
query Organizations {
|
||||
organizations {
|
||||
id
|
||||
name
|
||||
users {
|
||||
id
|
||||
}
|
||||
apiKeys {
|
||||
id
|
||||
name
|
||||
refs
|
||||
read
|
||||
publish
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
query AllOrganizations {
|
||||
allOrganizations {
|
||||
id
|
||||
name
|
||||
users {
|
||||
id
|
||||
}
|
||||
apiKeys {
|
||||
id
|
||||
name
|
||||
refs
|
||||
read
|
||||
publish
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
query LatestSchema($ref: String!) {
|
||||
latestSchema(ref: $ref) {
|
||||
ref
|
||||
id
|
||||
subGraphs {
|
||||
id
|
||||
service
|
||||
url
|
||||
wsUrl
|
||||
sdl
|
||||
changedBy
|
||||
changedAt
|
||||
}
|
||||
cosmoRouterConfig
|
||||
}
|
||||
}
|
||||
|
||||
query Supergraph($ref: String!, $isAfter: String) {
|
||||
supergraph(ref: $ref, isAfter: $isAfter) {
|
||||
... on SubGraphs {
|
||||
id
|
||||
sdl
|
||||
subGraphs {
|
||||
id
|
||||
service
|
||||
url
|
||||
wsUrl
|
||||
sdl
|
||||
changedBy
|
||||
changedAt
|
||||
}
|
||||
}
|
||||
... on Unchanged {
|
||||
id
|
||||
minDelaySeconds
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mutation AddOrganization($name: String!) {
|
||||
addOrganization(name: $name) {
|
||||
id
|
||||
name
|
||||
users {
|
||||
id
|
||||
}
|
||||
apiKeys {
|
||||
id
|
||||
name
|
||||
refs
|
||||
read
|
||||
publish
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mutation AddUserToOrganization($organizationId: ID!, $userId: String!) {
|
||||
addUserToOrganization(organizationId: $organizationId, userId: $userId) {
|
||||
id
|
||||
name
|
||||
users {
|
||||
id
|
||||
}
|
||||
apiKeys {
|
||||
id
|
||||
name
|
||||
refs
|
||||
read
|
||||
publish
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mutation AddAPIKey($input: InputAPIKey!) {
|
||||
addAPIKey(input: $input) {
|
||||
id
|
||||
name
|
||||
key
|
||||
organization {
|
||||
id
|
||||
name
|
||||
}
|
||||
refs
|
||||
read
|
||||
publish
|
||||
}
|
||||
}
|
||||
|
||||
mutation RemoveAPIKey($organizationId: ID!, $keyName: String!) {
|
||||
removeAPIKey(organizationId: $organizationId, keyName: $keyName) {
|
||||
id
|
||||
name
|
||||
users {
|
||||
id
|
||||
}
|
||||
apiKeys {
|
||||
id
|
||||
name
|
||||
refs
|
||||
read
|
||||
publish
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mutation RemoveOrganization($organizationId: ID!) {
|
||||
removeOrganization(organizationId: $organizationId)
|
||||
}
|
||||
Reference in New Issue
Block a user