Merge branch 'dev'
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
### unreleased
|
|
||||||
|
### 0.17.11
|
||||||
- [refactor] s/fed_user/ap_user
|
- [refactor] s/fed_user/ap_user
|
||||||
- [fedi] admin moderation
|
- [fedi] admin moderation
|
||||||
|
|
||||||
|
### 0.17.10
|
||||||
- [refactor] s/comment/resource/
|
- [refactor] s/comment/resource/
|
||||||
- [refactor] remove `username` field
|
- [refactor] remove `username` field
|
||||||
- [doc] about and federation
|
- [doc] about and federation
|
||||||
|
|||||||
@@ -65,19 +65,24 @@
|
|||||||
:type='data.row.blocked?"danger":"warning"'
|
:type='data.row.blocked?"danger":"warning"'
|
||||||
@click='toggleUserBlock(data.row)') {{data.row.blocked?$t('admin.unblock'):$t('admin.block')}}
|
@click='toggleUserBlock(data.row)') {{data.row.blocked?$t('admin.unblock'):$t('admin.block')}}
|
||||||
|
|
||||||
div(v-show='enable_federation')
|
//- div(v-show='enable_federation')
|
||||||
el-divider {{$t('common.resources')}}
|
el-divider {{$t('common.resources')}}
|
||||||
el-table(:data='paginatedResources' small)
|
el-table(:data='paginatedResources' small :row-style='resourceStyle')
|
||||||
|
el-table-column(:label="$t('common.event')")
|
||||||
|
template(slot-scope='data')
|
||||||
|
span {{data.row.event}}
|
||||||
el-table-column(:label="$t('common.resources')")
|
el-table-column(:label="$t('common.resources')")
|
||||||
template(slot-scope='data')
|
template(slot-scope='data')
|
||||||
span(:class='{disabled: data.row.hidden}' v-html='data.row.data.content')
|
span(:class='{disabled: data.row.hidden}' v-html='data.row.data.content')
|
||||||
el-table-column(:label="$t('common.actions')" width="150")
|
el-table-column(:label="$t('common.actions')" width="150")
|
||||||
template(slot-scope='data')
|
template(slot-scope='data')
|
||||||
el-button-group
|
el-dropdown
|
||||||
el-button(size='mini'
|
el-button(type="primary" icon="el-icon-arrow-down" size='mini') {{$t('common.moderation')}}
|
||||||
:type='data.row.hidden?"danger":"warning"'
|
el-dropdown-menu(slot='dropdown')
|
||||||
@click='toggleHideResource(data.row)') {{data.row.hidden?$t('common.show'):$t('common.hide')}}
|
el-dropdown-item(v-if='!data.row.hidden' icon='el-icon-remove' @click.native='toggleHideResource(data.row)') {{$t('admin.hide_resource')}}
|
||||||
|
el-dropdown-item(v-else icon='el-icon-success' @click.native='toggleHideResource(data.row)') {{$t('admin.show_resource')}}
|
||||||
|
el-dropdown-item(icon='el-icon-delete' @click.native='deleteResource(data.row)') {{$t('admin.delete_resource')}}
|
||||||
|
el-dropdown-item(icon='el-icon-lock' @click.native='blockUser(data.row)') {{$t('admin.block_user')}}
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -107,6 +112,9 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(['setSetting']),
|
...mapActions(['setSetting']),
|
||||||
|
// resourceStyle ({ row }) {
|
||||||
|
// if (row.hidden) return 'opacity: 0.5'
|
||||||
|
// },
|
||||||
async instanceSelected (instance) {
|
async instanceSelected (instance) {
|
||||||
this.users = await this.$axios.$get(`/instances/${instance.domain}`)
|
this.users = await this.$axios.$get(`/instances/${instance.domain}`)
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -150,7 +150,7 @@
|
|||||||
"select_instance_timezone": "Select instance timezone",
|
"select_instance_timezone": "Select instance timezone",
|
||||||
"enable_resources": "Enable resources",
|
"enable_resources": "Enable resources",
|
||||||
"enable_resources_help": "Allows you to add resources to the event from the fediverse",
|
"enable_resources_help": "Allows you to add resources to the event from the fediverse",
|
||||||
"hide_boost_bookmark": "Hides boost/bookmark numbers",
|
"hide_boost_bookmark": "Hides boost/bookmarks",
|
||||||
"hide_boost_bookmark_help": "Hides the small icons that show the number of boosts / bookmarks coming from the fediverse",
|
"hide_boost_bookmark_help": "Hides the small icons that show the number of boosts / bookmarks coming from the fediverse",
|
||||||
"block": "Block",
|
"block": "Block",
|
||||||
"unblock": "Unblock",
|
"unblock": "Unblock",
|
||||||
@@ -160,7 +160,9 @@
|
|||||||
"hide_resource": "Hide resource",
|
"hide_resource": "Hide resource",
|
||||||
"delete_resource": "Delete resource",
|
"delete_resource": "Delete resource",
|
||||||
"delete_resource_confirm": "Are you sure to delete this resource?",
|
"delete_resource_confirm": "Are you sure to delete this resource?",
|
||||||
"block_user": "Block user"
|
"block_user": "Block user",
|
||||||
|
"filter_instances": "Filter instances",
|
||||||
|
"filter_users": "Filter users"
|
||||||
},
|
},
|
||||||
"auth": {
|
"auth": {
|
||||||
"not_confirmed": "Not confirmed yet",
|
"not_confirmed": "Not confirmed yet",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "gancio",
|
"name": "gancio",
|
||||||
"version": "0.17.9",
|
"version": "0.17.11",
|
||||||
"description": "A shared agenda for local communities",
|
"description": "A shared agenda for local communities",
|
||||||
"author": "lesion",
|
"author": "lesion",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
const { ap_users: APUsers } = require('../models')
|
const { ap_user: APUser } = require('../models')
|
||||||
|
|
||||||
const apUserController = {
|
const apUserController = {
|
||||||
async toggleBlock (req, res) {
|
async toggleBlock (req, res) {
|
||||||
const user_id = req.body.user_id
|
const user_id = req.body.user_id
|
||||||
const user = await APUsers.findByPk(user_id)
|
const user = await APUser.findByPk(user_id)
|
||||||
user.update({ blocked: !user.blocked })
|
await user.update({ blocked: !user.blocked })
|
||||||
res.json(user)
|
res.json(user)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ const instancesController = {
|
|||||||
* get instance users
|
* get instance users
|
||||||
*/
|
*/
|
||||||
async get (req, res) {
|
async get (req, res) {
|
||||||
const fedi_users = await APUser.findAll({ where: { instanceDomain: req.params.instance_domain }, include: [Resource] })
|
const ap_users = await APUser.findAll({ where: { instanceDomain: req.params.instance_domain }, include: [Resource] })
|
||||||
return res.json(fedi_users)
|
return res.json(ap_users)
|
||||||
},
|
},
|
||||||
|
|
||||||
async toggleBlock (req, res) {
|
async toggleBlock (req, res) {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ const crypto = require('crypto')
|
|||||||
const config = require('config')
|
const config = require('config')
|
||||||
const httpSignature = require('http-signature')
|
const httpSignature = require('http-signature')
|
||||||
const debug = require('debug')('federation:helpers')
|
const debug = require('debug')('federation:helpers')
|
||||||
const { APUser, Instance } = require('../api/models')
|
const { ap_user: APUser, instance: Instance } = require('../api/models')
|
||||||
const url = require('url')
|
const url = require('url')
|
||||||
const settingsController = require('../api/controller/settings')
|
const settingsController = require('../api/controller/settings')
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ const Helpers = {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const followers = await APUser.findAll({ where: { follow: true } })
|
const followers = await APUser.findAll({ where: { follower: true } })
|
||||||
const recipients = {}
|
const recipients = {}
|
||||||
followers.forEach(follower => {
|
followers.forEach(follower => {
|
||||||
const sharedInbox = follower.object.endpoints.sharedInbox
|
const sharedInbox = follower.object.endpoints.sharedInbox
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const express = require('express')
|
const express = require('express')
|
||||||
const router = express.Router()
|
const router = express.Router()
|
||||||
const { event: Event, user: User, comment: Comment } = require('../api/models')
|
const { event: Event, user: User, resource: Resource } = require('../api/models')
|
||||||
const cors = require('cors')
|
const cors = require('cors')
|
||||||
const settingsController = require('../api/controller/settings')
|
const settingsController = require('../api/controller/settings')
|
||||||
const version = require('../../package.json').version
|
const version = require('../../package.json').version
|
||||||
@@ -50,6 +50,8 @@ router.get('/webfinger', (req, res) => {
|
|||||||
router.get('/nodeinfo/:nodeinfo_version', async (req, res) => {
|
router.get('/nodeinfo/:nodeinfo_version', async (req, res) => {
|
||||||
const usersCount = (await User.findAndCountAll()).count
|
const usersCount = (await User.findAndCountAll()).count
|
||||||
const eventsCount = (await Event.findAndCountAll()).count
|
const eventsCount = (await Event.findAndCountAll()).count
|
||||||
|
const resourcesCount = (await Resource.findAndCountAll()).count
|
||||||
|
|
||||||
const ret = {
|
const ret = {
|
||||||
metadata: {
|
metadata: {
|
||||||
nodeDescription: req.settings.description,
|
nodeDescription: req.settings.description,
|
||||||
@@ -64,7 +66,7 @@ router.get('/nodeinfo/:nodeinfo_version', async (req, res) => {
|
|||||||
},
|
},
|
||||||
version: req.params.nodeinfo_version,
|
version: req.params.nodeinfo_version,
|
||||||
usage: {
|
usage: {
|
||||||
localComments: 0,
|
localComments: resourcesCount,
|
||||||
localPosts: eventsCount,
|
localPosts: eventsCount,
|
||||||
users: {
|
users: {
|
||||||
total: usersCount
|
total: usersCount
|
||||||
@@ -81,7 +83,7 @@ router.get('/nodeinfo/:nodeinfo_version', async (req, res) => {
|
|||||||
router.get('/x-nodeinfo2', async (req, res) => {
|
router.get('/x-nodeinfo2', async (req, res) => {
|
||||||
const usersCount = (await User.findAndCountAll()).count
|
const usersCount = (await User.findAndCountAll()).count
|
||||||
const eventsCount = (await Event.findAndCountAll()).count
|
const eventsCount = (await Event.findAndCountAll()).count
|
||||||
const commentsCount = (await Comment.findAndCountAll()).count
|
const resourcesCount = (await Resource.findAndCountAll()).count
|
||||||
|
|
||||||
const ret = {
|
const ret = {
|
||||||
version: '1.0',
|
version: '1.0',
|
||||||
@@ -98,7 +100,7 @@ router.get('/x-nodeinfo2', async (req, res) => {
|
|||||||
total: usersCount
|
total: usersCount
|
||||||
},
|
},
|
||||||
localPosts: eventsCount,
|
localPosts: eventsCount,
|
||||||
localComments: commentsCount
|
localComments: resourcesCount
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res.json(ret)
|
res.json(ret)
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ const notifier = {
|
|||||||
},
|
},
|
||||||
async notifyEvent (action, eventId) {
|
async notifyEvent (action, eventId) {
|
||||||
const event = await Event.findByPk(eventId, {
|
const event = await Event.findByPk(eventId, {
|
||||||
include: [ Tag, Place, Notification, { model: User, include: { model: APUser, as: 'followers' } } ]
|
include: [ Tag, Place, Notification, { model: User } ]
|
||||||
})
|
})
|
||||||
|
|
||||||
debug('%s -> %s', action, event.title)
|
debug('%s -> %s', action, event.title)
|
||||||
|
|||||||
Reference in New Issue
Block a user