From 3eacbb2ca3d7a081d59b6eac3c0be6bd31047afc Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 19 Nov 2020 17:06:28 +0100 Subject: [PATCH 1/2] Improve GraphQL documentation and cleanup API Signed-off-by: Thomas Citharel --- .graphqlconfig.yaml | 8 - js/schema.graphql | 3231 +++++++++++++++++ js/src/components/Comment/Comment.vue | 1 - js/src/components/Comment/CommentTree.vue | 2 - js/src/components/Editor.vue | 1 - js/src/components/Editor/Image.ts | 3 - js/src/components/Event/EventListCard.vue | 2 +- .../ParticipationWithoutAccount.vue | 1 - js/src/graphql/comment.ts | 14 +- js/src/graphql/discussion.ts | 4 +- js/src/graphql/event.ts | 12 +- js/src/graphql/group.ts | 2 - js/src/graphql/report.ts | 10 +- js/src/graphql/upload.ts | 4 +- js/src/mixins/event.ts | 7 +- js/src/views/Discussions/Create.vue | 1 - js/src/views/Event/Event.vue | 12 +- js/src/views/Event/Participants.vue | 3 - js/src/views/Group/Create.vue | 5 - js/src/views/Group/Group.vue | 8 - js/src/views/Moderation/Report.vue | 4 - js/src/views/User/EmailValidate.vue | 7 +- js/tsconfig.json | 2 +- lib/graphql/api/groups.ex | 6 - lib/graphql/resolvers/comment.ex | 15 +- lib/graphql/resolvers/discussion.ex | 9 + lib/graphql/resolvers/event.ex | 21 +- lib/graphql/resolvers/group.ex | 7 +- lib/graphql/resolvers/member.ex | 3 - lib/graphql/resolvers/participant.ex | 9 +- lib/graphql/resolvers/person.ex | 4 +- lib/graphql/resolvers/picture.ex | 10 +- lib/graphql/resolvers/report.ex | 42 +- lib/graphql/resolvers/todos.ex | 3 - lib/graphql/schema/actor.ex | 9 +- lib/graphql/schema/actors/follower.ex | 3 + lib/graphql/schema/actors/group.ex | 73 +- lib/graphql/schema/actors/member.ex | 43 +- lib/graphql/schema/actors/person.ex | 62 +- lib/graphql/schema/address.ex | 63 +- lib/graphql/schema/admin.ex | 189 +- lib/graphql/schema/config.ex | 240 +- lib/graphql/schema/discussions/comment.ex | 64 +- lib/graphql/schema/discussions/discussion.ex | 48 +- lib/graphql/schema/event.ex | 141 +- lib/graphql/schema/events/feed_token.ex | 15 +- lib/graphql/schema/events/participant.ex | 54 +- lib/graphql/schema/picture.ex | 21 +- lib/graphql/schema/post.ex | 40 +- lib/graphql/schema/report.ex | 47 +- lib/graphql/schema/resource.ex | 59 +- lib/graphql/schema/search.ex | 37 +- lib/graphql/schema/sort.ex | 4 +- lib/graphql/schema/tag.ex | 4 +- lib/graphql/schema/todos/todo.ex | 27 +- lib/graphql/schema/todos/todo_list.ex | 9 +- lib/graphql/schema/user.ex | 163 +- lib/web/templates/email/report.text.eex | 2 +- priv/gettext/ar/LC_MESSAGES/errors.po | 210 +- priv/gettext/be/LC_MESSAGES/errors.po | 210 +- priv/gettext/ca/LC_MESSAGES/errors.po | 210 +- priv/gettext/cs/LC_MESSAGES/errors.po | 210 +- priv/gettext/de/LC_MESSAGES/errors.po | 210 +- priv/gettext/en/LC_MESSAGES/errors.po | 210 +- priv/gettext/errors.pot | 210 +- priv/gettext/es/LC_MESSAGES/errors.po | 212 +- priv/gettext/fi/LC_MESSAGES/errors.po | 210 +- priv/gettext/fr/LC_MESSAGES/errors.po | 357 +- priv/gettext/gl/LC_MESSAGES/errors.po | 210 +- priv/gettext/hu/LC_MESSAGES/errors.po | 210 +- priv/gettext/it/LC_MESSAGES/errors.po | 210 +- priv/gettext/ja/LC_MESSAGES/errors.po | 210 +- priv/gettext/nl/LC_MESSAGES/errors.po | 210 +- priv/gettext/nn/LC_MESSAGES/errors.po | 210 +- priv/gettext/oc/LC_MESSAGES/errors.po | 348 +- priv/gettext/pl/LC_MESSAGES/errors.po | 210 +- priv/gettext/pt/LC_MESSAGES/errors.po | 210 +- priv/gettext/pt_BR/LC_MESSAGES/errors.po | 210 +- priv/gettext/ru/LC_MESSAGES/errors.po | 210 +- priv/gettext/sv/LC_MESSAGES/errors.po | 210 +- schema.graphql | 2808 -------------- test/graphql/resolvers/comment_test.exs | 28 +- test/graphql/resolvers/event_test.exs | 33 +- test/graphql/resolvers/group_test.exs | 32 +- test/graphql/resolvers/participant_test.exs | 30 +- test/graphql/resolvers/picture_test.exs | 10 +- test/graphql/resolvers/report_test.exs | 118 +- 87 files changed, 6542 insertions(+), 6314 deletions(-) delete mode 100644 .graphqlconfig.yaml create mode 100644 js/schema.graphql delete mode 100644 schema.graphql diff --git a/.graphqlconfig.yaml b/.graphqlconfig.yaml deleted file mode 100644 index e8956f772..000000000 --- a/.graphqlconfig.yaml +++ /dev/null @@ -1,8 +0,0 @@ -projects: - Mobilizon: - schemaPath: schema.graphql - extensions: - endpoints: - dev: - url: 'http://localhost:4000/api' - introspect: true diff --git a/js/schema.graphql b/js/schema.graphql new file mode 100644 index 000000000..d695e525e --- /dev/null +++ b/js/schema.graphql @@ -0,0 +1,3231 @@ +schema { + query: RootQueryType + mutation: RootMutationType + subscription: RootSubscriptionType +} + +"A JWT and the associated user ID" +type Login { + "A JWT Token for this session" + accessToken: String! + + "A JWT Token to refresh the access token" + refreshToken: String! + + "The user associated to this session" + user: User! +} + +"Instance anonymous participation configuration" +type AnonymousParticipation { + "Whether anonymous participations are allowed" + allowed: Boolean + + "The ways to validate anonymous participations" + validation: AnonymousParticipationValidation +} + +"Available sort directions" +enum SortDirection { + "Ascending order" + ASC + + "Descending order" + DESC +} + +"Token" +type RefreshedToken { + "Generated access token" + accessToken: String! + + "Generated refreshed token" + refreshToken: String! +} + +"Represents an application" +type Application { + "Internal ID for this application" + id: ID + + "The ActivityPub actor's URL" + url: String + + "The type of Actor (Person, Group,…)" + type: ActorType + + "The actor's displayed name" + name: String + + "The actor's domain if (null if it's this instance)" + domain: String + + "If the actor is from this instance" + local: Boolean + + "The actor's summary" + summary: String + + "The actor's preferred username" + preferredUsername: String + + "Whether the actors manually approves followers" + manuallyApprovesFollowers: Boolean + + "If the actor is suspended" + suspended: Boolean + + "The actor's avatar picture" + avatar: Picture + + "The actor's banner picture" + banner: Picture + + "List of followings" + following: [Follower] + + "List of followers" + followers: [Follower] + + "Number of followers for this actor" + followersCount: Int + + "Number of actors following this actor" + followingCount: Int +} + +"Instance anonymous event creation configuration" +type AnonymousEventCreation { + "Whether anonymous event creation is enabled" + allowed: Boolean + + "The methods to validate events created anonymously" + validation: AnonymousEventCreationValidation +} + +"The list of values the for pending notification settings" +enum NotificationPendingEnum { + "None. The notification won't be sent." + NONE + + "Direct. The notification will be sent right away each time." + DIRECT + + "One hour. Notifications will be sent at most each hour" + ONE_HOUR + + "One day. Notifications will be sent at most each day" + ONE_DAY +} + +"The possible values for a participant role" +enum ParticipantRoleEnum { + "The participant has not been approved" + NOT_APPROVED + + "The participant has not confirmed their participation" + NOT_CONFIRMED + + "The participant is a regular participant" + PARTICIPANT + + "The participant is an event moderator" + MODERATOR + + "The participant is an event administrator" + ADMINISTRATOR + + "The participant is an event creator" + CREATOR + + "The participant has been rejected from this event" + REJECTED +} + +"A config object" +type Config { + "The instance's name" + name: String + + "The instance's short description" + description: String + + "The instance's long description" + longDescription: String + + "The instance's slogan" + slogan: String + + "The instance's contact details" + contact: String + + "The instance's admins languages" + languages: [String] + + "Whether the registrations are opened" + registrationsOpen: Boolean + + "Whether the registration are on an allowlist" + registrationsAllowlist: Boolean + + "Whether the demo mode is enabled" + demoMode: Boolean + + "The country code from the IP" + countryCode: String + + "The IP's location" + location: Lonlat + + "The instance's geocoding settings" + geocoding: Geocoding + + "The instance's maps settings" + maps: Maps + + "The instance's anonymous action settings" + anonymous: Anonymous + + "The instance's enabled resource providers" + resourceProviders: [ResourceProvider] + + "The instance's available timezones" + timezones: [String] + + "The instance's features" + features: Features + + "The instance's version" + version: String + + "Whether this instance is federation" + federating: Boolean + + "The instance's terms" + terms( + "The user's locale. The terms will be translated in their language, if available." + locale: String + ): Terms + + "The instance's privacy policy" + privacy( + "The user's locale. The privacy policy will be translated in their language, if available." + locale: String + ): Privacy + + "The instance's rules" + rules: String + + "The instance auth methods" + auth: Auth +} + +"A tag" +type Tag { + "The tag's ID" + id: ID + + "The tags's slug" + slug: String + + "The tag's title" + title: String + + "Related tags to this tag" + related: [Tag] +} + +"Language information" +type Language { + "The iso-639-3 language code" + code: String + + "The language name" + name: String +} + +"A picture" +type Picture { + "The picture's ID" + id: ID + + "The picture's alternative text" + alt: String + + "The picture's name" + name: String + + "The picture's full URL" + url: String + + "The picture's detected content type" + contentType: String + + "The picture's size" + size: Int +} + +"The list of roles an user can have" +enum UserRole { + "Administrator role" + ADMINISTRATOR + + "Moderator role" + MODERATOR + + "User role" + USER +} + +"A todo list" +type TodoList { + "The todo list's ID" + id: ID + + "The todo list's title" + title: String + + "The actor that owns this todo list" + actor: Actor + + "The todo-list's todos" + todos: PaginatedTodoList +} + +"Represents a participant to an event" +type Participant { + "The participation ID" + id: ID + + "The event which the actor participates in" + event: Event + + "The actor that participates to the event" + actor: Actor + + "The role of this actor at this event" + role: ParticipantRoleEnum + + "The metadata associated to this participant" + metadata: ParticipantMetadata + + "The datetime this participant was created" + insertedAt: DateTime +} + +"The list of sortable fields for an user list" +enum SortableUserField { + "The user's ID" + ID +} + +""" +The `UUID` scalar type represents UUID4 compliant string data, represented as UTF-8 +character sequences. The UUID4 type is most often used to represent unique +human-readable ID strings. +""" +scalar UUID + +"A paginated list of discussions" +type PaginatedDiscussionList { + "A list of discussion" + elements: [Discussion] + + "The total number of discussions in the list" + total: Int +} + +"The objects that can be in an action log" +interface ActionLogObject { + "Internal ID for this object" + id: ID +} + +"Represents an uploaded file." +scalar Upload + +"A paginated list of posts" +type PaginatedPostList { + "A list of posts" + elements: [Post] + + "The total number of posts in the list" + total: Int +} + +"A comment" +type Comment { + "Internal ID for this comment" + id: ID + + "An UUID for this comment" + uuid: UUID + + "Comment URL" + url: String + + "Whether this comment is local or not" + local: Boolean + + "The visibility for the comment" + visibility: CommentVisibility + + "The comment body" + text: String + + "The comment's primary language" + primaryLanguage: String + + "A list of replies to the comment" + replies: [Comment] + + "The number of total known replies to this comment" + totalReplies: Int + + "The comment this comment directly replies to" + inReplyToComment: Comment + + "The eventual event this comment is under" + event: Event + + "The original comment that started the thread this comment is in" + originComment: Comment + + "The thread languages" + threadLanguages: [String]! + + "The comment's author" + actor: Person + + "When was the comment inserted in database" + insertedAt: DateTime + + "When was the comment updated" + updatedAt: DateTime + + "When was the comment deleted" + deletedAt: DateTime + + "When was the comment published" + publishedAt: DateTime +} + +"An attached picture or a link to a picture" +input PictureInput { + "A full picture attached" + picture: PictureInputObject + + "The ID of an existing picture" + pictureId: ID +} + +"Instance anonymous reports" +type AnonymousReports { + "Whether anonymous reports are allowed" + allowed: Boolean +} + +"Search events result" +type Events { + "Total elements" + total: Int! + + "Event elements" + elements: [Event]! +} + +"Instance maps configuration" +type Maps { + "The instance's maps tiles configuration" + tiles: Tiles +} + +"Search groups result" +type Groups { + "Total elements" + total: Int! + + "Group elements" + elements: [Group]! +} + +"The list of possible statuses for a report object" +enum ReportStatus { + "The report has been opened" + OPEN + + "The report has been closed" + CLOSED + + "The report has been marked as resolved" + RESOLVED +} + +"The metadata associated to the resource" +type ResourceMetadata { + "The type of the resource" + type: String + + "The resource's metadata title" + title: String + + "The resource's metadata description" + description: String + + "The resource's metadata image" + imageRemoteUrl: String + + "The resource's metadata image width" + width: Int + + "The resource's metadata image height" + height: Int + + "The resource's author name" + authorName: String + + "The resource's author URL" + authorUrl: String + + "The resource's provider name" + providerName: String + + "The resource's provider URL" + providerUrl: String + + "The resource's author name" + html: String + + "The resource's favicon URL" + faviconUrl: String +} + +"Metadata about a participant" +type ParticipantMetadata { + "The eventual token to leave an event when user is anonymous" + cancellationToken: String + + "The eventual message the participant left" + message: String + + "The participant's locale" + locale: String +} + +"Instance anonymous participation with validation by captcha configuration" +type AnonymousParticipationValidationCaptcha { + "Whether anonymous participation validation by captcha is enabled" + enabled: Boolean +} + +"Instance anonymous event creation captcha validation configuration" +type AnonymousEventCreationValidationCaptcha { + "Whether anonymous event creation with validation by captcha is enabled" + enabled: Boolean +} + +"A todo" +type Todo { + "The todo's ID" + id: ID + + "The todo's title" + title: String + + "The todo's status" + status: Boolean + + "The todo's due date" + dueDate: DateTime + + "The todo's creator" + creator: Actor + + "The todo list this todo is attached to" + todoList: TodoList + + "The todos's assigned person" + assignedTo: Actor +} + +"Root subscription" +type RootSubscriptionType { + "Notify when a person's participation's status changed for an event" + eventPersonParticipationChanged("The person's ID" personId: ID!): Person + + "Notify when a person's membership's status changed for a group" + groupMembershipChanged("The person's ID" personId: ID!): Person + + "Notify when a discussion changed" + discussionCommentChanged("The discussion's slug" slug: String!): Discussion +} + +"Represents a deleted feed_token" +type DeletedFeedToken { + "The user that owned the deleted feed token" + user: DeletedObject + + "The actor that owned the deleted feed token" + actor: DeletedObject +} + +"Instance anonymous participation validation configuration" +type AnonymousParticipationValidation { + "The policy to validate anonymous participations by email" + email: AnonymousParticipationValidationEmail + + "The policy to validate anonymous participations by captcha" + captcha: AnonymousParticipationValidationCaptcha +} + +"The list of visibility options for a comment" +enum CommentVisibility { + "Publicly listed and federated. Can be shared." + PUBLIC + + "Visible only to people with the link - or invited" + UNLISTED + + "Visible only to people members of the group or followers of the person" + PRIVATE + + "Visible only after a moderator accepted" + MODERATED + + "visible only to people invited" + INVITE +} + +"The list of visibility options for an event" +enum EventVisibility { + "Publicly listed and federated. Can be shared." + PUBLIC + + "Visible only to people with the link - or invited" + UNLISTED + + "Visible only after a moderator accepted" + RESTRICTED + + "Visible only to people members of the group or followers of the person" + PRIVATE +} + +"The instance's auth configuration" +type Auth { + "Whether or not LDAP auth is enabled" + ldap: Boolean + + "List of oauth providers" + oauthProviders: [OauthProvider] +} + +"An action log" +type ActionLog { + "Internal ID for this comment" + id: ID + + "The actor that acted" + actor: Actor + + "The object that was acted upon" + object: ActionLogObject + + "The action that was done" + action: ActionLogAction + + "The time when the action was performed" + insertedAt: DateTime +} + +"The acceptable values for the instance's terms type" +enum InstanceTermsType { + "An URL. Users will be redirected to this URL." + URL + + "Terms will be set to Mobilizon's default terms" + DEFAULT + + "Custom terms text" + CUSTOM +} + +"A entity that can be interacted with from a remote instance" +interface Interactable { + "A public URL for the entity" + url: String +} + +"A struct containing the id of the deleted object" +type DeletedObject { + id: ID +} + +"A paginated list of comments" +type PaginatedCommentList { + "A list of comments" + elements: [Comment] + + "The total number of comments in the list" + total: Int +} + +"A paginated list of members" +type PaginatedMemberList { + "A list of members" + elements: [Member] + + "The total number of elements in the list" + total: Int +} + +"A post" +type Post { + "The post's ID" + id: ID + + "The post's title" + title: String + + "The post's slug" + slug: String + + "The post's body, as HTML" + body: String + + "The post's URL" + url: String + + "Whether the post is a draft" + draft: Boolean + + "The post's author" + author: Actor + + "The post's group" + attributedTo: Actor + + "The post's visibility" + visibility: PostVisibility + + "When the post was published" + publishAt: DateTime + + "The post's creation date" + insertedAt: DateTime + + "The post's last update date" + updatedAt: DateTime + + "The post's tags" + tags: [Tag] + + "The event's picture" + picture: Picture +} + +"A paginated list of events" +type PaginatedEventList { + "A list of events" + elements: [Event] + + "The total number of events in the list" + total: Int +} + +"Represents a deleted participant" +type DeletedParticipant { + "The participant ID" + id: ID + + "The participant's event" + event: DeletedObject + + "The participant's actor" + actor: DeletedObject +} + +"A paginated list of follower objects" +type PaginatedFollowerList { + "A list of followers" + elements: [Follower] + + "The total number of elements in the list" + total: Int +} + +"The list of possible options for the event's status" +enum EventStatus { + "The event is tentative" + TENTATIVE + + "The event is confirmed" + CONFIRMED + + "The event is cancelled" + CANCELLED +} + +"A statistics object" +type Statistics { + "The number of local users" + numberOfUsers: Int + + "The total number of events" + numberOfEvents: Int + + "The number of local events" + numberOfLocalEvents: Int + + "The total number of comments" + numberOfComments: Int + + "The number of local events" + numberOfLocalComments: Int + + "The total number of groups" + numberOfGroups: Int + + "The number of local groups" + numberOfLocalGroups: Int + + "The number of this instance's followers" + numberOfInstanceFollowers: Int + + "The number of instances this instance follows" + numberOfInstanceFollowings: Int +} + +"Search persons result" +type Persons { + "Total elements" + total: Int! + + "Person elements" + elements: [Person]! +} + +"An oAuth Provider" +type OauthProvider { + "The provider ID" + id: String + + "The label for the auth provider" + label: String +} + +"An ActivityPub actor" +interface Actor { + "Internal ID for this actor" + id: ID + + "The ActivityPub actor's URL" + url: String + + "The type of Actor (Person, Group,…)" + type: ActorType + + "The actor's displayed name" + name: String + + "The actor's domain if (null if it's this instance)" + domain: String + + "If the actor is from this instance" + local: Boolean + + "The actor's summary" + summary: String + + "The actor's preferred username" + preferredUsername: String + + "Whether the actors manually approves followers" + manuallyApprovesFollowers: Boolean + + "If the actor is suspended" + suspended: Boolean + + "The actor's avatar picture" + avatar: Picture + + "The actor's banner picture" + banner: Picture + + "List of followings" + following: [Follower] + + "List of followers" + followers: [Follower] + + "Number of followers for this actor" + followersCount: Int + + "Number of actors following this actor" + followingCount: Int +} + +"Instance anonymous event creation validation configuration" +type AnonymousEventCreationValidation { + "The policy to validate anonymous event creations by email" + email: AnonymousEventCreationValidationEmail + + "The policy to validate anonymous event creations by captcha" + captcha: AnonymousEventCreationValidationCaptcha +} + +"The list of possible options for the event's status" +enum EventCommentModeration { + "Anyone can comment under the event" + ALLOW_ALL + + "Every comment has to be moderated by the admin" + MODERATED + + "No one can comment except for the admin" + CLOSED +} + +"Represents a person identity" +type Person { + "Internal ID for this person" + id: ID + + "The user this actor is associated to" + user: User + + "The list of groups this person is member of" + memberOf: [Member] + + "The ActivityPub actor's URL" + url: String + + "The type of Actor (Person, Group,…)" + type: ActorType + + "The actor's displayed name" + name: String + + "The actor's domain if (null if it's this instance)" + domain: String + + "If the actor is from this instance" + local: Boolean + + "The actor's summary" + summary: String + + "The actor's preferred username" + preferredUsername: String + + "Whether the actors manually approves followers" + manuallyApprovesFollowers: Boolean + + "If the actor is suspended" + suspended: Boolean + + "The actor's avatar picture" + avatar: Picture + + "The actor's banner picture" + banner: Picture + + "List of followings" + following: [Follower] + + "List of followers" + followers: [Follower] + + "Number of followers for this actor" + followersCount: Int + + "Number of actors following this actor" + followingCount: Int + + "A list of the feed tokens for this person" + feedTokens: [FeedToken] + + "A list of the events this actor has organized" + organizedEvents( + "The page in the paginated event list" + page: Int + + "The limit of events per page" + limit: Int + ): PaginatedEventList + + "The list of events this person goes to" + participations( + eventId: ID + + "The page in the paginated participation list" + page: Int + + "The limit of participations per page" + limit: Int + ): PaginatedParticipantList + + "The list of group this person is member of" + memberships: PaginatedMemberList +} + +"Root Mutation" +type RootMutationType { + "Create an user" + createUser( + "The new user's email" + email: String! + + "The new user's password" + password: String! + + "The new user's locale" + locale: String + ): User + + "Validate an user after registration" + validateUser( + "The token that will be used to validate the user" + token: String! + ): Login + + "Resend registration confirmation token" + resendConfirmationEmail( + "The email used to register" + email: String! + + "The user's locale" + locale: String + ): String + + "Send a link through email to reset user password" + sendResetPassword( + "The user's email" + email: String! + + "The user's locale" + locale: String + ): String + + "Reset user password" + resetPassword( + "The user's token that will be used to reset the password" + token: String! + + "The new password" + password: String! + + "The user's locale" + locale: String + ): Login + + "Login an user" + login( + "The user's email" + email: String! + + "The user's password" + password: String! + ): Login + + "Refresh a token" + refreshToken("A refresh token" refreshToken: String!): RefreshedToken + + "Change default actor for user" + changeDefaultActor( + "The actor preferred_username" + preferredUsername: String! + ): User + + "Change an user password" + changePassword( + "The user's current password" + oldPassword: String! + + "The user's new password" + newPassword: String! + ): User + + "Change an user email" + changeEmail( + "The user's new email" + email: String! + + "The user's current password" + password: String! + ): User + + "Validate an user email" + validateEmail( + "The token that will be used to validate the email change" + token: String! + ): User + + "Delete an account" + deleteAccount( + "The user's password" + password: String + + "The user's ID" + userId: ID + ): DeletedObject + + "Set user settings" + setUserSettings( + "The timezone for this user" + timezone: String + + "Whether this user will receive an email at the start of the day of an event." + notificationOnDay: Boolean + + "Whether this user will receive an weekly event recap" + notificationEachWeek: Boolean + + "Whether this user will receive a notification right before event" + notificationBeforeEvent: Boolean + + "When does the user receives a notification about new pending participations" + notificationPendingParticipation: NotificationPendingEnum + + "When does the user receives a notification about a new pending membership in one of the group they're admin for" + notificationPendingMembership: NotificationPendingEnum + ): UserSettings + + "Update the user's locale" + updateLocale("The user's new locale" locale: String): User + + "Create a new person for user" + createPerson( + "The username for the profile" + preferredUsername: String! + + "The displayed name for the new profile" + name: String + + "The summary for the new profile" + summary: String + + "The avatar for the profile, either as an object or directly the ID of an existing Picture" + avatar: PictureInput + + "The banner for the profile, either as an object or directly the ID of an existing Picture" + banner: PictureInput + ): Person + + "Update an identity" + updatePerson( + "The person's ID" + id: ID! + + "The displayed name for this profile" + name: String + + "The summary for this profile" + summary: String + + "The avatar for the profile, either as an object or directly the ID of an existing Picture" + avatar: PictureInput + + "The banner for the profile, either as an object or directly the ID of an existing Picture" + banner: PictureInput + ): Person + + "Delete an identity" + deletePerson("The person's ID" id: ID!): Person + + "Register a first profile on registration" + registerPerson( + "The username for the profile" + preferredUsername: String! + + "The displayed name for the new profile" + name: String + + "The summary for the new profile" + summary: String + + "The email from the user previously created" + email: String! + + "The avatar for the profile, either as an object or directly the ID of an existing Picture" + avatar: PictureInput + + "The banner for the profile, either as an object or directly the ID of an existing Picture" + banner: PictureInput + ): Person + + "Create a group" + createGroup( + "The name for the group" + preferredUsername: String! + + "The displayed name for the group" + name: String + + "The summary for the group" + summary: String + + "The visibility for the group" + visibility: GroupVisibility + + "The avatar for the group, either as an object or directly the ID of an existing Picture" + avatar: PictureInput + + "The banner for the group, either as an object or directly the ID of an existing Picture" + banner: PictureInput + + "The physical address for the group" + physicalAddress: AddressInput + ): Group + + "Update a group" + updateGroup( + "The group ID" + id: ID! + + "The displayed name for the group" + name: String + + "The summary for the group" + summary: String + + "The visibility for the group" + visibility: GroupVisibility + + "Whether the group can be join freely, with approval or is invite-only." + openness: Openness + + "The avatar for the group, either as an object or directly the ID of an existing Picture" + avatar: PictureInput + + "The banner for the group, either as an object or directly the ID of an existing Picture" + banner: PictureInput + + "The physical address for the group" + physicalAddress: AddressInput + ): Group + + "Delete a group" + deleteGroup("The group ID" groupId: ID!): DeletedObject + + "Create an event" + createEvent( + "The event's title" + title: String! + + "The event's description" + description: String! + + "Datetime for when the event begins" + beginsOn: DateTime! + + "Datetime for when the event ends" + endsOn: DateTime + + "Status of the event" + status: EventStatus + + "The event's visibility" + visibility: EventVisibility + + "The event's options to join" + joinOptions: EventJoinOptions + + "The list of tags associated to the event" + tags: [String] + + "The picture for the event, either as an object or directly the ID of an existing Picture" + picture: PictureInput + + "Datetime when the event was published" + publishAt: DateTime + + "Online address of the event" + onlineAddress: String + + "Phone address for the event" + phoneAddress: String + + "The event's organizer ID (as a person)" + organizerActorId: ID! + + "Who the event is attributed to ID (often a group)" + attributedToId: ID + + "The event's category" + category: String + + "The event's physical address" + physicalAddress: AddressInput + + "The event options" + options: EventOptionsInput + + "Whether or not the event is a draft" + draft: Boolean + + "The events contacts" + contacts: [Contact] + ): Event + + "Update an event" + updateEvent( + "The event's ID" + eventId: ID! + + "The event's title" + title: String + + "The event's description" + description: String + + "Datetime for when the event begins" + beginsOn: DateTime + + "Datetime for when the event ends" + endsOn: DateTime + + "Status of the event" + status: EventStatus + + "The event's visibility" + visibility: EventVisibility + + "The event's options to join" + joinOptions: EventJoinOptions + + "The list of tags associated to the event" + tags: [String] + + "The picture for the event, either as an object or directly the ID of an existing Picture" + picture: PictureInput + + "Online address of the event" + onlineAddress: String + + "Phone address for the event" + phoneAddress: String + + "The event's organizer ID (as a person)" + organizerActorId: ID + + "Who the event is attributed to ID (often a group)" + attributedToId: ID + + "The event's category" + category: String + + "The event's physical address" + physicalAddress: AddressInput + + "The event options" + options: EventOptionsInput + + "Whether or not the event is a draft" + draft: Boolean + + "The events contacts" + contacts: [Contact] + ): Event + + "Delete an event" + deleteEvent("The event ID to delete" eventId: ID!): DeletedObject + + "Create a comment" + createComment( + "The comment's body" + text: String! + + "The event under which this comment is" + eventId: ID! + + "The comment ID this one replies to" + inReplyToCommentId: ID + ): Comment + + "Update a comment" + updateComment( + "The comment updated body" + text: String! + + "The comment ID" + commentId: ID! + ): Comment + + "Delete a single comment" + deleteComment("The comment ID" commentId: ID!): Comment + + "Join an event" + joinEvent( + "The event ID that is joined" + eventId: ID! + + "The actor ID for the participant" + actorId: ID! + + "The anonymous participant's email" + email: String + + "The anonymous participant's message" + message: String + + "The anonymous participant's locale" + locale: String + ): Participant + + "Leave an event" + leaveEvent( + "The event ID the participant left" + eventId: ID! + + "The actor ID for the participant" + actorId: ID! + + "The anonymous participant participation token" + token: String + ): DeletedParticipant + + "Update a participation" + updateParticipation( + "The participant ID" + id: ID! + + "The participant new role" + role: ParticipantRoleEnum! + ): Participant + + "Confirm a participation" + confirmParticipation( + "The participation token" + confirmationToken: String! + ): Participant + + "Join a group" + joinGroup("The group ID" groupId: ID!): Member + + "Leave a group" + leaveGroup("The group ID" groupId: ID!): DeletedObject + + "Invite an actor to join the group" + inviteMember( + "The group ID" + groupId: ID! + + "The targeted person's federated username" + targetActorUsername: String! + ): Member + + "Accept an invitation to a group" + acceptInvitation("The member ID" id: ID!): Member + + "Reject an invitation to a group" + rejectInvitation("The member ID" id: ID!): Member + + updateMember( + "The member ID" + memberId: ID! + + "The new member role" + role: MemberRoleEnum! + ): Member + + "Remove a member from a group" + removeMember( + "The group ID" + groupId: ID! + + "The member ID" + memberId: ID! + ): Member + + "Create a Feed Token" + createFeedToken("The actor ID for the feed token" actorId: ID): FeedToken + + "Delete a feed token" + deleteFeedToken("The token to delete" token: String!): DeletedFeedToken + + "Upload a picture" + uploadPicture( + "The picture's name" + name: String! + + "The picture's alternative text" + alt: String + + "The picture file" + file: Upload! + ): Picture + + "Create a report" + createReport( + "The message sent with the report" + content: String + + "The actor's ID that is being reported" + reportedId: ID! + + "The event ID that is being reported" + eventId: ID + + "The comment ID that is being reported" + commentsIds: [ID] + + "Whether to forward the report to the original instance if the content is remote" + forward: Boolean + ): Report + + "Update a report" + updateReportStatus( + "The report's ID" + reportId: ID! + + "The report's new status" + status: ReportStatus! + ): Report + + "Create a note on a report" + createReportNote( + "The note's content" + content: String + + "The report's ID" + reportId: ID! + ): ReportNote + + "Delete a note on a report" + deleteReportNote("The note's ID" noteId: ID!): DeletedObject + + "Add a relay subscription" + addRelay("The relay hostname to add" address: String!): Follower + + "Delete a relay subscription" + removeRelay("The relay hostname to delete" address: String!): Follower + + "Accept a relay subscription" + acceptRelay("The accepted relay hostname" address: String!): Follower + + "Reject a relay subscription" + rejectRelay("The rejected relay hostname" address: String!): Follower + + "Save admin settings" + saveAdminSettings( + "The instance's name" + instanceName: String + + "The instance's description" + instanceDescription: String + + "The instance's long description" + instanceLongDescription: String + + "The instance's slogan" + instanceSlogan: String + + "The instance's contact details" + contact: String + + "The instance's terms body text" + instanceTerms: String + + "The instance's terms type" + instanceTermsType: InstanceTermsType + + "The instance's terms URL" + instanceTermsUrl: String + + "The instance's privacy policy body text" + instancePrivacyPolicy: String + + "The instance's privacy policy type" + instancePrivacyPolicyType: InstancePrivacyType + + "The instance's privacy policy URL" + instancePrivacyPolicyUrl: String + + "The instance's rules" + instanceRules: String + + "Whether the registrations are opened" + registrationsOpen: Boolean + + "The instance's languages" + instanceLanguages: [String] + ): AdminSettings + + "Create a todo list" + createTodoList( + "The todo list title" + title: String! + + "The group ID" + groupId: ID! + ): TodoList + + "Create a todo" + createTodo( + "The todo-list ID this todo is in" + todoListId: ID! + + "The todo title" + title: String! + + "The todo status" + status: Boolean + + "The todo due date" + dueDate: DateTime + + "The actor this todo is assigned to" + assignedToId: ID + ): Todo + + "Update a todo" + updateTodo( + "The todo ID" + id: ID! + + "The new todo-list ID" + todoListId: ID + + "The new todo title" + title: String + + "The new todo status" + status: Boolean + + "The new todo due date" + dueDate: DateTime + + "The new id of the actor this todo is assigned to" + assignedToId: ID + ): Todo + + "Create a discussion" + createDiscussion( + "The discussion's title" + title: String! + + "The discussion's first comment body" + text: String! + + "The discussion's group ID" + actorId: ID! + ): Discussion + + "Reply to a discussion" + replyToDiscussion( + "The discussion's ID" + discussionId: ID! + + "The discussion's reply body" + text: String! + ): Discussion + + "Update a discussion" + updateDiscussion( + "The updated discussion's title" + title: String! + + "The discussion's ID" + discussionId: ID! + ): Discussion + + "Delete a discussion" + deleteDiscussion("The discussion's ID" discussionId: ID!): Discussion + + "Create a resource" + createResource( + "The ID from the parent resource (folder) this resource is in" + parentId: ID + + "The group this resource belongs to" + actorId: ID! + + "This resource's title" + title: String! + + "This resource summary" + summary: String + + "This resource's own original URL" + resourceUrl: String + + "The type for this resource" + type: String + ): Resource + + "Update a resource" + updateResource( + "The resource ID" + id: ID! + + "The new resource title" + title: String + + "The new resource summary" + summary: String + + "The new resource parent ID (if the resource is moved)" + parentId: ID + + "The new resource URL" + resourceUrl: String + ): Resource + + "Delete a resource" + deleteResource("The resource ID" id: ID!): DeletedObject + + "Get a preview for a resource link" + previewResourceLink( + "The link to crawl to get of preview of" + resourceUrl: String! + ): ResourceMetadata + + "Create a post" + createPost( + "The ID from the group whose post is attributed to" + attributedToId: ID! + + "The post's title" + title: String! + + "The post's body" + body: String! + + "Whether the post is a draft" + draft: Boolean + + "The post's visibility" + visibility: PostVisibility + + "The post's publish date" + publishAt: DateTime + + "The list of tags associated to the post" + tags: [String] + + "The banner for the post, either as an object or directly the ID of an existing Picture" + picture: PictureInput + ): Post + + "Update a post" + updatePost( + "The post's ID" + id: ID! + + "The post's new title" + title: String + + "The post's new body" + body: String + + "The group the post is attributed to" + attributedToId: ID + + "Whether the post is a draft" + draft: Boolean + + "The post's visibility" + visibility: PostVisibility + + "The time when the posts is going to be or has been published" + publishAt: DateTime + + "The list of tags associated to the post" + tags: [String] + + "The banner for the post, either as an object or directly the ID of an existing Picture" + picture: PictureInput + ): Post + + "Delete a post" + deletePost("The post's ID" id: ID!): DeletedObject + + "Suspend an actor" + suspendProfile("The remote profile ID to suspend" id: ID!): DeletedObject + + "Unsuspend an actor" + unsuspendProfile("The remote profile ID to unsuspend" id: ID!): Actor + + "Refresh a profile" + refreshProfile("The remote profile ID to refresh" id: ID!): Actor +} + +"Instance anonymous event creation email validation configuration" +type AnonymousEventCreationValidationEmail { + "Whether anonymous event creation with email validation is enabled" + enabled: Boolean + + "Whether anonymous event creation with email validation is required" + confirmationRequired: Boolean +} + +"The instance's privacy policy configuration" +type Privacy { + "The instance's privacy policy URL" + url: String + + "The instance's privacy policy type" + type: InstancePrivacyType + + "The instance's privacy policy body text" + bodyHtml: String +} + +"Root Query" +type RootQueryType { + "Search persons" + searchPersons( + "Search term" + term: String + + "Result page" + page: Int + + "Results limit per page" + limit: Int + ): Persons + + "Search groups" + searchGroups( + "Search term" + term: String + + "A geohash for coordinates" + location: String + + "Radius around the location to search in" + radius: Float + + "Result page" + page: Int + + "Results limit per page" + limit: Int + ): Groups + + "Search events" + searchEvents( + term: String + + "A comma-separated string listing the tags" + tags: String + + "A geohash for coordinates" + location: String + + "Radius around the location to search in" + radius: Float + + "Result page" + page: Int + + "Results limit per page" + limit: Int + + "Filter events by their start date" + beginsOn: DateTime + + "Filter events by their end date" + endsOn: DateTime + ): Events + + "Interact with an URI" + interact("The URI for to interact with" uri: String!): Interactable + + "Get an user" + user(id: ID!): User + + "Get the current user" + loggedUser: User + + "List instance users" + users( + "Filter users by email" + email: String + + "The page in the paginated users list" + page: Int + + "The limit of users per page" + limit: Int + + "Sort column" + sort: SortableUserField + + "Sort direction" + direction: SortDirection + ): Users + + "Get the current actor for the logged-in user" + loggedPerson: Person + + "Get a person by its (federated) username" + fetchPerson( + "The person's federated username" + preferredUsername: String! + ): Person + + "Get a person by its ID" + person("The person ID" id: ID!): Person + + "Get the persons for an user" + identities: [Person] + + "List the profiles" + persons( + "Filter by username" + preferredUsername: String + + "Filter by name" + name: String + + "Filter by domain" + domain: String + + "Filter by profile being local or not" + local: Boolean + + "Filter by suspended status" + suspended: Boolean + + "The page in the paginated person list" + page: Int + + "The limit of persons per page" + limit: Int + ): PaginatedPersonList + + "Get all groups" + groups( + "Filter by username" + preferredUsername: String + + "Filter by name" + name: String + + "Filter by domain" + domain: String + + "Filter whether group is local or not" + local: Boolean + + "Filter by suspended status" + suspended: Boolean + + "The page in the paginated group list" + page: Int + + "The limit of groups per page" + limit: Int + ): PaginatedGroupList + + "Get a group by its ID" + getGroup("The group ID" id: ID!): Group + + "Get a group by its preferred username" + group( + "The group preferred_username, eventually containing their domain if remote" + preferredUsername: String! + ): Group + + "Get all events" + events( + "The page in the paginated event list" + page: Int + + "The limit of events per page" + limit: Int + ): [Event] + + "Get an event by uuid" + event("The event's UUID" uuid: UUID!): Event + + "Get replies for thread" + thread("The comment ID" id: ID!): [Comment] + + "Get the list of tags" + tags( + "The page in the paginated tags list" + page: Int + + "The limit of tags per page" + limit: Int + ): [Tag]! + + "Search for an address" + searchAddress( + query: String! + + "The user's locale. Geocoding backends will make use of this value." + locale: String + + "The page in the paginated search results list" + page: Int + + "The limit of search results per page" + limit: Int + ): [Address] + + "Reverse geocode coordinates" + reverseGeocode( + "Geographical longitude (using WGS 84)" + longitude: Float! + + "Geographical latitude (using WGS 84)" + latitude: Float! + + "Zoom level" + zoom: Int + + "The user's locale. Geocoding backends will make use of this value." + locale: String + ): [Address] + + "Get the instance config" + config: Config + + "Get a picture" + picture("The picture ID" id: String!): Picture + + "Get all reports" + reports( + "The page in the reports participations list" + page: Int + + "The limit of reports per page" + limit: Int + + "Filter reports by status" + status: ReportStatus + ): [Report] + + "Get a report by id" + report("The report ID" id: ID!): Report + + "Get the list of action logs" + actionLogs(page: Int, limit: Int): [ActionLog] + + "List the instance's supported languages" + languages( + "The user's locale. The list of languages will be translated with this locale" + codes: [String] + ): [Language] + + "Get dashboard information" + dashboard: Dashboard + + "Get admin settings" + adminSettings: AdminSettings + + "List the relay followers" + relayFollowers( + "The page in the paginated relay followers list" + page: Int + + "The limit of relay followers per page" + limit: Int + ): PaginatedFollowerList + + "List the relay followings" + relayFollowings( + "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: String + + "The sorting direction" + direction: String + ): PaginatedFollowerList + + "Get a todo list" + todoList("The todo-list ID" id: ID!): TodoList + + "Get a todo" + todo("The todo ID" id: ID!): Todo + + "Get a discussion" + discussion( + "The discussion's ID" + id: ID + + "The discussion's slug" + slug: String + ): Discussion + + "Get a resource" + resource( + "The path for the resource" + path: String! + + "The federated username for the group resource" + username: String! + ): Resource + + "Get a post" + post("The post's slug" slug: String!): Post + + "Get the instance statistics" + statistics: Statistics +} + +"The list of types an actor can be" +enum ActorType { + "An ActivityPub Person" + PERSON + + "An ActivityPub Application" + APPLICATION + + "An ActivityPub Group" + GROUP + + "An ActivityPub Organization" + ORGANIZATION + + "An ActivityPub Service" + SERVICE +} + +""" +The `Naive DateTime` scalar type represents a naive date and time without +timezone. The DateTime appears in a JSON response as an ISO8601 formatted +string. +""" +scalar NaiveDateTime + +""" +The `DateTime` scalar type represents a date and time in the UTC +timezone. The DateTime appears in a JSON response as an ISO8601 formatted +string, including UTC timezone ("Z"). The parsed date and time string will +be converted to UTC if there is an offset. +""" +scalar DateTime + +"The acceptable values for the instance privacy policy type" +enum InstancePrivacyType { + "An URL. Users will be redirected to this URL." + URL + + "Privacy policy will be set to Mobilizon's default privacy policy" + DEFAULT + + "Custom privacy policy text" + CUSTOM +} + +"A resource" +type Resource { + "The resource's ID" + id: ID + + "The resource's title" + title: String + + "The resource's summary" + summary: String + + "The resource's URL" + url: String + + "The resource's URL" + resourceUrl: String + + "The resource's metadata" + metadata: ResourceMetadata + + "The resource's creator" + creator: Actor + + "The resource's owner" + actor: Actor + + "The resource's creation date" + insertedAt: NaiveDateTime + + "The resource's last update date" + updatedAt: NaiveDateTime + + "The resource's type (if it's a folder)" + type: String + + "The resource's path" + path: String + + "The resource's parent" + parent: Resource + + "Children resources in folder" + children: PaginatedResourceList +} + +"Event options" +input EventOptionsInput { + "The maximum attendee capacity for this event" + maximumAttendeeCapacity: Int + + "The number of remaining seats for this event" + remainingAttendeeCapacity: Int + + "Whether or not to show the number of remaining seats for this event" + showRemainingAttendeeCapacity: Boolean + + "Whether or not to allow anonymous participation (if the server allows it)" + anonymousParticipation: Boolean + + "The list of offers to show for this event" + offers: [EventOfferInput] + + "The list of participation conditions to accept to join this event" + participationConditions: [EventParticipationConditionInput] + + "The list of special attendees" + attendees: [String] + + "The list of the event" + program: String + + "The policy on public comment moderation under the event" + commentModeration: EventCommentModeration + + "Whether or not to show the participation price" + showParticipationPrice: Boolean + + "Show event start time" + showStartTime: Boolean + + "Show event end time" + showEndTime: Boolean + + "Whether to show or hide the person organizer when event is organized by a group" + hideOrganizerWhenGroupEvent: Boolean +} + +"A report object" +type Report { + "The internal ID of the report" + id: ID + + "The comment the reporter added about this report" + content: String + + "Whether the report is still active" + status: ReportStatus + + "The URI of the report" + uri: String + + "The actor that is being reported" + reported: Actor + + "The actor that created the report" + reporter: Actor + + "The event that is being reported" + event: Event + + "The comments that are reported" + comments: [Comment] + + "The notes made on the event" + notes: [ReportNote] + + "When the report was created" + insertedAt: DateTime + + "When the report was updated" + updatedAt: DateTime +} + +"An event participation condition" +input EventParticipationConditionInput { + "The title for this condition" + title: String + + "The content for this condition" + content: String + + "The URL to access this condition" + url: String +} + +"A paginated list of participants" +type PaginatedParticipantList { + "A list of participants" + elements: [Participant] + + "The total number of participants in the list" + total: Int +} + +"A paginated list of todo-lists" +type PaginatedTodoListList { + "A list of todo lists" + elements: [TodoList] + + "The total number of todo lists in the list" + total: Int +} + +"An event" +type Event { + "Internal ID for this event" + id: ID + + "The Event UUID" + uuid: UUID + + "The ActivityPub Event URL" + url: String + + "Whether the event is local or not" + local: Boolean + + "The event's title" + title: String + + "The event's description's slug" + slug: String + + "The event's description" + description: String + + "Datetime for when the event begins" + beginsOn: DateTime + + "Datetime for when the event ends" + endsOn: DateTime + + "Status of the event" + status: EventStatus + + "The event's visibility" + visibility: EventVisibility + + "The event's visibility" + joinOptions: EventJoinOptions + + "The event's picture" + picture: Picture + + "When the event was published" + publishAt: DateTime + + "The event's physical address" + physicalAddress: Address + + "Online address of the event" + onlineAddress: String + + "Phone address for the event" + phoneAddress: String + + "The event's organizer (as a person)" + organizerActor: Actor + + "Who the event is attributed to (often a group)" + attributedTo: Actor + + "The event's tags" + tags: [Tag] + + "The event's category" + category: String + + "Whether or not the event is a draft" + draft: Boolean + + "Statistics on the event" + participantStats: ParticipantStats + + "The event's participants" + participants( + "The page in the paginated participants list" + page: Int + + "The limit of participants per page" + limit: Int + + "Filter by roles" + roles: String + ): PaginatedParticipantList + + "The events contacts" + contacts: [Actor] + + "Events related to this one" + relatedEvents: [Event] + + "The comments in reply to the event" + comments: [Comment] + + "When the event was last updated" + updatedAt: DateTime + + "When the event was created" + createdAt: DateTime + + "The event options" + options: EventOptions +} + +"An event offer" +input EventOfferInput { + "The price amount for this offer" + price: Float + + "The currency for this price offer" + priceCurrency: String + + "The URL to access to this offer" + url: String +} + +""" +The `Point` scalar type represents Point geographic information compliant string data, +represented as floats separated by a semi-colon. The geodetic system is WGS 84 +""" +scalar Point + +input AddressInput { + "The geocoordinates for the point where this address is" + geom: Point + + "The address's street name (with number)" + street: String + + "The address's locality" + locality: String + + "The address's postal code" + postalCode: String + + "The address's region" + region: String + + "The address's country" + country: String + + "The address's description" + description: String + + "The address's type" + type: String + + "The address's URL" + url: String + + "The address's ID" + id: ID + + "The address's original ID from the provider" + originId: String +} + +"Instance anonymous configuration" +type Anonymous { + "The instance's anonymous participation settings" + participation: AnonymousParticipation + + "The instance's anonymous event creation settings" + eventCreation: AnonymousEventCreation + + "The instance's anonymous reports setting" + reports: AnonymousReports + + "The actor ID that should be used to perform anonymous actions" + actorId: ID +} + +"Users list" +type Users { + "Total elements" + total: Int! + + "User elements" + elements: [User]! +} + +"The list of join options for an event" +enum EventJoinOptions { + "Anyone can join and is automatically accepted" + FREE + + "Manual acceptation" + RESTRICTED + + "Participants must be invited" + INVITE +} + +"Event options" +type EventOptions { + "The maximum attendee capacity for this event" + maximumAttendeeCapacity: Int + + "The number of remaining seats for this event" + remainingAttendeeCapacity: Int + + "Whether or not to show the number of remaining seats for this event" + showRemainingAttendeeCapacity: Boolean + + "Whether or not to allow anonymous participation (if the server allows it)" + anonymousParticipation: Boolean + + "The list of offers to show for this event" + offers: [EventOffer] + + "The list of participation conditions to accept to join this event" + participationConditions: [EventParticipationCondition] + + "The list of special attendees" + attendees: [String] + + "The list of the event" + program: String + + "The policy on public comment moderation under the event" + commentModeration: EventCommentModeration + + "Whether or not to show the participation price" + showParticipationPrice: Boolean + + "Show event start time" + showStartTime: Boolean + + "Show event end time" + showEndTime: Boolean + + "Whether to show or hide the person organizer when event is organized by a group" + hideOrganizerWhenGroupEvent: Boolean +} + +"A resource provider details" +type ResourceProvider { + "The resource provider's type" + type: String + + "The resource provider's endpoint" + endpoint: String + + "The resource provider's software" + software: String +} + +"An event offer" +type EventOffer { + "The price amount for this offer" + price: Float + + "The currency for this price offer" + priceCurrency: String + + "The URL to access to this offer" + url: String +} + +"Represents an actor's follower" +type Follower { + "What or who the profile follows" + targetActor: Actor + + "Which profile follows" + actor: Actor + + "Whether the follow has been approved by the target actor" + approved: Boolean + + "When the follow was created" + insertedAt: DateTime + + "When the follow was updated" + updatedAt: DateTime +} + +"A discussion" +type Discussion { + "Internal ID for this discussion" + id: ID + + "The title for this discussion" + title: String + + "The slug for the discussion" + slug: String + + "The last comment of the discussion" + lastComment: Comment + + "The comments for the discussion" + comments(page: Int, limit: Int): PaginatedCommentList + + "This discussions's creator" + creator: Person + + "This discussion's group" + actor: Actor + + "When was this discussion's created" + insertedAt: DateTime + + "When was this discussion's updated" + updatedAt: DateTime +} + +"The different types of action log actions" +enum ActionLogAction { + "The report was closed" + REPORT_UPDATE_CLOSED + + "The report was opened" + REPORT_UPDATE_OPENED + + "The report was resolved" + REPORT_UPDATE_RESOLVED + + "A note was created on a report" + NOTE_CREATION + + "A note was deleted on a report" + NOTE_DELETION + + "An event was deleted" + EVENT_DELETION + + "A comment was deleted" + COMMENT_DELETION + + "An event was updated" + EVENT_UPDATE + + "An actor was suspended" + ACTOR_SUSPENSION + + "An actor was unsuspended" + ACTOR_UNSUSPENSION + + "An user was deleted" + USER_DELETION +} + +"An event participation condition" +type EventParticipationCondition { + "The title for this condition" + title: String + + "The content for this condition" + content: String + + "The URL to access this condition" + url: String +} + +""" +Represents a feed token + +Feed tokens are tokens that are used to provide access to private feeds such as WebCal feed for all of your user's events, +or an Atom feed for just a profile. +""" +type FeedToken { + "The event which the actor participates in" + actor: Actor + + "The actor that participates to the event" + user: User + + "The role of this actor at this event" + token: String +} + +"Values for a member role" +enum MemberRoleEnum { + "The member needs to be approved by the group admins" + NOT_APPROVED + + "The member has been invited" + INVITED + + "Regular member" + MEMBER + + "The member is a moderator" + MODERATOR + + "The member is an administrator" + ADMINISTRATOR + + "The member was the creator of the group. Shouldn't be used." + CREATOR + + "The member has been rejected or excluded from the group" + REJECTED +} + +"Instance anonymous participation with validation by email configuration" +type AnonymousParticipationValidationEmail { + "Whether anonymous participation validation by email is enabled" + enabled: Boolean + + "Whether anonymous participation validation by email is required" + confirmationRequired: Boolean +} + +"The list of visibility options for a post" +enum PostVisibility { + "Publicly listed and federated. Can be shared." + PUBLIC + + "Visible only to people with the link" + UNLISTED + + "Visible only to people members of the group or followers of the person" + PRIVATE +} + +"The list of visibility options for a group" +enum GroupVisibility { + "Publicly listed and federated" + PUBLIC + + "Visible only to people with the link - or invited" + UNLISTED +} + +"Instance geocoding configuration" +type Geocoding { + "Whether autocomplete in address fields can be enabled" + autocomplete: Boolean + + "The geocoding provider" + provider: String +} + +"A report note object" +type ReportNote { + "The internal ID of the report note" + id: ID + + "The content of the note" + content: String + + "The moderator who added the note" + moderator: Actor + + "The report on which this note is added" + report: Report + + "When the report note was created" + insertedAt: DateTime +} + +"The types of Group that exist" +enum GroupType { + "A private group of persons" + GROUP + + "A public group of many actors" + COMMUNITY +} + +"A paginated list of persons" +type PaginatedPersonList { + "A list of persons" + elements: [Person] + + "The total number of persons in the list" + total: Int +} + +"A event contact" +input Contact { + "The Contact Actor ID" + id: String +} + +"An attached picture" +input PictureInputObject { + "The picture's name" + name: String! + + "The picture's alternative text" + alt: String + + "The picture file" + file: Upload! + + "The picture owner" + actorId: ID +} + +"Geographic coordinates" +type Lonlat { + "The coordinates longitude" + longitude: Float + + "The coordinates latitude" + latitude: Float +} + +"A paginated list of resources" +type PaginatedResourceList { + "A list of resources" + elements: [Resource] + + "The total number of resources in the list" + total: Int +} + +"Dashboard information" +type Dashboard { + "Last public event published" + lastPublicEventPublished: Event + + "Last public group created" + lastGroupCreated: Group + + "The number of local users" + numberOfUsers: Int + + "The number of local events" + numberOfEvents: Int + + "The number of local comments" + numberOfComments: Int + + "The number of local groups" + numberOfGroups: Int + + "The number of current opened reports" + numberOfReports: Int + + "The number of instance followers" + numberOfFollowers: Int + + "The number of instance followings" + numberOfFollowings: Int + + "The number of total confirmed participations to local events" + numberOfConfirmedParticipationsToLocalEvents: Int +} + +"A paginated list of todos" +type PaginatedTodoList { + "A list of todos" + elements: [Todo] + + "The total number of todos in the list" + total: Int +} + +"A paginated list of groups" +type PaginatedGroupList { + "A list of groups" + elements: [Group] + + "The total number of groups in the list" + total: Int +} + +"Instance tiles configuration" +type Tiles { + "The instance's tiles endpoint" + endpoint: String + + "The instance's tiles attribution text" + attribution: String +} + +"Describes how an actor is opened to follows" +enum Openness { + "The actor can only be followed by invitation" + INVITE_ONLY + + "The actor needs to accept the following before it's effective" + MODERATED + + "The actor is open to followings" + OPEN +} + +type Address { + "The geocoordinates for the point where this address is" + geom: Point + + "The address's street name (with number)" + street: String + + "The address's locality" + locality: String + + "The address's postal code" + postalCode: String + + "The address's region" + region: String + + "The address's country" + country: String + + "The address's description" + description: String + + "The address's type" + type: String + + "The address's URL" + url: String + + "The address's ID" + id: ID + + "The address's original ID from the provider" + originId: String +} + +"The instance's terms configuration" +type Terms { + "The instance's terms URL." + url: String + + "The instance's terms type" + type: InstanceTermsType + + "The instance's terms body text" + bodyHtml: String +} + +"Participation statistics" +type ParticipantStats { + "The number of approved participants" + going: Int + + "The number of not approved participants" + notApproved: Int + + "The number of not confirmed participants" + notConfirmed: Int + + "The number of rejected participants" + rejected: Int + + "The number of simple participants (excluding creators)" + participant: Int + + "The number of moderators" + moderator: Int + + "The number of administrators" + administrator: Int + + "The number of creators" + creator: Int +} + +"Admin settings" +type AdminSettings { + "The instance's name" + instanceName: String + + "The instance's description" + instanceDescription: String + + "The instance's long description" + instanceLongDescription: String + + "The instance's slogan" + instanceSlogan: String + + "The instance's contact details" + contact: String + + "The instance's terms body text" + instanceTerms: String + + "The instance's terms type" + instanceTermsType: InstanceTermsType + + "The instance's terms URL" + instanceTermsUrl: String + + "The instance's privacy policy body text" + instancePrivacyPolicy: String + + "The instance's privacy policy type" + instancePrivacyPolicyType: InstancePrivacyType + + "The instance's privacy policy URL" + instancePrivacyPolicyUrl: String + + "The instance's rules" + instanceRules: String + + "Whether the registrations are opened" + registrationsOpen: Boolean + + "The instance's languages" + instanceLanguages: [String] +} + +"The instance's features" +type Features { + "Whether groups are activated on this instance" + groups: Boolean + + "Whether event creation is allowed on this instance" + eventCreation: Boolean +} + +type UserSettings { + "The timezone for this user" + timezone: String + + "Whether this user will receive an email at the start of the day of an event." + notificationOnDay: Boolean + + "Whether this user will receive an weekly event recap" + notificationEachWeek: Boolean + + "Whether this user will receive a notification right before event" + notificationBeforeEvent: Boolean + + "When does the user receives a notification about new pending participations" + notificationPendingParticipation: NotificationPendingEnum + + "When does the user receives a notification about a new pending membership in one of the group they're admin for" + notificationPendingMembership: NotificationPendingEnum +} + +"Represents a member of a group" +type Member { + "The member's ID" + id: ID + + "Of which the profile is member" + parent: Group + + "Which profile is member of" + actor: Person + + "The role of this membership" + role: MemberRoleEnum + + "Who invited this member" + invitedBy: Person + + "When was this member created" + insertedAt: NaiveDateTime + + "When was this member updated" + updatedAt: NaiveDateTime +} + +"A local user of Mobilizon" +type User { + "The user's ID" + id: ID + + "The user's email" + email: String! + + "The user's list of profiles (identities)" + actors: [Person]! + + "The user's default actor" + defaultActor: Person + + "The datetime when the user was confirmed/activated" + confirmedAt: DateTime + + "The datetime the last activation/confirmation token was sent" + confirmationSentAt: DateTime + + "The account activation/confirmation token" + confirmationToken: String + + "The datetime last reset password email was sent" + resetPasswordSentAt: DateTime + + "The token sent when requesting password token" + resetPasswordToken: String + + "A list of the feed tokens for this user" + feedTokens: [FeedToken] + + "The role for the user" + role: UserRole + + "The user's locale" + locale: String + + "The user's login provider" + provider: String + + "Whether the user is disabled" + disabled: Boolean + + "The list of participations this user has" + participations( + "Filter participations by event start datetime" + afterDatetime: DateTime + + "Filter participations by event end datetime" + beforeDatetime: DateTime + + "The page in the paginated participations list" + page: Int + + "The limit of participations per page" + limit: Int + ): PaginatedParticipantList + + "The list of memberships for this user" + memberships( + "The page in the paginated memberships list" + page: Int + + "The limit of memberships per page" + limit: Int + ): PaginatedMemberList + + "The list of draft events this user has created" + drafts( + "The page in the paginated drafts events list" + page: Int + + "The limit of drafts events per page" + limit: Int + ): [Event] + + "The list of settings for this user" + settings: UserSettings + + "When the user previously signed-in" + lastSignInAt: DateTime + + "The IP adress the user previously sign-in with" + lastSignInIp: String + + "When the user currenlty signed-in" + currentSignInAt: DateTime + + "The IP adress the user's currently signed-in with" + currentSignInIp: String +} + +"Represents a group of actors" +type Group { + "Internal ID for this group" + id: ID + + "The ActivityPub actor's URL" + url: String + + "The type of Actor (Person, Group,…)" + type: ActorType + + "The actor's displayed name" + name: String + + "The actor's domain if (null if it's this instance)" + domain: String + + "If the actor is from this instance" + local: Boolean + + "The actor's summary" + summary: String + + "The actor's preferred username" + preferredUsername: String + + "Whether the actors manually approves followers" + manuallyApprovesFollowers: Boolean + + "Whether the group can be found and/or promoted" + visibility: GroupVisibility + + "If the actor is suspended" + suspended: Boolean + + "The actor's avatar picture" + avatar: Picture + + "The actor's banner picture" + banner: Picture + + "The type of the event's address" + physicalAddress: Address + + "List of followings" + following: [Follower] + + "List of followers" + followers: [Follower] + + "Number of followers for this actor" + followersCount: Int + + "Number of actors following this actor" + followingCount: Int + + "A list of the events this actor has organized" + organizedEvents( + "Filter events that begin after this datetime" + afterDatetime: DateTime + + "Filter events that begin before this datetime" + beforeDatetime: DateTime + + "The page in the paginated event list" + page: Int + + "The limit of events per page" + limit: Int + ): PaginatedEventList + + "A list of the discussions for this group" + discussions: PaginatedDiscussionList + + "The type of group : Group, Community,…" + types: GroupType + + "Whether the group is opened to all or has restricted access" + openness: Openness + + "A paginated list of group members" + members( + "The page in the paginated member list" + page: Int + + "The limit of members per page" + limit: Int + + "Filter members by their role" + roles: String + ): PaginatedMemberList + + "A paginated list of the resources this group has" + resources( + "The page in the paginated resource list" + page: Int + + "The limit of resources per page" + limit: Int + ): PaginatedResourceList + + "A paginated list of the posts this group has" + posts( + "The page in the paginated post list" + page: Int + + "The limit of posts per page" + limit: Int + ): PaginatedPostList + + "A paginated list of the todo lists this group has" + todoLists: PaginatedTodoListList +} diff --git a/js/src/components/Comment/Comment.vue b/js/src/components/Comment/Comment.vue index 5fd21f34c..825c81628 100644 --- a/js/src/components/Comment/Comment.vue +++ b/js/src/components/Comment/Comment.vue @@ -288,7 +288,6 @@ export default class Comment extends Vue { mutation: CREATE_REPORT, variables: { eventId: this.event.id, - reporterId: this.currentActor.id, reportedId: this.comment.actor.id, commentsIds: [this.comment.id], content, diff --git a/js/src/components/Comment/CommentTree.vue b/js/src/components/Comment/CommentTree.vue index dabfca982..ab6ce3286 100644 --- a/js/src/components/Comment/CommentTree.vue +++ b/js/src/components/Comment/CommentTree.vue @@ -112,7 +112,6 @@ export default class CommentTree extends Vue { mutation: CREATE_COMMENT_FROM_EVENT, variables: { eventId: this.event.id, - actorId: comment.actor.id, text: comment.text, inReplyToCommentId: comment.inReplyToComment ? comment.inReplyToComment.id : null, }, @@ -204,7 +203,6 @@ export default class CommentTree extends Vue { mutation: DELETE_COMMENT, variables: { commentId: comment.id, - actorId: this.currentActor.id, }, update: (store, { data }) => { if (data == null) return; diff --git a/js/src/components/Editor.vue b/js/src/components/Editor.vue index c162e4564..b17fd5089 100644 --- a/js/src/components/Editor.vue +++ b/js/src/components/Editor.vue @@ -530,7 +530,6 @@ export default class EditorComponent extends Vue { variables: { file: image, name: image.name, - actorId: this.currentActor.id, }, }); if (data.uploadPicture && data.uploadPicture.url) { diff --git a/js/src/components/Editor/Image.ts b/js/src/components/Editor/Image.ts index 8f9649ee2..83f984a05 100644 --- a/js/src/components/Editor/Image.ts +++ b/js/src/components/Editor/Image.ts @@ -88,15 +88,12 @@ export default class Image extends Node { }); if (!coordinates) return false; const client = apolloProvider.defaultClient as ApolloClient; - const editorElem = document.getElementById("tiptab-editor"); - const actorId = editorElem && editorElem.dataset.actorId; try { images.forEach(async (image) => { const { data } = await client.mutate({ mutation: UPLOAD_PICTURE, variables: { - actorId, file: image, name: image.name, }, diff --git a/js/src/components/Event/EventListCard.vue b/js/src/components/Event/EventListCard.vue index 81cb5d061..780bd96f0 100644 --- a/js/src/components/Event/EventListCard.vue +++ b/js/src/components/Event/EventListCard.vue @@ -246,7 +246,7 @@ export default class EventListCard extends mixins(ActorMixin, EventMixin) { async openDeleteEventModalWrapper(): Promise { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - await this.openDeleteEventModal(this.participation.event, this.currentActor); + await this.openDeleteEventModal(this.participation.event); } async gotToWithCheck(participation: IParticipant, route: RawLocation): Promise { diff --git a/js/src/components/Participation/ParticipationWithoutAccount.vue b/js/src/components/Participation/ParticipationWithoutAccount.vue index 512119a0a..3f6c67830 100644 --- a/js/src/components/Participation/ParticipationWithoutAccount.vue +++ b/js/src/components/Participation/ParticipationWithoutAccount.vue @@ -127,7 +127,6 @@ export default class ParticipationWithoutAccount extends Vue { mutation: JOIN_EVENT, variables: { eventId: this.event.id, - actorId: this.config.anonymous.actorId, email: this.anonymousParticipation.email, message: this.anonymousParticipation.message, locale: this.$i18n.locale, diff --git a/js/src/graphql/comment.ts b/js/src/graphql/comment.ts index 4f4985660..f0ce0c920 100644 --- a/js/src/graphql/comment.ts +++ b/js/src/graphql/comment.ts @@ -68,18 +68,8 @@ export const COMMENTS_THREADS = gql` `; export const CREATE_COMMENT_FROM_EVENT = gql` - mutation CreateCommentFromEvent( - $eventId: ID! - $actorId: ID! - $text: String! - $inReplyToCommentId: ID - ) { - createComment( - eventId: $eventId - actorId: $actorId - text: $text - inReplyToCommentId: $inReplyToCommentId - ) { + mutation CreateCommentFromEvent($eventId: ID!, $text: String!, $inReplyToCommentId: ID) { + createComment(eventId: $eventId, text: $text, inReplyToCommentId: $inReplyToCommentId) { ...CommentRecursive } } diff --git a/js/src/graphql/discussion.ts b/js/src/graphql/discussion.ts index c30a36b2a..ea3093b25 100644 --- a/js/src/graphql/discussion.ts +++ b/js/src/graphql/discussion.ts @@ -84,8 +84,8 @@ export const DISCUSSION_FIELDS_FRAGMENT = gql` `; export const CREATE_DISCUSSION = gql` - mutation createDiscussion($title: String!, $creatorId: ID!, $actorId: ID!, $text: String!) { - createDiscussion(title: $title, text: $text, creatorId: $creatorId, actorId: $actorId) { + mutation createDiscussion($title: String!, $actorId: ID!, $text: String!) { + createDiscussion(title: $title, text: $text, actorId: $actorId) { ...DiscussionFields } } diff --git a/js/src/graphql/event.ts b/js/src/graphql/event.ts index 924a58d5c..fe70026c4 100644 --- a/js/src/graphql/event.ts +++ b/js/src/graphql/event.ts @@ -498,8 +498,8 @@ export const CONFIRM_PARTICIPATION = gql` `; export const UPDATE_PARTICIPANT = gql` - mutation AcceptParticipant($id: ID!, $moderatorActorId: ID!, $role: ParticipantRoleEnum!) { - updateParticipation(id: $id, moderatorActorId: $moderatorActorId, role: $role) { + mutation UpdateParticipant($id: ID!, $role: ParticipantRoleEnum!) { + updateParticipation(id: $id, role: $role) { role id } @@ -507,20 +507,20 @@ export const UPDATE_PARTICIPANT = gql` `; export const DELETE_EVENT = gql` - mutation DeleteEvent($eventId: ID!, $actorId: ID!) { - deleteEvent(eventId: $eventId, actorId: $actorId) { + mutation DeleteEvent($eventId: ID!) { + deleteEvent(eventId: $eventId) { id } } `; export const PARTICIPANTS = gql` - query($uuid: UUID!, $page: Int, $limit: Int, $roles: String, $actorId: ID!) { + query($uuid: UUID!, $page: Int, $limit: Int, $roles: String) { event(uuid: $uuid) { id, uuid, title, - participants(page: $page, limit: $limit, roles: $roles, actorId: $actorId) { + participants(page: $page, limit: $limit, roles: $roles) { ${participantsQuery} }, participantStats { diff --git a/js/src/graphql/group.ts b/js/src/graphql/group.ts index 51d848298..4815d5e4b 100644 --- a/js/src/graphql/group.ts +++ b/js/src/graphql/group.ts @@ -223,7 +223,6 @@ export const GET_GROUP = gql` export const CREATE_GROUP = gql` mutation CreateGroup( - $creatorActorId: ID! $preferredUsername: String! $name: String! $summary: String @@ -231,7 +230,6 @@ export const CREATE_GROUP = gql` $banner: PictureInput ) { createGroup( - creatorActorId: $creatorActorId preferredUsername: $preferredUsername name: $name summary: $summary diff --git a/js/src/graphql/report.ts b/js/src/graphql/report.ts index 0b69a5517..6ab8ebfcf 100644 --- a/js/src/graphql/report.ts +++ b/js/src/graphql/report.ts @@ -121,7 +121,6 @@ export const REPORT = gql` export const CREATE_REPORT = gql` mutation CreateReport( $eventId: ID - $reporterId: ID! $reportedId: ID! $content: String $commentsIds: [ID] @@ -129,7 +128,6 @@ export const CREATE_REPORT = gql` ) { createReport( eventId: $eventId - reporterId: $reporterId reportedId: $reportedId content: $content commentsIds: $commentsIds @@ -141,8 +139,8 @@ export const CREATE_REPORT = gql` `; export const UPDATE_REPORT = gql` - mutation UpdateReport($reportId: ID!, $moderatorId: ID!, $status: ReportStatus!) { - updateReportStatus(reportId: $reportId, moderatorId: $moderatorId, status: $status) { + mutation UpdateReport($reportId: ID!, $status: ReportStatus!) { + updateReportStatus(reportId: $reportId, status: $status) { ...ReportFragment } } @@ -150,8 +148,8 @@ export const UPDATE_REPORT = gql` `; export const CREATE_REPORT_NOTE = gql` - mutation CreateReportNote($reportId: ID!, $moderatorId: ID!, $content: String!) { - createReportNote(reportId: $reportId, moderatorId: $moderatorId, content: $content) { + mutation CreateReportNote($reportId: ID!, $content: String!) { + createReportNote(reportId: $reportId, content: $content) { id content insertedAt diff --git a/js/src/graphql/upload.ts b/js/src/graphql/upload.ts index 9b7dd8a66..b1d1cafb9 100644 --- a/js/src/graphql/upload.ts +++ b/js/src/graphql/upload.ts @@ -2,8 +2,8 @@ import gql from "graphql-tag"; /* eslint-disable import/prefer-default-export */ export const UPLOAD_PICTURE = gql` - mutation UploadPicture($file: Upload!, $alt: String, $name: String!, $actorId: ID!) { - uploadPicture(file: $file, alt: $alt, name: $name, actorId: $actorId) { + mutation UploadPicture($file: Upload!, $alt: String, $name: String!) { + uploadPicture(file: $file, alt: $alt, name: $name) { url id } diff --git a/js/src/mixins/event.ts b/js/src/mixins/event.ts index d6056dda8..8bcf9d659 100644 --- a/js/src/mixins/event.ts +++ b/js/src/mixins/event.ts @@ -90,7 +90,7 @@ export default class EventMixin extends mixins(Vue) { this.$notifier.success(this.$t("You have cancelled your participation") as string); } - protected async openDeleteEventModal(event: IEvent, currentActor: IPerson): Promise { + protected async openDeleteEventModal(event: IEvent): Promise { function escapeRegExp(string: string) { return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string } @@ -115,11 +115,11 @@ export default class EventMixin extends mixins(Vue) { placeholder: event.title, pattern: escapeRegExp(event.title), }, - onConfirm: () => this.deleteEvent(event, currentActor), + onConfirm: () => this.deleteEvent(event), }); } - private async deleteEvent(event: IEvent, currentActor: IPerson) { + private async deleteEvent(event: IEvent) { const eventTitle = event.title; try { @@ -127,7 +127,6 @@ export default class EventMixin extends mixins(Vue) { mutation: DELETE_EVENT, variables: { eventId: event.id, - actorId: currentActor.id, }, }); /** diff --git a/js/src/views/Discussions/Create.vue b/js/src/views/Discussions/Create.vue index a7f6424d0..be35210bd 100644 --- a/js/src/views/Discussions/Create.vue +++ b/js/src/views/Discussions/Create.vue @@ -70,7 +70,6 @@ export default class CreateDiscussion extends Vue { title: this.discussion.title, text: this.discussion.text, actorId: parseInt(this.group.id, 10), - creatorId: parseInt(this.currentActor.id, 10), }, }); diff --git a/js/src/views/Event/Event.vue b/js/src/views/Event/Event.vue index 2ef739fec..8e7f63592 100644 --- a/js/src/views/Event/Event.vue +++ b/js/src/views/Event/Event.vue @@ -761,7 +761,7 @@ export default class Event extends EventMixin { * Delete the event, then redirect to home. */ async openDeleteEventModalWrapper(): Promise { - await this.openDeleteEventModal(this.event, this.currentActor); + await this.openDeleteEventModal(this.event); } async reportEvent(content: string, forward: boolean): Promise { @@ -771,19 +771,12 @@ export default class Event extends EventMixin { this.$refs.reportModal.close(); if (!this.event.organizerActor) return; const eventTitle = this.event.title; - let reporterId = null; - if (this.currentActor.id) { - reporterId = this.currentActor.id; - } else if (this.config.anonymous.reports.allowed) { - reporterId = this.config.anonymous.actorId; - } - if (!reporterId) return; + try { await this.$apollo.mutate({ mutation: CREATE_REPORT, variables: { eventId: this.event.id, - reporterId, reportedId: this.actorForReport ? this.actorForReport.id : null, content, forward, @@ -808,7 +801,6 @@ export default class Event extends EventMixin { mutation: JOIN_EVENT, variables: { eventId: this.event.id, - actorId: identity.id, message, }, update: (store, { data }) => { diff --git a/js/src/views/Event/Participants.vue b/js/src/views/Event/Participants.vue index a529bfe62..2bd7dcddf 100644 --- a/js/src/views/Event/Participants.vue +++ b/js/src/views/Event/Participants.vue @@ -214,7 +214,6 @@ const MESSAGE_ELLIPSIS_LENGTH = 130; page: 1, limit: PARTICIPANTS_PER_PAGE, roles: this.roles, - actorId: this.currentActor.id, }; }, skip() { @@ -298,7 +297,6 @@ export default class Participants extends Vue { mutation: UPDATE_PARTICIPANT, variables: { id: participant.id, - moderatorActorId: this.currentActor.id, role: ParticipantRole.PARTICIPANT, }, }); @@ -313,7 +311,6 @@ export default class Participants extends Vue { mutation: UPDATE_PARTICIPANT, variables: { id: participant.id, - moderatorActorId: this.currentActor.id, role: ParticipantRole.REJECTED, }, }); diff --git a/js/src/views/Group/Create.vue b/js/src/views/Group/Create.vue index b6ae99f40..4acdacdac 100644 --- a/js/src/views/Group/Create.vue +++ b/js/src/views/Group/Create.vue @@ -178,15 +178,10 @@ export default class CreateGroup extends mixins(IdentityEditionMixin) { }; } - const currentActor = { - creatorActorId: this.currentActor.id, - }; - return { ...this.group, ...avatarObj, ...bannerObj, - ...currentActor, }; } diff --git a/js/src/views/Group/Group.vue b/js/src/views/Group/Group.vue index 8d89e2721..ddf687f55 100644 --- a/js/src/views/Group/Group.vue +++ b/js/src/views/Group/Group.vue @@ -481,18 +481,10 @@ export default class Group extends mixins(GroupMixin) { // @ts-ignore this.$refs.reportModal.close(); const groupTitle = this.group.name || usernameWithDomain(this.group); - let reporterId = null; - if (this.currentActor.id) { - reporterId = this.currentActor.id; - } else if (this.config.anonymous.reports.allowed) { - reporterId = this.config.anonymous.actorId; - } - if (!reporterId) return; try { await this.$apollo.mutate({ mutation: CREATE_REPORT, variables: { - reporterId, reportedId: this.group.id, content, forward, diff --git a/js/src/views/Moderation/Report.vue b/js/src/views/Moderation/Report.vue index 94c3b4f4e..c2dacf34e 100644 --- a/js/src/views/Moderation/Report.vue +++ b/js/src/views/Moderation/Report.vue @@ -303,7 +303,6 @@ export default class Report extends Vue { mutation: CREATE_REPORT_NOTE, variables: { reportId: this.report.id, - moderatorId: this.currentActor.id, content: this.noteContent, }, update: (store, { data }) => { @@ -372,7 +371,6 @@ export default class Report extends Vue { mutation: DELETE_EVENT, variables: { eventId: this.report.event.id.toString(), - actorId: this.currentActor.id, }, }); @@ -395,7 +393,6 @@ export default class Report extends Vue { mutation: DELETE_COMMENT, variables: { commentId: comment.id, - actorId: this.currentActor.id, }, }); this.$notifier.success(this.$t("Comment deleted") as string); @@ -410,7 +407,6 @@ export default class Report extends Vue { mutation: UPDATE_REPORT, variables: { reportId: this.report.id, - moderatorId: this.currentActor.id, status, }, update: (store, { data }) => { diff --git a/js/src/views/User/EmailValidate.vue b/js/src/views/User/EmailValidate.vue index 419590e45..9ebd80620 100644 --- a/js/src/views/User/EmailValidate.vue +++ b/js/src/views/User/EmailValidate.vue @@ -30,11 +30,11 @@ export default class Validate extends Vue { failed = false; - async created() { + async created(): Promise { await this.validateAction(); } - async validateAction() { + async validateAction(): Promise { try { await this.$apollo.mutate<{ validateEmail: ICurrentUser }>({ mutation: VALIDATE_EMAIL, @@ -43,11 +43,10 @@ export default class Validate extends Vue { }, }); this.loading = false; - return await this.$router.push({ name: RouteName.HOME }); + await this.$router.push({ name: RouteName.HOME }); } catch (err) { console.error(err); this.failed = true; - return undefined; } } } diff --git a/js/tsconfig.json b/js/tsconfig.json index 692d8f578..cf0ed0c7f 100644 --- a/js/tsconfig.json +++ b/js/tsconfig.json @@ -13,7 +13,7 @@ "resolveJsonModule": true, "sourceMap": true, "baseUrl": ".", - "types": ["webpack-env", "mocha", "chai"], + "types": ["webpack-env"], "typeRoots": ["./@types", "./node_modules/@types"], "paths": { "@/*": ["src/*"] diff --git a/lib/graphql/api/groups.ex b/lib/graphql/api/groups.ex index e92a5f3d5..c8c9a1658 100644 --- a/lib/graphql/api/groups.ex +++ b/lib/graphql/api/groups.ex @@ -26,9 +26,6 @@ defmodule Mobilizon.GraphQL.API.Groups do else {:existing_group, _} -> {:error, "A group with this name already exists"} - - {:is_owned, nil} -> - {:error, "Profile is not owned by authenticated user"} end end @@ -42,9 +39,6 @@ defmodule Mobilizon.GraphQL.API.Groups do else {:existing_group, _} -> {:error, "A group with this name already exists"} - - {:is_owned, nil} -> - {:error, "Profile is not owned by authenticated user"} end end end diff --git a/lib/graphql/resolvers/comment.ex b/lib/graphql/resolvers/comment.ex index d374f054a..ef9899dd4 100644 --- a/lib/graphql/resolvers/comment.ex +++ b/lib/graphql/resolvers/comment.ex @@ -3,11 +3,10 @@ defmodule Mobilizon.GraphQL.Resolvers.Comment do Handles the comment-related GraphQL calls. """ - alias Mobilizon.{Actors, Admin, Discussions, Events} + alias Mobilizon.{Actors, Admin, Discussions, Events, Users} alias Mobilizon.Actors.Actor alias Mobilizon.Discussions.Comment, as: CommentModel alias Mobilizon.Events.{Event, EventOptions} - alias Mobilizon.Users alias Mobilizon.Users.User import Mobilizon.Web.Gettext @@ -21,14 +20,14 @@ defmodule Mobilizon.GraphQL.Resolvers.Comment do def create_comment( _parent, - %{actor_id: actor_id, event_id: event_id} = args, + %{event_id: event_id} = args, %{ context: %{ current_user: %User{} = user } } ) do - with {:is_owned, %Actor{} = _organizer_actor} <- User.owns_actor(user, actor_id), + with %Actor{id: actor_id} <- Users.get_actor_for_user(user), {:find_event, {:ok, %Event{ @@ -36,18 +35,15 @@ defmodule Mobilizon.GraphQL.Resolvers.Comment do organizer_actor_id: organizer_actor_id }}} <- {:find_event, Events.get_event(event_id)}, - {actor_id, ""} <- Integer.parse(actor_id), {:allowed, true} <- {:allowed, comment_moderation != :closed || actor_id == organizer_actor_id}, + args <- Map.put(args, :actor_id, actor_id), {:ok, _, %CommentModel{} = comment} <- Comments.create_comment(args) do {:ok, comment} else {:allowed, false} -> {:error, :unauthorized} - - {:is_owned, nil} -> - {:error, dgettext("errors", "Profile is not owned by authenticated user")} end end @@ -107,9 +103,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Comment do else %CommentModel{deleted_at: deleted_at} when not is_nil(deleted_at) -> {:error, dgettext("errors", "Comment is already deleted")} - - {:is_owned, nil} -> - {:error, dgettext("errors", "Profile is not owned by authenticated user")} end end diff --git a/lib/graphql/resolvers/discussion.ex b/lib/graphql/resolvers/discussion.ex index 57640b3b7..2ed685d4a 100644 --- a/lib/graphql/resolvers/discussion.ex +++ b/lib/graphql/resolvers/discussion.ex @@ -62,6 +62,15 @@ defmodule Mobilizon.GraphQL.Resolvers.Discussion do end end + def get_discussion(_parent, _args, %{ + context: %{ + current_user: %User{} = _user + } + }), + do: + {:error, + dgettext("errors", "You must provide either an ID or a slug to access a discussion")} + def get_discussion(_parent, _args, _resolution), do: {:error, dgettext("errors", "You need to be logged-in to access discussions")} diff --git a/lib/graphql/resolvers/event.ex b/lib/graphql/resolvers/event.ex index 675ba6ca7..032a9ee20 100644 --- a/lib/graphql/resolvers/event.ex +++ b/lib/graphql/resolvers/event.ex @@ -3,7 +3,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do Handles the event-related GraphQL calls. """ - alias Mobilizon.{Actors, Admin, Events} + alias Mobilizon.{Actors, Admin, Events, Users} alias Mobilizon.Actors.Actor alias Mobilizon.Config alias Mobilizon.Events.{Event, EventParticipantStats} @@ -74,10 +74,10 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do """ def list_participants_for_event( %Event{id: event_id}, - %{page: page, limit: limit, roles: roles, actor_id: actor_id}, + %{page: page, limit: limit, roles: roles}, %{context: %{current_user: %User{} = user}} = _resolution ) do - with {:is_owned, %Actor{} = _actor} <- User.owns_actor(user, actor_id), + with %Actor{id: actor_id} <- Users.get_actor_for_user(user), # Check that moderator has right {:actor_approve_permission, true} <- {:actor_approve_permission, Events.moderator_for_event?(event_id, actor_id)} do @@ -96,9 +96,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do participants = Events.list_participants_for_event(event_id, roles, page, limit) {:ok, participants} else - {:is_owned, nil} -> - {:error, dgettext("errors", "Moderator profile is not owned by authenticated user")} - {:actor_approve_permission, _} -> {:error, dgettext("errors", "Provided moderator profile doesn't have permission on this event")} @@ -191,8 +188,8 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do %{context: %{current_user: user}} = _resolution ) do # See https://github.com/absinthe-graphql/absinthe/issues/490 - with args <- Map.put(args, :options, args[:options] || %{}), - {:is_owned, %Actor{} = organizer_actor} <- User.owns_actor(user, organizer_actor_id), + with {:is_owned, %Actor{} = organizer_actor} <- User.owns_actor(user, organizer_actor_id), + args <- Map.put(args, :options, args[:options] || %{}), args_with_organizer <- Map.put(args, :organizer_actor, organizer_actor), {:ok, %Activity{data: %{"object" => %{"type" => "Event"}}}, %Event{} = event} <- API.Events.create_event(args_with_organizer) do @@ -257,12 +254,11 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do """ def delete_event( _parent, - %{event_id: event_id, actor_id: actor_id}, + %{event_id: event_id}, %{context: %{current_user: %User{role: role} = user}} ) do with {:ok, %Event{local: is_local} = event} <- Events.get_event_with_preload(event_id), - {actor_id, ""} <- Integer.parse(actor_id), - {:is_owned, %Actor{} = actor} <- User.owns_actor(user, actor_id) do + %Actor{id: actor_id} = actor <- Users.get_actor_for_user(user) do cond do {:event_can_be_managed, true} == Event.can_be_managed_by(event, actor_id) -> do_delete_event(event, actor) @@ -281,9 +277,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do else {:error, :event_not_found} -> {:error, dgettext("errors", "Event not found")} - - {:is_owned, nil} -> - {:error, dgettext("errors", "Profile is not owned by authenticated user")} end end diff --git a/lib/graphql/resolvers/group.ex b/lib/graphql/resolvers/group.ex index 55b5a4483..877fef2e8 100644 --- a/lib/graphql/resolvers/group.ex +++ b/lib/graphql/resolvers/group.ex @@ -121,10 +121,10 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do } } ) do - with creator_actor_id <- Map.get(args, :creator_actor_id), - {:is_owned, %Actor{} = creator_actor} <- User.owns_actor(user, creator_actor_id), + with %Actor{id: creator_actor_id} = creator_actor <- Users.get_actor_for_user(user), args <- Map.update(args, :preferred_username, "", &String.downcase/1), args <- Map.put(args, :creator_actor, creator_actor), + args <- Map.put(args, :creator_actor_id, creator_actor_id), args <- save_attached_pictures(args), {:ok, _activity, %Actor{type: :Group} = group} <- API.Groups.create_group(args) do @@ -132,9 +132,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do else {:error, err} when is_binary(err) -> {:error, err} - - {:is_owned, nil} -> - {:error, dgettext("errors", "Creator profile is not owned by the current user")} end end diff --git a/lib/graphql/resolvers/member.ex b/lib/graphql/resolvers/member.ex index 19bfdb5b9..3e20194a9 100644 --- a/lib/graphql/resolvers/member.ex +++ b/lib/graphql/resolvers/member.ex @@ -76,9 +76,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do {:ok, _activity, %Member{} = member} <- ActivityPub.invite(group, actor, target_actor) do {:ok, member} else - {:is_owned, nil} -> - {:error, dgettext("errors", "Profile is not owned by authenticated user")} - {:error, :group_not_found} -> {:error, dgettext("errors", "Group not found")} diff --git a/lib/graphql/resolvers/participant.ex b/lib/graphql/resolvers/participant.ex index efd16c5e8..89f60bac6 100644 --- a/lib/graphql/resolvers/participant.ex +++ b/lib/graphql/resolvers/participant.ex @@ -2,7 +2,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Participant do @moduledoc """ Handles the participation-related GraphQL calls. """ - alias Mobilizon.{Actors, Config, Crypto, Events} + alias Mobilizon.{Actors, Config, Crypto, Events, Users} alias Mobilizon.Actors.Actor alias Mobilizon.Events.{Event, Participant} alias Mobilizon.GraphQL.API.Participations @@ -206,7 +206,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Participant do def update_participation( _parent, - %{id: participation_id, moderator_actor_id: moderator_actor_id, role: new_role}, + %{id: participation_id, role: new_role}, %{ context: %{ current_user: user @@ -214,7 +214,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Participant do } ) do # Check that moderator provided is rightly authenticated - with {:is_owned, moderator_actor} <- User.owns_actor(user, moderator_actor_id), + with %Actor{id: moderator_actor_id} = moderator_actor <- Users.get_actor_for_user(user), # Check that participation already exists {:has_participation, %Participant{role: old_role} = participation} <- {:has_participation, Events.get_participant(participation_id)}, @@ -227,9 +227,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Participant do Participations.update(participation, moderator_actor, new_role) do {:ok, participation} else - {:is_owned, nil} -> - {:error, dgettext("errors", "Moderator profile is not owned by authenticated user")} - {:has_participation, nil} -> {:error, dgettext("errors", "Participant not found")} diff --git a/lib/graphql/resolvers/person.ex b/lib/graphql/resolvers/person.ex index d3e7b05ce..94ca46547 100644 --- a/lib/graphql/resolvers/person.ex +++ b/lib/graphql/resolvers/person.ex @@ -5,12 +5,10 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do import Mobilizon.Users.Guards - alias Mobilizon.Actors + alias Mobilizon.{Actors, Events, Users} alias Mobilizon.Actors.Actor - alias Mobilizon.Events alias Mobilizon.Events.Participant alias Mobilizon.Storage.Page - alias Mobilizon.Users alias Mobilizon.Users.User import Mobilizon.Web.Gettext diff --git a/lib/graphql/resolvers/picture.ex b/lib/graphql/resolvers/picture.ex index 3e0602408..a5b26e13f 100644 --- a/lib/graphql/resolvers/picture.ex +++ b/lib/graphql/resolvers/picture.ex @@ -4,9 +4,8 @@ defmodule Mobilizon.GraphQL.Resolvers.Picture do """ alias Mobilizon.Actors.Actor - alias Mobilizon.Media + alias Mobilizon.{Media, Users} alias Mobilizon.Media.Picture - alias Mobilizon.Users.User import Mobilizon.Web.Gettext @doc """ @@ -46,10 +45,10 @@ defmodule Mobilizon.GraphQL.Resolvers.Picture do @spec upload_picture(map, map, map) :: {:ok, Picture.t()} | {:error, any} def upload_picture( _parent, - %{file: %Plug.Upload{} = file, actor_id: actor_id} = args, + %{file: %Plug.Upload{} = file} = args, %{context: %{current_user: user}} ) do - with {:is_owned, %Actor{}} <- User.owns_actor(user, actor_id), + with %Actor{id: actor_id} <- Users.get_actor_for_user(user), {:ok, %{name: _name, url: url, content_type: content_type, size: size}} <- Mobilizon.Web.Upload.store(file), args <- @@ -68,9 +67,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Picture do size: picture.file.size }} else - {:is_owned, nil} -> - {:error, dgettext("errors", "Profile is not owned by authenticated user")} - {:error, :mime_type_not_allowed} -> {:error, dgettext("errors", "File doesn't have an allowed MIME type.")} diff --git a/lib/graphql/resolvers/report.ex b/lib/graphql/resolvers/report.ex index f14d188c5..feed38ec2 100644 --- a/lib/graphql/resolvers/report.ex +++ b/lib/graphql/resolvers/report.ex @@ -5,10 +5,8 @@ defmodule Mobilizon.GraphQL.Resolvers.Report do import Mobilizon.Users.Guards - alias Mobilizon.Actors + alias Mobilizon.{Actors, Config, Reports, Users} alias Mobilizon.Actors.Actor - alias Mobilizon.Config - alias Mobilizon.Reports alias Mobilizon.Reports.{Note, Report} alias Mobilizon.Users.User import Mobilizon.Web.Gettext @@ -48,16 +46,14 @@ defmodule Mobilizon.GraphQL.Resolvers.Report do """ def create_report( _parent, - %{reporter_id: reporter_id} = args, + args, %{context: %{current_user: %User{} = user}} = _resolution ) do - with {:is_owned, %Actor{}} <- User.owns_actor(user, reporter_id), - {:ok, _, %Report{} = report} <- API.Reports.report(args) do + with %Actor{id: reporter_id} <- Users.get_actor_for_user(user), + {:ok, _, %Report{} = report} <- + args |> Map.put(:reporter_id, reporter_id) |> API.Reports.report() do {:ok, report} else - {:is_owned, nil} -> - {:error, dgettext("errors", "Reporter profile is not owned by authenticated user")} - _error -> {:error, dgettext("errors", "Error while saving report")} end @@ -65,47 +61,37 @@ defmodule Mobilizon.GraphQL.Resolvers.Report do def create_report( _parent, - %{reporter_id: reporter_id} = args, + args, _resolution ) do with {:anonymous_reporting_allowed, true} <- {:anonymous_reporting_allowed, Config.anonymous_reporting?()}, - {:wrong_id, true} <- {:wrong_id, reporter_id == to_string(Config.anonymous_actor_id())}, - {:ok, _, %Report{} = report} <- API.Reports.report(args) do + {:ok, _, %Report{} = report} <- + args |> Map.put(:reporter_id, Config.anonymous_actor_id()) |> API.Reports.report() do {:ok, report} else {:anonymous_reporting_allowed, _} -> {:error, dgettext("errors", "You need to be logged-in to create reports")} - {:wrong_id, _} -> - {:error, dgettext("errors", "Reporter ID does not match the anonymous profile id")} - _error -> {:error, dgettext("errors", "Error while saving report")} end end - def create_report(_parent, _args, _resolution) do - {:error, dgettext("errors", "You need to be logged-in to create reports")} - end - @doc """ Update a report's status """ def update_report( _parent, - %{report_id: report_id, moderator_id: moderator_id, status: status}, + %{report_id: report_id, status: status}, %{context: %{current_user: %User{role: role} = user}} ) when is_moderator(role) do - with {:is_owned, %Actor{} = actor} <- User.owns_actor(user, moderator_id), + with %Actor{} = actor <- Users.get_actor_for_user(user), %Report{} = report <- Mobilizon.Reports.get_report(report_id), {:ok, %Report{} = report} <- API.Reports.update_report_status(actor, report, status) do {:ok, report} else - {:is_owned, nil} -> - {:error, dgettext("errors", "Profile is not owned by authenticated user")} - _error -> {:error, dgettext("errors", "Error while updating report")} end @@ -117,11 +103,11 @@ defmodule Mobilizon.GraphQL.Resolvers.Report do def create_report_note( _parent, - %{report_id: report_id, moderator_id: moderator_id, content: content}, + %{report_id: report_id, content: content}, %{context: %{current_user: %User{role: role} = user}} ) when is_moderator(role) do - with {:is_owned, %Actor{}} <- User.owns_actor(user, moderator_id), + with %Actor{id: moderator_id} <- Users.get_actor_for_user(user), %Report{} = report <- Reports.get_report(report_id), %Actor{} = moderator <- Actors.get_local_actor_with_preload(moderator_id), {:ok, %Note{} = note} <- API.Reports.create_report_note(report, moderator, content) do @@ -131,11 +117,11 @@ defmodule Mobilizon.GraphQL.Resolvers.Report do def delete_report_note( _parent, - %{note_id: note_id, moderator_id: moderator_id}, + %{note_id: note_id}, %{context: %{current_user: %User{role: role} = user}} ) when is_moderator(role) do - with {:is_owned, %Actor{}} <- User.owns_actor(user, moderator_id), + with %Actor{id: moderator_id} <- Users.get_actor_for_user(user), %Note{} = note <- Reports.get_note(note_id), %Actor{} = moderator <- Actors.get_local_actor_with_preload(moderator_id), {:ok, %Note{} = note} <- API.Reports.delete_report_note(note, moderator) do diff --git a/lib/graphql/resolvers/todos.ex b/lib/graphql/resolvers/todos.ex index 317a8b2b0..e6c2d504f 100644 --- a/lib/graphql/resolvers/todos.ex +++ b/lib/graphql/resolvers/todos.ex @@ -53,9 +53,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Todos do %Page{} = page <- Todos.get_todos_for_todo_list(todo_list) do {:ok, page} else - {:is_owned, nil} -> - {:error, dgettext("errors", "Profile is not owned by authenticated user")} - {:member, _} -> {:error, dgettext("errors", "Profile is not member of group")} end diff --git a/lib/graphql/schema/actor.ex b/lib/graphql/schema/actor.ex index 7e22d3d84..45617dca6 100644 --- a/lib/graphql/schema/actor.ex +++ b/lib/graphql/schema/actor.ex @@ -62,18 +62,21 @@ defmodule Mobilizon.GraphQL.Schema.ActorInterface do end object :actor_mutations do + @desc "Suspend an actor" field :suspend_profile, :deleted_object do - arg(:id, non_null(:id), description: "The profile ID to suspend") + arg(:id, non_null(:id), description: "The remote profile ID to suspend") resolve(&ActorResolver.suspend_profile/3) end + @desc "Unsuspend an actor" field :unsuspend_profile, :actor do - arg(:id, non_null(:id), description: "The profile ID to unsuspend") + arg(:id, non_null(:id), description: "The remote profile ID to unsuspend") resolve(&ActorResolver.unsuspend_profile/3) end + @desc "Refresh a profile" field :refresh_profile, :actor do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The remote profile ID to refresh") resolve(&ActorResolver.refresh_profile/3) end end diff --git a/lib/graphql/schema/actors/follower.ex b/lib/graphql/schema/actors/follower.ex index efa297a0b..99d708926 100644 --- a/lib/graphql/schema/actors/follower.ex +++ b/lib/graphql/schema/actors/follower.ex @@ -19,6 +19,9 @@ defmodule Mobilizon.GraphQL.Schema.Actors.FollowerType do field(:updated_at, :datetime, description: "When the follow was updated") end + @desc """ + A paginated list of follower objects + """ object :paginated_follower_list do field(:elements, list_of(:follower), description: "A list of followers") field(:total, :integer, description: "The total number of elements in the list") diff --git a/lib/graphql/schema/actors/group.ex b/lib/graphql/schema/actors/group.ex index df6e3d118..abdcdc5ef 100644 --- a/lib/graphql/schema/actors/group.ex +++ b/lib/graphql/schema/actors/group.ex @@ -54,10 +54,18 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do # This one should have a privacy setting field :organized_events, :paginated_event_list do - arg(:after_datetime, :datetime, default_value: nil) - arg(:before_datetime, :datetime, default_value: nil) - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:after_datetime, :datetime, + default_value: nil, + description: "Filter events that begin after this datetime" + ) + + arg(:before_datetime, :datetime, + default_value: nil, + description: "Filter events that begin before this datetime" + ) + + arg(:page, :integer, default_value: 1, description: "The page in the paginated event list") + arg(:limit, :integer, default_value: 10, description: "The limit of events per page") resolve(&Group.find_events_for_group/3) description("A list of the events this actor has organized") end @@ -74,23 +82,27 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do ) field :members, :paginated_member_list do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) - arg(:roles, :string, default_value: "") + arg(:page, :integer, default_value: 1, description: "The page in the paginated member list") + arg(:limit, :integer, default_value: 10, description: "The limit of members per page") + arg(:roles, :string, default_value: "", description: "Filter members by their role") resolve(&Member.find_members_for_group/3) description("A paginated list of group members") end field :resources, :paginated_resource_list do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated resource list" + ) + + arg(:limit, :integer, default_value: 10, description: "The limit of resources per page") resolve(&Resource.find_resources_for_group/3) description("A paginated list of the resources this group has") end field :posts, :paginated_post_list do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:page, :integer, default_value: 1, description: "The page in the paginated post list") + arg(:limit, :integer, default_value: 10, description: "The limit of posts per page") resolve(&Post.find_posts_for_group/3) description("A paginated list of the posts this group has") end @@ -120,9 +132,12 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do value(:open, description: "The actor is open to followings") end + @desc """ + A paginated list of groups + """ object :paginated_group_list do field(:elements, list_of(:group), description: "A list of groups") - field(:total, :integer, description: "The total number of elements in the list") + field(:total, :integer, description: "The total number of groups in the list") end @desc "The list of visibility options for a group" @@ -134,25 +149,33 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do object :group_queries do @desc "Get all groups" field :groups, :paginated_group_list do - arg(:preferred_username, :string, default_value: "") - arg(:name, :string, default_value: "") - arg(:domain, :string, default_value: "") - arg(:local, :boolean, default_value: true) - arg(:suspended, :boolean, default_value: false) - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:preferred_username, :string, default_value: "", description: "Filter by username") + arg(:name, :string, default_value: "", description: "Filter by name") + arg(:domain, :string, default_value: "", description: "Filter by domain") + + arg(:local, :boolean, + default_value: true, + description: "Filter whether group is local or not" + ) + + arg(:suspended, :boolean, default_value: false, description: "Filter by suspended status") + arg(:page, :integer, default_value: 1, description: "The page in the paginated group list") + arg(:limit, :integer, default_value: 10, description: "The limit of groups per page") resolve(&Group.list_groups/3) end @desc "Get a group by its ID" field :get_group, :group do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The group ID") resolve(&Group.get_group/3) end @desc "Get a group by its preferred username" field :group, :group do - arg(:preferred_username, non_null(:string)) + arg(:preferred_username, non_null(:string), + description: "The group preferred_username, eventually containing their domain if remote" + ) + resolve(&Group.find_group/3) end end @@ -162,8 +185,6 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do field :create_group, :group do arg(:preferred_username, non_null(:string), description: "The name for the group") - arg(:creator_actor_id, non_null(:id), description: "The identity that creates the group") - arg(:name, :string, description: "The displayed name for the group") arg(:summary, :string, description: "The summary for the group", default_value: "") @@ -182,7 +203,7 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do "The banner for the group, either as an object or directly the ID of an existing Picture" ) - arg(:physical_address, :address_input) + arg(:physical_address, :address_input, description: "The physical address for the group") resolve(&Group.create_group/3) end @@ -210,14 +231,14 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do "The banner for the group, either as an object or directly the ID of an existing Picture" ) - arg(:physical_address, :address_input) + arg(:physical_address, :address_input, description: "The physical address for the group") resolve(&Group.update_group/3) end @desc "Delete a group" field :delete_group, :deleted_object do - arg(:group_id, non_null(:id)) + arg(:group_id, non_null(:id), description: "The group ID") resolve(&Group.delete_group/3) end diff --git a/lib/graphql/schema/actors/member.ex b/lib/graphql/schema/actors/member.ex index ad3b67d4f..8a76cab4f 100644 --- a/lib/graphql/schema/actors/member.ex +++ b/lib/graphql/schema/actors/member.ex @@ -19,16 +19,22 @@ defmodule Mobilizon.GraphQL.Schema.Actors.MemberType do field(:updated_at, :naive_datetime, description: "When was this member updated") end + @desc """ + Values for a member role + """ enum :member_role_enum do - value(:not_approved) - value(:invited) - value(:member) - value(:moderator) - value(:administrator) - value(:creator) - value(:rejected) + value(:not_approved, description: "The member needs to be approved by the group admins") + value(:invited, description: "The member has been invited") + value(:member, description: "Regular member") + value(:moderator, description: "The member is a moderator") + value(:administrator, description: "The member is an administrator") + value(:creator, description: "The member was the creator of the group. Shouldn't be used.") + value(:rejected, description: "The member has been rejected or excluded from the group") end + @desc """ + A paginated list of members + """ object :paginated_member_list do field(:elements, list_of(:member), description: "A list of members") field(:total, :integer, description: "The total number of elements in the list") @@ -37,51 +43,54 @@ defmodule Mobilizon.GraphQL.Schema.Actors.MemberType do object :member_mutations do @desc "Join a group" field :join_group, :member do - arg(:group_id, non_null(:id)) + arg(:group_id, non_null(:id), description: "The group ID") resolve(&Group.join_group/3) end @desc "Leave a group" field :leave_group, :deleted_object do - arg(:group_id, non_null(:id)) + arg(:group_id, non_null(:id), description: "The group ID") resolve(&Group.leave_group/3) end @desc "Invite an actor to join the group" field :invite_member, :member do - arg(:group_id, non_null(:id)) - arg(:target_actor_username, non_null(:string)) + arg(:group_id, non_null(:id), description: "The group ID") + + arg(:target_actor_username, non_null(:string), + description: "The targeted person's federated username" + ) resolve(&Member.invite_member/3) end @desc "Accept an invitation to a group" field :accept_invitation, :member do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The member ID") resolve(&Member.accept_invitation/3) end @desc "Reject an invitation to a group" field :reject_invitation, :member do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The member ID") resolve(&Member.reject_invitation/3) end field :update_member, :member do - arg(:member_id, non_null(:id)) - arg(:role, non_null(:member_role_enum)) + arg(:member_id, non_null(:id), description: "The member ID") + arg(:role, non_null(:member_role_enum), description: "The new member role") resolve(&Member.update_member/3) end @desc "Remove a member from a group" field :remove_member, :member do - arg(:group_id, non_null(:id)) - arg(:member_id, non_null(:id)) + arg(:group_id, non_null(:id), description: "The group ID") + arg(:member_id, non_null(:id), description: "The member ID") resolve(&Member.remove_member/3) end diff --git a/lib/graphql/schema/actors/person.ex b/lib/graphql/schema/actors/person.ex index 64da4b2e5..5970743be 100644 --- a/lib/graphql/schema/actors/person.ex +++ b/lib/graphql/schema/actors/person.ex @@ -58,8 +58,8 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do field(:organized_events, :paginated_event_list, description: "A list of the events this actor has organized" ) do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:page, :integer, default_value: 1, description: "The page in the paginated event list") + arg(:limit, :integer, default_value: 10, description: "The limit of events per page") resolve(&Person.organized_events_for_person/3) end @@ -68,8 +68,14 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do description: "The list of events this person goes to" ) do arg(:event_id, :id) - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated participation list" + ) + + arg(:limit, :integer, default_value: 10, description: "The limit of participations per page") + resolve(&Person.person_participations/3) end @@ -81,6 +87,14 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do end end + @desc """ + A paginated list of persons + """ + object :paginated_person_list do + field(:elements, list_of(:person), description: "A list of persons") + field(:total, :integer, description: "The total number of persons in the list") + end + object :person_queries do @desc "Get the current actor for the logged-in user" field :logged_person, :person do @@ -89,13 +103,13 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do @desc "Get a person by its (federated) username" field :fetch_person, :person do - arg(:preferred_username, non_null(:string)) + arg(:preferred_username, non_null(:string), description: "The person's federated username") resolve(&Person.fetch_person/3) end @desc "Get a person by its ID" field :person, :person do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The person ID") resolve(&Person.get_person/3) end @@ -104,14 +118,20 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do resolve(&Person.identities/3) end - field :persons, :persons do - arg(:preferred_username, :string, default_value: "") - arg(:name, :string, default_value: "") - arg(:domain, :string, default_value: "") - arg(:local, :boolean, default_value: true) - arg(:suspended, :boolean, default_value: false) - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + @desc "List the profiles" + field :persons, :paginated_person_list do + arg(:preferred_username, :string, default_value: "", description: "Filter by username") + arg(:name, :string, default_value: "", description: "Filter by name") + arg(:domain, :string, default_value: "", description: "Filter by domain") + + arg(:local, :boolean, + default_value: true, + description: "Filter by profile being local or not" + ) + + arg(:suspended, :boolean, default_value: false, description: "Filter by suspended status") + arg(:page, :integer, default_value: 1, description: "The page in the paginated person list") + arg(:limit, :integer, default_value: 10, description: "The limit of persons per page") resolve(&Person.list_persons/3) end end @@ -119,7 +139,7 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do object :person_mutations do @desc "Create a new person for user" field :create_person, :person do - arg(:preferred_username, non_null(:string)) + arg(:preferred_username, non_null(:string), description: "The username for the profile") arg(:name, :string, description: "The displayed name for the new profile", default_value: "") @@ -140,7 +160,7 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do @desc "Update an identity" field :update_person, :person do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The person's ID") arg(:name, :string, description: "The displayed name for this profile") @@ -161,14 +181,14 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do @desc "Delete an identity" field :delete_person, :person do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The person's ID") resolve(&Person.delete_person/3) end @desc "Register a first profile on registration" field :register_person, :person do - arg(:preferred_username, non_null(:string)) + arg(:preferred_username, non_null(:string), description: "The username for the profile") arg(:name, :string, description: "The displayed name for the new profile", default_value: "") @@ -190,16 +210,18 @@ defmodule Mobilizon.GraphQL.Schema.Actors.PersonType do end object :person_subscriptions do + @desc "Notify when a person's participation's status changed for an event" field :event_person_participation_changed, :person do - arg(:person_id, non_null(:id)) + arg(:person_id, non_null(:id), description: "The person's ID") config(fn args, _ -> {:ok, topic: args.person_id} end) end + @desc "Notify when a person's membership's status changed for a group" field :group_membership_changed, :person do - arg(:person_id, non_null(:id)) + arg(:person_id, non_null(:id), description: "The person's ID") config(fn args, _ -> {:ok, topic: args.person_id} diff --git a/lib/graphql/schema/address.ex b/lib/graphql/schema/address.ex index 13ce22449..e539a55c0 100644 --- a/lib/graphql/schema/address.ex +++ b/lib/graphql/schema/address.ex @@ -10,19 +10,19 @@ defmodule Mobilizon.GraphQL.Schema.AddressType do field(:geom, :point, description: "The geocoordinates for the point where this address is") field(:street, :string, description: "The address's street name (with number)") field(:locality, :string, description: "The address's locality") - field(:postal_code, :string) - field(:region, :string) - field(:country, :string) - field(:description, :string) - field(:type, :string) - field(:url, :string) - field(:id, :id) - field(:origin_id, :string) + field(:postal_code, :string, description: "The address's postal code") + field(:region, :string, description: "The address's region") + field(:country, :string, description: "The address's country") + field(:description, :string, description: "The address's description") + field(:type, :string, description: "The address's type") + field(:url, :string, description: "The address's URL") + field(:id, :id, description: "The address's ID") + field(:origin_id, :string, description: "The address's original ID from the provider") end object :phone_address do - field(:phone, :string) - field(:info, :string) + field(:phone, :string, description: "The phone number") + field(:info, :string, description: "Additional information about the phone number") end object :online_address do @@ -35,33 +35,46 @@ defmodule Mobilizon.GraphQL.Schema.AddressType do field(:geom, :point, description: "The geocoordinates for the point where this address is") field(:street, :string, description: "The address's street name (with number)") field(:locality, :string, description: "The address's locality") - field(:postal_code, :string) - field(:region, :string) - field(:country, :string) - field(:description, :string) - field(:url, :string) - field(:type, :string) - field(:id, :id) - field(:origin_id, :string) + field(:postal_code, :string, description: "The address's postal code") + field(:region, :string, description: "The address's region") + field(:country, :string, description: "The address's country") + field(:description, :string, description: "The address's description") + field(:type, :string, description: "The address's type") + field(:url, :string, description: "The address's URL") + field(:id, :id, description: "The address's ID") + field(:origin_id, :string, description: "The address's original ID from the provider") end object :address_queries do @desc "Search for an address" field :search_address, type: list_of(:address) do arg(:query, non_null(:string)) - arg(:locale, :string, default_value: "en") - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + + arg(:locale, :string, + default_value: "en", + description: "The user's locale. Geocoding backends will make use of this value." + ) + + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated search results list" + ) + + arg(:limit, :integer, default_value: 10, description: "The limit of search results per page") resolve(&Address.search/3) end @desc "Reverse geocode coordinates" field :reverse_geocode, type: list_of(:address) do - arg(:longitude, non_null(:float)) - arg(:latitude, non_null(:float)) - arg(:zoom, :integer, default_value: 15) - arg(:locale, :string, default_value: "en") + arg(:longitude, non_null(:float), description: "Geographical longitude (using WGS 84)") + arg(:latitude, non_null(:float), description: "Geographical latitude (using WGS 84)") + arg(:zoom, :integer, default_value: 15, description: "Zoom level") + + arg(:locale, :string, + default_value: "en", + description: "The user's locale. Geocoding backends will make use of this value." + ) resolve(&Address.reverse_geocode/3) end diff --git a/lib/graphql/schema/admin.ex b/lib/graphql/schema/admin.ex index 4161824bf..22689f322 100644 --- a/lib/graphql/schema/admin.ex +++ b/lib/graphql/schema/admin.ex @@ -22,18 +22,21 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do field(:inserted_at, :datetime, description: "The time when the action was performed") end + @desc """ + The different types of action log actions + """ enum :action_log_action do - value(:report_update_closed) - value(:report_update_opened) - value(:report_update_resolved) - value(:note_creation) - value(:note_deletion) - value(:event_deletion) - value(:comment_deletion) - value(:event_update) - value(:actor_suspension) - value(:actor_unsuspension) - value(:user_deletion) + value(:report_update_closed, description: "The report was closed") + value(:report_update_opened, description: "The report was opened") + value(:report_update_resolved, description: "The report was resolved") + value(:note_creation, description: "A note was created on a report") + value(:note_deletion, description: "A note was deleted on a report") + value(:event_deletion, description: "An event was deleted") + value(:comment_deletion, description: "A comment was deleted") + value(:event_update, description: "An event was updated") + value(:actor_suspension, description: "An actor was suspended") + value(:actor_unsuspension, description: "An actor was unsuspended") + value(:user_deletion, description: "An user was deleted") end @desc "The objects that can be in an action log" @@ -64,11 +67,17 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do end) end + @desc """ + Language information + """ object :language do field(:code, :string, description: "The iso-639-3 language code") field(:name, :string, description: "The language name") end + @desc """ + Dashboard information + """ object :dashboard do field(:last_public_event_published, :event, description: "Last public event published") field(:last_group_created, :group, description: "Last public group created") @@ -85,33 +94,52 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do ) end + @desc """ + Admin settings + """ object :admin_settings do - field(:instance_name, :string) - field(:instance_description, :string) - field(:instance_long_description, :string) - field(:instance_slogan, :string) - field(:contact, :string) - field(:instance_terms, :string) - field(:instance_terms_type, :instance_terms_type) - field(:instance_terms_url, :string) - field(:instance_privacy_policy, :string) - field(:instance_privacy_policy_type, :instance_privacy_type) - field(:instance_privacy_policy_url, :string) - field(:instance_rules, :string) - field(:registrations_open, :boolean) - field(:instance_languages, list_of(:string)) + field(:instance_name, :string, description: "The instance's name") + field(:instance_description, :string, description: "The instance's description") + field(:instance_long_description, :string, description: "The instance's long description") + field(:instance_slogan, :string, description: "The instance's slogan") + field(:contact, :string, description: "The instance's contact details") + field(:instance_terms, :string, description: "The instance's terms body text") + field(:instance_terms_type, :instance_terms_type, description: "The instance's terms type") + field(:instance_terms_url, :string, description: "The instance's terms URL") + + field(:instance_privacy_policy, :string, + description: "The instance's privacy policy body text" + ) + + field(:instance_privacy_policy_type, :instance_privacy_type, + description: "The instance's privacy policy type" + ) + + field(:instance_privacy_policy_url, :string, description: "The instance's privacy policy URL") + field(:instance_rules, :string, description: "The instance's rules") + field(:registrations_open, :boolean, description: "Whether the registrations are opened") + field(:instance_languages, list_of(:string), description: "The instance's languages") end + @desc "The acceptable values for the instance's terms type" enum :instance_terms_type do - value(:url, as: "URL") - value(:default, as: "DEFAULT") - value(:custom, as: "CUSTOM") + value(:url, as: "URL", description: "An URL. Users will be redirected to this URL.") + value(:default, as: "DEFAULT", description: "Terms will be set to Mobilizon's default terms") + value(:custom, as: "CUSTOM", description: "Custom terms text") end + @desc """ + The acceptable values for the instance privacy policy type + """ enum :instance_privacy_type do - value(:url, as: "URL") - value(:default, as: "DEFAULT") - value(:custom, as: "CUSTOM") + value(:url, as: "URL", description: "An URL. Users will be redirected to this URL.") + + value(:default, + as: "DEFAULT", + description: "Privacy policy will be set to Mobilizon's default privacy policy" + ) + + value(:custom, as: "CUSTOM", description: "Custom privacy policy text") end object :admin_queries do @@ -122,30 +150,69 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do resolve(&Admin.list_action_logs/3) end + @desc """ + List the instance's supported languages + """ field :languages, type: list_of(:language) do - arg(:codes, list_of(:string)) + arg(:codes, list_of(:string), + description: + "The user's locale. The list of languages will be translated with this locale" + ) + resolve(&Admin.get_list_of_languages/3) end + @desc """ + Get dashboard information + """ field :dashboard, type: :dashboard do resolve(&Admin.get_dashboard/3) end + @desc """ + Get admin settings + """ field :admin_settings, type: :admin_settings do resolve(&Admin.get_settings/3) end + @desc """ + List the relay followers + """ field :relay_followers, type: :paginated_follower_list do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated relay followers list" + ) + + arg(:limit, :integer, + default_value: 10, + description: "The limit of relay followers per page" + ) + resolve(&Admin.list_relay_followers/3) end + @desc """ + List the relay followings + """ field :relay_followings, type: :paginated_follower_list do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) - arg(:order_by, :string, default_value: :updated_at) - arg(:direction, :string, default_value: :desc) + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated relay followings list" + ) + + arg(:limit, :integer, + default_value: 10, + description: "The limit of relay followings per page" + ) + + arg(:order_by, :string, + default_value: :updated_at, + description: "The field to order by the list" + ) + + arg(:direction, :string, default_value: :desc, description: "The sorting direction") resolve(&Admin.list_relay_followings/3) end end @@ -153,47 +220,57 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do object :admin_mutations do @desc "Add a relay subscription" field :add_relay, type: :follower do - arg(:address, non_null(:string)) + arg(:address, non_null(:string), description: "The relay hostname to add") resolve(&Admin.create_relay/3) end @desc "Delete a relay subscription" field :remove_relay, type: :follower do - arg(:address, non_null(:string)) + arg(:address, non_null(:string), description: "The relay hostname to delete") resolve(&Admin.remove_relay/3) end @desc "Accept a relay subscription" field :accept_relay, type: :follower do - arg(:address, non_null(:string)) + arg(:address, non_null(:string), description: "The accepted relay hostname") resolve(&Admin.accept_subscription/3) end @desc "Reject a relay subscription" field :reject_relay, type: :follower do - arg(:address, non_null(:string)) + arg(:address, non_null(:string), description: "The rejected relay hostname") resolve(&Admin.reject_subscription/3) end + @desc """ + Save admin settings + """ field :save_admin_settings, type: :admin_settings do - arg(:instance_name, :string) - arg(:instance_description, :string) - arg(:instance_long_description, :string) - arg(:instance_slogan, :string) - arg(:contact, :string) - arg(:instance_terms, :string) - arg(:instance_terms_type, :instance_terms_type) - arg(:instance_terms_url, :string) - arg(:instance_privacy_policy, :string) - arg(:instance_privacy_policy_type, :instance_privacy_type) - arg(:instance_privacy_policy_url, :string) - arg(:instance_rules, :string) - arg(:registrations_open, :boolean) - arg(:instance_languages, list_of(:string)) + arg(:instance_name, :string, description: "The instance's name") + arg(:instance_description, :string, description: "The instance's description") + arg(:instance_long_description, :string, description: "The instance's long description") + arg(:instance_slogan, :string, description: "The instance's slogan") + arg(:contact, :string, description: "The instance's contact details") + arg(:instance_terms, :string, description: "The instance's terms body text") + arg(:instance_terms_type, :instance_terms_type, description: "The instance's terms type") + arg(:instance_terms_url, :string, description: "The instance's terms URL") + + arg(:instance_privacy_policy, :string, + description: "The instance's privacy policy body text" + ) + + arg(:instance_privacy_policy_type, :instance_privacy_type, + description: "The instance's privacy policy type" + ) + + arg(:instance_privacy_policy_url, :string, description: "The instance's privacy policy URL") + arg(:instance_rules, :string, description: "The instance's rules") + arg(:registrations_open, :boolean, description: "Whether the registrations are opened") + arg(:instance_languages, list_of(:string), description: "The instance's languages") resolve(&Admin.save_settings/3) end diff --git a/lib/graphql/schema/config.ex b/lib/graphql/schema/config.ex index 49d6752d5..c48058446 100644 --- a/lib/graphql/schema/config.ex +++ b/lib/graphql/schema/config.ex @@ -9,138 +9,262 @@ defmodule Mobilizon.GraphQL.Schema.ConfigType do @desc "A config object" object :config do # Instance name - field(:name, :string) - field(:description, :string) - field(:long_description, :string) - field(:slogan, :string) - field(:contact, :string) + field(:name, :string, description: "The instance's name") + field(:description, :string, description: "The instance's short description") + field(:long_description, :string, description: "The instance's long description") + field(:slogan, :string, description: "The instance's slogan") + field(:contact, :string, description: "The instance's contact details") - field(:languages, list_of(:string)) - field(:registrations_open, :boolean) - field(:registrations_allowlist, :boolean) - field(:demo_mode, :boolean) - field(:country_code, :string) - field(:location, :lonlat) - field(:geocoding, :geocoding) - field(:maps, :maps) - field(:anonymous, :anonymous) - field(:resource_providers, list_of(:resource_provider)) - field(:timezones, list_of(:string)) - field(:features, :features) - field(:version, :string) - field(:federating, :boolean) + field(:languages, list_of(:string), description: "The instance's admins languages") + field(:registrations_open, :boolean, description: "Whether the registrations are opened") + + field(:registrations_allowlist, :boolean, + description: "Whether the registration are on an allowlist" + ) + + field(:demo_mode, :boolean, description: "Whether the demo mode is enabled") + field(:country_code, :string, description: "The country code from the IP") + field(:location, :lonlat, description: "The IP's location") + field(:geocoding, :geocoding, description: "The instance's geocoding settings") + field(:maps, :maps, description: "The instance's maps settings") + field(:anonymous, :anonymous, description: "The instance's anonymous action settings") + + field(:resource_providers, list_of(:resource_provider), + description: "The instance's enabled resource providers" + ) + + field(:timezones, list_of(:string), description: "The instance's available timezones") + field(:features, :features, description: "The instance's features") + field(:version, :string, description: "The instance's version") + field(:federating, :boolean, description: "Whether this instance is federation") field(:terms, :terms, description: "The instance's terms") do - arg(:locale, :string, default_value: "en") + arg(:locale, :string, + default_value: "en", + description: + "The user's locale. The terms will be translated in their language, if available." + ) + resolve(&Config.terms/3) end field(:privacy, :privacy, description: "The instance's privacy policy") do - arg(:locale, :string, default_value: "en") + arg(:locale, :string, + default_value: "en", + description: + "The user's locale. The privacy policy will be translated in their language, if available." + ) + resolve(&Config.privacy/3) end field(:rules, :string, description: "The instance's rules") + field(:auth, :auth, description: "The instance auth methods") end + @desc """ + The instance's terms configuration + """ object :terms do - field(:url, :string) - field(:type, :instance_terms_type) - field(:body_html, :string) + field(:url, :string, description: "The instance's terms URL.") + field(:type, :instance_terms_type, description: "The instance's terms type") + field(:body_html, :string, description: "The instance's terms body text") end + @desc """ + The instance's privacy policy configuration + """ object :privacy do - field(:url, :string) - field(:type, :instance_privacy_type) - field(:body_html, :string) + field(:url, :string, description: "The instance's privacy policy URL") + field(:type, :instance_privacy_type, description: "The instance's privacy policy type") + field(:body_html, :string, description: "The instance's privacy policy body text") end + @desc """ + Geographic coordinates + """ object :lonlat do - field(:longitude, :float) - field(:latitude, :float) + field(:longitude, :float, description: "The coordinates longitude") + field(:latitude, :float, description: "The coordinates latitude") # field(:accuracy_radius, :integer) end + @desc """ + Instance geocoding configuration + """ object :geocoding do - field(:autocomplete, :boolean) - field(:provider, :string) + field(:autocomplete, :boolean, + description: "Whether autocomplete in address fields can be enabled" + ) + + field(:provider, :string, description: "The geocoding provider") end + @desc """ + Instance maps configuration + """ object :maps do - field(:tiles, :tiles) + field(:tiles, :tiles, description: "The instance's maps tiles configuration") end + @desc """ + Instance tiles configuration + """ object :tiles do - field(:endpoint, :string) - field(:attribution, :string) + field(:endpoint, :string, description: "The instance's tiles endpoint") + field(:attribution, :string, description: "The instance's tiles attribution text") end + @desc """ + Instance anonymous configuration + """ object :anonymous do - field(:participation, :anonymous_participation) - field(:event_creation, :anonymous_event_creation) - field(:reports, :anonymous_reports) - field(:actor_id, :id) + field(:participation, :anonymous_participation, + description: "The instance's anonymous participation settings" + ) + + field(:event_creation, :anonymous_event_creation, + description: "The instance's anonymous event creation settings" + ) + + field(:reports, :anonymous_reports, description: "The instance's anonymous reports setting") + + field(:actor_id, :id, + description: "The actor ID that should be used to perform anonymous actions" + ) end + @desc """ + Instance anonymous participation configuration + """ object :anonymous_participation do - field(:allowed, :boolean) - field(:validation, :anonymous_participation_validation) + field(:allowed, :boolean, description: "Whether anonymous participations are allowed") + + field(:validation, :anonymous_participation_validation, + description: "The ways to validate anonymous participations" + ) end + @desc """ + Instance anonymous participation validation configuration + """ object :anonymous_participation_validation do - field(:email, :anonymous_participation_validation_email) - field(:captcha, :anonymous_participation_validation_captcha) + field(:email, :anonymous_participation_validation_email, + description: "The policy to validate anonymous participations by email" + ) + + field(:captcha, :anonymous_participation_validation_captcha, + description: "The policy to validate anonymous participations by captcha" + ) end + @desc """ + Instance anonymous participation with validation by email configuration + """ object :anonymous_participation_validation_email do - field(:enabled, :boolean) - field(:confirmation_required, :boolean) + field(:enabled, :boolean, + description: "Whether anonymous participation validation by email is enabled" + ) + + field(:confirmation_required, :boolean, + description: "Whether anonymous participation validation by email is required" + ) end + @desc """ + Instance anonymous participation with validation by captcha configuration + """ object :anonymous_participation_validation_captcha do - field(:enabled, :boolean) + field(:enabled, :boolean, + description: "Whether anonymous participation validation by captcha is enabled" + ) end + @desc """ + Instance anonymous event creation configuration + """ object :anonymous_event_creation do - field(:allowed, :boolean) - field(:validation, :anonymous_event_creation_validation) + field(:allowed, :boolean, description: "Whether anonymous event creation is enabled") + + field(:validation, :anonymous_event_creation_validation, + description: "The methods to validate events created anonymously" + ) end + @desc """ + Instance anonymous event creation validation configuration + """ object :anonymous_event_creation_validation do - field(:email, :anonymous_event_creation_validation_email) - field(:captcha, :anonymous_event_creation_validation_captcha) + field(:email, :anonymous_event_creation_validation_email, + description: "The policy to validate anonymous event creations by email" + ) + + field(:captcha, :anonymous_event_creation_validation_captcha, + description: "The policy to validate anonymous event creations by captcha" + ) end + @desc """ + Instance anonymous event creation email validation configuration + """ object :anonymous_event_creation_validation_email do - field(:enabled, :boolean) - field(:confirmation_required, :boolean) + field(:enabled, :boolean, + description: "Whether anonymous event creation with email validation is enabled" + ) + + field(:confirmation_required, :boolean, + description: "Whether anonymous event creation with email validation is required" + ) end + @desc """ + Instance anonymous event creation captcha validation configuration + """ object :anonymous_event_creation_validation_captcha do - field(:enabled, :boolean) + field(:enabled, :boolean, + description: "Whether anonymous event creation with validation by captcha is enabled" + ) end + @desc """ + Instance anonymous reports + """ object :anonymous_reports do - field(:allowed, :boolean) + field(:allowed, :boolean, description: "Whether anonymous reports are allowed") end + @desc """ + A resource provider details + """ object :resource_provider do - field(:type, :string) - field(:endpoint, :string) - field(:software, :string) + field(:type, :string, description: "The resource provider's type") + field(:endpoint, :string, description: "The resource provider's endpoint") + field(:software, :string, description: "The resource provider's software") end + @desc """ + The instance's features + """ object :features do - field(:groups, :boolean) - field(:event_creation, :boolean) + field(:groups, :boolean, description: "Whether groups are activated on this instance") + + field(:event_creation, :boolean, + description: "Whether event creation is allowed on this instance" + ) end + @desc """ + The instance's auth configuration + """ object :auth do field(:ldap, :boolean, description: "Whether or not LDAP auth is enabled") field(:oauth_providers, list_of(:oauth_provider), description: "List of oauth providers") end + @desc """ + An oAuth Provider + """ object :oauth_provider do field(:id, :string, description: "The provider ID") field(:label, :string, description: "The label for the auth provider") diff --git a/lib/graphql/schema/discussions/comment.ex b/lib/graphql/schema/discussions/comment.ex index c5b77969e..c22d1d021 100644 --- a/lib/graphql/schema/discussions/comment.ex +++ b/lib/graphql/schema/discussions/comment.ex @@ -13,27 +13,43 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.CommentType do object :comment do interfaces([:action_log_object]) field(:id, :id, description: "Internal ID for this comment") - field(:uuid, :uuid) - field(:url, :string) - field(:local, :boolean) - field(:visibility, :comment_visibility) - field(:text, :string) - field(:primaryLanguage, :string) + field(:uuid, :uuid, description: "An UUID for this comment") + field(:url, :string, description: "Comment URL") + field(:local, :boolean, description: "Whether this comment is local or not") + field(:visibility, :comment_visibility, description: "The visibility for the comment") + field(:text, :string, description: "The comment body") + field(:primaryLanguage, :string, description: "The comment's primary language") field(:replies, list_of(:comment)) do + description("A list of replies to the comment") resolve(dataloader(Discussions)) end - field(:total_replies, :integer) - field(:in_reply_to_comment, :comment, resolve: dataloader(Discussions)) - field(:event, :event, resolve: dataloader(Events)) - field(:origin_comment, :comment, resolve: dataloader(Discussions)) - field(:threadLanguages, non_null(list_of(:string))) - field(:actor, :person, resolve: dataloader(Actors)) - field(:inserted_at, :datetime) - field(:updated_at, :datetime) - field(:deleted_at, :datetime) - field(:published_at, :datetime) + field(:total_replies, :integer, + description: "The number of total known replies to this comment" + ) + + field(:in_reply_to_comment, :comment, + resolve: dataloader(Discussions), + description: "The comment this comment directly replies to" + ) + + field(:event, :event, + resolve: dataloader(Events), + description: "The eventual event this comment is under" + ) + + field(:origin_comment, :comment, + resolve: dataloader(Discussions), + description: "The original comment that started the thread this comment is in" + ) + + field(:threadLanguages, non_null(list_of(:string)), description: "The thread languages") + field(:actor, :person, resolve: dataloader(Actors), description: "The comment's author") + field(:inserted_at, :datetime, description: "When was the comment inserted in database") + field(:updated_at, :datetime, description: "When was the comment updated") + field(:deleted_at, :datetime, description: "When was the comment deleted") + field(:published_at, :datetime, description: "When was the comment published") end @desc "The list of visibility options for a comment" @@ -49,6 +65,7 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.CommentType do value(:invite, description: "visible only to people invited") end + @desc "A paginated list of comments" object :paginated_comment_list do field(:elements, list_of(:comment), description: "A list of comments") field(:total, :integer, description: "The total number of comments in the list") @@ -57,7 +74,7 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.CommentType do object :comment_queries do @desc "Get replies for thread" field :thread, type: list_of(:comment) do - arg(:id, :id) + arg(:id, non_null(:id), description: "The comment ID") resolve(&Comment.get_thread/3) end end @@ -65,25 +82,24 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.CommentType do object :comment_mutations do @desc "Create a comment" field :create_comment, type: :comment do - arg(:text, non_null(:string)) - arg(:event_id, non_null(:id)) - arg(:in_reply_to_comment_id, :id) - arg(:actor_id, non_null(:id)) + arg(:text, non_null(:string), description: "The comment's body") + arg(:event_id, non_null(:id), description: "The event under which this comment is") + arg(:in_reply_to_comment_id, :id, description: "The comment ID this one replies to") resolve(&Comment.create_comment/3) end @desc "Update a comment" field :update_comment, type: :comment do - arg(:text, non_null(:string)) - arg(:comment_id, non_null(:id)) + arg(:text, non_null(:string), description: "The comment updated body") + arg(:comment_id, non_null(:id), description: "The comment ID") resolve(&Comment.update_comment/3) end @desc "Delete a single comment" field :delete_comment, type: :comment do - arg(:comment_id, non_null(:id)) + arg(:comment_id, non_null(:id), description: "The comment ID") resolve(&Comment.delete_comment/3) end diff --git a/lib/graphql/schema/discussions/discussion.ex b/lib/graphql/schema/discussions/discussion.ex index 020339aae..8312b4c6b 100644 --- a/lib/graphql/schema/discussions/discussion.ex +++ b/lib/graphql/schema/discussions/discussion.ex @@ -12,9 +12,9 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.DiscussionType do @desc "A discussion" object :discussion do field(:id, :id, description: "Internal ID for this discussion") - field(:title, :string) - field(:slug, :string) - field(:last_comment, :comment) + field(:title, :string, description: "The title for this discussion") + field(:slug, :string, description: "The slug for the discussion") + field(:last_comment, :comment, description: "The last comment of the discussion") field :comments, :paginated_comment_list do arg(:page, :integer, default_value: 1) @@ -23,22 +23,27 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.DiscussionType do description("The comments for the discussion") end - field(:creator, :person, resolve: dataloader(Actors)) - field(:actor, :actor, resolve: dataloader(Actors)) - field(:inserted_at, :datetime) - field(:updated_at, :datetime) + field(:creator, :person, + resolve: dataloader(Actors), + description: "This discussions's creator" + ) + + field(:actor, :actor, resolve: dataloader(Actors), description: "This discussion's group") + field(:inserted_at, :datetime, description: "When was this discussion's created") + field(:updated_at, :datetime, description: "When was this discussion's updated") end + @desc "A paginated list of discussions" object :paginated_discussion_list do field(:elements, list_of(:discussion), description: "A list of discussion") - field(:total, :integer, description: "The total number of comments in the list") + field(:total, :integer, description: "The total number of discussions in the list") end object :discussion_queries do @desc "Get a discussion" field :discussion, type: :discussion do - arg(:id, :id) - arg(:slug, :string) + arg(:id, :id, description: "The discussion's ID") + arg(:slug, :string, description: "The discussion's slug") resolve(&Discussion.get_discussion/3) end end @@ -46,36 +51,39 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.DiscussionType do object :discussion_mutations do @desc "Create a discussion" field :create_discussion, type: :discussion do - arg(:title, non_null(:string)) - arg(:text, non_null(:string)) - arg(:actor_id, non_null(:id)) - arg(:creator_id, non_null(:id)) + arg(:title, non_null(:string), description: "The discussion's title") + arg(:text, non_null(:string), description: "The discussion's first comment body") + arg(:actor_id, non_null(:id), description: "The discussion's group ID") resolve(&Discussion.create_discussion/3) end + @desc "Reply to a discussion" field :reply_to_discussion, type: :discussion do - arg(:discussion_id, non_null(:id)) - arg(:text, non_null(:string)) + arg(:discussion_id, non_null(:id), description: "The discussion's ID") + arg(:text, non_null(:string), description: "The discussion's reply body") resolve(&Discussion.reply_to_discussion/3) end + @desc "Update a discussion" field :update_discussion, type: :discussion do - arg(:title, non_null(:string)) - arg(:discussion_id, non_null(:id)) + arg(:title, non_null(:string), description: "The updated discussion's title") + arg(:discussion_id, non_null(:id), description: "The discussion's ID") resolve(&Discussion.update_discussion/3) end + @desc "Delete a discussion" field :delete_discussion, type: :discussion do - arg(:discussion_id, non_null(:id)) + arg(:discussion_id, non_null(:id), description: "The discussion's ID") resolve(&Discussion.delete_discussion/3) end end object :discussion_subscriptions do + @desc "Notify when a discussion changed" field :discussion_comment_changed, :discussion do - arg(:slug, non_null(:string)) + arg(:slug, non_null(:string), description: "The discussion's slug") config(fn args, _ -> {:ok, topic: args.slug} diff --git a/lib/graphql/schema/event.ex b/lib/graphql/schema/event.ex index 41dcd2cc5..0c5cab005 100644 --- a/lib/graphql/schema/event.ex +++ b/lib/graphql/schema/event.ex @@ -40,7 +40,7 @@ defmodule Mobilizon.GraphQL.Schema.EventType do field(:physical_address, :address, resolve: dataloader(Addresses), - description: "The type of the event's address" + description: "The event's physical address" ) field(:online_address, :string, description: "Online address of the event") @@ -68,10 +68,13 @@ defmodule Mobilizon.GraphQL.Schema.EventType do ) field(:participants, :paginated_participant_list, description: "The event's participants") do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) - arg(:roles, :string, default_value: "") - arg(:actor_id, :id) + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated participants list" + ) + + arg(:limit, :integer, default_value: 10, description: "The limit of participants per page") + arg(:roles, :string, default_value: "", description: "Filter by roles") resolve(&Event.list_participants_for_event/3) end @@ -119,11 +122,13 @@ defmodule Mobilizon.GraphQL.Schema.EventType do value(:cancelled, description: "The event is cancelled") end + @desc "A paginated list of events" object :paginated_event_list do field(:elements, list_of(:event), description: "A list of events") field(:total, :integer, description: "The total number of events in the list") end + @desc "Participation statistics" object :participant_stats do field(:going, :integer, description: "The number of approved participants") field(:not_approved, :integer, description: "The number of not approved participants") @@ -139,24 +144,36 @@ defmodule Mobilizon.GraphQL.Schema.EventType do field(:creator, :integer, description: "The number of creators") end + @desc """ + An event offer + """ object :event_offer do field(:price, :float, description: "The price amount for this offer") field(:price_currency, :string, description: "The currency for this price offer") field(:url, :string, description: "The URL to access to this offer") end + @desc """ + An event participation condition + """ object :event_participation_condition do field(:title, :string, description: "The title for this condition") field(:content, :string, description: "The content for this condition") field(:url, :string, description: "The URL to access this condition") end + @desc """ + An event offer + """ input_object :event_offer_input do field(:price, :float, description: "The price amount for this offer") field(:price_currency, :string, description: "The currency for this price offer") field(:url, :string, description: "The URL to access to this offer") end + @desc """ + An event participation condition + """ input_object :event_participation_condition_input do field(:title, :string, description: "The title for this condition") field(:content, :string, description: "The content for this condition") @@ -170,6 +187,9 @@ defmodule Mobilizon.GraphQL.Schema.EventType do value(:closed, description: "No one can comment except for the admin") end + @desc """ + Event options + """ object :event_options do field(:maximum_attendee_capacity, :integer, description: "The maximum attendee capacity for this event" @@ -213,6 +233,9 @@ defmodule Mobilizon.GraphQL.Schema.EventType do ) end + @desc """ + Event options + """ input_object :event_options_input do field(:maximum_attendee_capacity, :integer, description: "The maximum attendee capacity for this event" @@ -259,6 +282,9 @@ defmodule Mobilizon.GraphQL.Schema.EventType do ) end + @desc """ + A event contact + """ input_object :contact do field(:id, :string, description: "The Contact Actor ID") end @@ -266,14 +292,14 @@ defmodule Mobilizon.GraphQL.Schema.EventType do object :event_queries do @desc "Get all events" field :events, list_of(:event) do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:page, :integer, default_value: 1, description: "The page in the paginated event list") + arg(:limit, :integer, default_value: 10, description: "The limit of events per page") resolve(&Event.list_events/3) end @desc "Get an event by uuid" field :event, :event do - arg(:uuid, non_null(:uuid)) + arg(:uuid, non_null(:uuid), description: "The event's UUID") resolve(&Event.find_event/3) end end @@ -281,13 +307,21 @@ defmodule Mobilizon.GraphQL.Schema.EventType do object :event_mutations do @desc "Create an event" field :create_event, type: :event do - arg(:title, non_null(:string)) - arg(:description, non_null(:string)) - arg(:begins_on, non_null(:datetime)) - arg(:ends_on, :datetime) - arg(:status, :event_status) - arg(:visibility, :event_visibility, default_value: :public) - arg(:join_options, :event_join_options, default_value: :free) + arg(:title, non_null(:string), description: "The event's title") + arg(:description, non_null(:string), description: "The event's description") + arg(:begins_on, non_null(:datetime), description: "Datetime for when the event begins") + arg(:ends_on, :datetime, description: "Datetime for when the event ends") + arg(:status, :event_status, description: "Status of the event") + + arg(:visibility, :event_visibility, + default_value: :public, + description: "The event's visibility" + ) + + arg(:join_options, :event_join_options, + default_value: :free, + description: "The event's options to join" + ) arg(:tags, list_of(:string), default_value: [], @@ -299,31 +333,49 @@ defmodule Mobilizon.GraphQL.Schema.EventType do "The picture for the event, either as an object or directly the ID of an existing Picture" ) - arg(:publish_at, :datetime) - arg(:online_address, :string) - arg(:phone_address, :string) - arg(:organizer_actor_id, non_null(:id)) - arg(:attributed_to_id, :id) - arg(:category, :string, default_value: "meeting") - arg(:physical_address, :address_input) - arg(:options, :event_options_input) - arg(:draft, :boolean, default_value: false) - arg(:contacts, list_of(:contact), default_value: []) + arg(:publish_at, :datetime, description: "Datetime when the event was published") + arg(:online_address, :string, description: "Online address of the event") + arg(:phone_address, :string, description: "Phone address for the event") + + arg(:organizer_actor_id, non_null(:id), + description: "The event's organizer ID (as a person)" + ) + + arg(:attributed_to_id, :id, description: "Who the event is attributed to ID (often a group)") + + arg(:category, :string, default_value: "meeting", description: "The event's category") + arg(:physical_address, :address_input, description: "The event's physical address") + arg(:options, :event_options_input, description: "The event options") + + arg(:draft, :boolean, + default_value: false, + description: "Whether or not the event is a draft" + ) + + arg(:contacts, list_of(:contact), default_value: [], description: "The events contacts") resolve(&Event.create_event/3) end @desc "Update an event" field :update_event, type: :event do - arg(:event_id, non_null(:id)) + arg(:event_id, non_null(:id), description: "The event's ID") - arg(:title, :string) - arg(:description, :string) - arg(:begins_on, :datetime) - arg(:ends_on, :datetime) - arg(:status, :event_status) - arg(:visibility, :event_visibility, default_value: :public) - arg(:join_options, :event_join_options, default_value: :free) + arg(:title, :string, description: "The event's title") + arg(:description, :string, description: "The event's description") + arg(:begins_on, :datetime, description: "Datetime for when the event begins") + arg(:ends_on, :datetime, description: "Datetime for when the event ends") + arg(:status, :event_status, description: "Status of the event") + + arg(:visibility, :event_visibility, + default_value: :public, + description: "The event's visibility" + ) + + arg(:join_options, :event_join_options, + default_value: :free, + description: "The event's options to join" + ) arg(:tags, list_of(:string), description: "The list of tags associated to the event") @@ -332,23 +384,24 @@ defmodule Mobilizon.GraphQL.Schema.EventType do "The picture for the event, either as an object or directly the ID of an existing Picture" ) - arg(:online_address, :string) - arg(:phone_address, :string) - arg(:organizer_actor_id, :id) - arg(:attributed_to_id, :id) - arg(:category, :string) - arg(:physical_address, :address_input) - arg(:options, :event_options_input) - arg(:draft, :boolean) - arg(:contacts, list_of(:contact), default_value: []) + arg(:online_address, :string, description: "Online address of the event") + arg(:phone_address, :string, description: "Phone address for the event") + arg(:organizer_actor_id, :id, description: "The event's organizer ID (as a person)") + + arg(:attributed_to_id, :id, description: "Who the event is attributed to ID (often a group)") + + arg(:category, :string, description: "The event's category") + arg(:physical_address, :address_input, description: "The event's physical address") + arg(:options, :event_options_input, description: "The event options") + arg(:draft, :boolean, description: "Whether or not the event is a draft") + arg(:contacts, list_of(:contact), default_value: [], description: "The events contacts") resolve(&Event.update_event/3) end @desc "Delete an event" field :delete_event, :deleted_object do - arg(:event_id, non_null(:id)) - arg(:actor_id, non_null(:id)) + arg(:event_id, non_null(:id), description: "The event ID to delete") resolve(&Event.delete_event/3) end diff --git a/lib/graphql/schema/events/feed_token.ex b/lib/graphql/schema/events/feed_token.ex index 8c9dc438b..44ea96289 100644 --- a/lib/graphql/schema/events/feed_token.ex +++ b/lib/graphql/schema/events/feed_token.ex @@ -10,7 +10,12 @@ defmodule Mobilizon.GraphQL.Schema.Events.FeedTokenType do alias Mobilizon.{Actors, Users} alias Mobilizon.GraphQL.Resolvers.FeedToken - @desc "Represents a participant to an event" + @desc """ + Represents a feed token + + Feed tokens are tokens that are used to provide access to private feeds such as WebCal feed for all of your user's events, + or an Atom feed for just a profile. + """ object :feed_token do field( :actor, @@ -31,21 +36,21 @@ defmodule Mobilizon.GraphQL.Schema.Events.FeedTokenType do @desc "Represents a deleted feed_token" object :deleted_feed_token do - field(:user, :deleted_object) - field(:actor, :deleted_object) + field(:user, :deleted_object, description: "The user that owned the deleted feed token") + field(:actor, :deleted_object, description: "The actor that owned the deleted feed token") end object :feed_token_mutations do @desc "Create a Feed Token" field :create_feed_token, :feed_token do - arg(:actor_id, :id) + arg(:actor_id, :id, description: "The actor ID for the feed token") resolve(&FeedToken.create_feed_token/3) end @desc "Delete a feed token" field :delete_feed_token, :deleted_feed_token do - arg(:token, non_null(:string)) + arg(:token, non_null(:string), description: "The token to delete") resolve(&FeedToken.delete_feed_token/3) end diff --git a/lib/graphql/schema/events/participant.ex b/lib/graphql/schema/events/participant.ex index 3f1a44f7a..0c5cbcb01 100644 --- a/lib/graphql/schema/events/participant.ex +++ b/lib/graphql/schema/events/participant.ex @@ -37,6 +37,9 @@ defmodule Mobilizon.GraphQL.Schema.Events.ParticipantType do field(:inserted_at, :datetime, description: "The datetime this participant was created") end + @desc """ + Metadata about a participant + """ object :participant_metadata do field(:cancellation_token, :string, description: "The eventual token to leave an event when user is anonymous" @@ -46,61 +49,66 @@ defmodule Mobilizon.GraphQL.Schema.Events.ParticipantType do field(:locale, :string, description: "The participant's locale") end + @desc """ + A paginated list of participants + """ object :paginated_participant_list do field(:elements, list_of(:participant), description: "A list of participants") field(:total, :integer, description: "The total number of participants in the list") end + @desc """ + The possible values for a participant role + """ enum :participant_role_enum do - value(:not_approved) - value(:not_confirmed) - value(:participant) - value(:moderator) - value(:administrator) - value(:creator) - value(:rejected) + value(:not_approved, description: "The participant has not been approved") + value(:not_confirmed, description: "The participant has not confirmed their participation") + value(:participant, description: "The participant is a regular participant") + value(:moderator, description: "The participant is an event moderator") + value(:administrator, description: "The participant is an event administrator") + value(:creator, description: "The participant is an event creator") + value(:rejected, description: "The participant has been rejected from this event") end @desc "Represents a deleted participant" object :deleted_participant do - field(:id, :id) - field(:event, :deleted_object) - field(:actor, :deleted_object) + field(:id, :id, description: "The participant ID") + field(:event, :deleted_object, description: "The participant's event") + field(:actor, :deleted_object, description: "The participant's actor") end object :participant_mutations do @desc "Join an event" field :join_event, :participant do - arg(:event_id, non_null(:id)) - arg(:actor_id, non_null(:id)) - arg(:email, :string) - arg(:message, :string) - arg(:locale, :string) + arg(:event_id, non_null(:id), description: "The event ID that is joined") + arg(:actor_id, non_null(:id), description: "The actor ID for the participant") + arg(:email, :string, description: "The anonymous participant's email") + arg(:message, :string, description: "The anonymous participant's message") + arg(:locale, :string, description: "The anonymous participant's locale") resolve(&Participant.actor_join_event/3) end @desc "Leave an event" field :leave_event, :deleted_participant do - arg(:event_id, non_null(:id)) - arg(:actor_id, non_null(:id)) - arg(:token, :string) + arg(:event_id, non_null(:id), description: "The event ID the participant left") + arg(:actor_id, non_null(:id), description: "The actor ID for the participant") + arg(:token, :string, description: "The anonymous participant participation token") resolve(&Participant.actor_leave_event/3) end - @desc "Accept a participation" + @desc "Update a participation" field :update_participation, :participant do - arg(:id, non_null(:id)) - arg(:role, non_null(:participant_role_enum)) - arg(:moderator_actor_id, non_null(:id)) + arg(:id, non_null(:id), description: "The participant ID") + arg(:role, non_null(:participant_role_enum), description: "The participant new role") resolve(&Participant.update_participation/3) end @desc "Confirm a participation" field :confirm_participation, :participant do - arg(:confirmation_token, non_null(:string)) + arg(:confirmation_token, non_null(:string), description: "The participation token") resolve(&Participant.confirm_participation_from_token/3) end end diff --git a/lib/graphql/schema/picture.ex b/lib/graphql/schema/picture.ex index fb94517b6..401664b62 100644 --- a/lib/graphql/schema/picture.ex +++ b/lib/graphql/schema/picture.ex @@ -19,23 +19,23 @@ defmodule Mobilizon.GraphQL.Schema.PictureType do @desc "An attached picture or a link to a picture" input_object :picture_input do # Either a full picture object - field(:picture, :picture_input_object) + field(:picture, :picture_input_object, description: "A full picture attached") # Or directly the ID of an existing picture - field(:picture_id, :id) + field(:picture_id, :id, description: "The ID of an existing picture") end @desc "An attached picture" input_object :picture_input_object do - field(:name, non_null(:string)) - field(:alt, :string) - field(:file, non_null(:upload)) - field(:actor_id, :id) + field(:name, non_null(:string), description: "The picture's name") + field(:alt, :string, description: "The picture's alternative text") + field(:file, non_null(:upload), description: "The picture file") + field(:actor_id, :id, description: "The picture owner") end object :picture_queries do @desc "Get a picture" field :picture, :picture do - arg(:id, non_null(:string)) + arg(:id, non_null(:string), description: "The picture ID") resolve(&Picture.picture/3) end end @@ -43,10 +43,9 @@ defmodule Mobilizon.GraphQL.Schema.PictureType do object :picture_mutations do @desc "Upload a picture" field :upload_picture, :picture do - arg(:name, non_null(:string)) - arg(:alt, :string) - arg(:file, non_null(:upload)) - arg(:actor_id, non_null(:id)) + arg(:name, non_null(:string), description: "The picture's name") + arg(:alt, :string, description: "The picture's alternative text") + arg(:file, non_null(:upload), description: "The picture file") resolve(&Picture.upload_picture/3) end end diff --git a/lib/graphql/schema/post.ex b/lib/graphql/schema/post.ex index a273dd837..e796e620c 100644 --- a/lib/graphql/schema/post.ex +++ b/lib/graphql/schema/post.ex @@ -31,6 +31,9 @@ defmodule Mobilizon.GraphQL.Schema.PostType do ) end + @desc """ + A paginated list of posts + """ object :paginated_post_list do field(:elements, list_of(:post), description: "A list of posts") field(:total, :integer, description: "The total number of posts in the list") @@ -50,7 +53,7 @@ defmodule Mobilizon.GraphQL.Schema.PostType do object :post_queries do @desc "Get a post" field :post, :post do - arg(:slug, non_null(:string)) + arg(:slug, non_null(:string), description: "The post's slug") resolve(&Post.get_post/3) end end @@ -58,12 +61,15 @@ defmodule Mobilizon.GraphQL.Schema.PostType do object :post_mutations do @desc "Create a post" field :create_post, :post do - arg(:attributed_to_id, non_null(:id)) - arg(:title, non_null(:string)) - arg(:body, non_null(:string)) - arg(:draft, :boolean, default_value: false) - arg(:visibility, :post_visibility) - arg(:publish_at, :datetime) + arg(:attributed_to_id, non_null(:id), + description: "The ID from the group whose post is attributed to" + ) + + arg(:title, non_null(:string), description: "The post's title") + arg(:body, non_null(:string), description: "The post's body") + arg(:draft, :boolean, default_value: false, description: "Whether the post is a draft") + arg(:visibility, :post_visibility, description: "The post's visibility") + arg(:publish_at, :datetime, description: "The post's publish date") arg(:tags, list_of(:string), default_value: [], @@ -80,13 +86,17 @@ defmodule Mobilizon.GraphQL.Schema.PostType do @desc "Update a post" field :update_post, :post do - arg(:id, non_null(:id)) - arg(:title, :string) - arg(:body, :string) - arg(:attributed_to_id, :id) - arg(:draft, :boolean) - arg(:visibility, :post_visibility) - arg(:publish_at, :datetime) + arg(:id, non_null(:id), description: "The post's ID") + arg(:title, :string, description: "The post's new title") + arg(:body, :string, description: "The post's new body") + arg(:attributed_to_id, :id, description: "The group the post is attributed to") + arg(:draft, :boolean, description: "Whether the post is a draft") + arg(:visibility, :post_visibility, description: "The post's visibility") + + arg(:publish_at, :datetime, + description: "The time when the posts is going to be or has been published" + ) + arg(:tags, list_of(:string), description: "The list of tags associated to the post") arg(:picture, :picture_input, @@ -99,7 +109,7 @@ defmodule Mobilizon.GraphQL.Schema.PostType do @desc "Delete a post" field :delete_post, :deleted_object do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The post's ID") resolve(&Post.delete_post/3) end end diff --git a/lib/graphql/schema/report.ex b/lib/graphql/schema/report.ex index 41245c87c..2a44a642e 100644 --- a/lib/graphql/schema/report.ex +++ b/lib/graphql/schema/report.ex @@ -55,15 +55,19 @@ defmodule Mobilizon.GraphQL.Schema.ReportType do object :report_queries do @desc "Get all reports" field :reports, list_of(:report) do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) - arg(:status, :report_status, default_value: :open) + arg(:page, :integer, + default_value: 1, + description: "The page in the reports participations list" + ) + + arg(:limit, :integer, default_value: 10, description: "The limit of reports per page") + arg(:status, :report_status, default_value: :open, description: "Filter reports by status") resolve(&Report.list_reports/3) end @desc "Get a report by id" field :report, :report do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The report ID") resolve(&Report.get_report/3) end end @@ -71,34 +75,41 @@ defmodule Mobilizon.GraphQL.Schema.ReportType do object :report_mutations do @desc "Create a report" field :create_report, type: :report do - arg(:content, :string) - arg(:reporter_id, non_null(:id)) - arg(:reported_id, non_null(:id)) - arg(:event_id, :id, default_value: nil) - arg(:comments_ids, list_of(:id), default_value: []) - arg(:forward, :boolean, default_value: false) + arg(:content, :string, description: "The message sent with the report") + arg(:reported_id, non_null(:id), description: "The actor's ID that is being reported") + arg(:event_id, :id, default_value: nil, description: "The event ID that is being reported") + + arg(:comments_ids, list_of(:id), + default_value: [], + description: "The comment ID that is being reported" + ) + + arg(:forward, :boolean, + default_value: false, + description: + "Whether to forward the report to the original instance if the content is remote" + ) + resolve(&Report.create_report/3) end @desc "Update a report" field :update_report_status, type: :report do - arg(:report_id, non_null(:id)) - arg(:moderator_id, non_null(:id)) - arg(:status, non_null(:report_status)) + arg(:report_id, non_null(:id), description: "The report's ID") + arg(:status, non_null(:report_status), description: "The report's new status") resolve(&Report.update_report/3) end @desc "Create a note on a report" field :create_report_note, type: :report_note do - arg(:content, :string) - arg(:moderator_id, non_null(:id)) - arg(:report_id, non_null(:id)) + arg(:content, :string, description: "The note's content") + arg(:report_id, non_null(:id), description: "The report's ID") resolve(&Report.create_report_note/3) end + @desc "Delete a note on a report" field :delete_report_note, type: :deleted_object do - arg(:note_id, non_null(:id)) - arg(:moderator_id, non_null(:id)) + arg(:note_id, non_null(:id), description: "The note's ID") resolve(&Report.delete_report_note/3) end end diff --git a/lib/graphql/schema/resource.ex b/lib/graphql/schema/resource.ex index 6b91ba21a..8fef1f42e 100644 --- a/lib/graphql/schema/resource.ex +++ b/lib/graphql/schema/resource.ex @@ -30,31 +30,41 @@ defmodule Mobilizon.GraphQL.Schema.ResourceType do end end + @desc """ + A paginated list of resources + """ object :paginated_resource_list do field(:elements, list_of(:resource), description: "A list of resources") field(:total, :integer, description: "The total number of resources in the list") end + @desc """ + The metadata associated to the resource + """ object :resource_metadata do field(:type, :string, description: "The type of the resource") field(:title, :string, description: "The resource's metadata title") field(:description, :string, description: "The resource's metadata description") field(:image_remote_url, :string, description: "The resource's metadata image") - field(:width, :integer) - field(:height, :integer) - field(:author_name, :string) - field(:author_url, :string) - field(:provider_name, :string) - field(:provider_url, :string) - field(:html, :string) - field(:favicon_url, :string) + field(:width, :integer, description: "The resource's metadata image width") + field(:height, :integer, description: "The resource's metadata image height") + field(:author_name, :string, description: "The resource's author name") + field(:author_url, :string, description: "The resource's author URL") + field(:provider_name, :string, description: "The resource's provider name") + field(:provider_url, :string, description: "The resource's provider URL") + field(:html, :string, description: "The resource's author name") + field(:favicon_url, :string, description: "The resource's favicon URL") end object :resource_queries do @desc "Get a resource" field :resource, :resource do - arg(:path, non_null(:string)) - arg(:username, non_null(:string)) + arg(:path, non_null(:string), description: "The path for the resource") + + arg(:username, non_null(:string), + description: "The federated username for the group resource" + ) + resolve(&Resource.get_resource/3) end end @@ -62,36 +72,39 @@ defmodule Mobilizon.GraphQL.Schema.ResourceType do object :resource_mutations do @desc "Create a resource" field :create_resource, :resource do - arg(:parent_id, :id) - arg(:actor_id, non_null(:id)) - arg(:title, non_null(:string)) - arg(:summary, :string) - arg(:resource_url, :string) - arg(:type, :string, default_value: "link") + arg(:parent_id, :id, + description: "The ID from the parent resource (folder) this resource is in" + ) + + arg(:actor_id, non_null(:id), description: "The group this resource belongs to") + arg(:title, non_null(:string), description: "This resource's title") + arg(:summary, :string, description: "This resource summary") + arg(:resource_url, :string, description: "This resource's own original URL") + arg(:type, :string, default_value: "link", description: "The type for this resource") resolve(&Resource.create_resource/3) end @desc "Update a resource" field :update_resource, :resource do - arg(:id, non_null(:id)) - arg(:title, :string) - arg(:summary, :string) - arg(:parent_id, :id) - arg(:resource_url, :string) + arg(:id, non_null(:id), description: "The resource ID") + arg(:title, :string, description: "The new resource title") + arg(:summary, :string, description: "The new resource summary") + arg(:parent_id, :id, description: "The new resource parent ID (if the resource is moved)") + arg(:resource_url, :string, description: "The new resource URL") resolve(&Resource.update_resource/3) end @desc "Delete a resource" field :delete_resource, :deleted_object do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The resource ID") resolve(&Resource.delete_resource/3) end @desc "Get a preview for a resource link" field :preview_resource_link, :resource_metadata do - arg(:resource_url, non_null(:string)) + arg(:resource_url, non_null(:string), description: "The link to crawl to get of preview of") resolve(&Resource.preview_resource_link/3) end end diff --git a/lib/graphql/schema/search.ex b/lib/graphql/schema/search.ex index 59911cd86..916ab05b2 100644 --- a/lib/graphql/schema/search.ex +++ b/lib/graphql/schema/search.ex @@ -26,6 +26,9 @@ defmodule Mobilizon.GraphQL.Schema.SearchType do field(:elements, non_null(list_of(:event)), description: "Event elements") end + @desc """ + A entity that can be interacted with from a remote instance + """ interface :interactable do field(:url, :string, description: "A public URL for the entity") @@ -44,20 +47,25 @@ defmodule Mobilizon.GraphQL.Schema.SearchType do object :search_queries do @desc "Search persons" field :search_persons, :persons do - arg(:term, :string, default_value: "") - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:term, :string, default_value: "", description: "Search term") + arg(:page, :integer, default_value: 1, description: "Result page") + arg(:limit, :integer, default_value: 10, description: "Results limit per page") resolve(&Search.search_persons/3) end @desc "Search groups" field :search_groups, :groups do - arg(:term, :string, default_value: "") + arg(:term, :string, default_value: "", description: "Search term") arg(:location, :string, description: "A geohash for coordinates") - arg(:radius, :float, default_value: 50) - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + + arg(:radius, :float, + default_value: 50, + description: "Radius around the location to search in" + ) + + arg(:page, :integer, default_value: 1, description: "Result page") + arg(:limit, :integer, default_value: 10, description: "Results limit per page") resolve(&Search.search_groups/3) end @@ -67,11 +75,16 @@ defmodule Mobilizon.GraphQL.Schema.SearchType do arg(:term, :string, default_value: "") arg(:tags, :string, description: "A comma-separated string listing the tags") arg(:location, :string, description: "A geohash for coordinates") - arg(:radius, :float, default_value: 50) - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) - arg(:begins_on, :datetime) - arg(:ends_on, :datetime) + + arg(:radius, :float, + default_value: 50, + description: "Radius around the location to search in" + ) + + arg(:page, :integer, default_value: 1, description: "Result page") + arg(:limit, :integer, default_value: 10, description: "Results limit per page") + arg(:begins_on, :datetime, description: "Filter events by their start date") + arg(:ends_on, :datetime, description: "Filter events by their end date") resolve(&Search.search_events/3) end diff --git a/lib/graphql/schema/sort.ex b/lib/graphql/schema/sort.ex index 217709555..192ee1baa 100644 --- a/lib/graphql/schema/sort.ex +++ b/lib/graphql/schema/sort.ex @@ -6,7 +6,7 @@ defmodule Mobilizon.GraphQL.Schema.SortType do @desc "Available sort directions" enum :sort_direction do - value(:asc) - value(:desc) + value(:asc, description: "Ascending order") + value(:desc, description: "Descending order") end end diff --git a/lib/graphql/schema/tag.ex b/lib/graphql/schema/tag.ex index eee428c6d..f2db09449 100644 --- a/lib/graphql/schema/tag.ex +++ b/lib/graphql/schema/tag.ex @@ -23,8 +23,8 @@ defmodule Mobilizon.GraphQL.Schema.TagType do object :tag_queries do @desc "Get the list of tags" field :tags, non_null(list_of(:tag)) do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:page, :integer, default_value: 1, description: "The page in the paginated tags list") + arg(:limit, :integer, default_value: 10, description: "The limit of tags per page") resolve(&Tag.list_tags/3) end end diff --git a/lib/graphql/schema/todos/todo.ex b/lib/graphql/schema/todos/todo.ex index efc1c3fa9..1efe3c052 100644 --- a/lib/graphql/schema/todos/todo.ex +++ b/lib/graphql/schema/todos/todo.ex @@ -26,6 +26,9 @@ defmodule Mobilizon.GraphQL.Schema.Todos.TodoType do ) end + @desc """ + A paginated list of todos + """ object :paginated_todo_list do field(:elements, list_of(:todo), description: "A list of todos") field(:total, :integer, description: "The total number of todos in the list") @@ -34,7 +37,7 @@ defmodule Mobilizon.GraphQL.Schema.Todos.TodoType do object :todo_queries do @desc "Get a todo" field :todo, :todo do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The todo ID") resolve(&TodoResolver.get_todo/3) end end @@ -42,23 +45,23 @@ defmodule Mobilizon.GraphQL.Schema.Todos.TodoType do object :todo_mutations do @desc "Create a todo" field :create_todo, :todo do - arg(:todo_list_id, non_null(:id)) - arg(:title, non_null(:string)) - arg(:status, :boolean) - arg(:due_date, :datetime) - arg(:assigned_to_id, :id) + arg(:todo_list_id, non_null(:id), description: "The todo-list ID this todo is in") + arg(:title, non_null(:string), description: "The todo title") + arg(:status, :boolean, description: "The todo status") + arg(:due_date, :datetime, description: "The todo due date") + arg(:assigned_to_id, :id, description: "The actor this todo is assigned to") resolve(&TodoResolver.create_todo/3) end @desc "Update a todo" field :update_todo, :todo do - arg(:id, non_null(:id)) - arg(:todo_list_id, :id) - arg(:title, :string) - arg(:status, :boolean) - arg(:due_date, :datetime) - arg(:assigned_to_id, :id) + arg(:id, non_null(:id), description: "The todo ID") + arg(:todo_list_id, :id, description: "The new todo-list ID") + arg(:title, :string, description: "The new todo title") + arg(:status, :boolean, description: "The new todo status") + arg(:due_date, :datetime, description: "The new todo due date") + arg(:assigned_to_id, :id, description: "The new id of the actor this todo is assigned to") resolve(&TodoResolver.update_todo/3) end diff --git a/lib/graphql/schema/todos/todo_list.ex b/lib/graphql/schema/todos/todo_list.ex index 2c89f7e7c..7d9b24100 100644 --- a/lib/graphql/schema/todos/todo_list.ex +++ b/lib/graphql/schema/todos/todo_list.ex @@ -23,6 +23,9 @@ defmodule Mobilizon.GraphQL.Schema.Todos.TodoListType do ) end + @desc """ + A paginated list of todo-lists + """ object :paginated_todo_list_list do field(:elements, list_of(:todo_list), description: "A list of todo lists") field(:total, :integer, description: "The total number of todo lists in the list") @@ -31,7 +34,7 @@ defmodule Mobilizon.GraphQL.Schema.Todos.TodoListType do object :todo_list_queries do @desc "Get a todo list" field :todo_list, :todo_list do - arg(:id, non_null(:id)) + arg(:id, non_null(:id), description: "The todo-list ID") resolve(&Todos.get_todo_list/3) end end @@ -39,8 +42,8 @@ defmodule Mobilizon.GraphQL.Schema.Todos.TodoListType do object :todo_list_mutations do @desc "Create a todo list" field :create_todo_list, :todo_list do - arg(:title, non_null(:string)) - arg(:group_id, non_null(:id)) + arg(:title, non_null(:string), description: "The todo list title") + arg(:group_id, non_null(:id), description: "The group ID") resolve(&Todos.create_todo_list/3) end end diff --git a/lib/graphql/schema/user.ex b/lib/graphql/schema/user.ex index 0c3a28ecb..ea2a943e8 100644 --- a/lib/graphql/schema/user.ex +++ b/lib/graphql/schema/user.ex @@ -58,24 +58,42 @@ defmodule Mobilizon.GraphQL.Schema.UserType do field(:participations, :paginated_participant_list, description: "The list of participations this user has" ) do - arg(:after_datetime, :datetime) - arg(:before_datetime, :datetime) - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:after_datetime, :datetime, description: "Filter participations by event start datetime") + + arg(:before_datetime, :datetime, description: "Filter participations by event end datetime") + + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated participations list" + ) + + arg(:limit, :integer, + default_value: 10, + description: "The limit of participations per page" + ) + resolve(&User.user_participations/3) end field(:memberships, :paginated_member_list, description: "The list of memberships for this user" ) do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated memberships list" + ) + + arg(:limit, :integer, default_value: 10, description: "The limit of memberships per page") resolve(&User.user_memberships/3) end field(:drafts, list_of(:event), description: "The list of draft events this user has created") do - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:page, :integer, + default_value: 1, + description: "The page in the paginated drafts events list" + ) + + arg(:limit, :integer, default_value: 10, description: "The limit of drafts events per page") resolve(&User.user_drafted_events/3) end @@ -94,10 +112,11 @@ defmodule Mobilizon.GraphQL.Schema.UserType do ) end + @desc "The list of roles an user can have" enum :user_role do - value(:administrator) - value(:moderator) - value(:user) + value(:administrator, description: "Administrator role") + value(:moderator, description: "Moderator role") + value(:user, description: "User role") end @desc "Token" @@ -112,9 +131,9 @@ defmodule Mobilizon.GraphQL.Schema.UserType do field(:elements, non_null(list_of(:user)), description: "User elements") end - @desc "The list of possible options for the event's status" + @desc "The list of sortable fields for an user list" enum :sortable_user_field do - value(:id) + value(:id, description: "The user's ID") end object :user_settings do @@ -142,11 +161,24 @@ defmodule Mobilizon.GraphQL.Schema.UserType do ) end + @desc "The list of values the for pending notification settings" enum :notification_pending_enum do - value(:none, as: :none) - value(:direct, as: :direct) - value(:one_hour, as: :one_hour) - value(:one_day, as: :one_day) + value(:none, as: :none, description: "None. The notification won't be sent.") + + value(:direct, + as: :direct, + description: "Direct. The notification will be sent right away each time." + ) + + value(:one_hour, + as: :one_hour, + description: "One hour. Notifications will be sent at most each hour" + ) + + value(:one_day, + as: :one_day, + description: "One day. Notifications will be sent at most each day" + ) end object :user_queries do @@ -163,12 +195,12 @@ defmodule Mobilizon.GraphQL.Schema.UserType do @desc "List instance users" field :users, :users do - arg(:email, :string, default_value: "") - arg(:page, :integer, default_value: 1) - arg(:limit, :integer, default_value: 10) + arg(:email, :string, default_value: "", description: "Filter users by email") + arg(:page, :integer, default_value: 1, description: "The page in the paginated users list") + arg(:limit, :integer, default_value: 10, description: "The limit of users per page") - arg(:sort, :sortable_user_field, default_value: :id) - arg(:direction, :sort_direction, default_value: :desc) + arg(:sort, :sortable_user_field, default_value: :id, description: "Sort column") + arg(:direction, :sort_direction, default_value: :desc, description: "Sort direction") resolve(&User.list_users/3) end @@ -177,99 +209,128 @@ defmodule Mobilizon.GraphQL.Schema.UserType do object :user_mutations do @desc "Create an user" field :create_user, type: :user do - arg(:email, non_null(:string)) - arg(:password, non_null(:string)) - arg(:locale, :string) + arg(:email, non_null(:string), description: "The new user's email") + arg(:password, non_null(:string), description: "The new user's password") + arg(:locale, :string, description: "The new user's locale") resolve(&User.create_user/3) end @desc "Validate an user after registration" field :validate_user, type: :login do - arg(:token, non_null(:string)) + arg(:token, non_null(:string), + description: "The token that will be used to validate the user" + ) + resolve(&User.validate_user/3) end @desc "Resend registration confirmation token" field :resend_confirmation_email, type: :string do - arg(:email, non_null(:string)) - arg(:locale, :string) + arg(:email, non_null(:string), description: "The email used to register") + arg(:locale, :string, description: "The user's locale") resolve(&User.resend_confirmation_email/3) end @desc "Send a link through email to reset user password" field :send_reset_password, type: :string do - arg(:email, non_null(:string)) - arg(:locale, :string) + arg(:email, non_null(:string), description: "The user's email") + arg(:locale, :string, description: "The user's locale") resolve(&User.send_reset_password/3) end @desc "Reset user password" field :reset_password, type: :login do - arg(:token, non_null(:string)) - arg(:password, non_null(:string)) - arg(:locale, :string, default_value: "en") + arg(:token, non_null(:string), + description: "The user's token that will be used to reset the password" + ) + + arg(:password, non_null(:string), description: "The new password") + arg(:locale, :string, default_value: "en", description: "The user's locale") resolve(&User.reset_password/3) end @desc "Login an user" field :login, type: :login do - arg(:email, non_null(:string)) - arg(:password, non_null(:string)) + arg(:email, non_null(:string), description: "The user's email") + arg(:password, non_null(:string), description: "The user's password") resolve(&User.login_user/3) end @desc "Refresh a token" field :refresh_token, type: :refreshed_token do - arg(:refresh_token, non_null(:string)) + arg(:refresh_token, non_null(:string), description: "A refresh token") resolve(&User.refresh_token/3) end @desc "Change default actor for user" field :change_default_actor, :user do - arg(:preferred_username, non_null(:string)) + arg(:preferred_username, non_null(:string), description: "The actor preferred_username") resolve(&User.change_default_actor/3) end @desc "Change an user password" field :change_password, :user do - arg(:old_password, non_null(:string)) - arg(:new_password, non_null(:string)) + arg(:old_password, non_null(:string), description: "The user's current password") + arg(:new_password, non_null(:string), description: "The user's new password") resolve(&User.change_password/3) end @desc "Change an user email" field :change_email, :user do - arg(:email, non_null(:string)) - arg(:password, non_null(:string)) + arg(:email, non_null(:string), description: "The user's new email") + arg(:password, non_null(:string), description: "The user's current password") resolve(&User.change_email/3) end @desc "Validate an user email" field :validate_email, :user do - arg(:token, non_null(:string)) + arg(:token, non_null(:string), + description: "The token that will be used to validate the email change" + ) + resolve(&User.validate_email/3) end @desc "Delete an account" field :delete_account, :deleted_object do - arg(:password, :string) - arg(:user_id, :id) + arg(:password, :string, description: "The user's password") + arg(:user_id, :id, description: "The user's ID") resolve(&User.delete_account/3) end + @desc "Set user settings" field :set_user_settings, :user_settings do - arg(:timezone, :string) - arg(:notification_on_day, :boolean) - arg(:notification_each_week, :boolean) - arg(:notification_before_event, :boolean) - arg(:notification_pending_participation, :notification_pending_enum) - arg(:notification_pending_membership, :notification_pending_enum) + arg(:timezone, :string, description: "The timezone for this user") + + arg(:notification_on_day, :boolean, + description: + "Whether this user will receive an email at the start of the day of an event." + ) + + arg(:notification_each_week, :boolean, + description: "Whether this user will receive an weekly event recap" + ) + + arg(:notification_before_event, :boolean, + description: "Whether this user will receive a notification right before event" + ) + + arg(:notification_pending_participation, :notification_pending_enum, + description: "When does the user receives a notification about new pending participations" + ) + + arg(:notification_pending_membership, :notification_pending_enum, + description: + "When does the user receives a notification about a new pending membership in one of the group they're admin for" + ) + resolve(&User.set_user_setting/3) end + @desc "Update the user's locale" field :update_locale, :user do - arg(:locale, :string) + arg(:locale, :string, description: "The user's new locale") resolve(&User.update_locale/3) end end diff --git a/lib/web/templates/email/report.text.eex b/lib/web/templates/email/report.text.eex index 43014549f..b5521c4db 100644 --- a/lib/web/templates/email/report.text.eex +++ b/lib/web/templates/email/report.text.eex @@ -4,7 +4,7 @@ <%= if @report.reported.type == :Group do %> <%= gettext "Group %{group} was reported", group: Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %> <% else %> - <%= gettext "Profile %{profile} was reported", group: Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %> + <%= gettext "Profile %{profile} was reported", profile: Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %> <% end %> <% end %> <%= if Map.has_key?(@report, :event) and @report.event do %> diff --git a/priv/gettext/ar/LC_MESSAGES/errors.po b/priv/gettext/ar/LC_MESSAGES/errors.po index 9136463b7..dd10fb91b 100644 --- a/priv/gettext/ar/LC_MESSAGES/errors.po +++ b/priv/gettext/ar/LC_MESSAGES/errors.po @@ -124,17 +124,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -144,8 +139,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -160,7 +155,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -176,18 +171,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -253,17 +245,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -283,7 +275,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -293,17 +285,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -363,27 +355,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -393,49 +385,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -445,34 +432,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -487,36 +469,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -526,23 +508,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -557,37 +539,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -597,7 +579,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -607,33 +589,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -648,17 +630,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -678,7 +660,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -688,7 +670,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -698,7 +680,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -708,7 +690,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -723,17 +705,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -753,30 +735,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -838,47 +805,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -886,3 +853,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/be/LC_MESSAGES/errors.po b/priv/gettext/be/LC_MESSAGES/errors.po index a84d5ecca..b0fcd70e2 100644 --- a/priv/gettext/be/LC_MESSAGES/errors.po +++ b/priv/gettext/be/LC_MESSAGES/errors.po @@ -98,17 +98,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -118,8 +113,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -134,7 +129,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -150,18 +145,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -227,17 +219,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -257,7 +249,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -267,17 +259,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -337,27 +329,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -367,49 +359,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -419,34 +406,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -461,36 +443,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -500,23 +482,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -531,37 +513,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -571,7 +553,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -581,33 +563,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -622,17 +604,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -652,7 +634,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -662,7 +644,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -672,7 +654,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -682,7 +664,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -697,17 +679,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -727,30 +709,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -812,47 +779,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -860,3 +827,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/ca/LC_MESSAGES/errors.po b/priv/gettext/ca/LC_MESSAGES/errors.po index ba6da46b3..80467d066 100644 --- a/priv/gettext/ca/LC_MESSAGES/errors.po +++ b/priv/gettext/ca/LC_MESSAGES/errors.po @@ -99,17 +99,12 @@ msgid "Cannot refresh the token" msgstr "No s'ha pogut actualitzar el codi d'accés" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "El perfil del creador no pertany a l'usuària actual" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "El perfil actual no pertany a aquest grup" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "El perfil actual no administra el grup seleccionat" @@ -119,8 +114,8 @@ msgid "Error while saving user settings" msgstr "No s'han pogut desar les preferències" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "No s'ha trobat el grup" @@ -135,7 +130,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "No t'hem pogut autenticar. El teu correu o contrasenya són incorrectes." #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "No s'ha trobat el/la membre" @@ -151,18 +146,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -228,17 +220,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -258,7 +250,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -268,17 +260,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -338,27 +330,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -368,49 +360,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -420,34 +407,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -462,36 +444,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -501,23 +483,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -532,37 +514,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -572,7 +554,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -582,33 +564,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -623,17 +605,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -653,7 +635,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -663,7 +645,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -673,7 +655,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -683,7 +665,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -698,17 +680,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -728,30 +710,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -813,47 +780,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -861,3 +828,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/cs/LC_MESSAGES/errors.po b/priv/gettext/cs/LC_MESSAGES/errors.po index c10143c57..442c26e77 100644 --- a/priv/gettext/cs/LC_MESSAGES/errors.po +++ b/priv/gettext/cs/LC_MESSAGES/errors.po @@ -98,17 +98,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -118,8 +113,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -134,7 +129,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -150,18 +145,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -227,17 +219,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -257,7 +249,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -267,17 +259,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -337,27 +329,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -367,49 +359,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -419,34 +406,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -461,36 +443,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -500,23 +482,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -531,37 +513,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -571,7 +553,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -581,33 +563,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -622,17 +604,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -652,7 +634,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -662,7 +644,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -672,7 +654,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -682,7 +664,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -697,17 +679,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -727,30 +709,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -812,47 +779,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -860,3 +827,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po index 046ba5372..fe88ddbdb 100644 --- a/priv/gettext/de/LC_MESSAGES/errors.po +++ b/priv/gettext/de/LC_MESSAGES/errors.po @@ -92,17 +92,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -112,8 +107,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -128,7 +123,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -144,18 +139,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -221,17 +213,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -251,7 +243,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -261,17 +253,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -331,27 +323,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -361,49 +353,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -413,34 +400,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -455,36 +437,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -494,23 +476,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -525,37 +507,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -565,7 +547,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -575,33 +557,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -616,17 +598,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -646,7 +628,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -656,7 +638,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -666,7 +648,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -676,7 +658,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -691,17 +673,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -721,30 +703,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -806,47 +773,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -854,3 +821,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po index aba5c365a..6837a00ce 100644 --- a/priv/gettext/en/LC_MESSAGES/errors.po +++ b/priv/gettext/en/LC_MESSAGES/errors.po @@ -102,17 +102,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -122,8 +117,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -138,7 +133,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -154,18 +149,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -231,17 +223,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -261,7 +253,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -271,17 +263,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -341,27 +333,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -371,49 +363,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -423,34 +410,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -465,36 +447,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -504,23 +486,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -535,37 +517,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -575,7 +557,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -585,33 +567,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -626,17 +608,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -656,7 +638,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -666,7 +648,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -676,7 +658,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -686,7 +668,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -701,17 +683,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -731,30 +713,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -816,47 +783,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -864,3 +831,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot index 8d15f23b3..412935e71 100644 --- a/priv/gettext/errors.pot +++ b/priv/gettext/errors.pot @@ -99,17 +99,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -119,8 +114,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -135,7 +130,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -151,18 +146,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -228,17 +220,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -258,7 +250,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -268,17 +260,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -338,27 +330,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -368,49 +360,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -420,34 +407,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -462,36 +444,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -501,23 +483,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -532,37 +514,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -572,7 +554,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -582,33 +564,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -623,17 +605,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -653,7 +635,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -663,7 +645,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -673,7 +655,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -683,7 +665,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -698,17 +680,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -728,30 +710,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -813,47 +780,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -861,3 +828,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po index 49954c6de..282f02dd1 100644 --- a/priv/gettext/es/LC_MESSAGES/errors.po +++ b/priv/gettext/es/LC_MESSAGES/errors.po @@ -99,17 +99,12 @@ msgid "Cannot refresh the token" msgstr "No se puede actualizar el token" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "El perfil del creador no es propiedad del usuario actual" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "El perfil actual no es miembro de este grupo" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "El perfil actual no es un administrador del grupo seleccionado" @@ -119,8 +114,8 @@ msgid "Error while saving user settings" msgstr "Error al guardar los parámetros del usuario" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Grupo no encontrado" @@ -136,7 +131,7 @@ msgstr "" "Imposible autenticarse, su correo electrónico o contraseña no son válidos." #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Miembro no encontrado" @@ -152,18 +147,15 @@ msgid "No user to validate with this email was found" msgstr "No se encontró ningún usuario para validar con este correo electrónico" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "No se encontró ningún usuario con este correo electrónico" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "El perfil no es propiedad del usuario autenticado" @@ -231,17 +223,17 @@ msgid "User requested is not logged-in" msgstr "El usuario solicitado no ha iniciado sesión" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "Ya eres miembro de este grupo" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "No puedes dejar este grupo porque eres el único administrador" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "No puedes unirte a este grupo" @@ -261,7 +253,7 @@ msgid "You need to be logged-in to change your password" msgstr "Debes iniciar sesión para cambiar tu contraseña" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "Debes iniciar sesión para eliminar un grupo" @@ -271,17 +263,17 @@ msgid "You need to be logged-in to delete your account" msgstr "Debes iniciar sesión para eliminar su cuenta" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "Debes iniciar sesión para eliminar su cuenta" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "Debes iniciar sesión para dejar un grupo" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "Debes iniciar sesión para actualizar un grupo" @@ -344,27 +336,27 @@ msgid "Profile already suspended" msgstr "Perfil ya suspendido" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "Su instancia requiere un correo electrónico válido" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "La participación anónima no está habilitada" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "No se puede eliminar al último administrador de un grupo" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "No se puede eliminar la última identidad de un usuario" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "El comentario ya está eliminado" @@ -374,49 +366,44 @@ msgid "Discussion not found" msgstr "Discusión no encontrada" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Error al guardar el informe" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Error al actualizar el informe" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "ID de evento no encontrado" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "Evento no encontrado" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "El evento con este ID%{id} no existe" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "Error interno" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "El perfil del moderador no es propiedad del usuario autenticado" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "Sin discusión con ID%{id}" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "No se encontró perfil para el usuario" @@ -426,34 +413,29 @@ msgid "No such feed token" msgstr "No existe tal token de alimentación" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "El perfil del organizador no es propiedad del usuario" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "El participante ya tiene el rol%{role}" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "Participante no encontrado" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "Persona con ID%{id} no encontrada" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "Persona con nombre de usuario %{username} no encontrada" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "No se encontró la foto con ID %{id}" @@ -468,36 +450,36 @@ msgid "Post doesn't exist" msgstr "La publicación no existe" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "El perfil invitado no existe" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "Perfil ya es miembro de este grupo" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "El perfil no es miembro del grupo" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "Perfil no encontrado" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "El perfil de moderador proporcionado no tiene permiso para este evento" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "Informe no encontrado" @@ -507,23 +489,23 @@ msgid "Resource doesn't exist" msgstr "El recurso no existe" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "El evento ya alcanzó su capacidad máxima" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "Este token no es válido" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "Todo no existe" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "La lista de tareas pendientes no existe" @@ -538,37 +520,37 @@ msgid "Token is not a valid UUID" msgstr "El token no es un UUID válido" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "Usuario no encontrado" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "Ya tienes un perfil para este usuario" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "Ya eres participante de este evento" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "No eres miembro del grupo al que pertenece la discusión" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "no eres un miembro de este grupo" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "No eres moderador ni administrador de este grupo" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "No está permitido crear un comentario si no está conectado" @@ -578,7 +560,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "No puede crear un token de feed si no está conectado" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "No puede eliminar un comentario si no está conectado" @@ -588,37 +570,37 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "No puede eliminar un token de feed si no está conectado" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "No se le permite actualizar un comentario si no está conectado" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" "No puedes abandonar el evento porque eres el único participante creador del " "evento" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "No puede establecerse en un rol de miembro inferior para este grupo porque " "es el único administrador" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "No puedes borrar este comentario" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "No puedes borrar este evento" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "No puedes invitar a este grupo" @@ -634,17 +616,17 @@ msgstr "" "Debe iniciar sesión y un moderador para enumerar los registros de acción" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "Debe iniciar sesión y un moderador para enumerar los informes" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe" @@ -670,7 +652,7 @@ msgstr "" "panel" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "Debe iniciar sesión para acceder a las discusiones" @@ -680,7 +662,7 @@ msgid "You need to be logged-in to access resources" msgstr "Debes iniciar sesión para acceder a los recursos" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "Debes iniciar sesión para crear eventos" @@ -690,7 +672,7 @@ msgid "You need to be logged-in to create posts" msgstr "Debes iniciar sesión para crear publicaciones" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "Debe iniciar sesión para crear informes" @@ -700,7 +682,7 @@ msgid "You need to be logged-in to create resources" msgstr "Debe iniciar sesión para crear recursos" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "Debe iniciar sesión para eliminar un evento" @@ -715,17 +697,17 @@ msgid "You need to be logged-in to delete resources" msgstr "Debes iniciar sesión para eliminar recursos" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "Debes iniciar sesión para eliminar recursos" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "Debes iniciar sesión para salir de un evento" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "Debe iniciar sesión para actualizar un evento" @@ -745,32 +727,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "Debe iniciar sesión para ver una vista previa del recurso" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "Debes iniciar sesión para subir una imagen" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" -"La identificación del informante no coincide con la identificación del " -"perfil anónimo" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "El perfil del denunciante no es propiedad de un usuario autenticado" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "El recurso principal no pertenece a este grupo" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "El ID de perfil proporcionado no es el del perfil anónimo" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -834,47 +799,47 @@ msgid "You need to be logged in" msgstr "Debes iniciar sesión" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "No puedes aceptar esta invitación con este perfil." #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "No puedes rechazar esta invitación con este perfil." #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "El archivo no tiene un tipo MIME permitido." #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "El perfil no es miembro del grupo" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "No puedes borrar este evento." #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "No puedes rechazar esta invitación con este perfil." #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "Esta invitación no existe." #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "Este miembro ya ha sido rechazado." #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "No tiene derecho a eliminar este miembro." @@ -882,3 +847,8 @@ msgstr "No tiene derecho a eliminar este miembro." #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/fi/LC_MESSAGES/errors.po b/priv/gettext/fi/LC_MESSAGES/errors.po index 01f27c4d3..db9b0ce58 100644 --- a/priv/gettext/fi/LC_MESSAGES/errors.po +++ b/priv/gettext/fi/LC_MESSAGES/errors.po @@ -99,17 +99,12 @@ msgid "Cannot refresh the token" msgstr "Ei voida päivittää tokenia" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "Nykyinen käyttäjä ei omista luontiprofiilia" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "Nykyinen profiili ei kuulu tähän ryhmään" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "Nykyinen profiili ei ole valitun ryhmän ylläpitäjä" @@ -119,8 +114,8 @@ msgid "Error while saving user settings" msgstr "Käyttäjän asetusten tallennuksessa tapahtui virhe" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Ryhmää ei löydy" @@ -136,7 +131,7 @@ msgstr "" "Kirjautuminen epäonnistui - joko sähköpostiosoitteesi tai salasana on väärin." #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Jäsentä ei löydy" @@ -152,18 +147,15 @@ msgid "No user to validate with this email was found" msgstr "Käyttäjää tämän sähköpostin vahvistamiseksi ei löydy" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "Käyttäjää, jolla on tämä sähköpostiosoite ei löydy" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -229,17 +221,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -259,7 +251,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -269,17 +261,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -339,27 +331,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -369,49 +361,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -421,34 +408,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -463,36 +445,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -502,23 +484,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -533,37 +515,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -573,7 +555,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -583,33 +565,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -624,17 +606,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -654,7 +636,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -664,7 +646,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -674,7 +656,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -684,7 +666,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -699,17 +681,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -729,30 +711,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -814,47 +781,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -862,3 +829,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po index 1c18ebf81..9c78163d3 100644 --- a/priv/gettext/fr/LC_MESSAGES/errors.po +++ b/priv/gettext/fr/LC_MESSAGES/errors.po @@ -8,7 +8,7 @@ # # to merge POT files into PO files. msgid "" msgstr "" -"PO-Revision-Date: 2020-11-17 19:10+0100\n" +"PO-Revision-Date: 2020-11-18 10:37+0100\n" "Last-Translator: Thomas Citharel \n" "Language-Team: French \n" "Language: fr\n" @@ -95,618 +95,747 @@ msgstr "doit être supérieur ou égal à %{number}" msgid "must be equal to %{number}" msgstr "doit être égal à %{number}" +#, elixir-format #: lib/graphql/resolvers/user.ex:103 msgid "Cannot refresh the token" msgstr "Impossible de rafraîchir le jeton" -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "Le profil créateur n'est pas possédé par l'utilisateur actuel" - -#: lib/graphql/resolvers/group.ex:201 +#, elixir-format +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "Le profil actuel n'est pas un membre de ce groupe" -#: lib/graphql/resolvers/group.ex:205 +#, elixir-format +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "Le profil actuel n'est pas un·e administrateur·ice du groupe sélectionné" +#, elixir-format #: lib/graphql/resolvers/user.ex:512 msgid "Error while saving user settings" msgstr "Erreur lors de la sauvegarde des paramètres utilisateur" -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 lib/graphql/resolvers/group.ex:229 -#: lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#, elixir-format +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Groupe non trouvé" +#, elixir-format #: lib/graphql/resolvers/group.ex:66 msgid "Group with ID %{id} not found" msgstr "Groupe avec l'ID %{id} non trouvé" +#, elixir-format #: lib/graphql/resolvers/user.ex:83 msgid "Impossible to authenticate, either your email or password are invalid." msgstr "Impossible de s'authentifier, votre adresse e-mail ou bien votre mot de passe sont invalides." -#: lib/graphql/resolvers/group.ex:261 +#, elixir-format +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Membre non trouvé" -#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 lib/graphql/resolvers/user.ex:417 +#, elixir-format +#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 +#: lib/graphql/resolvers/user.ex:417 msgid "No profile found for the moderator user" msgstr "Aucun profil trouvé pour l'utilisateur modérateur" +#, elixir-format #: lib/graphql/resolvers/user.ex:195 msgid "No user to validate with this email was found" msgstr "Aucun·e utilisateur·ice à valider avec cet email n'a été trouvé·e" -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 lib/graphql/resolvers/user.ex:219 +#, elixir-format +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "Aucun·e utilisateur·ice avec cette adresse e-mail n'a été trouvé·e" -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 lib/graphql/resolvers/event.ex:286 -#: lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 lib/graphql/resolvers/participant.ex:29 -#: lib/graphql/resolvers/participant.ex:160 lib/graphql/resolvers/participant.ex:189 -#: lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 lib/graphql/resolvers/person.ex:255 -#: lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 lib/graphql/resolvers/picture.ex:72 -#: lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#, elixir-format +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "Le profil n'est pas possédé par l'utilisateur connecté" +#, elixir-format #: lib/graphql/resolvers/user.ex:125 msgid "Registrations are not open" msgstr "Les inscriptions ne sont pas ouvertes" +#, elixir-format #: lib/graphql/resolvers/user.ex:330 msgid "The current password is invalid" msgstr "Le mot de passe actuel est invalid" +#, elixir-format #: lib/graphql/resolvers/user.ex:382 msgid "The new email doesn't seem to be valid" msgstr "La nouvelle adresse e-mail ne semble pas être valide" +#, elixir-format #: lib/graphql/resolvers/user.ex:379 msgid "The new email must be different" msgstr "La nouvelle adresse e-mail doit être différente" +#, elixir-format #: lib/graphql/resolvers/user.ex:333 msgid "The new password must be different" msgstr "Le nouveau mot de passe doit être différent" -#: lib/graphql/resolvers/user.ex:376 lib/graphql/resolvers/user.ex:439 lib/graphql/resolvers/user.ex:442 +#, elixir-format +#: lib/graphql/resolvers/user.ex:376 lib/graphql/resolvers/user.ex:439 +#: lib/graphql/resolvers/user.ex:442 msgid "The password provided is invalid" msgstr "Le mot de passe fourni est invalide" +#, elixir-format #: lib/graphql/resolvers/user.ex:337 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Le mot de passe que vous avez choisi est trop court. Merci de vous assurer que votre mot de passe contienne au moins " "6 caractères." +#, elixir-format #: lib/graphql/resolvers/user.ex:215 msgid "This user can't reset their password" msgstr "Cet·te utilisateur·ice ne peut pas réinitialiser son mot de passe" +#, elixir-format #: lib/graphql/resolvers/user.ex:79 msgid "This user has been disabled" msgstr "Cet·te utilisateur·ice a été désactivé·e" +#, elixir-format #: lib/graphql/resolvers/user.ex:179 msgid "Unable to validate user" msgstr "Impossible de valider l'utilisateur·ice" +#, elixir-format #: lib/graphql/resolvers/user.ex:420 msgid "User already disabled" msgstr "L'utilisateur·ice est déjà désactivé·e" +#, elixir-format #: lib/graphql/resolvers/user.ex:487 msgid "User requested is not logged-in" msgstr "L'utilisateur·ice demandé·e n'est pas connecté·e" -#: lib/graphql/resolvers/group.ex:235 +#, elixir-format +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "Vous êtes déjà membre de ce groupe" -#: lib/graphql/resolvers/group.ex:268 +#, elixir-format +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "Vous ne pouvez pas quitter ce groupe car vous en êtes le ou la seul·e administrateur·ice" -#: lib/graphql/resolvers/group.ex:232 +#, elixir-format +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "Vous ne pouvez pas rejoindre ce groupe" +#, elixir-format #: lib/graphql/resolvers/group.ex:94 msgid "You may not list groups unless moderator." msgstr "Vous ne pouvez pas lister les groupes sauf à être modérateur·ice." +#, elixir-format #: lib/graphql/resolvers/user.ex:387 msgid "You need to be logged-in to change your email" msgstr "Vous devez être connecté·e pour changer votre adresse e-mail" +#, elixir-format #: lib/graphql/resolvers/user.ex:345 msgid "You need to be logged-in to change your password" msgstr "Vous devez être connecté·e pour changer votre mot de passe" -#: lib/graphql/resolvers/group.ex:210 +#, elixir-format +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "Vous devez être connecté·e pour supprimer un groupe" +#, elixir-format #: lib/graphql/resolvers/user.ex:447 msgid "You need to be logged-in to delete your account" msgstr "Vous devez être connecté·e pour supprimer votre compte" -#: lib/graphql/resolvers/group.ex:240 +#, elixir-format +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "Vous devez être connecté·e pour rejoindre un groupe" -#: lib/graphql/resolvers/group.ex:273 +#, elixir-format +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "Vous devez être connecté·e pour quitter un groupe" -#: lib/graphql/resolvers/group.ex:175 +#, elixir-format +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "Vous devez être connecté·e pour mettre à jour un groupe" +#, elixir-format #: lib/graphql/resolvers/user.ex:58 msgid "You need to have admin access to list users" msgstr "Vous devez avoir un accès administrateur pour lister les utilisateur·ices" +#, elixir-format #: lib/graphql/resolvers/user.ex:108 msgid "You need to have an existing token to get a refresh token" msgstr "Vous devez avoir un jeton existant pour obtenir un jeton de rafraîchissement" +#, elixir-format #: lib/graphql/resolvers/user.ex:198 lib/graphql/resolvers/user.ex:222 msgid "You requested again a confirmation email too soon" msgstr "Vous avez à nouveau demandé un email de confirmation trop vite" +#, elixir-format #: lib/graphql/resolvers/user.ex:128 msgid "Your email is not on the allowlist" msgstr "Votre adresse e-mail n'est pas sur la liste d'autorisations" +#, elixir-format #: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94 msgid "Error while performing background task" msgstr "Erreur lors de l'exécution d'une tâche d'arrière-plan" +#, elixir-format #: lib/graphql/resolvers/actor.ex:27 msgid "No profile found with this ID" msgstr "Aucun profil trouvé avec cet ID" +#, elixir-format #: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91 msgid "No remote profile found with this ID" msgstr "Aucun profil distant trouvé avec cet ID" +#, elixir-format #: lib/graphql/resolvers/actor.ex:69 msgid "Only moderators and administrators can suspend a profile" msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent suspendre un profil" +#, elixir-format #: lib/graphql/resolvers/actor.ex:99 msgid "Only moderators and administrators can unsuspend a profile" msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent annuler la suspension d'un profil" +#, elixir-format #: lib/graphql/resolvers/actor.ex:24 msgid "Only remote profiles may be refreshed" msgstr "Seuls les profils distants peuvent être rafraîchis" +#, elixir-format #: lib/graphql/resolvers/actor.ex:61 msgid "Profile already suspended" msgstr "Le profil est déjà suspendu" -#: lib/graphql/resolvers/participant.ex:93 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "Une adresse e-mail valide est requise par votre instance" -#: lib/graphql/resolvers/participant.ex:87 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "La participation anonyme n'est pas activée" -#: lib/graphql/resolvers/person.ex:186 +#, elixir-format +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "Impossible de supprimer le ou la dernier·ère administrateur·ice d'un groupe" -#: lib/graphql/resolvers/person.ex:183 +#, elixir-format +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "Impossible de supprimer le dernier profil d'un·e utilisateur·ice" -#: lib/graphql/resolvers/comment.ex:109 +#, elixir-format +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "Le commentaire est déjà supprimé" +#, elixir-format #: lib/graphql/resolvers/discussion.ex:61 msgid "Discussion not found" msgstr "Discussion non trouvée" -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#, elixir-format +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Erreur lors de la sauvegarde du signalement" -#: lib/graphql/resolvers/report.ex:110 +#, elixir-format +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Erreur lors de la mise à jour du signalement" -#: lib/graphql/resolvers/participant.ex:128 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "ID de l'événement non trouvé" -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 lib/graphql/resolvers/event.ex:283 +#, elixir-format +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "Événement non trouvé" -#: lib/graphql/resolvers/participant.ex:84 lib/graphql/resolvers/participant.ex:125 -#: lib/graphql/resolvers/participant.ex:157 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "L'événement avec cet ID %{id} n'existe pas" -#: lib/graphql/resolvers/participant.ex:100 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "Erreur interne" -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "Le profil créateur n'est pas possédé par l'utilisateur actuel" - -#: lib/graphql/resolvers/discussion.ex:184 +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "Aucune discussion avec l'ID %{id}" -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#, elixir-format +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "Aucun profil trouvé pour l'utilisateur modérateur" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:63 msgid "No such feed token" msgstr "Aucun jeton de flux correspondant" -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "Le profil créateur n'est pas possédé par l'utilisateur actuel" - -#: lib/graphql/resolvers/participant.ex:241 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "Le ou la participant·e a déjà le rôle %{role}" -#: lib/graphql/resolvers/participant.ex:170 lib/graphql/resolvers/participant.ex:199 -#: lib/graphql/resolvers/participant.ex:234 lib/graphql/resolvers/participant.ex:244 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "Participant·e non trouvé·e" -#: lib/graphql/resolvers/person.ex:31 +#, elixir-format +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "Personne avec l'ID %{id} non trouvé" -#: lib/graphql/resolvers/person.ex:52 +#, elixir-format +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "Personne avec le nom %{name} non trouvé" -#: lib/graphql/resolvers/picture.ex:42 +#, elixir-format +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "Groupe avec l'ID %{id} non trouvé" +#, elixir-format #: lib/graphql/resolvers/post.ex:165 lib/graphql/resolvers/post.ex:198 msgid "Post ID is not a valid ID" msgstr "L'ID du billet n'est pas un ID valide" +#, elixir-format #: lib/graphql/resolvers/post.ex:168 lib/graphql/resolvers/post.ex:201 msgid "Post doesn't exist" msgstr "Le billet n'existe pas" -#: lib/graphql/resolvers/member.ex:86 +#, elixir-format +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "Le profil invité n'existe pas" -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#, elixir-format +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "Ce profil est déjà membre de ce groupe" -#: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 lib/graphql/resolvers/post.ex:204 -#: lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 lib/graphql/resolvers/resource.ex:153 -#: lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 lib/graphql/resolvers/todos.ex:84 -#: lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 lib/graphql/resolvers/todos.ex:197 -#: lib/graphql/resolvers/todos.ex:225 +#, elixir-format +#: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 +#: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "Le profil n'est pas un·e membre du groupe" -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#, elixir-format +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "Profile non trouvé" -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#, elixir-format +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "Le profil modérateur fourni n'a pas de permissions sur cet événement" -#: lib/graphql/resolvers/report.ex:38 +#, elixir-format +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "Groupe non trouvé" +#, elixir-format #: lib/graphql/resolvers/resource.ex:150 lib/graphql/resolvers/resource.ex:179 msgid "Resource doesn't exist" msgstr "La ressource n'existe pas" -#: lib/graphql/resolvers/participant.ex:121 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "L'événement a déjà atteint sa capacité maximale" -#: lib/graphql/resolvers/participant.ex:264 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "Ce jeton est invalide" -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#, elixir-format +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "Ce todo n'existe pas" -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:219 +#, elixir-format +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "Cette todo-liste n'existe pas" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:69 msgid "Token does not exist" msgstr "Ce jeton n'existe pas" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:66 msgid "Token is not a valid UUID" msgstr "Ce jeton n'est pas un UUID valide" -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#, elixir-format +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "Membre non trouvé" -#: lib/graphql/resolvers/person.ex:234 +#, elixir-format +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "Vous avez déjà un profil pour cet utilisateur" -#: lib/graphql/resolvers/participant.ex:131 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "Vous êtes déjà un·e participant·e à cet événement" -#: lib/graphql/resolvers/discussion.ex:188 +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "Vous n'êtes pas un membre du groupe dans lequel se fait la discussion" -#: lib/graphql/resolvers/member.ex:89 +#, elixir-format +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "Vous n'êtes pas membre de ce groupe" -#: lib/graphql/resolvers/member.ex:154 +#, elixir-format +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "Vous n'êtes pas administrateur·ice ou modérateur·ice de ce groupe" -#: lib/graphql/resolvers/comment.ex:55 +#, elixir-format +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "Vous n'êtes pas autorisé·e à créer un commentaire si non connecté·e" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:41 msgid "You are not allowed to create a feed token if not connected" msgstr "Vous n'êtes pas autorisé·e à créer un jeton de flux si non connecté·e" -#: lib/graphql/resolvers/comment.ex:117 +#, elixir-format +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "Vous n'êtes pas autorisé·e à supprimer un commentaire si non connecté·e" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:78 msgid "You are not allowed to delete a feed token if not connected" msgstr "Vous n'êtes pas autorisé·e à supprimer un jeton de flux si non connecté·e" -#: lib/graphql/resolvers/comment.ex:77 +#, elixir-format +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "Vous n'êtes pas autorisé·e à mettre à jour un commentaire si non connecté·e" -#: lib/graphql/resolvers/participant.ex:164 lib/graphql/resolvers/participant.ex:193 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "Vous ne pouvez pas quitter cet événement car vous en êtes le ou la seule créateur·ice participant" -#: lib/graphql/resolvers/member.ex:158 +#, elixir-format +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "Vous ne pouvez pas vous définir avec un rôle de membre inférieur pour ce groupe car vous en êtes le ou la seul·e " "administrateur·ice" -#: lib/graphql/resolvers/comment.ex:105 +#, elixir-format +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "Vous ne pouvez pas supprimer ce commentaire" -#: lib/graphql/resolvers/event.ex:279 +#, elixir-format +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "Vous ne pouvez pas supprimer cet événement" -#: lib/graphql/resolvers/member.ex:92 +#, elixir-format +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "Vous ne pouvez pas rejoindre ce groupe" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:72 msgid "You don't have permission to delete this token" msgstr "Vous n'avez pas la permission de supprimer ce jeton" +#, elixir-format #: lib/graphql/resolvers/admin.ex:52 msgid "You need to be logged-in and a moderator to list action logs" msgstr "Vous devez être connecté·e pour rejoindre un groupe" -#: lib/graphql/resolvers/report.ex:28 +#, elixir-format +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "Vous devez être connecté·e pour rejoindre un groupe" -#: lib/graphql/resolvers/report.ex:115 +#, elixir-format +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "Vous devez être connecté·e pour supprimer un groupe" -#: lib/graphql/resolvers/report.ex:43 +#, elixir-format +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "Vous devez être connecté·e pour rejoindre un groupe" +#, elixir-format #: lib/graphql/resolvers/admin.ex:236 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux paramètres administrateur" +#, elixir-format #: lib/graphql/resolvers/admin.ex:221 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux panneau de statistiques" +#, elixir-format #: lib/graphql/resolvers/admin.ex:260 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour sauvegarder les paramètres administrateur" -#: lib/graphql/resolvers/discussion.ex:66 +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "Vous devez être connecté·e pour accéder aux discussions" +#, elixir-format #: lib/graphql/resolvers/resource.ex:93 msgid "You need to be logged-in to access resources" msgstr "Vous devez être connecté·e pour supprimer un groupe" -#: lib/graphql/resolvers/event.ex:213 +#, elixir-format +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "Vous devez être connecté·e pour créer des événements" +#, elixir-format #: lib/graphql/resolvers/post.ex:139 msgid "You need to be logged-in to create posts" msgstr "Vous devez être connecté·e pour quitter un groupe" -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#, elixir-format +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "Vous devez être connecté·e pour quitter un groupe" +#, elixir-format #: lib/graphql/resolvers/resource.ex:129 msgid "You need to be logged-in to create resources" msgstr "Vous devez être connecté·e pour quitter un groupe" -#: lib/graphql/resolvers/event.ex:291 +#, elixir-format +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "Vous devez être connecté·e pour supprimer un groupe" +#, elixir-format #: lib/graphql/resolvers/post.ex:209 msgid "You need to be logged-in to delete posts" msgstr "Vous devez être connecté·e pour supprimer un groupe" +#, elixir-format #: lib/graphql/resolvers/resource.ex:187 msgid "You need to be logged-in to delete resources" msgstr "Vous devez être connecté·e pour supprimer un groupe" -#: lib/graphql/resolvers/participant.ex:105 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "Vous devez être connecté·e pour rejoindre un groupe" -#: lib/graphql/resolvers/participant.ex:204 +#, elixir-format +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "Vous devez être connecté·e pour quitter un groupe" -#: lib/graphql/resolvers/event.ex:252 +#, elixir-format +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "Vous devez être connecté·e pour mettre à jour un groupe" +#, elixir-format #: lib/graphql/resolvers/post.ex:176 msgid "You need to be logged-in to update posts" msgstr "Vous devez être connecté·e pour mettre à jour un groupe" +#, elixir-format #: lib/graphql/resolvers/resource.ex:158 msgid "You need to be logged-in to update resources" msgstr "Vous devez être connecté·e pour mettre à jour un groupe" +#, elixir-format #: lib/graphql/resolvers/resource.ex:210 msgid "You need to be logged-in to view a resource preview" msgstr "Vous devez être connecté·e pour supprimer un groupe" -#: lib/graphql/resolvers/picture.ex:83 +#, elixir-format +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "Vous devez être connecté·e pour mettre à jour un groupe" -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "L'ID du signalant ne correspond pas à l'ID du profil anonyme" - -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "Le profil du signalant n'est pas possédé par l'utilisateur actuel" - +#, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "La ressource parente n'appartient pas à ce groupe" -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "L'ID du profil fourni ne correspond pas au profil anonyme" - +#, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." msgstr "Le mot de passe choisi est trop court." +#, elixir-format #: lib/mobilizon/users/user.ex:138 msgid "The registration token is already in use, this looks like an issue on our side." msgstr "Le jeton d'inscription est déjà utilisé, cela ressemble à un problème de notre côté." +#, elixir-format #: lib/mobilizon/users/user.ex:104 msgid "This email is already used." msgstr "Cette adresse e-mail est déjà utilisée." +#, elixir-format #: lib/graphql/error.ex:88 msgid "Post not found" msgstr "Billet non trouvé" +#, elixir-format #: lib/graphql/error.ex:75 msgid "Invalid arguments passed" msgstr "Paramètres fournis invalides" +#, elixir-format #: lib/graphql/error.ex:81 msgid "Invalid credentials" msgstr "Identifiants invalides" +#, elixir-format #: lib/graphql/error.ex:79 msgid "Reset your password to login" msgstr "Réinitialiser votre mot de passe pour vous connecter" +#, elixir-format #: lib/graphql/error.ex:86 lib/graphql/error.ex:91 msgid "Resource not found" msgstr "Ressource non trouvée" +#, elixir-format #: lib/graphql/error.ex:92 msgid "Something went wrong" msgstr "Quelque chose s'est mal passé" +#, elixir-format #: lib/graphql/error.ex:74 msgid "Unknown Resource" msgstr "Ressource inconnue" +#, elixir-format #: lib/graphql/error.ex:84 msgid "You don't have permission to do this" msgstr "Vous n'avez pas la permission de faire ceci" +#, elixir-format #: lib/graphql/error.ex:76 msgid "You need to be logged in" msgstr "Vous devez être connecté·e" -#: lib/graphql/resolvers/member.ex:119 +#, elixir-format +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "Vous ne pouvez pas accepter cette invitation avec ce profil." -#: lib/graphql/resolvers/member.ex:137 +#, elixir-format +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "Vous ne pouvez pas rejeter cette invitation avec ce profil." -#: lib/graphql/resolvers/picture.ex:75 +#, elixir-format +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "Le fichier n'a pas un type MIME autorisé." -#: lib/graphql/resolvers/group.ex:170 +#, elixir-format +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "Le profil n'est pas administrateur·ice pour le groupe" -#: lib/graphql/resolvers/event.ex:241 +#, elixir-format +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "Vous ne pouvez pas éditer cet événement." -#: lib/graphql/resolvers/event.ex:244 +#, elixir-format +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "Vous ne pouvez pas attribuer cet événement à ce profil." -#: lib/graphql/resolvers/member.ex:140 +#, elixir-format +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "Cette invitation n'existe pas." -#: lib/graphql/resolvers/member.ex:182 +#, elixir-format +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "Ce·tte membre a déjà été rejetté·e." -#: lib/graphql/resolvers/member.ex:189 +#, elixir-format +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre." +#, elixir-format #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "Cet identifiant est déjà pris." + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "Vous devez fournir un ID ou bien un slug pour accéder à une discussion" diff --git a/priv/gettext/gl/LC_MESSAGES/errors.po b/priv/gettext/gl/LC_MESSAGES/errors.po index d7ca3c700..ed7543ec0 100644 --- a/priv/gettext/gl/LC_MESSAGES/errors.po +++ b/priv/gettext/gl/LC_MESSAGES/errors.po @@ -99,17 +99,12 @@ msgid "Cannot refresh the token" msgstr "Non puido actualizar o token" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "A usuaria actual non é dona da creadora do perfil" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "O perfil actual non é membro deste grupo" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "O perfil actual non é administrador do grupo seleccionado" @@ -119,8 +114,8 @@ msgid "Error while saving user settings" msgstr "Erro ó gardar os axustes de usuaria" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Grupo non atopado" @@ -136,7 +131,7 @@ msgstr "" "A autenticación non foi posible, o contrasinal ou o email non son correctos." #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Membro non atopado" @@ -152,18 +147,15 @@ msgid "No user to validate with this email was found" msgstr "Non se atopou unha usuaria con este email para validar" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "Non se atopa ningunha usuaria con este email" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "O perfil non pertence a unha usuaria autenticada" @@ -231,17 +223,17 @@ msgid "User requested is not logged-in" msgstr "A usuaria solicitada non está conectada" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "Xa es membro deste grupo" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "Non podes deixar este grupo porque es a única administradora" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "Non podes unirte a este grupo" @@ -261,7 +253,7 @@ msgid "You need to be logged-in to change your password" msgstr "Tes que estar conectada para poder cambiar o contrasinal" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "Tes que estar conectada para poder eleminar un grupo" @@ -271,17 +263,17 @@ msgid "You need to be logged-in to delete your account" msgstr "Tes que estar conectada para poder eliminar a conta" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "Tes que estar conectada para poder unirte a un grupo" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "Tes que estar conectada para poder deixar un grupo" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "Tes que estar conectada para poder actualizar un grupo" @@ -341,27 +333,27 @@ msgid "Profile already suspended" msgstr "O perfil xa está suspendido" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "A túa instancia require un email válido" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "Non está permitida a participación ánonima" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "Non se pode eliminar a última administradora dun grupo" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "Non se pode eliminar a última identidade dunha usuaria" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "O comentario xa foi eliminado" @@ -371,49 +363,44 @@ msgid "Discussion not found" msgstr "Non se atopa a conversa" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Erro ó gardar a denuncia" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Erro ó actualizar a denuncia" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "Non se atopou o ID do evento" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "Evento non atopado" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "Non existe un evento co ID %{id}" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "Erro interno" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "O perfil da moderadora non pertence a unha usuaria autenticada" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "Non hai conversa con ID %{id}" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "Non se atopou o perfil da usuaria" @@ -423,34 +410,29 @@ msgid "No such feed token" msgstr "Non hai tal token da fonte" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "O perfil da organización non pertence á usuaria" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "A participante xa ten o rol %{role}" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "Non se atopou a participante" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "Non se atopou a persoa con ID %{id}" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "Non se atopa a persoa con nome de usuaria %{username}" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "Non se atopa a imaxe con ID %{id}" @@ -465,36 +447,36 @@ msgid "Post doesn't exist" msgstr "Non existe a publicación" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "O perfil convidado non existe" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "O perfil xa é membro deste grupo" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "O perfil non é membro do grupo" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "Perfil non atopado" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "O perfil da moderadora proporcionado non ten permisos neste evento" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "Denuncia non atopada" @@ -504,23 +486,23 @@ msgid "Resource doesn't exist" msgstr "Non existe o recurso" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "Este evento xa acadou a súa capacidade máxima" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "Este token non é válido" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "Lista de tarefas non existe" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "A lista de tarefas non existe" @@ -535,37 +517,37 @@ msgid "Token is not a valid UUID" msgstr "O token non é un UUID válido" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "Usuaria non atopada" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "Xa tes un perfil para esta usuaria" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "Xa es unha participante neste evento" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "Non es membro do grupo ó que pertence a conversa" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "Non es membro deste grupo" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "Non es moderadora ou administradora deste grupo" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "Non tes permiso para crear un comentario sen estar conectada" @@ -575,7 +557,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "Non tes permiso para crear un token da fonte se non estás conectada" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "Non tes permiso para eliminar un comentario se non estás conectada" @@ -585,36 +567,36 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "Non tes permiso para eliminar o token da fonte se non estás conectada" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "Non tes permiso para actualizar un comentario se non estás conectada" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" "Non podes saír do evento porque es a única creadora do evento que participa" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "Non podes adxudicarte un rol menor neste grupo porque es a única " "administradora" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "Non podes eliminar este comentario" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "Non podes eliminar este evento" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "Non podes convidar a este grupo" @@ -631,17 +613,17 @@ msgstr "" "accións" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "Tes que estar conectada e ser moderadora para ver listas de denuncias" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "Tes que estas conectada e ser moderadora para actualizar unha denuncia" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "Tes que estar conectada e ser moderadora para ver unha denuncia" @@ -667,7 +649,7 @@ msgstr "" "administración" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "Tes que estar conectada para acceder ás conversas" @@ -677,7 +659,7 @@ msgid "You need to be logged-in to access resources" msgstr "Tes que estar conectada para acceder ós recursos" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "Tes que estar conectada para crear eventos" @@ -687,7 +669,7 @@ msgid "You need to be logged-in to create posts" msgstr "Tes que estar conectada para crear publicacións" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "Tes que estar conectada para crear denuncias" @@ -697,7 +679,7 @@ msgid "You need to be logged-in to create resources" msgstr "Tes que estar conectada para crear recursos" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "Tes que estar conectada para eliminar un evento" @@ -712,17 +694,17 @@ msgid "You need to be logged-in to delete resources" msgstr "Tes que estar conectada para eliminar recursos" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "Tes que estar conectada para unirte a un evento" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "Tes que estar conectada para saír dun evento" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "Tes que estar conectada para actualizar un evento" @@ -742,30 +724,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "Tes que estar conectada para ver vista previa dun recurso" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "Tes que estar conectada para subir unha imaxe" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "O ID da denunciante non concorda co ID do perfil anónimo" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "O perfil da denunciante non pertence á usuaria autenticada" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "O recurso relacionado non pertence a este grupo" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "O ID do perfil proporcionado non é o perfil anónimo" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -828,47 +795,47 @@ msgid "You need to be logged in" msgstr "Tes que estar conectada" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "Non podes aceptar este convite con este perfil." #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "Non podes rexeitar este convite con este perfil." #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "O ficheiro non ten un tipo MIME permitido." #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "O perfil non é administrador do grupo" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "Non podes editar este evento." #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "Non podes atribuír este evento a este perfil." #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "O convite non existe." #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "Este membro xa foi rexeitado." #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "Non tes permiso para eliminar este membro." @@ -876,3 +843,8 @@ msgstr "Non tes permiso para eliminar este membro." #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/hu/LC_MESSAGES/errors.po b/priv/gettext/hu/LC_MESSAGES/errors.po index 6d70da671..c262aefdf 100644 --- a/priv/gettext/hu/LC_MESSAGES/errors.po +++ b/priv/gettext/hu/LC_MESSAGES/errors.po @@ -115,17 +115,12 @@ msgid "Cannot refresh the token" msgstr "Nem lehet frissíteni a tokent" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "A létrehozó profilját nem a jelenlegi felhasználó birtokolja" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "A jelenlegi profil nem tagja ennek a csoportnak" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "A jelenlegi profil nem adminisztrátora a kijelölt csoportnak" @@ -135,8 +130,8 @@ msgid "Error while saving user settings" msgstr "Hiba a felhasználói beállítások mentésekor" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Nem található a csoport" @@ -151,7 +146,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "Lehetetlen hitelesíteni, vagy az e-mail, vagy a jelszó érvénytelen." #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Nem található a tag" @@ -167,18 +162,15 @@ msgid "No user to validate with this email was found" msgstr "Nem található ezzel az e-mail-címmel ellenőrzendő felhasználó" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "Nem található ezzel az e-mail-címmel rendelkező felhasználó" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "A profilt nem hitelesített felhasználó birtokolja" @@ -246,17 +238,17 @@ msgid "User requested is not logged-in" msgstr "A kért felhasználó nincs bejelentkezve" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "Már tagja ennek a csoportnak" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "Nem hagyhatja el ezt a csoportot, mert Ön az egyedüli adminisztrátor" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "Nem csatlakozhat ehhez a csoporthoz" @@ -276,7 +268,7 @@ msgid "You need to be logged-in to change your password" msgstr "Bejelentkezve kell lennie a jelszava megváltoztatásához" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "Bejelentkezve kell lennie egy csoport törléséhez" @@ -286,17 +278,17 @@ msgid "You need to be logged-in to delete your account" msgstr "Bejelentkezve kell lennie a fiókja törléséhez" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "Bejelentkezve kell lennie egy csoporthoz való csatlakozáshoz" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "Bejelentkezve kell lennie egy csoportból való kilépéshez" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "Bejelentkezve kell lennie egy csoport frissítéséhez" @@ -358,27 +350,27 @@ msgid "Profile already suspended" msgstr "A profil már fel van függesztve" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "Érvényes e-mail-címet követelt meg az Ön példánya" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "A névtelen részvétel nincs engedélyezve" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "Nem lehet eltávolítani egy csoport utolsó adminisztrátorát" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "Nem lehet eltávolítani egy felhasználó utolsó személyazonosságát" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "A hozzászólást már törölték" @@ -388,49 +380,44 @@ msgid "Discussion not found" msgstr "Nem található a megbeszélés" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Hiba a jelentés mentésekor" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Hiba a jelentés frissítésekor" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "Nem található az eseményazonosító" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "Nem található az esemény" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "Ezzel a(z) %{id} azonosítóval rendelkező esemény nem létezik" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "Belső hiba" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "A moderátor profilját nem hitelesített felhasználó birtokolja" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "Nincs %{id} azonosítóval rendelkező megbeszélés" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "Nem található profil a felhasználóhoz" @@ -440,34 +427,29 @@ msgid "No such feed token" msgstr "Nincs ilyen hírforrástoken" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "A szervező profilját nem a felhasználó birtokolja" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "A résztvevő már rendelkezik %{role} szereppel" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "Nem található a résztvevő" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "Nem található %{id} azonosítóval rendelkező személy" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "Nem található %{username} felhasználónévvel rendelkező személy" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "Nem található %{id} azonosítóval rendelkező fénykép" @@ -482,36 +464,36 @@ msgid "Post doesn't exist" msgstr "A hozzászólás nem létezik" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "A meghívott profil nem létezik" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "A profil már tagja ennek a csoportnak" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "A profil nem tagja a csoportnak" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "Nem található a profil" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "A megadott moderátorprofilnak nincs jogosultsága ezen az eseményen" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "Nem található a jelentés" @@ -521,23 +503,23 @@ msgid "Resource doesn't exist" msgstr "Az erőforrás nem létezik" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "Az esemény már elérte a legnagyobb kapacitását" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "Ez a token érvénytelen" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "A tennivaló nem létezik" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "A tennivalólista nem létezik" @@ -552,37 +534,37 @@ msgid "Token is not a valid UUID" msgstr "A token nem érvényes UUID" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "Nem található a felhasználó" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "Már rendelkezik profillal ehhez a felhasználóhoz" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "Már résztvevője ennek az eseménynek" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "Nem tagja annak a csoportnak, amelyhez a megbeszélés tartozik" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "Nem tagja ennek a csoportnak" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "Nem moderátor vagy adminisztrátor ennél a csoportnál" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "Nem hozhat létre hozzászólást, ha nincs kapcsolódva" @@ -592,7 +574,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "Nem hozhat létre hírforrástokent, ha nincs kapcsolódva" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "Nem törölhet hozzászólást, ha nincs kapcsolódva" @@ -602,36 +584,36 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "Nem törölhet hírforrástokent, ha nincs kapcsolódva" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "Nem frissíthet hozzászólást, ha nincs kapcsolódva" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" "Nem hagyhatja el az eseményt, mert Ön az egyedüli eseménylétrehozó résztvevő" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "Nem állíthatja magát alacsonyabb tagszerepre ennél a csoportnál, mert Ön az " "egyedüli adminisztrátor" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "Nem tudja törölni ezt a hozzászólást" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "Nem tudja törölni ezt az eseményt" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "Nem tud meghívni ebbe a csoportba" @@ -648,21 +630,21 @@ msgstr "" "felsorolásához" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" "Bejelentkezve kell lennie és moderátornak kell lennie a jelentések " "felsorolásához" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" "Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés " "frissítéséhez" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" "Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés " @@ -690,7 +672,7 @@ msgstr "" "adminisztrátori beállítások mentéséhez" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "Bejelentkezve kell lennie a megbeszélésekhez való hozzáféréshez" @@ -700,7 +682,7 @@ msgid "You need to be logged-in to access resources" msgstr "Bejelentkezve kell lennie az erőforrásokhoz való hozzáféréshez" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "Bejelentkezve kell lennie az események létrehozásához" @@ -710,7 +692,7 @@ msgid "You need to be logged-in to create posts" msgstr "Bejelentkezve kell lennie a hozzászólások létrehozásához" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "Bejelentkezve kell lennie a jelentések létrehozásához" @@ -720,7 +702,7 @@ msgid "You need to be logged-in to create resources" msgstr "Bejelentkezve kell lennie az erőforrások létrehozásához" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "Bejelentkezve kell lennie egy esemény törléséhez" @@ -735,17 +717,17 @@ msgid "You need to be logged-in to delete resources" msgstr "Bejelentkezve kell lennie az erőforrások törléséhez" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "Bejelentkezve kell lennie egy eseményhez való csatlakozáshoz" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "Bejelentkezve kell lennie egy esemény elhagyásához" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "Bejelentkezve kell lennie egy esemény frissítéséhez" @@ -765,30 +747,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "Bejelentkezve kell lennie egy erőforrás előnézetének megtekintéséhez" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "Be kell jelentkeznie egy fénykép feltöltéséhez" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "A jelentő azonosítója nem egyezik a névtelen profil azonosítójával" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "A jelentő profilját nem hitelesített felhasználó birtokolja" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "A szülőerőforrás nem tartozik ehhez a csoporthoz" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "A megadott profilazonosító nem a névtelen profil" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -851,47 +818,47 @@ msgid "You need to be logged in" msgstr "Bejelentkezve kell lennie" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "Nem tudja elfogadni ezt a meghívást ezzel a profillal." #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "Nem tudja visszautasítani ezt a meghívást ezzel a profillal." #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "A fájl nem rendelkezik engedélyezett MIME-típussal." #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "A profil nem adminisztrátor ennél a csoportnál" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "Nem tudja szerkeszteni ezt az eseményt." #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "Nem tudja ezt az eseményt ennek a profilnak tulajdonítani." #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "Ez a meghívás nem létezik." #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "Ez a tag már vissza lett utasítva." #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "Nincs meg a jogosultsága a tag eltávolításához." @@ -899,3 +866,8 @@ msgstr "Nincs meg a jogosultsága a tag eltávolításához." #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/errors.po b/priv/gettext/it/LC_MESSAGES/errors.po index de78a61f9..1754a6b2f 100644 --- a/priv/gettext/it/LC_MESSAGES/errors.po +++ b/priv/gettext/it/LC_MESSAGES/errors.po @@ -99,17 +99,12 @@ msgid "Cannot refresh the token" msgstr "Il token non può essere aggiornato" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "L'utente corrente non è proprietario del profilo dell'autore" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "Il profilo corrente non è membro di questo gruppo" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "Il profilo corrente non è amministratore del gruppo selezionato" @@ -119,8 +114,8 @@ msgid "Error while saving user settings" msgstr "Errore nel salvare le preferenze utente" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Gruppo non trovato" @@ -135,7 +130,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "Impossibile autenticarsi: email e/o password non validi." #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Membro non trovato" @@ -151,18 +146,15 @@ msgid "No user to validate with this email was found" msgstr "Nessun utente da convalidare trovato con questa email" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "Nessun utente con questa email" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "L'utente autenticato non è propietario di questo profilo" @@ -228,17 +220,17 @@ msgid "User requested is not logged-in" msgstr "L'utente richiesto non è loggato" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "Sei già un membro di questo gruppo" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "Non puoi lasciare questo gruppo perchè sei l'unico amministratore" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "Non puoi unirti a questo gruppo" @@ -258,7 +250,7 @@ msgid "You need to be logged-in to change your password" msgstr "È necessario effettuare il login per modificare la tua password" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "È necessario effettuare il login per eliminare un gruppo" @@ -268,17 +260,17 @@ msgid "You need to be logged-in to delete your account" msgstr "È necessario effettuare il login per eliminare il tuo account" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "È necessario effettuare il login per entrare a far parte di un gruppo" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "È necessario effettuare il login per lasciare un gruppo" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "È necessario effettuare il login per aggiornare un gruppo" @@ -342,27 +334,27 @@ msgid "Profile already suspended" msgstr "Profilo già sospeso" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "Un'email valida è richiesta dalla vostra istanza" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "La partecipazione anonima non è abilitata" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "Impossibile rimuovere l'ultimo amministratore di un gruppo" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "Impossibile rimuovere l'ultima identità di un utente" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "Commento già cancellato" @@ -372,49 +364,44 @@ msgid "Discussion not found" msgstr "Discussione non trovata" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Errore nel salvare la segnalazione" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Errore durante l'aggiornamento del rapporto" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "ID evento non trovato" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "Evento non trovato" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "L'evento con questo ID %{id} non esiste" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "Errore Interno" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "Il profilo del moderatore non è di proprietà dell'utente autenticato" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "Nessuna discussione con l'ID %{id}" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "Nessuno profilo trovato per l'utente" @@ -424,34 +411,29 @@ msgid "No such feed token" msgstr "Nessun token di rifornimento corrispondente" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "Il profilo dell'organizzatore non è di proprietà dell'utente" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "Il partecipante ha già il ruolo %{role}" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "Partecipante non trovato" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "La persona con l'ID %{id} non è stata trovata" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "La persona con il nome utente %{username} non è stata trovata" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "L'immagine con l'ID %{id} non è stata trovata" @@ -466,38 +448,38 @@ msgid "Post doesn't exist" msgstr "Il post non esiste" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "Il profilo invitato non esiste" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "Il profilo è già un membro diquesto gruppo" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "Il profilo non è membro del gruppo" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "Profilo non trovato" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" "Il profilo del moderatore fornito non dispone dell'autorizzazione per questo " "evento" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "Segnalazione non trovata" @@ -507,23 +489,23 @@ msgid "Resource doesn't exist" msgstr "La risorsa non esiste" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "L'evento ha già raggiunto la sua massima capacità" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "Questo token non è valido" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "L'elemento to-do non esiste" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "la lista non esiste" @@ -538,37 +520,37 @@ msgid "Token is not a valid UUID" msgstr "Il token non è un UUID valido" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "Utente non trovato" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "Hai già un profilo per questo utente" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "Se già un partecipante di questo evento" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "Non sei membro del gruppo a cui la discussione appartiene" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "Non sei un membro di questo gruppo" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "Non sei un moderatore o amministratore di questo gruppo" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "Non è consentito creare un commento se non si è collegati" @@ -578,7 +560,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "Non puoi creare un token di rifornimento senza connessione" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "Non è consentito eliminare un commento se non si è collegati" @@ -588,36 +570,36 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "Non puoi eliminare un token di rifornimento senza connettersi" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "Non è consentito aggiornare un commento se non si è collegati" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" "Non puoi lasciare l'evento perchè sei l'unico partecipante creatore di eventi" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "Non puoi impostare te stesso per un ruolo di membro inferiore per questo " "gruppo perché sei l'unico amministratore" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "Non puoi eliminare questo commento" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "Non puoi eliminare questo evento" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "Non puoi invitare in questo gruppo" @@ -632,17 +614,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "Devi essere connesso e un moderatore per elencare i log delle azioni" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "Devi essere connesso e un moderatore per elencare i rapporti" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "Devi essere connesso e un moderatore per aggiornare un rapporto" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "Devi essere connesso e un moderatore per visualizzare un rapporto" @@ -668,7 +650,7 @@ msgstr "" "dell'amministratore" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "Devi essere connesso per accedere alle discussioni" @@ -678,7 +660,7 @@ msgid "You need to be logged-in to access resources" msgstr "Devi essere connesso per accedere alle risorse" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "Devi essere connesso per creare eventi" @@ -688,7 +670,7 @@ msgid "You need to be logged-in to create posts" msgstr "Devi essere connesso per creare dei post" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "Devi essere connesso per creare rapporti" @@ -698,7 +680,7 @@ msgid "You need to be logged-in to create resources" msgstr "Devi essere connesso per creare risorse" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "Devi essere connesso per eliminare un evento" @@ -713,17 +695,17 @@ msgid "You need to be logged-in to delete resources" msgstr "Devi essere connesso per eliminare risorse" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "Devi essere connesso per partecipare a un evento" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "Devi essere connesso per lasciare un evento" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "Devi essere connesso per aggiornare un evento" @@ -743,30 +725,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "Devi essere connesso per visualizzare l'anteprima di una risorsa" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "Devi essere connesso per caricare un'immagine" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "L'ID reporter non corrisponde all'ID del profilo anonimo" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "Il profilo del reporter non è di proprietà dell'utente autenticato" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "La risorsa principale non appartiene a questo gruppo" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "L'ID profilo fornito non è quello del profilo anonimo" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -830,47 +797,47 @@ msgid "You need to be logged in" msgstr "Devi essere connesso" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "Non puoi accettare l'invito con questo profilo." #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "Non puoi rifiutare l'invito con questo profilo." #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "Il file non ha un tipo MIME consentito." #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "Il profilo non è amministratore del gruppo" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "Non puoi modificare questo evento." #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "Non puo iattribuire questo evento a questo profilo." #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "Questo invito non esiste." #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "Questo memebro è già stato rifiutato." #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "Non hai il diritto di rimuovere questo membro." @@ -878,3 +845,8 @@ msgstr "Non hai il diritto di rimuovere questo membro." #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/errors.po b/priv/gettext/ja/LC_MESSAGES/errors.po index 7c0ec31ee..22ca8bcc7 100644 --- a/priv/gettext/ja/LC_MESSAGES/errors.po +++ b/priv/gettext/ja/LC_MESSAGES/errors.po @@ -86,17 +86,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -106,8 +101,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -122,7 +117,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -138,18 +133,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -215,17 +207,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -245,7 +237,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -255,17 +247,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -325,27 +317,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -355,49 +347,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -407,34 +394,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -449,36 +431,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -488,23 +470,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -519,37 +501,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -559,7 +541,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -569,33 +551,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -610,17 +592,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -640,7 +622,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -650,7 +632,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -660,7 +642,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -670,7 +652,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -685,17 +667,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -715,30 +697,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -800,47 +767,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -848,3 +815,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/errors.po b/priv/gettext/nl/LC_MESSAGES/errors.po index 6899c452d..4724d56f2 100644 --- a/priv/gettext/nl/LC_MESSAGES/errors.po +++ b/priv/gettext/nl/LC_MESSAGES/errors.po @@ -92,17 +92,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -112,8 +107,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -128,7 +123,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -144,18 +139,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -221,17 +213,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -251,7 +243,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -261,17 +253,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -331,27 +323,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -361,49 +353,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -413,34 +400,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -455,36 +437,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -494,23 +476,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -525,37 +507,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -565,7 +547,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -575,33 +557,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -616,17 +598,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -646,7 +628,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -656,7 +638,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -666,7 +648,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -676,7 +658,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -691,17 +673,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -721,30 +703,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -806,47 +773,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -854,3 +821,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/nn/LC_MESSAGES/errors.po b/priv/gettext/nn/LC_MESSAGES/errors.po index 73e49d9e0..61b384d2a 100644 --- a/priv/gettext/nn/LC_MESSAGES/errors.po +++ b/priv/gettext/nn/LC_MESSAGES/errors.po @@ -115,17 +115,12 @@ msgid "Cannot refresh the token" msgstr "Kan ikkje fornya teiknet" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "Denne brukaren eig ikkje opphavsprofilen" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "Denne brukaren er ikkje medlem av gruppa" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "Denne brukaren er ikkje styrar av gruppa" @@ -135,8 +130,8 @@ msgid "Error while saving user settings" msgstr "Greidde ikkje lagra brukarinnstillingane" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Fann ikkje gruppa" @@ -151,7 +146,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "Greier ikkje å logga inn. Epostadressa eller passordet ditt er feil." #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Fann ikkje medlemen" @@ -167,18 +162,15 @@ msgid "No user to validate with this email was found" msgstr "Fann ingen brukar med denne eposten å godkjenna" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "Fann ingen brukar med denne eposten" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "Ingen godkjent brukar eig denne profilen" @@ -244,17 +236,17 @@ msgid "User requested is not logged-in" msgstr "Den førespurte brukaren er ikkje innlogga" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "Du er allereie medlem av denne gruppa" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "Du kan ikkje forlata denne gruppa, fordi du er den einaste styraren" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "Du kan ikkje bli med i denne gruppa" @@ -274,7 +266,7 @@ msgid "You need to be logged-in to change your password" msgstr "Du må vera innlogga for å endra passordet ditt" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "Du må vera innlogga for å sletta ei gruppe" @@ -284,17 +276,17 @@ msgid "You need to be logged-in to delete your account" msgstr "Du må vera innlogga for å sletta kontoen din" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "Du må vera innlogga for å bli med i ei gruppe" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "Du må vera innlogga for å forlata ei gruppe" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "Du må vera innlogga for å oppdatera ei gruppe" @@ -354,27 +346,27 @@ msgid "Profile already suspended" msgstr "Profilen er allereie sperra" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "Nettstaden din krev ei gyldig epostadresse" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "Det er ikkje høve til å vera med anonymt" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "Kan ikkje fjerna den siste styraren i gruppa" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "Kan ikkje fjerna den siste identiteten til ein brukar" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "Kommentaren er allereie sletta" @@ -384,49 +376,44 @@ msgid "Discussion not found" msgstr "Fann ikkje ordskiftet" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Greidde ikkje lagra rapporten" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Greidde ikkje oppdatera rapporten" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "Fann ikkje ID-en til hendinga" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "Fann ikkje hendinga" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "Det finst inga hending med ID-en %{id}" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "Intern feil" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "Det er ingen godkjend brukar som eig moderatorprofilen" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "Ikkje noko ordskifte med ID-en %{id}" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "Fann ingen profil for brukaren" @@ -436,34 +423,29 @@ msgid "No such feed token" msgstr "Det finst ikkje noko slikt teikn for kjelda" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "Brukaren eig ikkje tilskiparprofilen" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "Deltakaren har rolla %{role} allereie" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "Fann ikkje deltakaren" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "Fann ingen person med ID-en %{id}" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "Fann ingen person med brukarnamnet %{username}" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "Fann ikkje biletet med ID-en %{id}" @@ -478,36 +460,36 @@ msgid "Post doesn't exist" msgstr "Innlegget finst ikkje" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "Den inviterte profilen finst ikkje" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "Profilen er allereie medlem i denne gruppa" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "Profilen er ikkje medlem i gruppa" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "Fann ikkje profilen" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "Moderatorprofilen har ikkje tilgang til denne hendinga" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "Fann ikkje rapporten" @@ -517,23 +499,23 @@ msgid "Resource doesn't exist" msgstr "Ressursen finst ikkje" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "Hendinga er fullteikna" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "Teiknet er ugyldig" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "Gjeremålet finst ikkje" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "Gjeremålslista finst ikkje" @@ -548,37 +530,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -588,7 +570,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -598,33 +580,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -639,17 +621,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -669,7 +651,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -679,7 +661,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -689,7 +671,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -699,7 +681,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -714,17 +696,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -744,30 +726,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -829,47 +796,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -877,3 +844,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/oc/LC_MESSAGES/errors.po b/priv/gettext/oc/LC_MESSAGES/errors.po index 40cd65b50..2407e0f1f 100644 --- a/priv/gettext/oc/LC_MESSAGES/errors.po +++ b/priv/gettext/oc/LC_MESSAGES/errors.po @@ -93,775 +93,747 @@ msgstr "deu èsser superior o egal a %{number}" msgid "must be equal to %{number}" msgstr "deu èsser egal a %{number}" -#: lib/graphql/resolvers/user.ex:103 #, elixir-format +#: lib/graphql/resolvers/user.ex:103 msgid "Cannot refresh the token" msgstr "Actualizacion impossibla del geton" -#: lib/graphql/resolvers/group.ex:137 -#, elixir-format -msgid "Creator profile is not owned by the current user" -msgstr "Lo perfil creator es pas tengut per l’utilizaire actual" - -#: lib/graphql/resolvers/group.ex:201 #, elixir-format +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "Lo perfil actual es pas un membre d’aqueste grop" -#: lib/graphql/resolvers/group.ex:205 #, elixir-format +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "Lo perfil actual es pas administrator del grop seleccionat" -#: lib/graphql/resolvers/user.ex:512 #, elixir-format +#: lib/graphql/resolvers/user.ex:512 msgid "Error while saving user settings" msgstr "Error en salvagardant los paramètres utilizaire" -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 #, elixir-format +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Grop pas trobat" -#: lib/graphql/resolvers/group.ex:66 #, elixir-format +#: lib/graphql/resolvers/group.ex:66 msgid "Group with ID %{id} not found" msgstr "Grop amb l’ID %{id} pas trobat" -#: lib/graphql/resolvers/user.ex:83 #, elixir-format +#: lib/graphql/resolvers/user.ex:83 msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" "Autentificacion impossibla, vòstra adreça electronica o lo vòstre senhal es " "invalid." -#: lib/graphql/resolvers/group.ex:261 #, elixir-format +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Membre pas trobat" +#, elixir-format #: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 #: lib/graphql/resolvers/user.ex:417 -#, elixir-format msgid "No profile found for the moderator user" msgstr "Cap de perfil pas trobat per l’utilizaire moderator" -#: lib/graphql/resolvers/user.ex:195 #, elixir-format +#: lib/graphql/resolvers/user.ex:195 msgid "No user to validate with this email was found" msgstr "Cap d’utilizaire de validar amb aqueste email pas trobat" -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 -#: lib/graphql/resolvers/user.ex:219 #, elixir-format +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "Degun trobat d'amb aquesta email" -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "Lo perhiu es pas proprietat del utilizator autenticat" -#: lib/graphql/resolvers/user.ex:125 #, elixir-format +#: lib/graphql/resolvers/user.ex:125 msgid "Registrations are not open" msgstr "Las inscripciones sèn pas obèrtas" -#: lib/graphql/resolvers/user.ex:330 #, elixir-format +#: lib/graphql/resolvers/user.ex:330 msgid "The current password is invalid" msgstr "Lo mòt de santa clara actuau es invalid" -#: lib/graphql/resolvers/user.ex:382 #, elixir-format +#: lib/graphql/resolvers/user.ex:382 msgid "The new email doesn't seem to be valid" msgstr "Lo email nau sèm invalid" -#: lib/graphql/resolvers/user.ex:379 #, elixir-format +#: lib/graphql/resolvers/user.ex:379 msgid "The new email must be different" msgstr "Lo email nau deb esser different" -#: lib/graphql/resolvers/user.ex:333 #, elixir-format +#: lib/graphql/resolvers/user.ex:333 msgid "The new password must be different" msgstr "Lo mòt de santa clara nau deb esser different" +#, elixir-format #: lib/graphql/resolvers/user.ex:376 lib/graphql/resolvers/user.ex:439 #: lib/graphql/resolvers/user.ex:442 -#, elixir-format msgid "The password provided is invalid" msgstr "Lo mòt de santa clara aprovedit es invalid" -#: lib/graphql/resolvers/user.ex:337 #, elixir-format +#: lib/graphql/resolvers/user.ex:337 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Lo mòt de santa clara que avetz causit es tròp cort. Merci de vos assegurar " "que vostre mòt de santa clara contienga au mèns 6 caracteres." -#: lib/graphql/resolvers/user.ex:215 #, elixir-format +#: lib/graphql/resolvers/user.ex:215 msgid "This user can't reset their password" msgstr "Aquest utilizator pod pas reinicializar lo sèn mòt de santa clara" -#: lib/graphql/resolvers/user.ex:79 #, elixir-format +#: lib/graphql/resolvers/user.ex:79 msgid "This user has been disabled" msgstr "Aquest utilizator a essat dasactivat" -#: lib/graphql/resolvers/user.ex:179 #, elixir-format +#: lib/graphql/resolvers/user.ex:179 msgid "Unable to validate user" msgstr "Es impossible de validar l'utilizator" -#: lib/graphql/resolvers/user.ex:420 #, elixir-format +#: lib/graphql/resolvers/user.ex:420 msgid "User already disabled" msgstr "Utilizator déjà desactivat" -#: lib/graphql/resolvers/user.ex:487 #, elixir-format +#: lib/graphql/resolvers/user.ex:487 msgid "User requested is not logged-in" msgstr "L'utilizator demandat es pas conectat" -#: lib/graphql/resolvers/group.ex:235 #, elixir-format +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "Essetz déjà membre d'aquest grop" -#: lib/graphql/resolvers/group.ex:268 #, elixir-format +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "Podetz pas quitar aquest grop perque essetz lo sol administrator" -#: lib/graphql/resolvers/group.ex:232 #, elixir-format +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "Podetz pas rejónher aquest grop" -#: lib/graphql/resolvers/group.ex:94 #, elixir-format +#: lib/graphql/resolvers/group.ex:94 msgid "You may not list groups unless moderator." msgstr "Podetz listar los grops sonque se essetz moderator." -#: lib/graphql/resolvers/user.ex:387 #, elixir-format +#: lib/graphql/resolvers/user.ex:387 msgid "You need to be logged-in to change your email" msgstr "Debetz esser conectat per cambiar lo voste email" -#: lib/graphql/resolvers/user.ex:345 #, elixir-format +#: lib/graphql/resolvers/user.ex:345 msgid "You need to be logged-in to change your password" msgstr "Debetz d'esser conectat per cambiar lo voste mòt de santa clara" -#: lib/graphql/resolvers/group.ex:210 #, elixir-format +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "Debetz d'esser conectat per suprimir un grop" -#: lib/graphql/resolvers/user.ex:447 #, elixir-format +#: lib/graphql/resolvers/user.ex:447 msgid "You need to be logged-in to delete your account" msgstr "Deves-tz d'esser conectat-ada per suprimir lo voste compte" -#: lib/graphql/resolvers/group.ex:240 #, elixir-format +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "Deves-tz d'esser conectat-ada per rejónher un grop" -#: lib/graphql/resolvers/group.ex:273 #, elixir-format +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "Deves-tz d'esser conectat-ada per quitar un grop" -#: lib/graphql/resolvers/group.ex:175 #, elixir-format +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "Deves-tz d'esser conectat per metre à jorn un grop" -#: lib/graphql/resolvers/user.ex:58 #, elixir-format +#: lib/graphql/resolvers/user.ex:58 msgid "You need to have admin access to list users" msgstr "Deves-tz aver un accès admin per listar los utilizators" -#: lib/graphql/resolvers/user.ex:108 #, elixir-format +#: lib/graphql/resolvers/user.ex:108 msgid "You need to have an existing token to get a refresh token" msgstr "deves-tz aver un senhau existant per obtiéner un senhau nau" -#: lib/graphql/resolvers/user.ex:198 lib/graphql/resolvers/user.ex:222 #, elixir-format +#: lib/graphql/resolvers/user.ex:198 lib/graphql/resolvers/user.ex:222 msgid "You requested again a confirmation email too soon" msgstr "Demandatz de nau un email de confirmacion tròp lèu" -#: lib/graphql/resolvers/user.ex:128 #, elixir-format +#: lib/graphql/resolvers/user.ex:128 msgid "Your email is not on the allowlist" msgstr "" -#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94 #, elixir-format +#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94 msgid "Error while performing background task" msgstr "" -#: lib/graphql/resolvers/actor.ex:27 #, elixir-format +#: lib/graphql/resolvers/actor.ex:27 msgid "No profile found with this ID" msgstr "" -#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91 #, elixir-format +#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91 msgid "No remote profile found with this ID" msgstr "" -#: lib/graphql/resolvers/actor.ex:69 #, elixir-format +#: lib/graphql/resolvers/actor.ex:69 msgid "Only moderators and administrators can suspend a profile" msgstr "" -#: lib/graphql/resolvers/actor.ex:99 #, elixir-format +#: lib/graphql/resolvers/actor.ex:99 msgid "Only moderators and administrators can unsuspend a profile" msgstr "" -#: lib/graphql/resolvers/actor.ex:24 #, elixir-format +#: lib/graphql/resolvers/actor.ex:24 msgid "Only remote profiles may be refreshed" msgstr "" -#: lib/graphql/resolvers/actor.ex:61 #, elixir-format +#: lib/graphql/resolvers/actor.ex:61 msgid "Profile already suspended" msgstr "" -#: lib/graphql/resolvers/participant.ex:93 #, elixir-format +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" -#: lib/graphql/resolvers/participant.ex:87 #, elixir-format +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" -#: lib/graphql/resolvers/person.ex:186 #, elixir-format +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" -#: lib/graphql/resolvers/person.ex:183 #, elixir-format +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" -#: lib/graphql/resolvers/comment.ex:109 #, elixir-format +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" -#: lib/graphql/resolvers/discussion.ex:61 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:61 msgid "Discussion not found" msgstr "" -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 #, elixir-format +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" -#: lib/graphql/resolvers/report.ex:110 #, elixir-format +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" -#: lib/graphql/resolvers/participant.ex:128 #, elixir-format +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 #, elixir-format +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 #, elixir-format +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" -#: lib/graphql/resolvers/participant.ex:100 #, elixir-format +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -#, elixir-format -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#: lib/graphql/resolvers/discussion.ex:184 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 #, elixir-format +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" -#: lib/graphql/resolvers/feed_token.ex:63 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:63 msgid "No such feed token" msgstr "" -#: lib/graphql/resolvers/event.ex:202 -#, elixir-format -msgid "Organizer profile is not owned by the user" -msgstr "" - -#: lib/graphql/resolvers/participant.ex:241 #, elixir-format +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 #, elixir-format +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" -#: lib/graphql/resolvers/person.ex:31 #, elixir-format +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" -#: lib/graphql/resolvers/person.ex:52 #, elixir-format +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" -#: lib/graphql/resolvers/picture.ex:42 #, elixir-format +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" -#: lib/graphql/resolvers/post.ex:165 lib/graphql/resolvers/post.ex:198 #, elixir-format +#: lib/graphql/resolvers/post.ex:165 lib/graphql/resolvers/post.ex:198 msgid "Post ID is not a valid ID" msgstr "" -#: lib/graphql/resolvers/post.ex:168 lib/graphql/resolvers/post.ex:201 #, elixir-format +#: lib/graphql/resolvers/post.ex:168 lib/graphql/resolvers/post.ex:201 msgid "Post doesn't exist" msgstr "" -#: lib/graphql/resolvers/member.ex:86 #, elixir-format +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 #, elixir-format +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" +#, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 -#, elixir-format +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 #, elixir-format +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 #, elixir-format +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" -#: lib/graphql/resolvers/report.ex:38 #, elixir-format +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" -#: lib/graphql/resolvers/resource.ex:150 lib/graphql/resolvers/resource.ex:179 #, elixir-format +#: lib/graphql/resolvers/resource.ex:150 lib/graphql/resolvers/resource.ex:179 msgid "Resource doesn't exist" msgstr "" -#: lib/graphql/resolvers/participant.ex:121 #, elixir-format +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" -#: lib/graphql/resolvers/participant.ex:264 #, elixir-format +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 #, elixir-format +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 #, elixir-format +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" -#: lib/graphql/resolvers/feed_token.ex:69 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:69 msgid "Token does not exist" msgstr "" -#: lib/graphql/resolvers/feed_token.ex:66 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:66 msgid "Token is not a valid UUID" msgstr "" -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 #, elixir-format +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" -#: lib/graphql/resolvers/person.ex:234 #, elixir-format +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" -#: lib/graphql/resolvers/participant.ex:131 #, elixir-format +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" -#: lib/graphql/resolvers/discussion.ex:188 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" -#: lib/graphql/resolvers/member.ex:89 #, elixir-format +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" -#: lib/graphql/resolvers/member.ex:154 #, elixir-format +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" -#: lib/graphql/resolvers/comment.ex:55 #, elixir-format +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" -#: lib/graphql/resolvers/feed_token.ex:41 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:41 msgid "You are not allowed to create a feed token if not connected" msgstr "" -#: lib/graphql/resolvers/comment.ex:117 #, elixir-format +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" -#: lib/graphql/resolvers/feed_token.ex:78 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:78 msgid "You are not allowed to delete a feed token if not connected" msgstr "" -#: lib/graphql/resolvers/comment.ex:77 #, elixir-format +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 #, elixir-format +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" -#: lib/graphql/resolvers/member.ex:158 #, elixir-format +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" -#: lib/graphql/resolvers/comment.ex:105 #, elixir-format +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" -#: lib/graphql/resolvers/event.ex:279 #, elixir-format +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" -#: lib/graphql/resolvers/member.ex:92 #, elixir-format +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" -#: lib/graphql/resolvers/feed_token.ex:72 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:72 msgid "You don't have permission to delete this token" msgstr "" -#: lib/graphql/resolvers/admin.ex:52 #, elixir-format +#: lib/graphql/resolvers/admin.ex:52 msgid "You need to be logged-in and a moderator to list action logs" msgstr "" -#: lib/graphql/resolvers/report.ex:28 #, elixir-format +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" -#: lib/graphql/resolvers/report.ex:115 #, elixir-format +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" -#: lib/graphql/resolvers/report.ex:43 #, elixir-format +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" -#: lib/graphql/resolvers/admin.ex:236 #, elixir-format +#: lib/graphql/resolvers/admin.ex:236 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" -#: lib/graphql/resolvers/admin.ex:221 #, elixir-format +#: lib/graphql/resolvers/admin.ex:221 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" -#: lib/graphql/resolvers/admin.ex:260 #, elixir-format +#: lib/graphql/resolvers/admin.ex:260 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" -#: lib/graphql/resolvers/discussion.ex:66 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" -#: lib/graphql/resolvers/resource.ex:93 #, elixir-format +#: lib/graphql/resolvers/resource.ex:93 msgid "You need to be logged-in to access resources" msgstr "" -#: lib/graphql/resolvers/event.ex:213 #, elixir-format +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" -#: lib/graphql/resolvers/post.ex:139 #, elixir-format +#: lib/graphql/resolvers/post.ex:139 msgid "You need to be logged-in to create posts" msgstr "" -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 #, elixir-format +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" -#: lib/graphql/resolvers/resource.ex:129 #, elixir-format +#: lib/graphql/resolvers/resource.ex:129 msgid "You need to be logged-in to create resources" msgstr "" -#: lib/graphql/resolvers/event.ex:291 #, elixir-format +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" -#: lib/graphql/resolvers/post.ex:209 #, elixir-format +#: lib/graphql/resolvers/post.ex:209 msgid "You need to be logged-in to delete posts" msgstr "" -#: lib/graphql/resolvers/resource.ex:187 #, elixir-format +#: lib/graphql/resolvers/resource.ex:187 msgid "You need to be logged-in to delete resources" msgstr "" -#: lib/graphql/resolvers/participant.ex:105 #, elixir-format +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" -#: lib/graphql/resolvers/participant.ex:204 #, elixir-format +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" -#: lib/graphql/resolvers/event.ex:252 #, elixir-format +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" -#: lib/graphql/resolvers/post.ex:176 #, elixir-format +#: lib/graphql/resolvers/post.ex:176 msgid "You need to be logged-in to update posts" msgstr "" -#: lib/graphql/resolvers/resource.ex:158 #, elixir-format +#: lib/graphql/resolvers/resource.ex:158 msgid "You need to be logged-in to update resources" msgstr "" -#: lib/graphql/resolvers/resource.ex:210 #, elixir-format +#: lib/graphql/resolvers/resource.ex:210 msgid "You need to be logged-in to view a resource preview" msgstr "" -#: lib/graphql/resolvers/picture.ex:83 #, elixir-format +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#: lib/graphql/resolvers/report.ex:81 #, elixir-format -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#: lib/graphql/resolvers/report.ex:59 -#, elixir-format -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #: lib/graphql/resolvers/resource.ex:121 -#, elixir-format msgid "Parent resource doesn't belong to this group" msgstr "" -#: lib/graphql/resolvers/participant.ex:90 #, elixir-format -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #: lib/mobilizon/users/user.ex:109 -#, elixir-format msgid "The chosen password is too short." msgstr "" -#: lib/mobilizon/users/user.ex:138 #, elixir-format +#: lib/mobilizon/users/user.ex:138 msgid "The registration token is already in use, this looks like an issue on our side." msgstr "" -#: lib/mobilizon/users/user.ex:104 #, elixir-format +#: lib/mobilizon/users/user.ex:104 msgid "This email is already used." msgstr "" -#: lib/graphql/error.ex:88 #, elixir-format +#: lib/graphql/error.ex:88 msgid "Post not found" msgstr "" -#: lib/graphql/error.ex:75 #, elixir-format +#: lib/graphql/error.ex:75 msgid "Invalid arguments passed" msgstr "" -#: lib/graphql/error.ex:81 #, elixir-format +#: lib/graphql/error.ex:81 msgid "Invalid credentials" msgstr "" -#: lib/graphql/error.ex:79 #, elixir-format +#: lib/graphql/error.ex:79 msgid "Reset your password to login" msgstr "" -#: lib/graphql/error.ex:86 lib/graphql/error.ex:91 #, elixir-format +#: lib/graphql/error.ex:86 lib/graphql/error.ex:91 msgid "Resource not found" msgstr "" -#: lib/graphql/error.ex:92 #, elixir-format +#: lib/graphql/error.ex:92 msgid "Something went wrong" msgstr "" -#: lib/graphql/error.ex:74 #, elixir-format +#: lib/graphql/error.ex:74 msgid "Unknown Resource" msgstr "" -#: lib/graphql/error.ex:84 #, elixir-format +#: lib/graphql/error.ex:84 msgid "You don't have permission to do this" msgstr "" -#: lib/graphql/error.ex:76 #, elixir-format +#: lib/graphql/error.ex:76 msgid "You need to be logged in" msgstr "" -#: lib/graphql/resolvers/member.ex:119 #, elixir-format +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" -#: lib/graphql/resolvers/member.ex:137 #, elixir-format +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" -#: lib/graphql/resolvers/picture.ex:75 #, elixir-format +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" -#: lib/graphql/resolvers/group.ex:170 #, elixir-format +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" -#: lib/graphql/resolvers/event.ex:241 #, elixir-format +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" -#: lib/graphql/resolvers/event.ex:244 #, elixir-format +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" -#: lib/graphql/resolvers/member.ex:140 #, elixir-format +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" -#: lib/graphql/resolvers/member.ex:182 #, elixir-format +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" -#: lib/graphql/resolvers/member.ex:189 #, elixir-format +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" -#: lib/mobilizon/actors/actor.ex:344 #, elixir-format +#: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/pl/LC_MESSAGES/errors.po b/priv/gettext/pl/LC_MESSAGES/errors.po index ee2dff0a3..519a78119 100644 --- a/priv/gettext/pl/LC_MESSAGES/errors.po +++ b/priv/gettext/pl/LC_MESSAGES/errors.po @@ -106,17 +106,12 @@ msgid "Cannot refresh the token" msgstr "Nie można odświeżyć tokenu" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "Profil autora nie należy do obecnego użytkownika" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "Obency profil nie jest członkiem tej grupy" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "Obecny profil nie jest administratorem zaznaczonej grupy" @@ -126,8 +121,8 @@ msgid "Error while saving user settings" msgstr "Błąd zapisywania ustawień użytkownika" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Nie odnaleziono grupy" @@ -143,7 +138,7 @@ msgstr "" "Nie udało się uwierzytelnić. Adres e-mail bądź hasło jest nieprawidłowe." #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "Nie odnaleziono użytkownika" @@ -160,18 +155,15 @@ msgstr "" "Nie znaleziono użytkownika do zatwierdzenia z użyciem tego adresu e-mail" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "Nie znaleziono użytkownika o tym adresie e-mail" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "Profil nie należy do uwierzytelnionego użytkownika" @@ -239,18 +231,18 @@ msgid "User requested is not logged-in" msgstr "Żądany użytkownik nie jest zalogowany" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "Już jesteś członkiem tej grupy" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" "Nie możesz opuścić tej grupy, ponieważ jesteś jej jedynym administratorem" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "Nie możesz dołączyć do tej grupy" @@ -270,7 +262,7 @@ msgid "You need to be logged-in to change your password" msgstr "Musisz być zalogowany(-a), aby zmienić hasło" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "Musisz być zalogowany(-a), aby usunąć grupę" @@ -280,17 +272,17 @@ msgid "You need to be logged-in to delete your account" msgstr "Musisz być zalogowany(-a), aby usunąć konto" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "Musisz być zalogowany(-a), aby dołączyć do grupy" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "Musisz być zalogowany(-a), aby opuścić grupę" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "Musisz być zalogowany(-a), aby zaktualizować grupę" @@ -352,27 +344,27 @@ msgid "Profile already suspended" msgstr "Już zawieszono profil" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "Twoja instancja wymaga prawidłowego adresu e-mail" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "Anonimowe uczestnictwa nie są włączone" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "Nie można usunać jedynego administratora grupy" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "Nie można usunąć jedynej tożsamości użytkownika" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "Komentarz jest już usunięty" @@ -382,49 +374,44 @@ msgid "Discussion not found" msgstr "Nie znaleziono dyskusji" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Wystąpił błąd podczas zapisywania zgłoszenia" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Wystąpił błąd podczas aktualizacji zgłoszenia" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "Nie znaleziono id wydarzenia" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "Nie znaleziono wydarzenia" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "Wydarzenie o ID %{id} nie istnieje" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "Wewnętrzny błąd" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "Profil moderatora nie należy do uwierzytelnionego użytkownika" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "Nie znaleziono dyskusji o ID ${id}" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "Nie znaleziono profilu dla użytkownika" @@ -434,34 +421,29 @@ msgid "No such feed token" msgstr "Nie ma takiego tokenu strumienia" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "Profil organizatora nie należy do użytkownika" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "Uczestnik już ma rolę %{role}" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "Nie znaleziono uczestnika" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "Osoba o ID %{id} nie istnieje" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "Nie znaleziono osoby o nazwie użytkownika %{username}" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "Nie znaleziono obrazka o ID %{id}" @@ -476,36 +458,36 @@ msgid "Post doesn't exist" msgstr "Wpis nie istnieje" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "Zaproszony profil nie istnieje" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "Profil jest już członkiem tej grupy" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "Profil nie jest członkiem grupy" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "Nie znaleziono profilu" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "Wskazany profil moderatora nie ma uprawnień dla tego wydarzenia" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "Nie znaleziono zgłoszenia" @@ -515,23 +497,23 @@ msgid "Resource doesn't exist" msgstr "Zasób nie istnieje" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "Wydarzenie już przekroczyło maksymalną zasobność" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "Ten token jest nieprawidłowy" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "Element listy do zrobienia nie istnieje" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "Lista do zrobienia nie istnieje" @@ -546,37 +528,37 @@ msgid "Token is not a valid UUID" msgstr "Token nie jest prawidłowym UUID" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "Nie znaleziono użytkownika" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "Już masz profil dla tego użytkownika" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "Już jesteś uczestnikiem tego wydarzenia" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "Nie jesteś członkiem grupy do której należy ta dyskusja" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "Nie jesteś członkiem tej grupy" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "Nie jesteś moderatorem ani administratorem tej grupy" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -586,7 +568,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -596,35 +578,35 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "Nie możesz przydzielić sobie niższej rangi grupy, ponieważ jesteś jedynym " "administratorem" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "Nie możesz usunąć tego komentarza" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "Nie możesz usunąć tego wydarzenia" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "Nie możesz zaprosić do tej grupy" @@ -639,17 +621,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "Musisz być zalogowanym moderatorem, aby mieć dostęp do dzennika działań" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "Musisz być zalogowanym moderatorem, aby mieć dostęp do listy zgłoszeń" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "Musisz być zalogowanym moderatorem, aby móc zaktualizować zgłoszenie" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "Musisz być zalogowanym moderatorem, aby wyświetlić zgłoszenie" @@ -675,7 +657,7 @@ msgstr "" "administratora" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "Musisz być zalogowany(-a), aby uzyskać dostęp do dyskusji" @@ -685,7 +667,7 @@ msgid "You need to be logged-in to access resources" msgstr "Musisz być zalogowany(-a), aby uzyskać dostęp do zasobów" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "Musisz być zalogowany(-a), aby móc utworzyć wydarzenia" @@ -695,7 +677,7 @@ msgid "You need to be logged-in to create posts" msgstr "Musisz być zalogowany(-a), aby utworzyć wpis" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "Musisz być zalogowany(-a), aby utworzyć zgłoszenie" @@ -705,7 +687,7 @@ msgid "You need to be logged-in to create resources" msgstr "Musisz być zalogowany(-a), aby utworzyć zasób" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "Musisz być zalogowany(-a), aby usunąć wydarzenie" @@ -720,17 +702,17 @@ msgid "You need to be logged-in to delete resources" msgstr "Musisz być zalogowany(-a), aby usunąć zasób" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "Musisz być zalogowany(-a), aby dołączyć do wydarzenia" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "Musisz być zalogowany(-a), aby opuścić wydarzenie" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "Musisz być zalogowany(-a), aby zaktualizować wydarzenie" @@ -750,30 +732,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "Musisz być zalogowany(-a), aby zobaczyć podgląd zasobu" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "Musisz się zalogować, aby dodać obraz" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "ID zgłaszającego nie zgadza się z ID anonimowego profilu" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "Profil zgłaszającego nie należy od uwierzytelnionego użytkownika" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "Nadrzędny zasób nie należy do tej grupy" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "Podane ID profilu nie jest anonimowym profilem" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -837,47 +804,47 @@ msgid "You need to be logged in" msgstr "Musisz być zalogowany(-a)" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "Nie możesz zaakceptować tego zaproszenia z tego profilu." #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "Nie możesz odrzucić tego zaproszenia z tego profilu." #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "Plik nie ma dozwolonego typu MIME." #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "Profil nie jest administratorem grupy" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "Nie możesz edytować tego wydarzenia." #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "Nie możesz przypisać tego wydarzenia do tego profilu." #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "To zaproszenie nie istnieje." #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "Ten członek już został odrzucony." #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "Nie masz uprawnień do usunięcia tego członka." @@ -885,3 +852,8 @@ msgstr "Nie masz uprawnień do usunięcia tego członka." #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/pt/LC_MESSAGES/errors.po b/priv/gettext/pt/LC_MESSAGES/errors.po index 6ca10d675..53e147056 100644 --- a/priv/gettext/pt/LC_MESSAGES/errors.po +++ b/priv/gettext/pt/LC_MESSAGES/errors.po @@ -92,17 +92,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -112,8 +107,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -128,7 +123,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -144,18 +139,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -221,17 +213,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -251,7 +243,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -261,17 +253,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -331,27 +323,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -361,49 +353,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -413,34 +400,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -455,36 +437,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -494,23 +476,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -525,37 +507,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -565,7 +547,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -575,33 +557,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -616,17 +598,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -646,7 +628,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -656,7 +638,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -666,7 +648,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -676,7 +658,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -691,17 +673,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -721,30 +703,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -806,47 +773,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -854,3 +821,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/pt_BR/LC_MESSAGES/errors.po b/priv/gettext/pt_BR/LC_MESSAGES/errors.po index c377f9baa..4db08318f 100644 --- a/priv/gettext/pt_BR/LC_MESSAGES/errors.po +++ b/priv/gettext/pt_BR/LC_MESSAGES/errors.po @@ -92,17 +92,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -112,8 +107,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -128,7 +123,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -144,18 +139,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -221,17 +213,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -251,7 +243,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -261,17 +253,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -331,27 +323,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -361,49 +353,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -413,34 +400,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -455,36 +437,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -494,23 +476,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -525,37 +507,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -565,7 +547,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -575,33 +557,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -616,17 +598,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -646,7 +628,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -656,7 +638,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -666,7 +648,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -676,7 +658,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -691,17 +673,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -721,30 +703,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -806,47 +773,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -854,3 +821,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/ru/LC_MESSAGES/errors.po b/priv/gettext/ru/LC_MESSAGES/errors.po index b98385e22..747af6ef6 100644 --- a/priv/gettext/ru/LC_MESSAGES/errors.po +++ b/priv/gettext/ru/LC_MESSAGES/errors.po @@ -98,17 +98,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -118,8 +113,8 @@ msgid "Error while saving user settings" msgstr "" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "" @@ -134,7 +129,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -150,18 +145,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -227,17 +219,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -257,7 +249,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -267,17 +259,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -337,27 +329,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -367,49 +359,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -419,34 +406,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -461,36 +443,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -500,23 +482,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -531,37 +513,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -571,7 +553,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -581,33 +563,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -622,17 +604,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -652,7 +634,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -662,7 +644,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -672,7 +654,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -682,7 +664,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -697,17 +679,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -727,30 +709,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -812,47 +779,47 @@ msgid "You need to be logged in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -860,3 +827,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/errors.po b/priv/gettext/sv/LC_MESSAGES/errors.po index 9beee8389..bce765869 100644 --- a/priv/gettext/sv/LC_MESSAGES/errors.po +++ b/priv/gettext/sv/LC_MESSAGES/errors.po @@ -99,17 +99,12 @@ msgid "Cannot refresh the token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:137 -msgid "Creator profile is not owned by the current user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/group.ex:201 +#: lib/graphql/resolvers/group.ex:198 msgid "Current profile is not a member of this group" msgstr "Den nuvarande profilen är inte med i den här gruppen" #, elixir-format -#: lib/graphql/resolvers/group.ex:205 +#: lib/graphql/resolvers/group.ex:202 msgid "Current profile is not an administrator of the selected group" msgstr "" @@ -119,8 +114,8 @@ msgid "Error while saving user settings" msgstr "Ett fel uppstod när användarinställningarna skulle sparas" #, elixir-format -#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198 -#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83 +#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 +#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 msgid "Group not found" msgstr "Gruppen kunde inte hittas" @@ -135,7 +130,7 @@ msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:261 +#: lib/graphql/resolvers/group.ex:258 msgid "Member not found" msgstr "" @@ -151,18 +146,15 @@ msgid "No user to validate with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76 +#: lib/graphql/resolvers/person.ex:229 lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:219 msgid "No user with this email was found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112 -#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80 -#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160 -#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189 -#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297 -#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/feed_token.ex:28 +#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/person.ex:153 lib/graphql/resolvers/person.ex:187 +#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/person.ex:282 lib/graphql/resolvers/person.ex:295 msgid "Profile is not owned by authenticated user" msgstr "" @@ -228,17 +220,17 @@ msgid "User requested is not logged-in" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:235 +#: lib/graphql/resolvers/group.ex:232 msgid "You are already a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:268 +#: lib/graphql/resolvers/group.ex:265 msgid "You can't leave this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:232 +#: lib/graphql/resolvers/group.ex:229 msgid "You cannot join this group" msgstr "" @@ -258,7 +250,7 @@ msgid "You need to be logged-in to change your password" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:210 +#: lib/graphql/resolvers/group.ex:207 msgid "You need to be logged-in to delete a group" msgstr "" @@ -268,17 +260,17 @@ msgid "You need to be logged-in to delete your account" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:240 +#: lib/graphql/resolvers/group.ex:237 msgid "You need to be logged-in to join a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:273 +#: lib/graphql/resolvers/group.ex:270 msgid "You need to be logged-in to leave a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:175 +#: lib/graphql/resolvers/group.ex:172 msgid "You need to be logged-in to update a group" msgstr "" @@ -338,27 +330,27 @@ msgid "Profile already suspended" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:93 +#: lib/graphql/resolvers/participant.ex:88 msgid "A valid email is required by your instance" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:87 +#: lib/graphql/resolvers/participant.ex:85 msgid "Anonymous participation is not enabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:186 +#: lib/graphql/resolvers/person.ex:184 msgid "Cannot remove the last administrator of a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:183 +#: lib/graphql/resolvers/person.ex:181 msgid "Cannot remove the last identity of a user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:109 +#: lib/graphql/resolvers/comment.ex:104 msgid "Comment is already deleted" msgstr "" @@ -368,49 +360,44 @@ msgid "Discussion not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84 +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:110 +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:128 +#: lib/graphql/resolvers/participant.ex:123 msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238 -#: lib/graphql/resolvers/event.ex:283 +#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:232 +#: lib/graphql/resolvers/event.ex:276 msgid "Event not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:84 -#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157 +#: lib/graphql/resolvers/participant.ex:82 +#: lib/graphql/resolvers/participant.ex:120 lib/graphql/resolvers/participant.ex:152 msgid "Event with this ID %{id} doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:100 +#: lib/graphql/resolvers/participant.ex:95 msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231 -msgid "Moderator profile is not owned by authenticated user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/discussion.ex:184 +#: lib/graphql/resolvers/discussion.ex:193 msgid "No discussion with ID %{id}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "" @@ -420,34 +407,29 @@ msgid "No such feed token" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:202 -msgid "Organizer profile is not owned by the user" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/participant.ex:241 +#: lib/graphql/resolvers/participant.ex:227 msgid "Participant already has role %{role}" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:170 -#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234 -#: lib/graphql/resolvers/participant.ex:244 +#: lib/graphql/resolvers/participant.ex:162 +#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/participant.ex:220 +#: lib/graphql/resolvers/participant.ex:230 msgid "Participant not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:31 +#: lib/graphql/resolvers/person.ex:29 msgid "Person with ID %{id} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:52 +#: lib/graphql/resolvers/person.ex:50 msgid "Person with username %{username} not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:42 +#: lib/graphql/resolvers/picture.ex:41 msgid "Picture with ID %{id} was not found" msgstr "" @@ -462,36 +444,36 @@ msgid "Post doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:86 +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:95 lib/graphql/resolvers/member.ex:99 +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "" #, elixir-format #: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171 #: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:87 lib/graphql/resolvers/resource.ex:124 -#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:60 -#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174 -#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225 +#: lib/graphql/resolvers/resource.ex:153 lib/graphql/resolvers/resource.ex:182 lib/graphql/resolvers/todos.ex:57 +#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 +#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 msgid "Profile is not member of group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180 +#: lib/graphql/resolvers/person.ex:150 lib/graphql/resolvers/person.ex:178 msgid "Profile not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238 +#: lib/graphql/resolvers/event.ex:101 lib/graphql/resolvers/participant.ex:224 msgid "Provided moderator profile doesn't have permission on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:38 +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "" @@ -501,23 +483,23 @@ msgid "Resource doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:121 +#: lib/graphql/resolvers/participant.ex:116 msgid "The event has already reached its maximum capacity" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:264 +#: lib/graphql/resolvers/participant.ex:250 msgid "This token is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222 +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "" #, elixir-format -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194 -#: lib/graphql/resolvers/todos.ex:219 +#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 +#: lib/graphql/resolvers/todos.ex:216 msgid "Todo list doesn't exist" msgstr "" @@ -532,37 +514,37 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319 +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:317 msgid "User not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/person.ex:234 +#: lib/graphql/resolvers/person.ex:232 msgid "You already have a profile for this user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:131 +#: lib/graphql/resolvers/participant.ex:126 msgid "You are already a participant of this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:188 +#: lib/graphql/resolvers/discussion.ex:197 msgid "You are not a member of the group the discussion belongs to" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:89 +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:154 +#: lib/graphql/resolvers/member.ex:151 msgid "You are not a moderator or admin for this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:55 +#: lib/graphql/resolvers/comment.ex:50 msgid "You are not allowed to create a comment if not connected" msgstr "" @@ -572,7 +554,7 @@ msgid "You are not allowed to create a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:117 +#: lib/graphql/resolvers/comment.ex:109 msgid "You are not allowed to delete a comment if not connected" msgstr "" @@ -582,33 +564,33 @@ msgid "You are not allowed to delete a feed token if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:77 +#: lib/graphql/resolvers/comment.ex:72 msgid "You are not allowed to update a comment if not connected" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:164 -#: lib/graphql/resolvers/participant.ex:193 +#: lib/graphql/resolvers/participant.ex:156 +#: lib/graphql/resolvers/participant.ex:182 msgid "You can't leave event because you're the only event creator participant" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:158 +#: lib/graphql/resolvers/member.ex:155 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/comment.ex:105 +#: lib/graphql/resolvers/comment.ex:100 msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:279 +#: lib/graphql/resolvers/event.ex:272 msgid "You cannot delete this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:92 +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "" @@ -623,17 +605,17 @@ msgid "You need to be logged-in and a moderator to list action logs" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:28 +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:115 +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:43 +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "" @@ -653,7 +635,7 @@ msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:66 +#: lib/graphql/resolvers/discussion.ex:75 msgid "You need to be logged-in to access discussions" msgstr "" @@ -663,7 +645,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:213 +#: lib/graphql/resolvers/event.ex:207 msgid "You need to be logged-in to create events" msgstr "" @@ -673,7 +655,7 @@ msgid "You need to be logged-in to create posts" msgstr "" #, elixir-format -#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89 +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "" @@ -683,7 +665,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:291 +#: lib/graphql/resolvers/event.ex:281 msgid "You need to be logged-in to delete an event" msgstr "" @@ -698,17 +680,17 @@ msgid "You need to be logged-in to delete resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:105 +#: lib/graphql/resolvers/participant.ex:100 msgid "You need to be logged-in to join an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/participant.ex:204 +#: lib/graphql/resolvers/participant.ex:193 msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:252 +#: lib/graphql/resolvers/event.ex:246 msgid "You need to be logged-in to update an event" msgstr "" @@ -728,30 +710,15 @@ msgid "You need to be logged-in to view a resource preview" msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:83 +#: lib/graphql/resolvers/picture.ex:79 msgid "You need to login to upload a picture" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/report.ex:81 -msgid "Reporter ID does not match the anonymous profile id" -msgstr "" - -#, elixir-format -#: lib/graphql/resolvers/report.ex:59 -msgid "Reporter profile is not owned by authenticated user" -msgstr "" - #, elixir-format #: lib/graphql/resolvers/resource.ex:121 msgid "Parent resource doesn't belong to this group" msgstr "" -#, elixir-format -#: lib/graphql/resolvers/participant.ex:90 -msgid "Profile ID provided is not the anonymous profile one" -msgstr "" - #, elixir-format #: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." @@ -813,47 +780,47 @@ msgid "You need to be logged in" msgstr "Du måste vara inloggad" #, elixir-format -#: lib/graphql/resolvers/member.ex:119 +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:137 +#: lib/graphql/resolvers/member.ex:134 msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/picture.ex:75 +#: lib/graphql/resolvers/picture.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "" #, elixir-format -#: lib/graphql/resolvers/group.ex:170 +#: lib/graphql/resolvers/group.ex:167 msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:241 +#: lib/graphql/resolvers/event.ex:235 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:244 +#: lib/graphql/resolvers/event.ex:238 msgid "You can't attribute this event to this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:140 +#: lib/graphql/resolvers/member.ex:137 msgid "This invitation doesn't exist." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:182 +#: lib/graphql/resolvers/member.ex:179 msgid "This member already has been rejected." msgstr "" #, elixir-format -#: lib/graphql/resolvers/member.ex:189 +#: lib/graphql/resolvers/member.ex:186 msgid "You don't have the right to remove this member." msgstr "" @@ -861,3 +828,8 @@ msgstr "" #: lib/mobilizon/actors/actor.ex:344 msgid "This username is already taken." msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/discussion.ex:72 +msgid "You must provide either an ID or a slug to access a discussion" +msgstr "" diff --git a/schema.graphql b/schema.graphql deleted file mode 100644 index ec4af4a81..000000000 --- a/schema.graphql +++ /dev/null @@ -1,2808 +0,0 @@ -# source: http://localhost:4000/api -# timestamp: Tue May 05 2020 17:26:14 GMT+0200 (heure d’été d’Europe centrale) - -schema { - query: RootQueryType - mutation: RootMutationType - subscription: RootSubscriptionType -} - -""" -An action log -""" -type ActionLog { - """ - The action that was done - """ - action: ActionLogAction - - """ - The actor that acted - """ - actor: Actor - - """ - Internal ID for this comment - """ - id: ID - - """ - The time when the action was performed - """ - insertedAt: DateTime - - """ - The object that was acted upon - """ - object: ActionLogObject -} - -enum ActionLogAction { - COMMENT_DELETION - EVENT_DELETION - EVENT_UPDATE - NOTE_CREATION - NOTE_DELETION - REPORT_UPDATE_CLOSED - REPORT_UPDATE_OPENED - REPORT_UPDATE_RESOLVED -} - -""" -The objects that can be in an action log -""" -interface ActionLogObject { - """ - Internal ID for this object - """ - id: ID -} - -""" -An ActivityPub actor -""" -interface Actor { - """ - The actor's avatar picture - """ - avatar: Picture - - """ - The actor's banner picture - """ - banner: Picture - - """ - The actor's domain if (null if it's this instance) - """ - domain: String - - """ - List of followers - """ - followers: [Follower] - - """ - Number of followers for this actor - """ - followersCount: Int - - """ - List of followings - """ - following: [Follower] - - """ - Number of actors following this actor - """ - followingCount: Int - - """ - Internal ID for this actor - """ - id: ID - - """ - If the actor is from this instance - """ - local: Boolean - - """ - Whether the actors manually approves followers - """ - manuallyApprovesFollowers: Boolean - - """ - The actor's displayed name - """ - name: String - - """ - The actor's preferred username - """ - preferredUsername: String - - """ - The actor's summary - """ - summary: String - - """ - If the actor is suspended - """ - suspended: Boolean - - """ - The type of Actor (Person, Group,…) - """ - type: ActorType - - """ - The ActivityPub actor's URL - """ - url: String -} - -""" -The list of types an actor can be -""" -enum ActorType { - """ - An ActivityPub Application - """ - APPLICATION - - """ - An ActivityPub Group - """ - GROUP - - """ - An ActivityPub Organization - """ - ORGANIZATION - - """ - An ActivityPub Person - """ - PERSON - - """ - An ActivityPub Service - """ - SERVICE -} - -type Address { - country: String - description: String - - """ - The geocoordinates for the point where this address is - """ - geom: Point - id: ID - - """ - The address's locality - """ - locality: String - originId: String - postalCode: String - region: String - - """ - The address's street name (with number) - """ - street: String - type: String - url: String -} - -input AddressInput { - country: String - description: String - - """ - The geocoordinates for the point where this address is - """ - geom: Point - id: ID - - """ - The address's locality - """ - locality: String - originId: String - postalCode: String - region: String - - """ - The address's street name (with number) - """ - street: String - type: String - url: String -} - -type AdminSettings { - instanceDescription: String - instanceName: String - instanceTerms: String - instanceTermsType: InstanceTermsType - instanceTermsUrl: String - registrationsOpen: Boolean -} - -type Anonymous { - actorId: ID - eventCreation: AnonymousEventCreation - participation: AnonymousParticipation -} - -type AnonymousEventCreation { - allowed: Boolean - validation: AnonymousEventCreationValidation -} - -type AnonymousEventCreationValidation { - captcha: AnonymousEventCreationValidationCaptcha - email: AnonymousEventCreationValidationEmail -} - -type AnonymousEventCreationValidationCaptcha { - enabled: Boolean -} - -type AnonymousEventCreationValidationEmail { - confirmationRequired: Boolean - enabled: Boolean -} - -type AnonymousParticipation { - allowed: Boolean - validation: AnonymousParticipationValidation -} - -type AnonymousParticipationValidation { - captcha: AnonymousParticipationValidationCaptcha - email: AnonymousParticipationValidationEmail -} - -type AnonymousParticipationValidationCaptcha { - enabled: Boolean -} - -type AnonymousParticipationValidationEmail { - confirmationRequired: Boolean - enabled: Boolean -} - -""" -Represents an application -""" -type Application implements Actor { - """ - The actor's avatar picture - """ - avatar: Picture - - """ - The actor's banner picture - """ - banner: Picture - - """ - The actor's domain if (null if it's this instance) - """ - domain: String - - """ - List of followers - """ - followers: [Follower] - - """ - Number of followers for this actor - """ - followersCount: Int - - """ - List of followings - """ - following: [Follower] - - """ - Number of actors following this actor - """ - followingCount: Int - - """ - Internal ID for this application - """ - id: ID - - """ - If the actor is from this instance - """ - local: Boolean - - """ - Whether the actors manually approves followers - """ - manuallyApprovesFollowers: Boolean - - """ - The actor's displayed name - """ - name: String - - """ - The actor's preferred username - """ - preferredUsername: String - - """ - The actor's summary - """ - summary: String - - """ - If the actor is suspended - """ - suspended: Boolean - - """ - The type of Actor (Person, Group,…) - """ - type: ActorType - - """ - The ActivityPub actor's URL - """ - url: String -} - -""" -A comment -""" -type Comment implements ActionLogObject { - actor: Person - deletedAt: DateTime - event: Event - - """ - Internal ID for this comment - """ - id: ID - inReplyToComment: Comment - insertedAt: DateTime - local: Boolean - originComment: Comment - primaryLanguage: String - replies: [Comment] - text: String - threadLanguages: [String]! - totalReplies: Int - updatedAt: DateTime - url: String - uuid: UUID - visibility: CommentVisibility -} - -""" -The list of visibility options for a comment -""" -enum CommentVisibility { - """ - visible only to people invited - """ - INVITE - - """ - Visible only after a moderator accepted - """ - MODERATED - - """ - Visible only to people members of the group or followers of the person - """ - PRIVATE - - """ - Publicly listed and federated. Can be shared. - """ - PUBLIC - - """ - Visible only to people with the link - or invited - """ - UNLISTED -} - -""" -A config object -""" -type Config { - anonymous: Anonymous - countryCode: String - demoMode: Boolean - description: String - geocoding: Geocoding - location: Lonlat - maps: Maps - name: String - registrationsOpen: Boolean - registrationsWhitelist: Boolean - resourceProviders: [ResourceProvider] - - """ - The instance's terms - """ - terms(locale: String = "en"): Terms -} - -""" -A discussion -""" -type discussion { - actor: Actor - - """ - The comments for the discussion - """ - comments(limit: Int = 10, page: Int = 1): PaginatedCommentList - creator: Person - - """ - Internal ID for this discussion - """ - id: ID - insertedAt: DateTime - lastComment: Comment - slug: String - title: String - updatedAt: DateTime -} - -type Dashboard { - """ - Last public event publish - """ - lastPublicEventPublished: Event - - """ - The number of local comments - """ - numberOfComments: Int - - """ - The number of local events - """ - numberOfEvents: Int - - """ - The number of current opened reports - """ - numberOfReports: Int - - """ - The number of local users - """ - numberOfUsers: Int -} - -""" -The `DateTime` scalar type represents a date and time in the UTC -timezone. The DateTime appears in a JSON response as an ISO8601 formatted -string, including UTC timezone ("Z"). The parsed date and time string will -be converted to UTC and any UTC offset other than 0 will be rejected. -""" -scalar DateTime - -""" -Represents a deleted feed_token -""" -type DeletedFeedToken { - actor: DeletedObject - user: DeletedObject -} - -""" -Represents a deleted member -""" -type DeletedMember { - actor: DeletedObject - parent: DeletedObject -} - -""" -A struct containing the id of the deleted object -""" -type DeletedObject { - id: ID -} - -""" -Represents a deleted participant -""" -type DeletedParticipant { - actor: DeletedObject - event: DeletedObject - id: ID -} - -""" -An event -""" -type Event implements ActionLogObject { - """ - Who the event is attributed to (often a group) - """ - attributedTo: Actor - - """ - Datetime for when the event begins - """ - beginsOn: DateTime - - """ - The event's category - """ - category: String - - """ - The comments in reply to the event - """ - comments: [Comment] - - """ - When the event was created - """ - createdAt: DateTime - - """ - The event's description - """ - description: String - - """ - Whether or not the event is a draft - """ - draft: Boolean - - """ - Datetime for when the event ends - """ - endsOn: DateTime - - """ - Internal ID for this event - """ - id: ID - - """ - The event's visibility - """ - joinOptions: EventJoinOptions - - """ - Whether the event is local or not - """ - local: Boolean - - """ - Online address of the event - """ - onlineAddress: String - - """ - The event options - """ - options: EventOptions - - """ - The event's organizer (as a person) - """ - organizerActor: Actor - participantStats: ParticipantStats - - """ - The event's participants - """ - participants( - actorId: ID - limit: Int = 10 - page: Int = 1 - roles: String = "" - ): PaginatedParticipantList - - """ - Phone address for the event - """ - phoneAddress: String - - """ - The type of the event's address - """ - physicalAddress: Address - - """ - The event's picture - """ - picture: Picture - - """ - When the event was published - """ - publishAt: DateTime - - """ - Events related to this one - """ - relatedEvents: [Event] - - """ - The event's description's slug - """ - slug: String - - """ - Status of the event - """ - status: EventStatus - - """ - The event's tags - """ - tags: [Tag] - - """ - The event's title - """ - title: String - - """ - When the event was last updated - """ - updatedAt: DateTime - - """ - The ActivityPub Event URL - """ - url: String - - """ - The Event UUID - """ - uuid: UUID - - """ - The event's visibility - """ - visibility: EventVisibility -} - -""" -The list of possible options for the event's status -""" -enum EventCommentModeration { - """ - Anyone can comment under the event - """ - ALLOW_ALL - - """ - No one can comment except for the admin - """ - CLOSED - - """ - Every comment has to be moderated by the admin - """ - MODERATED -} - -""" -The list of join options for an event -""" -enum EventJoinOptions { - """ - Anyone can join and is automatically accepted - """ - FREE - - """ - Participants must be invited - """ - INVITE - - """ - Manual acceptation - """ - RESTRICTED -} - -type EventOffer { - """ - The price amount for this offer - """ - price: Float - - """ - The currency for this price offer - """ - priceCurrency: String - - """ - The URL to access to this offer - """ - url: String -} - -input EventOfferInput { - """ - The price amount for this offer - """ - price: Float - - """ - The currency for this price offer - """ - priceCurrency: String - - """ - The URL to access to this offer - """ - url: String -} - -type EventOptions { - """ - Whether or not to allow anonymous participation (if the server allows it) - """ - anonymousParticipation: Boolean - - """ - The list of special attendees - """ - attendees: [String] - - """ - The policy on public comment moderation under the event - """ - commentModeration: EventCommentModeration - - """ - Whether to show or hide the person organizer when event is organized by a group - """ - hideOrganizerWhenGroupEvent: Boolean - - """ - The maximum attendee capacity for this event - """ - maximumAttendeeCapacity: Int - - """ - The list of offers to show for this event - """ - offers: [EventOffer] - - """ - The list of participation conditions to accept to join this event - """ - participationConditions: [EventParticipationCondition] - - """ - The list of the event - """ - program: String - - """ - The number of remaining seats for this event - """ - remainingAttendeeCapacity: Int - - """ - Show event end time - """ - showEndTime: Boolean - - """ - Whether or not to show the participation price - """ - showParticipationPrice: Boolean - - """ - Whether or not to show the number of remaining seats for this event - """ - showRemainingAttendeeCapacity: Boolean - - """ - Show event start time - """ - showStartTime: Boolean -} - -input EventOptionsInput { - """ - Whether or not to allow anonymous participation (if the server allows it) - """ - anonymousParticipation: Boolean = false - - """ - The list of special attendees - """ - attendees: [String] - - """ - The policy on public comment moderation under the event - """ - commentModeration: EventCommentModeration - - """ - Whether to show or hide the person organizer when event is organized by a group - """ - hideOrganizerWhenGroupEvent: Boolean - - """ - The maximum attendee capacity for this event - """ - maximumAttendeeCapacity: Int - - """ - The list of offers to show for this event - """ - offers: [EventOfferInput] - - """ - The list of participation conditions to accept to join this event - """ - participationConditions: [EventParticipationConditionInput] - - """ - The list of the event - """ - program: String - - """ - The number of remaining seats for this event - """ - remainingAttendeeCapacity: Int - - """ - Show event end time - """ - showEndTime: Boolean - - """ - Whether or not to show the participation price - """ - showParticipationPrice: Boolean - - """ - Whether or not to show the number of remaining seats for this event - """ - showRemainingAttendeeCapacity: Boolean - - """ - Show event start time - """ - showStartTime: Boolean -} - -type EventParticipationCondition { - """ - The content for this condition - """ - content: String - - """ - The title for this condition - """ - title: String - - """ - The URL to access this condition - """ - url: String -} - -input EventParticipationConditionInput { - """ - The content for this condition - """ - content: String - - """ - The title for this condition - """ - title: String - - """ - The URL to access this condition - """ - url: String -} - -""" -Search events result -""" -type Events { - """ - Event elements - """ - elements: [Event]! - - """ - Total elements - """ - total: Int! -} - -""" -The list of possible options for the event's status -""" -enum EventStatus { - """ - The event is cancelled - """ - CANCELLED - - """ - The event is confirmed - """ - CONFIRMED - - """ - The event is tentative - """ - TENTATIVE -} - -""" -The list of visibility options for an event -""" -enum EventVisibility { - """ - Visible only to people members of the group or followers of the person - """ - PRIVATE - - """ - Publicly listed and federated. Can be shared. - """ - PUBLIC - - """ - Visible only after a moderator accepted - """ - RESTRICTED - - """ - Visible only to people with the link - or invited - """ - UNLISTED -} - -""" -Represents a participant to an event -""" -type FeedToken { - """ - The event which the actor participates in - """ - actor: Actor - - """ - The role of this actor at this event - """ - token: String - - """ - The actor that participates to the event - """ - user: User -} - -""" -Represents an actor's follower -""" -type Follower { - """ - Which profile follows - """ - actor: Actor - - """ - Whether the follow has been approved by the target actor - """ - approved: Boolean - - """ - When the follow was created - """ - insertedAt: DateTime - - """ - What or who the profile follows - """ - targetActor: Actor - - """ - When the follow was updated - """ - updatedAt: DateTime -} - -type Geocoding { - autocomplete: Boolean - provider: String -} - -""" -Represents a group of actors -""" -type Group implements Actor { - """ - The actor's avatar picture - """ - avatar: Picture - - """ - The actor's banner picture - """ - banner: Picture - - """ - A list of the discussions for this group - """ - discussions: PaginatedDiscussionList - - """ - The actor's domain if (null if it's this instance) - """ - domain: String - - """ - List of followers - """ - followers: [Follower] - - """ - Number of followers for this actor - """ - followersCount: Int - - """ - List of followings - """ - following: [Follower] - - """ - Number of actors following this actor - """ - followingCount: Int - - """ - Internal ID for this group - """ - id: ID - - """ - If the actor is from this instance - """ - local: Boolean - - """ - Whether the actors manually approves followers - """ - manuallyApprovesFollowers: Boolean - - """ - List of group members - """ - members: PaginatedMemberList - - """ - The actor's displayed name - """ - name: String - - """ - Whether the group is opened to all or has restricted access - """ - openness: Openness - - """ - A list of the events this actor has organized - """ - organizedEvents: PaginatedEventList - - """ - The actor's preferred username - """ - preferredUsername: String - - """ - A paginated list of the resources this group has - """ - resources(limit: Int = 10, page: Int = 1): PaginatedResourceList - - """ - The actor's summary - """ - summary: String - - """ - If the actor is suspended - """ - suspended: Boolean - - """ - A paginated list of the todo lists this group has - """ - todoLists: PaginatedTodoListList - - """ - The type of Actor (Person, Group,…) - """ - type: ActorType - - """ - The type of group : Group, Community,… - """ - types: GroupType - - """ - The ActivityPub actor's URL - """ - url: String -} - -""" -Search groups result -""" -type Groups { - """ - Group elements - """ - elements: [Group]! - - """ - Total elements - """ - total: Int! -} - -""" -The types of Group that exist -""" -enum GroupType { - """ - A public group of many actors - """ - COMMUNITY - - """ - A private group of persons - """ - GROUP -} - -enum InstanceTermsType { - CUSTOM - DEFAULT - URL -} - -""" -A JWT and the associated user ID -""" -type Login { - """ - A JWT Token for this session - """ - accessToken: String! - - """ - A JWT Token to refresh the access token - """ - refreshToken: String! - - """ - The user associated to this session - """ - user: User! -} - -type Lonlat { - accuracyRadius: Int - latitude: Float - longitude: Float -} - -type Maps { - tiles: Tiles -} - -""" -Represents a member of a group -""" -type Member { - """ - Which profile is member of - """ - actor: Person - - """ - The member's ID - """ - id: ID - - """ - Of which the profile is member - """ - parent: Group - - """ - The role of this membership - """ - role: MemberRoleEnum -} - -enum MemberRoleEnum { - ADMINISTRATOR - CREATOR - INVITED - MEMBER - MODERATOR - NOT_APPROVED - REJECTED -} - -""" -The `Naive DateTime` scalar type represents a naive date and time without -timezone. The DateTime appears in a JSON response as an ISO8601 formatted -string. -""" -scalar NaiveDateTime - -""" -Describes how an actor is opened to follows -""" -enum Openness { - """ - The actor can only be followed by invitation - """ - INVITE_ONLY - - """ - The actor needs to accept the following before it's effective - """ - MODERATED - - """ - The actor is open to followings - """ - OPEN -} - -type PaginatedCommentList { - """ - A list of comments - """ - elements: [Comment] - - """ - The total number of comments in the list - """ - total: Int -} - -type PaginatedDiscussionList { - """ - A list of discussion - """ - elements: [discussion] - - """ - The total number of comments in the list - """ - total: Int -} - -type PaginatedEventList { - """ - A list of events - """ - elements: [Event] - - """ - The total number of events in the list - """ - total: Int -} - -type PaginatedFollowerList { - """ - A list of followers - """ - elements: [Follower] - - """ - The total number of elements in the list - """ - total: Int -} - -type PaginatedGroupList { - """ - A list of groups - """ - elements: [Group] - - """ - The total number of elements in the list - """ - total: Int -} - -type PaginatedMemberList { - """ - A list of members - """ - elements: [Member] - - """ - The total number of elements in the list - """ - total: Int -} - -type PaginatedParticipantList { - """ - A list of participants - """ - elements: [Participant] - - """ - The total number of participants in the list - """ - total: Int -} - -type PaginatedResourceList { - """ - A list of resources - """ - elements: [Resource] - - """ - The total number of resources in the list - """ - total: Int -} - -type PaginatedTodoList { - """ - A list of todos - """ - elements: [Todo] - - """ - The total number of todos in the list - """ - total: Int -} - -type PaginatedTodoListList { - """ - A list of todo lists - """ - elements: [TodoList] - - """ - The total number of todo lists in the list - """ - total: Int -} - -""" -Represents a participant to an event -""" -type Participant { - """ - The actor that participates to the event - """ - actor: Actor - - """ - The event which the actor participates in - """ - event: Event - - """ - The participation ID - """ - id: ID - - """ - The datetime this participant was created - """ - insertedAt: DateTime - - """ - The metadata associated to this participant - """ - metadata: ParticipantMetadata - - """ - The role of this actor at this event - """ - role: ParticipantRoleEnum -} - -type ParticipantMetadata { - """ - The eventual token to leave an event when user is anonymous - """ - cancellationToken: String - - """ - The eventual message the participant left - """ - message: String -} - -enum ParticipantRoleEnum { - ADMINISTRATOR - CREATOR - MODERATOR - NOT_APPROVED - NOT_CONFIRMED - PARTICIPANT - REJECTED -} - -type ParticipantStats { - """ - The number of administrators - """ - administrator: Int - - """ - The number of creators - """ - creator: Int - - """ - The number of approved participants - """ - going: Int - - """ - The number of moderators - """ - moderator: Int - - """ - The number of not approved participants - """ - notApproved: Int - - """ - The number of not confirmed participants - """ - notConfirmed: Int - - """ - The number of simple participants (excluding creators) - """ - participant: Int - - """ - The number of rejected participants - """ - rejected: Int -} - -""" -Represents a person identity -""" -type Person implements Actor { - """ - The actor's avatar picture - """ - avatar: Picture - - """ - The actor's banner picture - """ - banner: Picture - - """ - The actor's domain if (null if it's this instance) - """ - domain: String - - """ - A list of the feed tokens for this person - """ - feedTokens: [FeedToken] - - """ - List of followers - """ - followers: [Follower] - - """ - Number of followers for this actor - """ - followersCount: Int - - """ - List of followings - """ - following: [Follower] - - """ - Number of actors following this actor - """ - followingCount: Int - - """ - Internal ID for this person - """ - id: ID - - """ - If the actor is from this instance - """ - local: Boolean - - """ - Whether the actors manually approves followers - """ - manuallyApprovesFollowers: Boolean - - """ - The list of groups this person is member of - """ - memberOf: [Member] - - """ - The list of group this person is member of - """ - memberships: PaginatedMemberList - - """ - The actor's displayed name - """ - name: String - - """ - A list of the events this actor has organized - """ - organizedEvents: [Event] - - """ - The list of events this person goes to - """ - participations(eventId: ID): [Participant] - - """ - The actor's preferred username - """ - preferredUsername: String - - """ - The actor's summary - """ - summary: String - - """ - If the actor is suspended - """ - suspended: Boolean - - """ - The type of Actor (Person, Group,…) - """ - type: ActorType - - """ - The ActivityPub actor's URL - """ - url: String - - """ - The user this actor is associated to - """ - user: User -} - -""" -Search persons result -""" -type Persons { - """ - Person elements - """ - elements: [Person]! - - """ - Total elements - """ - total: Int! -} - -""" -A picture -""" -type Picture { - """ - The picture's alternative text - """ - alt: String - - """ - The picture's detected content type - """ - contentType: String - - """ - The picture's ID - """ - id: ID - - """ - The picture's name - """ - name: String - - """ - The picture's size - """ - size: Int - - """ - The picture's full URL - """ - url: String -} - -""" -An attached picture or a link to a picture -""" -input PictureInput { - picture: PictureInputObject - pictureId: ID -} - -""" -An attached picture -""" -input PictureInputObject { - actorId: ID - alt: String - file: Upload! - name: String! -} - -""" -The `Point` scalar type represents Point geographic information compliant string data, -represented as floats separated by a semi-colon. The geodetic system is WGS 84 -""" -scalar Point - -""" -Token -""" -type RefreshedToken { - """ - Generated access token - """ - accessToken: String! - - """ - Generated refreshed token - """ - refreshToken: String! -} - -""" -A report object -""" -type Report implements ActionLogObject { - """ - The comments that are reported - """ - comments: [Comment] - - """ - The comment the reporter added about this report - """ - content: String - - """ - The event that is being reported - """ - event: Event - - """ - The internal ID of the report - """ - id: ID - - """ - When the report was created - """ - insertedAt: DateTime - - """ - The notes made on the event - """ - notes: [ReportNote] - - """ - The actor that is being reported - """ - reported: Actor - - """ - The actor that created the report - """ - reporter: Actor - - """ - Whether the report is still active - """ - status: ReportStatus - - """ - When the report was updated - """ - updatedAt: DateTime - - """ - The URI of the report - """ - uri: String -} - -""" -A report note object -""" -type ReportNote implements ActionLogObject { - """ - The content of the note - """ - content: String - - """ - The internal ID of the report note - """ - id: ID - - """ - When the report note was created - """ - insertedAt: DateTime - - """ - The moderator who added the note - """ - moderator: Actor - - """ - The report on which this note is added - """ - report: Report -} - -""" -The list of possible statuses for a report object -""" -enum ReportStatus { - """ - The report has been closed - """ - CLOSED - - """ - The report has been opened - """ - OPEN - - """ - The report has been marked as resolved - """ - RESOLVED -} - -""" -A resource -""" -type Resource { - """ - The resource's owner - """ - actor: Actor - - """ - Children resources in folder - """ - children: PaginatedResourceList - - """ - The resource's creator - """ - creator: Actor - - """ - The resource's ID - """ - id: ID - - """ - The resource's creation date - """ - insertedAt: NaiveDateTime - - """ - The resource's metadata - """ - metadata: ResourceMetadata - - """ - The resource's parent - """ - parent: Resource - - """ - The resource's path - """ - path: String - - """ - The resource's URL - """ - resourceUrl: String - - """ - The resource's summary - """ - summary: String - - """ - The resource's title - """ - title: String - - """ - The resource's type (if it's a folder) - """ - type: String - - """ - The resource's last update date - """ - updatedAt: NaiveDateTime - - """ - The resource's URL - """ - url: String -} - -type ResourceMetadata { - authorName: String - authorUrl: String - - """ - The resource's metadata description - """ - description: String - faviconUrl: String - height: Int - html: String - - """ - The resource's metadata image - """ - imageRemoteUrl: String - providerName: String - providerUrl: String - - """ - The resource's metadata title - """ - title: String - - """ - The type of the resource - """ - type: String - width: Int -} - -type ResourceProvider { - endpoint: String - software: String - type: String -} - -type RootMutationType { - """ - Create an user - """ - createUser(email: String!, locale: String, password: String!): User - - """ - Register a first profile on registration - """ - registerPerson( - """ - The avatar for the profile, either as an object or directly the ID of an existing Picture - """ - avatar: PictureInput - - """ - The banner for the profile, either as an object or directly the ID of an existing Picture - """ - banner: PictureInput - - """ - The email from the user previously created - """ - email: String! - - """ - The displayed name for the new profile - """ - name: String = "" - preferredUsername: String! - - """ - The summary for the new profile - """ - summary: String = "" - ): Person - - """ - Join a group - """ - joinGroup(actorId: ID!, groupId: ID!): Member - - """ - Create a Feed Token - """ - createFeedToken(actorId: ID): FeedToken - - """ - Get a preview for a resource link - """ - previewResourceLink(resourceUrl: String!): ResourceMetadata - - """ - Create a note on a report - """ - createReportNote(content: String, moderatorId: ID!, reportId: ID!): ReportNote - - """ - Create a discussion - """ - createDiscussion( - actorId: ID! - creatorId: ID! - text: String! - title: String! - ): discussion - inviteMember(actorId: ID!, groupId: ID!, targetActorUsername: String!): Member - - """ - Leave an event - """ - leaveEvent(actorId: ID!, eventId: ID!, token: String): DeletedParticipant - - """ - Login an user - """ - login(email: String!, password: String!): Login - - """ - Change default actor for user - """ - changeDefaultActor(preferredUsername: String!): User - - """ - Join an event - """ - joinEvent( - actorId: ID! - email: String - eventId: ID! - message: String - ): Participant - - """ - Create a todo - """ - createTodo( - assignedToId: ID - dueDate: DateTime - status: Boolean - title: String! - todoListId: ID! - ): Todo - - """ - Change an user password - """ - changePassword(newPassword: String!, oldPassword: String!): User - - """ - Create a new person for user - """ - createPerson( - """ - The avatar for the profile, either as an object or directly the ID of an existing Picture - """ - avatar: PictureInput - - """ - The banner for the profile, either as an object or directly the ID of an existing Picture - """ - banner: PictureInput - - """ - The displayed name for the new profile - """ - name: String = "" - preferredUsername: String! - - """ - The summary for the new profile - """ - summary: String = "" - ): Person - replyToDiscussion(discussionId: ID!, text: String!): discussion - - """ - Resend registration confirmation token - """ - resendConfirmationEmail(email: String!, locale: String): String - - """ - Create a todo list - """ - createTodoList(groupId: ID!, title: String!): TodoList - - """ - Delete an event - """ - deleteEvent(actorId: ID!, eventId: ID!): DeletedObject - - """ - Change an user email - """ - changeEmail(email: String!, password: String!): User - updateDiscussion(discussionId: ID!, title: String!): discussion - - """ - Create an event - """ - createEvent( - attributedToId: ID - beginsOn: DateTime! - category: String = "meeting" - description: String! - draft: Boolean = false - endsOn: DateTime - joinOptions: EventJoinOptions = FREE - onlineAddress: String - options: EventOptionsInput - organizerActorId: ID! - phoneAddress: String - physicalAddress: AddressInput - - """ - The picture for the event, either as an object or directly the ID of an existing Picture - """ - picture: PictureInput - publishAt: DateTime - status: EventStatus - - """ - The list of tags associated to the event - """ - tags: [String] = [""] - title: String! - visibility: EventVisibility = PUBLIC - ): Event - - """ - Delete a feed token - """ - deleteFeedToken(token: String!): DeletedFeedToken - - """ - Delete a resource - """ - deleteResource(id: ID!): DeletedObject - - """ - Reset user password - """ - resetPassword(locale: String = "en", password: String!, token: String!): Login - deleteReportNote(moderatorId: ID!, noteId: ID!): DeletedObject - - """ - Delete an identity - """ - deletePerson(id: ID!): Person - - """ - Upload a picture - """ - uploadPicture( - actorId: ID! - alt: String - file: Upload! - name: String! - ): Picture - - """ - Refresh a token - """ - refreshToken(refreshToken: String!): RefreshedToken - - """ - Delete a group - """ - deleteGroup(actorId: ID!, groupId: ID!): DeletedObject - - """ - Update a resource - """ - updateResource( - actorId: ID - id: ID! - parentId: ID - path: String - resourceUrl: String - summary: String - title: String - ): Resource - - """ - Create a comment - """ - createComment( - actorId: ID! - eventId: ID - inReplyToCommentId: ID - text: String! - ): Comment - - """ - Create a resource - """ - createResource( - actorId: ID! - parentId: ID - path: String! = "/" - resourceUrl: String - summary: String - title: String - type: String - ): Resource - - """ - Update a report - """ - updateReportStatus( - moderatorId: ID! - reportId: ID! - status: ReportStatus! - ): Report - - """ - Update an event - """ - updateEvent( - attributedToId: ID - beginsOn: DateTime - category: String - description: String - draft: Boolean - endsOn: DateTime - eventId: ID! - joinOptions: EventJoinOptions = FREE - onlineAddress: String - options: EventOptionsInput - organizerActorId: ID - phoneAddress: String - physicalAddress: AddressInput - - """ - The picture for the event, either as an object or directly the ID of an existing Picture - """ - picture: PictureInput - status: EventStatus - - """ - The list of tags associated to the event - """ - tags: [String] - title: String - visibility: EventVisibility = PUBLIC - ): Event - - """ - Confirm a participation - """ - confirmParticipation(confirmationToken: String!): Participant - deleteDiscussion(discussionId: ID!): discussion - - """ - Reject a relay subscription - """ - rejectRelay(address: String!): Follower - - """ - Accept a participation - """ - updateParticipation( - id: ID! - moderatorActorId: ID! - role: ParticipantRoleEnum! - ): Participant - - """ - Delete a todo - """ - deleteTodo(id: ID!): DeletedObject - deleteComment(actorId: ID!, commentId: ID!): Comment - - """ - Validate an user email - """ - validateEmail(token: String!): User - - """ - Send a link through email to reset user password - """ - sendResetPassword(email: String!, locale: String): String - - """ - Update a comment - """ - updateComment(commentId: ID!, text: String!): Comment - - """ - Accept a relay subscription - """ - acceptRelay(address: String!): Follower - - """ - Create a report - """ - createReport( - commentsIds: [ID] = [""] - content: String - eventId: ID - forward: Boolean = false - reportedId: ID! - reporterId: ID! - ): Report - - """ - Delete a relay subscription - """ - removeRelay(address: String!): Follower - - """ - Update an identity - """ - updatePerson( - """ - The avatar for the profile, either as an object or directly the ID of an existing Picture - """ - avatar: PictureInput - - """ - The banner for the profile, either as an object or directly the ID of an existing Picture - """ - banner: PictureInput - id: ID! - - """ - The displayed name for this profile - """ - name: String - - """ - The summary for this profile - """ - summary: String - ): Person - - """ - Validate an user after registration - """ - validateUser(token: String!): Login - - """ - Leave an event - """ - leaveGroup(actorId: ID!, groupId: ID!): DeletedMember - - """ - Delete an account - """ - deleteAccount(password: String!): DeletedObject - - """ - Create a group - """ - createGroup( - """ - The avatar for the group, either as an object or directly the ID of an existing Picture - """ - avatar: PictureInput - - """ - The banner for the group, either as an object or directly the ID of an existing Picture - """ - banner: PictureInput - - """ - The identity that creates the group - """ - creatorActorId: ID! - - """ - The displayed name for the group - """ - name: String - - """ - The name for the group - """ - preferredUsername: String! - - """ - The summary for the group - """ - summary: String = "" - ): Group - - """ - Add a relay subscription - """ - addRelay(address: String!): Follower - saveAdminSettings( - instanceDescription: String - instanceName: String - instanceTerms: String - instanceTermsType: InstanceTermsType - instanceTermsUrl: String - registrationsOpen: Boolean - ): AdminSettings - - """ - Update a todo - """ - updateTodo( - assignedToId: ID - dueDate: DateTime - id: ID! - status: Boolean - title: String - todoListId: ID - ): Todo -} - -""" -Root Query -""" -type RootQueryType { - """ - Get the list of action logs - """ - actionLogs(limit: Int = 10, page: Int = 1): [ActionLog] - adminSettings: AdminSettings - - """ - Get the instance config - """ - config: Config - - """ - Get a discussion - """ - discussion(id: ID!): discussion - dashboard: Dashboard - - """ - Get an event by uuid - """ - event(uuid: UUID!): Event - - """ - Get all events - """ - events(limit: Int = 10, page: Int = 1): [Event] - - """ - Get a person by its (federated) username - """ - fetchPerson(preferredUsername: String!): Person - - """ - Get a group by its preferred username - """ - group(preferredUsername: String!): Group - - """ - Get all groups - """ - groups(limit: Int = 10, page: Int = 1): PaginatedGroupList - - """ - Get the persons for an user - """ - identities: [Person] - - """ - Get the current actor for the logged-in user - """ - loggedPerson: Person - - """ - Get the current user - """ - loggedUser: User - - """ - Get a person by its ID - """ - person(id: ID!): Person - - """ - Get a picture - """ - picture(id: String!): Picture - relayFollowers(limit: Int = 10, page: Int = 1): PaginatedFollowerList - relayFollowings( - direction: String = "desc" - limit: Int = 10 - orderBy: String = "updated_at" - page: Int = 1 - ): PaginatedFollowerList - - """ - Get a report by id - """ - report(id: ID!): Report - - """ - Get all reports - """ - reports(limit: Int = 10, page: Int = 1, status: ReportStatus = OPEN): [Report] - - """ - Get a resource - """ - resource(id: ID, path: String, username: String): Resource - - """ - Reverse geocode coordinates - """ - reverseGeocode( - latitude: Float! - locale: String = "en" - longitude: Float! - zoom: Int = 15 - ): [Address] - - """ - Search for an address - """ - searchAddress( - limit: Int = 10 - locale: String = "en" - page: Int = 1 - query: String! - ): [Address] - - """ - Search events - """ - searchEvents(limit: Int = 10, page: Int = 1, search: String!): Events - - """ - Search groups - """ - searchGroups(limit: Int = 10, page: Int = 1, search: String!): Groups - - """ - Search persons - """ - searchPersons(limit: Int = 10, page: Int = 1, search: String!): Persons - - """ - Get the list of tags - """ - tags(limit: Int = 10, page: Int = 1): [Tag]! - - """ - Get replies for thread - """ - thread(id: ID): [Comment] - - """ - Get a todo - """ - todo(id: ID!): Todo - - """ - Get a todo list - """ - todoList(id: ID!): TodoList - - """ - Get an user - """ - user(id: ID!): User - - """ - List instance users - """ - users( - direction: SortDirection = DESC - limit: Int = 10 - page: Int = 1 - sort: SortableUserField = ID - ): Users -} - -type RootSubscriptionType { - eventPersonParticipationChanged(personId: ID!): Person -} - -""" -The list of possible options for the event's status -""" -enum SortableUserField { - ID -} - -""" -Available sort directions -""" -enum SortDirection { - ASC - DESC -} - -""" -A tag -""" -type Tag { - """ - The tag's ID - """ - id: ID - - """ - Related tags to this tag - """ - related: [Tag] - - """ - The tags's slug - """ - slug: String - - """ - The tag's title - """ - title: String -} - -type Terms { - bodyHtml: String - type: InstanceTermsType - url: String -} - -type Tiles { - attribution: String - endpoint: String -} - -""" -A todo -""" -type Todo { - """ - The todos's assigned person - """ - assignedTo: Actor - - """ - The todo's creator - """ - creator: Actor - - """ - The todo's due date - """ - dueDate: DateTime - - """ - The todo's ID - """ - id: ID - - """ - The todo's status - """ - status: Boolean - - """ - The todo's title - """ - title: String - - """ - The todo list this todo is attached to - """ - todoList: TodoList -} - -""" -A todo list -""" -type TodoList { - """ - The actor that owns this todo list - """ - actor: Actor - - """ - The todo list's ID - """ - id: ID - - """ - The todo list's title - """ - title: String - - """ - The todo-list's todos - """ - todos: PaginatedTodoList -} - -""" -Represents an uploaded file. -""" -scalar Upload - -""" -A local user of Mobilizon -""" -type User { - """ - The datetime the last activation/confirmation token was sent - """ - confirmationSentAt: DateTime - - """ - The account activation/confirmation token - """ - confirmationToken: String - - """ - The datetime when the user was confirmed/activated - """ - confirmedAt: DateTime - - """ - The user's default actor - """ - defaultActor: Person - - """ - The list of draft events this user has created - """ - drafts(limit: Int = 10, page: Int = 1): [Event] - - """ - The user's email - """ - email: String! - - """ - A list of the feed tokens for this user - """ - feedTokens: [FeedToken] - - """ - The user's ID - """ - id: ID! - - """ - The user's locale - """ - locale: String - - """ - The list of memberships for this user - """ - memberships(limit: Int = 10, page: Int = 1): PaginatedMemberList - - """ - The list of participations this user has - """ - participations( - afterDatetime: DateTime - beforeDatetime: DateTime - limit: Int = 10 - page: Int = 1 - ): [Participant] - - """ - The user's list of profiles (identities) - """ - profiles: [Person]! - - """ - The datetime last reset password email was sent - """ - resetPasswordSentAt: DateTime - - """ - The token sent when requesting password token - """ - resetPasswordToken: String - - """ - The role for the user - """ - role: UserRole -} - -enum UserRole { - ADMINISTRATOR - MODERATOR - USER -} - -""" -Users list -""" -type Users { - """ - User elements - """ - elements: [User]! - - """ - Total elements - """ - total: Int! -} - -""" -The `UUID` scalar type represents UUID4 compliant string data, represented as UTF-8 -character sequences. The UUID4 type is most often used to represent unique -human-readable ID strings. -""" -scalar UUID diff --git a/test/graphql/resolvers/comment_test.exs b/test/graphql/resolvers/comment_test.exs index 206af6a8b..395d1ff42 100644 --- a/test/graphql/resolvers/comment_test.exs +++ b/test/graphql/resolvers/comment_test.exs @@ -19,8 +19,8 @@ defmodule Mobilizon.GraphQL.Resolvers.CommentTest do describe "Comment Resolver" do @create_comment_mutation """ - mutation CreateComment($text: String!, $actorId: ID, $eventId: ID, $inReplyToCommentId: ID) { - createComment(text: $text, actorId: $actorId, eventId: $eventId, inReplyToCommentId: $inReplyToCommentId) { + mutation CreateComment($text: String!, $eventId: ID, $inReplyToCommentId: ID) { + createComment(text: $text, eventId: $eventId, inReplyToCommentId: $inReplyToCommentId) { id, text, uuid, @@ -43,27 +43,12 @@ defmodule Mobilizon.GraphQL.Resolvers.CommentTest do |> auth_conn(user) |> AbsintheHelpers.graphql_query( query: @create_comment_mutation, - variables: %{text: @comment_text, actorId: actor.id, eventId: event.id} + variables: %{text: @comment_text, eventId: event.id} ) assert res["data"]["createComment"]["text"] == @comment_text end - test "create_comment/3 checks that user owns actor", %{conn: conn, user: user, event: event} do - actor = insert(:actor) - - res = - conn - |> auth_conn(user) - |> AbsintheHelpers.graphql_query( - query: @create_comment_mutation, - variables: %{text: @comment_text, actorId: actor.id, eventId: event.id} - ) - - assert hd(res["errors"])["message"] == - "Profile is not owned by authenticated user" - end - test "create_comment/3 doesn't allow creating events if it's disabled", %{ conn: conn, actor: actor, @@ -78,7 +63,7 @@ defmodule Mobilizon.GraphQL.Resolvers.CommentTest do |> auth_conn(user) |> AbsintheHelpers.graphql_query( query: @create_comment_mutation, - variables: %{text: @comment_text, actorId: actor.id, eventId: event.id} + variables: %{text: @comment_text, eventId: event.id} ) assert hd(res["errors"])["message"] == @@ -97,7 +82,7 @@ defmodule Mobilizon.GraphQL.Resolvers.CommentTest do |> auth_conn(user) |> AbsintheHelpers.graphql_query( query: @create_comment_mutation, - variables: %{text: @comment_text, actorId: actor.id, eventId: event.id} + variables: %{text: @comment_text, eventId: event.id} ) assert is_nil(res["errors"]) @@ -114,7 +99,7 @@ defmodule Mobilizon.GraphQL.Resolvers.CommentTest do conn |> AbsintheHelpers.graphql_query( query: @create_comment_mutation, - variables: %{text: @comment_text, actorId: actor.id, eventId: event.id} + variables: %{text: @comment_text, eventId: event.id} ) assert hd(res["errors"])["message"] == @@ -136,7 +121,6 @@ defmodule Mobilizon.GraphQL.Resolvers.CommentTest do query: @create_comment_mutation, variables: %{ text: @comment_text, - actorId: actor.id, eventId: event.id, inReplyToCommentId: comment.id } diff --git a/test/graphql/resolvers/event_test.exs b/test/graphql/resolvers/event_test.exs index e09a6643d..710360da9 100644 --- a/test/graphql/resolvers/event_test.exs +++ b/test/graphql/resolvers/event_test.exs @@ -575,8 +575,7 @@ defmodule Mobilizon.Web.Resolvers.EventTest do mutation { uploadPicture( name: "#{picture.name}", alt: "#{picture.alt}", - file: "#{picture.file}", - actor_id: #{actor.id} + file: "#{picture.file}" ) { id, url, @@ -1304,7 +1303,6 @@ defmodule Mobilizon.Web.Resolvers.EventTest do mutation = """ mutation { deleteEvent( - actor_id: #{actor.id}, event_id: #{event.id} ) { id @@ -1334,7 +1332,6 @@ defmodule Mobilizon.Web.Resolvers.EventTest do mutation = """ mutation { deleteEvent( - actor_id: #{actor.id}, event_id: #{event.id} ) { id @@ -1349,32 +1346,6 @@ defmodule Mobilizon.Web.Resolvers.EventTest do assert hd(json_response(res, 200)["errors"])["message"] =~ "logged-in" end - test "delete_event/3 should check the actor id is owned by the user", %{ - conn: conn, - user: user, - actor: actor - } do - event = insert(:event, organizer_actor: actor) - - mutation = """ - mutation { - deleteEvent( - actor_id: 1042, - event_id: #{event.id} - ) { - id - } - } - """ - - res = - conn - |> auth_conn(user) - |> post("/api", AbsintheHelpers.mutation_skeleton(mutation)) - - assert hd(json_response(res, 200)["errors"])["message"] =~ "not owned" - end - test "delete_event/3 should check the event can be deleted by the user", %{ conn: conn, user: user, @@ -1386,7 +1357,6 @@ defmodule Mobilizon.Web.Resolvers.EventTest do mutation = """ mutation { deleteEvent( - actor_id: #{actor.id}, event_id: #{event.id} ) { id @@ -1417,7 +1387,6 @@ defmodule Mobilizon.Web.Resolvers.EventTest do mutation = """ mutation { deleteEvent( - actor_id: #{actor_moderator.id}, event_id: #{event.id} ) { id diff --git a/test/graphql/resolvers/group_test.exs b/test/graphql/resolvers/group_test.exs index 952e1b3fe..bf67455cc 100644 --- a/test/graphql/resolvers/group_test.exs +++ b/test/graphql/resolvers/group_test.exs @@ -17,37 +17,12 @@ defmodule Mobilizon.Web.Resolvers.GroupTest do end describe "create a group" do - test "create_group/3 should check the user owns the identity", %{conn: conn, user: user} do - another_actor = insert(:actor) - - mutation = """ - mutation { - createGroup( - preferred_username: "#{@new_group_params.groupname}", - creator_actor_id: #{another_actor.id} - ) { - preferred_username, - type - } - } - """ - - res = - conn - |> auth_conn(user) - |> post("/api", AbsintheHelpers.mutation_skeleton(mutation)) - - assert hd(json_response(res, 200)["errors"])["message"] == - "Creator profile is not owned by the current user" - end - test "create_group/3 creates a group and check a group with this name does not already exist", - %{conn: conn, user: user, actor: actor} do + %{conn: conn, user: user} do mutation = """ mutation { createGroup( - preferred_username: "#{@new_group_params.groupname}", - creator_actor_id: #{actor.id} + preferred_username: "#{@new_group_params.groupname}" ) { preferred_username, type @@ -68,8 +43,7 @@ defmodule Mobilizon.Web.Resolvers.GroupTest do mutation = """ mutation { createGroup( - preferred_username: "#{@new_group_params.groupname}", - creator_actor_id: #{actor.id}, + preferred_username: "#{@new_group_params.groupname}" ) { preferred_username, type diff --git a/test/graphql/resolvers/participant_test.exs b/test/graphql/resolvers/participant_test.exs index 19f64a4d0..b6cba8240 100644 --- a/test/graphql/resolvers/participant_test.exs +++ b/test/graphql/resolvers/participant_test.exs @@ -439,9 +439,7 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do query = """ { event(uuid: "#{event.uuid}") { - participants(roles: "participant,moderator,administrator,creator", actor_id: "#{ - actor.id - }") { + participants(roles: "participant,moderator,administrator,creator") { elements { role, actor { @@ -478,9 +476,9 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do participant2 = insert(:participant, event: event, actor: actor3, role: :participant) query = """ - query EventParticipants($uuid: UUID!, $actorId: ID, $roles: String, $page: Int, $limit: Int) { + query EventParticipants($uuid: UUID!, $roles: String, $page: Int, $limit: Int) { event(uuid: $uuid) { - participants(page: $page, limit: $limit, roles: $roles, actorId: $actorId) { + participants(page: $page, limit: $limit, roles: $roles) { total, elements { role, @@ -500,7 +498,6 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do query: query, variables: %{ uuid: event.uuid, - actorId: actor.id, roles: "participant,moderator,administrator,creator", page: 1, limit: 2 @@ -696,7 +693,6 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do updateParticipation( id: "#{participation_id}", role: PARTICIPANT, - moderator_actor_id: #{actor_creator.id} ) { id, role, @@ -739,7 +735,7 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do test "accept_participation/3 with bad parameters", %{conn: conn, actor: actor, user: user} do user_creator = insert(:user) - actor_creator = insert(:actor, user: user_creator) + _actor_creator = insert(:actor, user: user_creator) event = insert(:event, join_options: :restricted) insert(:participant, event: event, role: :creator) @@ -776,8 +772,7 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do mutation { updateParticipation ( id: "#{participation_id}", - role: PARTICIPANT, - moderator_actor_id: #{actor_creator.id} + role: PARTICIPANT ) { id, role, @@ -841,8 +836,7 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do mutation { updateParticipation( id: "#{participation_id}", - role: REJECTED, - moderator_actor_id: #{actor_creator.id} + role: REJECTED ) { id, role, @@ -884,7 +878,7 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do test "reject_participation/3 with bad parameters", %{conn: conn, actor: actor, user: user} do user_creator = insert(:user) - actor_creator = insert(:actor, user: user_creator) + _actor_creator = insert(:actor, user: user_creator) event = insert(:event, join_options: :restricted) insert(:participant, event: event, role: :creator) @@ -921,8 +915,7 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do mutation { updateParticipation ( id: "#{participation_id}", - role: REJECTED, - moderator_actor_id: #{actor_creator.id} + role: REJECTED ) { id, actor { @@ -1341,8 +1334,8 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do |> hd update_participation_mutation = """ - mutation UpdateParticipation($participantId: ID!, $role: ParticipantRoleEnum!, $moderatorActorId: ID!) { - updateParticipation(id: $participantId, role: $role, moderatorActorId: $moderatorActorId) { + mutation UpdateParticipation($participantId: ID!, $role: ParticipantRoleEnum!) { + updateParticipation(id: $participantId, role: $role) { id, role, actor { @@ -1362,8 +1355,7 @@ defmodule Mobilizon.GraphQL.Resolvers.ParticipantTest do query: update_participation_mutation, variables: %{ participantId: participant_id, - role: "PARTICIPANT", - moderatorActorId: event_creator_actor.id + role: "PARTICIPANT" } ) diff --git a/test/graphql/resolvers/picture_test.exs b/test/graphql/resolvers/picture_test.exs index c4ab3858d..6343bb906 100644 --- a/test/graphql/resolvers/picture_test.exs +++ b/test/graphql/resolvers/picture_test.exs @@ -68,15 +68,14 @@ defmodule Mobilizon.GraphQL.Resolvers.PictureTest do end describe "Resolver: Upload picture" do - test "upload_picture/3 uploads a new picture", %{conn: conn, user: user, actor: actor} do + test "upload_picture/3 uploads a new picture", %{conn: conn, user: user} do picture = %{name: "my pic", alt: "represents something", file: "picture.png"} mutation = """ mutation { uploadPicture( name: "#{picture.name}", alt: "#{picture.alt}", - file: "#{picture.file}", - actor_id: #{actor.id} + file: "#{picture.file}" ) { url, name, @@ -109,15 +108,14 @@ defmodule Mobilizon.GraphQL.Resolvers.PictureTest do assert json_response(res, 200)["data"]["uploadPicture"]["url"] end - test "upload_picture/3 forbids uploading if no auth", %{conn: conn, actor: actor} do + test "upload_picture/3 forbids uploading if no auth", %{conn: conn} do picture = %{name: "my pic", alt: "represents something", file: "picture.png"} mutation = """ mutation { uploadPicture( name: "#{picture.name}", alt: "#{picture.alt}", - file: "#{picture.file}", - actor_id: #{actor.id} + file: "#{picture.file}" ) { url, name diff --git a/test/graphql/resolvers/report_test.exs b/test/graphql/resolvers/report_test.exs index 9f68080a2..8d74659f2 100644 --- a/test/graphql/resolvers/report_test.exs +++ b/test/graphql/resolvers/report_test.exs @@ -14,9 +14,8 @@ defmodule Mobilizon.GraphQL.Resolvers.ReportTest do describe "Resolver: Report a content" do @create_report_mutation """ - mutation CreateReport($reporterId: ID!, $reportedId: ID!, $eventId: ID, $content: String) { + mutation CreateReport($reportedId: ID!, $eventId: ID, $content: String) { createReport( - reporterId: $reporterId, reportedId: $reportedId, eventId: $eventId, content: $content @@ -54,7 +53,6 @@ defmodule Mobilizon.GraphQL.Resolvers.ReportTest do query: @create_report_mutation, variables: %{ reportedId: reported.id, - reporterId: reporter.id, eventId: event.id, content: "This is an issue" } @@ -78,7 +76,6 @@ defmodule Mobilizon.GraphQL.Resolvers.ReportTest do query: @create_report_mutation, variables: %{ reportedId: reported.id, - reporterId: 5, content: "This is an issue" } ) @@ -100,7 +97,6 @@ defmodule Mobilizon.GraphQL.Resolvers.ReportTest do query: @create_report_mutation, variables: %{ reportedId: reported.id, - reporterId: anonymous_actor_id, content: "This is an issue" } ) @@ -112,91 +108,75 @@ defmodule Mobilizon.GraphQL.Resolvers.ReportTest do assert res["data"]["createReport"]["reporter"]["id"] == to_string(anonymous_actor_id) end - - test "create_report/3 anonymously doesn't creates a report if the anonymous actor ID is wrong", - %{conn: conn} do - %Actor{} = reported = insert(:actor) - Config.put([:anonymous, :reports, :allowed], true) - - res = - conn - |> AbsintheHelpers.graphql_query( - query: @create_report_mutation, - variables: %{ - reportedId: reported.id, - reporterId: 53, - content: "This is an issue" - } - ) - - assert res["errors"] |> hd |> Map.get("message") == - "Reporter ID does not match the anonymous profile id" - end end describe "Resolver: update a report" do + @update_report_mutation """ + mutation UpdateReport($reportId: ID!, $status: ReportStatus!) { + updateReportStatus(reportId: $reportId, status: $status) { + content, + reporter { + id + }, + event { + id + }, + status + } + } + """ + test "update_report/3 updates the report's status", %{conn: conn} do %User{} = user_moderator = insert(:user, role: :moderator) - %Actor{} = moderator = insert(:actor, user: user_moderator) + %Actor{} = _actor_moderator = insert(:actor, user: user_moderator) %Report{} = report = insert(:report) - mutation = """ - mutation { - updateReportStatus( - report_id: #{report.id}, - moderator_id: #{moderator.id}, - status: RESOLVED - ) { - content, - reporter { - id - }, - event { - id - }, - status - } - } - """ - res = conn |> auth_conn(user_moderator) - |> post("/api", AbsintheHelpers.mutation_skeleton(mutation)) + |> AbsintheHelpers.graphql_query( + query: @update_report_mutation, + variables: %{reportId: report.id, status: "RESOLVED"} + ) - assert json_response(res, 200)["errors"] == nil + assert is_nil(res["errors"]) - assert json_response(res, 200)["data"]["updateReportStatus"]["content"] == + assert res["data"]["updateReportStatus"]["content"] == "This is problematic" - assert json_response(res, 200)["data"]["updateReportStatus"]["status"] == "RESOLVED" + assert res["data"]["updateReportStatus"]["status"] == "RESOLVED" - assert json_response(res, 200)["data"]["updateReportStatus"]["reporter"]["id"] == + assert res["data"]["updateReportStatus"]["reporter"]["id"] == to_string(report.reporter.id) end test "create_report/3 without being connected doesn't create any report", %{conn: conn} do - %User{} = user_moderator = insert(:user, role: :moderator) - %Actor{} = moderator = insert(:actor, user: user_moderator) %Report{} = report = insert(:report) - mutation = """ - mutation { - updateReportStatus( - report_id: #{report.id}, - moderator_id: #{moderator.id}, - status: RESOLVED - ) { - content - } - } - """ - res = conn - |> post("/api", AbsintheHelpers.mutation_skeleton(mutation)) + |> AbsintheHelpers.graphql_query( + query: @update_report_mutation, + variables: %{reportId: report.id, status: "RESOLVED"} + ) - assert json_response(res, 200)["errors"] |> hd |> Map.get("message") == + assert res["errors"] |> hd |> Map.get("message") == + "You need to be logged-in and a moderator to update a report" + end + + test "update_report/3 without being a moderator doesn't update any report", %{conn: conn} do + %User{} = user = insert(:user) + %Report{} = report = insert(:report) + + res = + conn + |> auth_conn(user) + |> AbsintheHelpers.graphql_query( + query: @update_report_mutation, + variables: %{reportId: report.id, status: "RESOLVED"} + ) + + assert res["errors"] |> hd |> Map.get("message") == "You need to be logged-in and a moderator to update a report" end end @@ -369,13 +349,12 @@ defmodule Mobilizon.GraphQL.Resolvers.ReportTest do test "create_report_note/3 creates a report note", %{conn: conn} do %User{} = user_moderator = insert(:user, role: :moderator) - %Actor{id: moderator_id} = moderator = insert(:actor, user: user_moderator) + %Actor{} = moderator = insert(:actor, user: user_moderator) %Report{id: report_id} = insert(:report) mutation = """ mutation { createReportNote( - moderator_id: #{moderator_id}, report_id: #{report_id}, content: "#{@report_note_content}" ) { @@ -410,13 +389,12 @@ defmodule Mobilizon.GraphQL.Resolvers.ReportTest do test "delete_report_note deletes a report note", %{conn: conn} do %User{} = user_moderator = insert(:user, role: :moderator) - %Actor{id: moderator_id} = moderator = insert(:actor, user: user_moderator) + %Actor{} = moderator = insert(:actor, user: user_moderator) %Note{id: report_note_id} = insert(:report_note, moderator: moderator) mutation = """ mutation { deleteReportNote( - moderator_id: #{moderator_id}, note_id: #{report_note_id}, ) { id From 19c9cf5e16d7527d012f3c2d967d81f060fb566e Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Fri, 20 Nov 2020 10:43:50 +0100 Subject: [PATCH 2/2] Fix refreshing groups Signed-off-by: Thomas Citharel --- lib/federation/activity_pub/refresher.ex | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/federation/activity_pub/refresher.ex b/lib/federation/activity_pub/refresher.ex index cd7895ef4..0aee6d6e6 100644 --- a/lib/federation/activity_pub/refresher.ex +++ b/lib/federation/activity_pub/refresher.ex @@ -100,11 +100,7 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do def refresh_all_external_groups do Repo.transaction(fn -> Actors.list_external_groups_for_stream() - |> Stream.map(fn %Actor{id: group_id, url: group_url} -> - {group_url, Actors.get_single_group_member_actor(group_id)} - end) - |> Stream.filter(fn {_group_url, member_actor} -> not is_nil(member_actor) end) - |> Stream.map(fn {group_url, member_actor} -> fetch_group(group_url, member_actor) end) + |> Stream.map(&refresh_profile/1) |> Stream.run() end) end