mirror of
https://framagit.org/framasoft/mobilizon.git
synced 2024-12-21 23:44:30 +00:00
Update schema.graphql file
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
b1a4f1b581
commit
24331d75b0
1 changed files with 190 additions and 10 deletions
200
schema.graphql
200
schema.graphql
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue