115 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
| # ===============================================
 | |
| # SYSTEM
 | |
| # ===============================================
 | |
| 
 | |
| extend type Query {
 | |
|   system: SystemQuery
 | |
| }
 | |
| 
 | |
| extend type Mutation {
 | |
|   system: SystemMutation
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # QUERIES
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type SystemQuery {
 | |
|   flags: [SystemFlag] @auth(requires: ["manage:system"])
 | |
|   info: SystemInfo
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # MUTATIONS
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type SystemMutation {
 | |
|   updateFlags(
 | |
|     flags: [SystemFlagInput]!
 | |
|   ): DefaultResponse @auth(requires: ["manage:system"])
 | |
| 
 | |
|   resetTelemetryClientId: DefaultResponse @auth(requires: ["manage:system"])
 | |
| 
 | |
|   setTelemetry(
 | |
|     enabled: Boolean!
 | |
|   ): DefaultResponse @auth(requires: ["manage:system"])
 | |
| 
 | |
|   performUpgrade: DefaultResponse @auth(requires: ["manage:system"])
 | |
| 
 | |
|   importUsersFromV1(
 | |
|     mongoDbConnString: String!
 | |
|     groupMode: SystemImportUsersGroupMode!
 | |
|   ): SystemImportUsersResponse @auth(requires:  ["manage:system"])
 | |
| 
 | |
|   setHTTPSRedirection(
 | |
|     enabled: Boolean!
 | |
|   ): DefaultResponse @auth(requires: ["manage:system"])
 | |
| 
 | |
|   renewHTTPSCertificate: DefaultResponse @auth(requires: ["manage:system"])
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # TYPES
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type SystemFlag {
 | |
|   key: String!
 | |
|   value: Boolean!
 | |
| }
 | |
| 
 | |
| input SystemFlagInput {
 | |
|   key: String!
 | |
|   value: Boolean!
 | |
| }
 | |
| 
 | |
| type SystemInfo {
 | |
|   configFile: String @auth(requires: ["manage:system"])
 | |
|   cpuCores: Int @auth(requires: ["manage:system"])
 | |
|   currentVersion: String @auth(requires: ["manage:system"])
 | |
|   dbHost: String @auth(requires: ["manage:system"])
 | |
|   dbType: String @auth(requires: ["manage:system"])
 | |
|   dbVersion: String @auth(requires: ["manage:system"])
 | |
|   groupsTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:groups", "write:groups", "manage:users", "write:users"])
 | |
|   hostname: String @auth(requires: ["manage:system"])
 | |
|   httpPort: Int @auth(requires: ["manage:system"])
 | |
|   httpRedirection: Boolean @auth(requires: ["manage:system"])
 | |
|   httpsPort: Int @auth(requires: ["manage:system"])
 | |
|   latestVersion: String @auth(requires: ["manage:system"])
 | |
|   latestVersionReleaseDate: Date @auth(requires: ["manage:system"])
 | |
|   nodeVersion: String @auth(requires: ["manage:system"])
 | |
|   operatingSystem: String @auth(requires: ["manage:system"])
 | |
|   pagesTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:pages", "delete:pages"])
 | |
|   platform: String @auth(requires: ["manage:system"])
 | |
|   ramTotal: String @auth(requires: ["manage:system"])
 | |
|   sslDomain: String @auth(requires: ["manage:system"])
 | |
|   sslExpirationDate: Date @auth(requires: ["manage:system"])
 | |
|   sslProvider: String @auth(requires: ["manage:system"])
 | |
|   sslStatus: String @auth(requires: ["manage:system"])
 | |
|   sslSubscriberEmail: String @auth(requires: ["manage:system"])
 | |
|   tagsTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:pages", "delete:pages"])
 | |
|   telemetry: Boolean @auth(requires: ["manage:system"])
 | |
|   telemetryClientId: String @auth(requires: ["manage:system"])
 | |
|   upgradeCapable: Boolean @auth(requires: ["manage:system"])
 | |
|   usersTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:groups", "write:groups", "manage:users", "write:users"])
 | |
|   workingDirectory: String @auth(requires: ["manage:system"])
 | |
| }
 | |
| 
 | |
| enum SystemImportUsersGroupMode {
 | |
|   MULTI
 | |
|   SINGLE
 | |
|   NONE
 | |
| }
 | |
| 
 | |
| type SystemImportUsersResponse {
 | |
|   responseResult: ResponseStatus
 | |
|   usersCount: Int
 | |
|   groupsCount: Int
 | |
|   failed: [SystemImportUsersResponseFailed]
 | |
| }
 | |
| 
 | |
| type SystemImportUsersResponseFailed {
 | |
|   provider: String
 | |
|   email: String
 | |
|   error: String
 | |
| }
 |