Update schema.graphql file

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2022-04-18 16:16:56 +02:00
parent b1a4f1b581
commit 24331d75b0
No known key found for this signature in database
GPG Key ID: A061B9DDE0CA0773
1 changed files with 190 additions and 10 deletions

View File

@ -175,6 +175,9 @@ type Config {
"The instance's admins languages" "The instance's admins languages"
languages: [String] languages: [String]
"The instance list of event categories possibilities"
eventCategories: [EventCategoryOption]
"Whether the registrations are opened" "Whether the registrations are opened"
registrationsOpen: Boolean registrationsOpen: Boolean
@ -246,6 +249,9 @@ type Config {
"The instance list of export formats" "The instance list of export formats"
exportFormats: ExportFormats exportFormats: ExportFormats
"Configuration for diverse analytics services"
analytics: [Analytics]
} }
"A tag" "A tag"
@ -368,6 +374,15 @@ human-readable ID strings.
""" """
scalar UUID scalar UUID
"A paginated list of instances"
type PaginatedInstanceList {
"A list of instances"
elements: [Instance]
"The total number of instances in the list"
total: Int
}
"A paginated list of discussions" "A paginated list of discussions"
type PaginatedDiscussionList { type PaginatedDiscussionList {
"A list of discussion" "A list of discussion"
@ -667,6 +682,26 @@ type RootSubscriptionType {
): Discussion ): Discussion
} }
"Event categories list configuration"
type EventCategoryOption {
"The ID of the event category"
id: String
"The translated name of the event category"
label: String
}
type AnalyticsConfiguration {
"The key for the analytics configuration element"
key: String
"The value for the analytics configuration element"
value: String
"The analytics configuration type"
type: AnalyticsConfigurationType
}
"Represents a deleted feed_token" "Represents a deleted feed_token"
type DeletedFeedToken { type DeletedFeedToken {
"The user that owned the deleted feed token" "The user that owned the deleted feed token"
@ -930,6 +965,27 @@ type PaginatedFollowerList {
total: Int total: Int
} }
type Analytics {
"ID of the analytics service"
id: String
"Whether the service is activated or not"
enabled: Boolean
"A list of key-values configuration"
configuration: [AnalyticsConfiguration]
}
enum InstancesSortFields {
EVENT_COUNT
PERSON_COUNT
GROUP_COUNT
FOLLOWERS_COUNT
FOLLOWINGS_COUNT
REPORTS_COUNT
MEDIA_SIZE
}
"The list of possible options for the event's status" "The list of possible options for the event's status"
enum EventStatus { enum EventStatus {
"The event is tentative" "The event is tentative"
@ -1154,11 +1210,14 @@ type Person implements ActionLogObject & Actor {
limit: Int limit: Int
): PaginatedParticipantList ): PaginatedParticipantList
"The list of group this person is member of" "The list of groups this person is member of"
memberships( memberships(
"Filter by group federated username" "Filter by group federated username"
group: String group: String
"Filter by group ID"
groupId: ID
"The page in the paginated memberships list" "The page in the paginated memberships list"
page: Int page: Int
@ -1514,7 +1573,7 @@ type RootMutationType {
attributedToId: ID attributedToId: ID
"The event's category" "The event's category"
category: String category: EventCategory
"The event's physical address" "The event's physical address"
physicalAddress: AddressInput physicalAddress: AddressInput
@ -1580,7 +1639,7 @@ type RootMutationType {
attributedToId: ID attributedToId: ID
"The event's category" "The event's category"
category: String category: EventCategory
"The event's physical address" "The event's physical address"
physicalAddress: AddressInput physicalAddress: AddressInput
@ -1841,6 +1900,12 @@ type RootMutationType {
noteId: ID! noteId: ID!
): DeletedObject ): DeletedObject
"Add an instance subscription"
addInstance(
"The instance domain to add"
domain: String!
): Instance
"Add a relay subscription" "Add a relay subscription"
addRelay( addRelay(
"The relay hostname to add" "The relay hostname to add"
@ -1910,6 +1975,24 @@ type RootMutationType {
instanceLanguages: [String] instanceLanguages: [String]
): AdminSettings ): AdminSettings
"For an admin to update an user"
adminUpdateUser(
"The user's ID"
id: ID!
"The user's new email"
email: String
"Manually confirm the user's account"
confirmed: Boolean
"Set user's new role"
role: UserRole
"Whether or not to notify the user of the change"
notify: Boolean
): User
"Create a todo list" "Create a todo list"
createTodoList( createTodoList(
"The todo list title" "The todo list title"
@ -2225,6 +2308,9 @@ type RootQueryType {
"Whether the event is online or in person" "Whether the event is online or in person"
type: EventType type: EventType
"The category for the event"
category: String
"Radius around the location to search in" "Radius around the location to search in"
radius: Float radius: Float
@ -2258,6 +2344,9 @@ type RootQueryType {
"Filter users by email" "Filter users by email"
email: String email: String
"Filter users by current signed-in IP address"
currentSignInIp: String
"The page in the paginated users list" "The page in the paginated users list"
page: Int page: Int
@ -2349,6 +2438,12 @@ type RootQueryType {
preferredUsername: String! preferredUsername: String!
): Group ): Group
"Get a group by its preferred username"
groupById(
"The group local ID"
id: ID!
): Group
"Get all events" "Get all events"
events( events(
"The page in the paginated event list" "The page in the paginated event list"
@ -2439,6 +2534,9 @@ type RootQueryType {
"Filter reports by status" "Filter reports by status"
status: ReportStatus status: ReportStatus
"Filter reports by domain name"
domain: String
): PaginatedReportList ): PaginatedReportList
"Get a report by id" "Get a report by id"
@ -2486,6 +2584,30 @@ type RootQueryType {
direction: String direction: String
): PaginatedFollowerList ): PaginatedFollowerList
"List instances"
instances(
"The page in the paginated relay followings list"
page: Int
"The limit of relay followings per page"
limit: Int
"The field to order by the list"
orderBy: InstancesSortFields
"Filter by domain"
filterDomain: String
"Whether or not to filter instances by the follow status"
filterFollowStatus: InstanceFilterFollowStatus
"Whether or not to filter instances by the suspended status"
filterSuspendStatus: InstanceFilterSuspendStatus
"The sorting direction"
direction: String
): PaginatedInstanceList
"Get an instance's details" "Get an instance's details"
instance( instance(
"The instance domain" "The instance domain"
@ -2569,15 +2691,15 @@ type Instance {
"The domain name of the instance" "The domain name of the instance"
domain: ID domain: ID
"Whether this instance has a Mobilizon relay actor"
hasRelay: Boolean
"Do we follow this instance" "Do we follow this instance"
followerStatus: InstanceFollowStatus followerStatus: InstanceFollowStatus
"Does this instance follow us?" "Does this instance follow us?"
followedStatus: InstanceFollowStatus followedStatus: InstanceFollowStatus
"The number of events on this instance we know of"
eventCount: Int
"The number of profiles on this instance we know of" "The number of profiles on this instance we know of"
personCount: Int personCount: Int
@ -2595,6 +2717,9 @@ type Instance {
"The size of all the media files sent by actors from this instance" "The size of all the media files sent by actors from this instance"
mediaSize: Int mediaSize: Int
"Whether this instance has a relay, meaning that it's a Mobilizon instance that we can follow"
hasRelay: Boolean
} }
""" """
@ -2865,7 +2990,7 @@ type Event implements ActivityObject & Interactable & ActionLogObject {
tags: [Tag] tags: [Tag]
"The event's category" "The event's category"
category: String category: EventCategory
"Whether or not the event is a draft" "Whether or not the event is a draft"
draft: Boolean draft: Boolean
@ -3296,6 +3421,39 @@ type Activity {
group: Group group: Group
} }
enum EventCategory {
ARTS
BOOK_CLUBS
BUSINESS
CAUSES
COMEDY
CRAFTS
FOOD_DRINK
HEALTH
MUSIC
AUTO_BOAT_AIR
COMMUNITY
FAMILY_EDUCATION
FASHION_BEAUTY
FILM_MEDIA
GAMES
LANGUAGE_CULTURE
LEARNING
LGBTQ
MOVEMENTS_POLITICS
NETWORKING
PARTY
PERFORMING_VISUAL_ARTS
PETS
PHOTOGRAPHY
OUTDOORS_ADVENTURE
SPIRITUALITY_RELIGION_BELIEFS
SCIENCE_TECH
SPORTS
THEATRE
MEETING
}
"The list of visibility options for a post" "The list of visibility options for a post"
enum PostVisibility { enum PostVisibility {
"Publicly listed and federated. Can be shared." "Publicly listed and federated. Can be shared."
@ -3355,6 +3513,20 @@ type ReportNote implements ActionLogObject {
insertedAt: DateTime insertedAt: DateTime
} }
enum AnalyticsConfigurationType {
"A string"
STRING
"An integer"
INTEGER
"A boolean"
BOOLEAN
"A float"
FLOAT
}
"The types of Group that exist" "The types of Group that exist"
enum GroupType { enum GroupType {
"A private group of persons" "A private group of persons"
@ -3494,6 +3666,12 @@ type PaginatedFollowedGroupEvents {
total: Int total: Int
} }
enum InstanceFilterFollowStatus {
ALL
FOLLOWING
FOLLOWED
}
"Instance map tiles configuration" "Instance map tiles configuration"
type Tiles { type Tiles {
"The instance's tiles endpoint" "The instance's tiles endpoint"
@ -3661,6 +3839,11 @@ type AdminSettings {
instanceLanguages: [String] instanceLanguages: [String]
} }
enum InstanceFilterSuspendStatus {
ALL
SUSPENDED
}
"The instance's features" "The instance's features"
type Features { type Features {
"Whether groups are activated on this instance" "Whether groups are activated on this instance"
@ -3668,9 +3851,6 @@ type Features {
"Whether event creation is allowed on this instance" "Whether event creation is allowed on this instance"
eventCreation: Boolean eventCreation: Boolean
"Activate link to Koena Connect"
koenaConnect: Boolean
} }
"A set of user settings" "A set of user settings"