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"
languages: [String]
"The instance list of event categories possibilities"
eventCategories: [EventCategoryOption]
"Whether the registrations are opened"
registrationsOpen: Boolean
@ -246,6 +249,9 @@ type Config {
"The instance list of export formats"
exportFormats: ExportFormats
"Configuration for diverse analytics services"
analytics: [Analytics]
}
"A tag"
@ -368,6 +374,15 @@ human-readable ID strings.
"""
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"
type PaginatedDiscussionList {
"A list of discussion"
@ -667,6 +682,26 @@ type RootSubscriptionType {
): 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"
type DeletedFeedToken {
"The user that owned the deleted feed token"
@ -930,6 +965,27 @@ type PaginatedFollowerList {
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"
enum EventStatus {
"The event is tentative"
@ -1154,11 +1210,14 @@ type Person implements ActionLogObject & Actor {
limit: Int
): PaginatedParticipantList
"The list of group this person is member of"
"The list of groups this person is member of"
memberships(
"Filter by group federated username"
group: String
"Filter by group ID"
groupId: ID
"The page in the paginated memberships list"
page: Int
@ -1514,7 +1573,7 @@ type RootMutationType {
attributedToId: ID
"The event's category"
category: String
category: EventCategory
"The event's physical address"
physicalAddress: AddressInput
@ -1580,7 +1639,7 @@ type RootMutationType {
attributedToId: ID
"The event's category"
category: String
category: EventCategory
"The event's physical address"
physicalAddress: AddressInput
@ -1841,6 +1900,12 @@ type RootMutationType {
noteId: ID!
): DeletedObject
"Add an instance subscription"
addInstance(
"The instance domain to add"
domain: String!
): Instance
"Add a relay subscription"
addRelay(
"The relay hostname to add"
@ -1910,6 +1975,24 @@ type RootMutationType {
instanceLanguages: [String]
): 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"
createTodoList(
"The todo list title"
@ -2225,6 +2308,9 @@ type RootQueryType {
"Whether the event is online or in person"
type: EventType
"The category for the event"
category: String
"Radius around the location to search in"
radius: Float
@ -2258,6 +2344,9 @@ type RootQueryType {
"Filter users by email"
email: String
"Filter users by current signed-in IP address"
currentSignInIp: String
"The page in the paginated users list"
page: Int
@ -2349,6 +2438,12 @@ type RootQueryType {
preferredUsername: String!
): Group
"Get a group by its preferred username"
groupById(
"The group local ID"
id: ID!
): Group
"Get all events"
events(
"The page in the paginated event list"
@ -2439,6 +2534,9 @@ type RootQueryType {
"Filter reports by status"
status: ReportStatus
"Filter reports by domain name"
domain: String
): PaginatedReportList
"Get a report by id"
@ -2486,6 +2584,30 @@ type RootQueryType {
direction: String
): 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"
instance(
"The instance domain"
@ -2569,15 +2691,15 @@ type Instance {
"The domain name of the instance"
domain: ID
"Whether this instance has a Mobilizon relay actor"
hasRelay: Boolean
"Do we follow this instance"
followerStatus: InstanceFollowStatus
"Does this instance follow us?"
followedStatus: InstanceFollowStatus
"The number of events on this instance we know of"
eventCount: Int
"The number of profiles on this instance we know of"
personCount: Int
@ -2595,6 +2717,9 @@ type Instance {
"The size of all the media files sent by actors from this instance"
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]
"The event's category"
category: String
category: EventCategory
"Whether or not the event is a draft"
draft: Boolean
@ -3296,6 +3421,39 @@ type Activity {
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"
enum PostVisibility {
"Publicly listed and federated. Can be shared."
@ -3355,6 +3513,20 @@ type ReportNote implements ActionLogObject {
insertedAt: DateTime
}
enum AnalyticsConfigurationType {
"A string"
STRING
"An integer"
INTEGER
"A boolean"
BOOLEAN
"A float"
FLOAT
}
"The types of Group that exist"
enum GroupType {
"A private group of persons"
@ -3494,6 +3666,12 @@ type PaginatedFollowedGroupEvents {
total: Int
}
enum InstanceFilterFollowStatus {
ALL
FOLLOWING
FOLLOWED
}
"Instance map tiles configuration"
type Tiles {
"The instance's tiles endpoint"
@ -3661,6 +3839,11 @@ type AdminSettings {
instanceLanguages: [String]
}
enum InstanceFilterSuspendStatus {
ALL
SUSPENDED
}
"The instance's features"
type Features {
"Whether groups are activated on this instance"
@ -3668,9 +3851,6 @@ type Features {
"Whether event creation is allowed on this instance"
eventCreation: Boolean
"Activate link to Koena Connect"
koenaConnect: Boolean
}
"A set of user settings"