| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- # ===============================================
 
- # SYSTEM
 
- # ===============================================
 
- extend type Query {
 
-   system: SystemQuery
 
- }
 
- extend type Mutation {
 
-   system: SystemMutation
 
- }
 
- # -----------------------------------------------
 
- # QUERIES
 
- # -----------------------------------------------
 
- type SystemQuery {
 
-   flags: [SystemFlag] @auth(requires: ["manage:system"])
 
-   info: SystemInfo
 
-   extensions: [SystemExtension] @auth(requires: ["manage:system"])
 
-   exportStatus: SystemExportStatus @auth(requires: ["manage:system"])
 
- }
 
- # -----------------------------------------------
 
- # 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"])
 
-   export(
 
-     entities: [String]!
 
-     path: String!
 
-   ): 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
 
- }
 
- type SystemExtension {
 
-   key: String!
 
-   title: String!
 
-   description: String!
 
-   isInstalled: Boolean!
 
-   isCompatible: Boolean!
 
- }
 
- type SystemExportStatus {
 
-   status: String
 
-   progress: Int
 
-   message: String
 
-   startedAt: Date
 
- }
 
 
  |