Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
les
gancio
Commits
6c367393
Verified
Commit
6c367393
authored
Jul 01, 2021
by
les
Browse files
improve admin resource management
parent
2e85e031
Changes
6
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
6c367393
...
...
@@ -4,7 +4,8 @@ All notable changes to this project will be documented in this file.
- fix AP resource removal
- improve AP resource UI
- fix Docker setup
- update deps
### 1.0 (alpha)
This release is a complete rewrite of frontend UI and many internals, main changes are:
...
...
components/admin/Moderation.vue
View file @
6c367393
...
...
@@ -13,8 +13,7 @@
dense :headers='instancesHeader'
@click:row='instanceSelected')
template(v-slot:item.blocked="{ item }")
v-icon(v-if='item.blocked') mdi-checkbox-intermediate
v-icon(v-else) mdi-checkbox-blank-outline
v-icon(@click='toggleBlock(item)')
{{
item
.
blocked
?
'
mdi-checkbox-intermediate
'
:
'
mdi-checkbox-blank-outline
'
}}
v-col(:span='11')
span
{{
$t
(
'
common.users
'
)
}}
...
...
@@ -24,49 +23,39 @@
:search='usersFilter'
:hide-default-footer='users.length<5'
dense :headers='usersHeader')
//- template(v-slot:item.username="{item}")
//- a(:href='item.ap_id')
{{
item
.
object
.
preferredUsername
}}
//- el-table-column(:label="$t('common.user')" width='150')
//- template(slot-scope='data')
//- span(slot='reference')
//- a(:href='data.row.object.id' target='_blank')
{{
data
.
row
.
object
.
name
}}
//- small (
{{
data
.
row
.
object
.
preferredUsername
}}
)
//- el-table-column(:label="$t('common.resources')" width='90')
//- template(slot-scope='data')
//- span
{{
data
.
row
.
resources
.
length
}}
//- el-table-column(:label="$t('common.actions')" width='200')
//- template(slot-scope='data')
//- el-button-group
//- el-button(size='mini'
//- :type='data.row.blocked?"danger":"warning"'
//- @click='toggleUserBlock(data.row)')
{{
data
.
row
.
blocked
?
$t
(
'
admin.unblock
'
):
$t
(
'
admin.block
'
)
}}
template(v-slot:item.blocked="{ item }")
v-icon(@click='toggleUserBlock(item)')
{{
item
.
blocked
?
'
mdi-checkbox-intermediate
'
:
'
mdi-checkbox-blank-outline
'
}}
div
v-card-title
{{
$t
(
'
common.resources
'
)
}}
v-data-table(:items='resources'
v-data-table(:items='resources' dense
:headers='resourcesHeader'
:hide-default-footer='resources.length<10'
)
//- el-table-column(:label="$t('common.event')")
//- template(slot-scope='data')
//- span
{{
data
.
row
.
event
}}
//- el-table-column(:label="$t('common.resources')")
//- template(slot-scope='data')
//- span(:class='{disabled: data.row.hidden}' v-html='data.row.data.content')
//- el-table-column(:label="$t('common.user')" width='200')
//- template(slot-scope='data')
//- span(:class='{disabled: data.row.hidden}' v-html='data.row.data.actor')
//- el-table-column(:label="$t('common.actions')" width="150")
//- template(slot-scope='data')
//- el-dropdown
//- el-button(type="primary" icon="el-icon-arrow-down" size='mini')
{{
$t
(
'
common.moderation
'
)
}}
//- el-dropdown-menu(slot='dropdown')
//- el-dropdown-item(v-if='!data.row.hidden' icon='el-icon-remove' @click.native='hideResource(data.row, true)')
{{
$t
(
'
admin.hide_resource
'
)
}}
//- el-dropdown-item(v-else icon='el-icon-success' @click.native='hideResource(data.row, false)')
{{
$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='toggleUserBlock(data.row.ap_user)')
{{
$t
(
'
admin.block_user
'
)
}}
:items-per-page='10')
template(v-slot:item.content='{ item }')
span(v-html='item.data.content')
template(v-slot:item.user='{ item }')
span
{{
item
.
ap_user
.
preferredUsername
}}
template(v-slot:item.event='{ item }')
span
{{
item
.
event
.
title
}}
template(v-slot:item.actions='{ item }')
v-menu(offset-y)
template(v-slot:activator="{ on }")
v-btn.mr-2(v-on='on' color='primary' small icon)
v-icon mdi-dots-vertical
v-list
v-list-item(v-if='!item.hidden' @click='hideResource(item, true)')
v-list-item-title <v-icon left>mdi-eye-off</v-icon>
{{
$t
(
'
admin.hide_resource
'
)
}}
v-list-item(v-else @click='hideResource(item, false)')
v-list-item-title <v-icon left>mdi-eye</v-icon>
{{
$t
(
'
admin.show_resource
'
)
}}
v-list-item(@click='deleteResource(item)')
v-list-item-title <v-icon left>mdi-delete</v-icon>
{{
$t
(
'
admin.delete_resource
'
)
}}
//- v-list-item(@click='toggleUserBlock(item.ap_user)')
//- v-list-item-title <v-icon left>mdi-lock</v-icon>
{{
$t
(
'
admin.block_user
'
)
}}
</
template
>
<
script
>
import
{
mapState
,
mapActions
}
from
'
vuex
'
import
get
from
'
lodash/get
'
export
default
{
name
:
'
Moderation
'
,
...
...
@@ -76,7 +65,8 @@ export default {
resources
:
[],
users
:
[],
usersHeader
:
[
{
value
:
'
object.preferredUsername
'
,
text
:
'
Name
'
}
{
value
:
'
object.preferredUsername
'
,
text
:
'
Name
'
},
{
value
:
'
blocked
'
,
text
:
'
Blocked
'
}
],
instancesHeader
:
[
{
value
:
'
domain
'
,
text
:
'
Domain
'
},
...
...
@@ -85,44 +75,24 @@ export default {
{
value
:
'
users
'
,
text
:
'
known users
'
}
],
resourcesHeader
:
[
{
value
:
''
,
text
:
''
}
{
value
:
'
created
'
,
text
:
'
Created
'
},
{
value
:
'
event
'
,
text
:
'
Event
'
},
{
value
:
'
user
'
,
text
:
'
user
'
},
{
value
:
'
content
'
,
text
:
'
Content
'
},
{
value
:
'
actions
'
,
text
:
'
Actions
'
}
],
usersFilter
:
''
,
instancesFilter
:
''
}
},
computed
:
{
...
mapState
([
'
settings
'
])
// paginatedResources () {
// return this.resources.slice((this.resourcePage - 1) * this.perPage,
// this.resourcePage * this.perPage)
// },
// paginatedInstances () {
// return this.filteredInstances.slice((this.instancePage - 1) * this.perPage,
// this.instancePage * this.perPage)
// },
// filteredUsers () {
// if (!this.usersFilter) { return this.users }
// const usersFilter = this.usersFilter.toLowerCase()
// return this.users.filter(user => user.name.includes(usersFilter) || user.preferredName.includes(usersFilter))
// },
// filteredInstances () {
// if (!this.instancesFilter) { return this.instances }
// const instancesFilter = this.instancesFilter.toLowerCase()
// return this.instances.filter(instance =>
// (instance.name && instance.name.includes(instancesFilter)) ||
// (instance.domain && instance.domain.includes(instancesFilter))
// )
// },
// paginatedSelectedUsers () {
// return this.filteredUsers.slice((this.userPage - 1) * this.perPage,
// this.userPage * this.perPage)
// }
},
computed
:
mapState
([
'
settings
'
]),
async
mounted
()
{
this
.
instances
=
await
this
.
$axios
.
$get
(
'
/instances
'
)
if
(
!
this
.
instances
.
length
)
{
return
}
this
.
users
=
await
this
.
$axios
.
$get
(
`/instances/
${
this
.
instances
[
0
].
domain
}
`
)
this
.
resources
=
await
this
.
$axios
.
$get
(
'
/resources
'
)
// this.users = await this.$axios.$get('/users')
},
methods
:
{
...
mapActions
([
'
setSetting
'
]),
...
...
@@ -133,6 +103,7 @@ export default {
},
async
instanceSelected
(
instance
)
{
this
.
users
=
await
this
.
$axios
.
$get
(
`/instances/
${
instance
.
domain
}
`
)
this
.
resources
=
await
this
.
$axios
.
$get
(
'
/resources
'
,
{
filters
:
{
instance
:
instance
.
domain
}
})
},
async
hideResource
(
resource
,
hidden
)
{
await
this
.
$axios
.
$put
(
`/resources/
${
resource
.
id
}
`
,
{
hidden
})
...
...
@@ -140,7 +111,7 @@ export default {
},
async
toggleUserBlock
(
ap_user
)
{
if
(
!
ap_user
.
blocked
)
{
const
ret
=
await
this
.
$root
.
$confirm
(
'
admin.user_block_confirm
'
)
const
ret
=
await
this
.
$root
.
$confirm
(
'
admin.user_block_confirm
'
,
{
user
:
get
(
ap_user
,
'
object.preferredUsername
'
,
ap_user
.
preferredUsername
)
}
)
if
(
!
ret
)
{
return
}
}
await
this
.
$axios
.
post
(
'
/instances/toggle_user_block
'
,
{
ap_id
:
ap_user
.
ap_id
})
...
...
@@ -153,6 +124,10 @@ export default {
this
.
resources
=
this
.
resources
.
filter
(
r
=>
r
.
id
!==
resource
.
id
)
},
async
toggleBlock
(
instance
)
{
if
(
!
instance
.
blocked
)
{
const
ret
=
await
this
.
$root
.
$confirm
(
'
admin.instance_block_confirm
'
,
{
instance
:
instance
.
domain
})
if
(
!
ret
)
{
return
}
}
await
this
.
$axios
.
post
(
'
/instances/toggle_block
'
,
{
instance
:
instance
.
domain
,
blocked
:
!
instance
.
blocked
})
instance
.
blocked
=
!
instance
.
blocked
}
...
...
locales/en.json
View file @
6c367393
...
...
@@ -195,7 +195,8 @@
"resources"
:
"Resources"
,
"user_blocked"
:
"User {user} blocked"
,
"favicon"
:
"Logo"
,
"user_block_confirm"
:
"Are you sure you want block this user?"
,
"user_block_confirm"
:
"Are you sure you want block user {user}?"
,
"instance_block_confirm"
:
"Are you sure you want block instance {instance}?"
,
"delete_announcement_confirm"
:
"Are you sure you want to remove the announcement?"
,
"announcement_remove_ok"
:
"Announce removed"
,
"announcement_description"
:
"In this section you can insert announcements to remain on the homepage"
,
...
...
locales/it.json
View file @
6c367393
...
...
@@ -191,15 +191,16 @@
"hide_resource"
:
"Nascondi risorsa"
,
"show_resource"
:
"Mostra risorsa"
,
"delete_resource"
:
"Elimina risorsa"
,
"delete_resource_confirm"
:
"Sei sicur
o/a
di voler eliminare questa risorsa?"
,
"delete_resource_confirm"
:
"Sei sicur
ǝ
di voler eliminare questa risorsa?"
,
"block_user"
:
"Blocca questo utente"
,
"user_blocked"
:
"L'utente {user} non potrà più aggiungere risorse"
,
"filter_instances"
:
"Filtra istanze"
,
"filter_users"
:
"Filtra utenti"
,
"instance_name"
:
"Nome istanza"
,
"favicon"
:
"Logo"
,
"user_block_confirm"
:
"Sei sicuro/a di voler bloccare l'utente?"
,
"delete_announcement_confirm"
:
"Sei sicuro/a di voler eliminare l'annuncio?"
,
"user_block_confirm"
:
"Confermi di voler bloccare l'utente {user}?"
,
"instance_block_confirm"
:
"Confermi di voler bloccare l'istanza {instance}?"
,
"delete_announcement_confirm"
:
" Vuoieliminare questo l'annuncio?"
,
"announcement_remove_ok"
:
"Annuncio rimosso"
,
"announcement_description"
:
"In questa sezione puoi inserire annunci che rimarranno in homepage"
,
"instance_locale"
:
"Lingua predefinita"
,
...
...
@@ -216,7 +217,7 @@
"is_dark"
:
"Tema scuro"
,
"add_link"
:
"Aggiungi link"
,
"footer_links"
:
"Collegamenti del piè di pagina"
,
"delete_footer_link_confirm"
:
"
Sei sicuro/a d
i eliminare questo collegamento?"
,
"delete_footer_link_confirm"
:
"
Vuo
i eliminare questo collegamento?"
,
"edit_place"
:
"Modifica luogo"
,
"new_announcement"
:
"Nuovo annuncio"
},
...
...
server/api/controller/resource.js
View file @
6c367393
const
Resource
=
require
(
'
../models/resource
'
)
const
APUser
=
require
(
'
../models/ap_user
'
)
const
Event
=
require
(
'
../models/event
'
)
const
get
=
require
(
'
lodash/get
'
)
const
resourceController
=
{
async
hide
(
req
,
res
)
{
...
...
@@ -17,12 +20,28 @@ const resourceController = {
},
async
getAll
(
req
,
res
)
{
const
limit
=
req
.
body
.
limit
||
100
const
limit
=
req
.
body
.
limit
||
100
0
// const where = {}
// if (req.params.instanceId) {
// where =
//
const
resources
=
await
Resource
.
findAll
({
limit
})
let
resources
=
await
Resource
.
findAll
({
limit
,
include
:
[
APUser
,
Event
],
order
:
[[
'
createdAt
'
,
'
DESC
'
]]
})
resources
=
resources
.
map
(
r
=>
({
id
:
r
.
id
,
hidden
:
r
.
hidden
,
created
:
r
.
createdAt
,
data
:
{
content
:
r
.
data
.
content
},
event
:
{
id
:
r
.
event
.
id
,
title
:
r
.
event
.
title
},
ap_user
:
{
ap_id
:
get
(
r
,
'
ap_user.ap_id
'
,
''
),
preferredUsername
:
get
(
r
,
'
ap_user.object.preferredUsername
'
,
''
)
}
}))
res
.
json
(
resources
)
}
}
...
...
yarn.lock
View file @
6c367393
...
...
@@ -3712,16 +3712,11 @@ core-js-compat@^3.12.1, core-js-compat@^3.9.0, core-js-compat@^3.9.1:
browserslist "^4.16.6"
semver "7.0.0"
core-js@3.14.0, core-js@^3.6.5:
core-js@3.14.0,
core-js@^2.6.5,
core-js@^3.6.5:
version "3.14.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.14.0.tgz#62322b98c71cc2018b027971a69419e2425c2a6c"
integrity sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA==
core-js@^2.6.5:
version "2.6.12"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
...
...
@@ -3937,22 +3932,7 @@ css-tree@^1.1.2:
mdn-data "2.0.14"
source-map "^0.6.1"
css-what@2.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
css-what@^3.2.1:
version "3.4.2"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
css-what@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233"
integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==
css-what@^5.0.0:
css-what@2.1, css-what@5.0.1, css-what@^3.2.1, css-what@^4.0.0, css-what@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad"
integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==
...
...
@@ -5739,15 +5719,7 @@ github-from-package@0.0.0:
resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
glob-parent@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
dependencies:
is-glob "^3.1.0"
path-dirname "^1.0.0"
glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0:
glob-parent@5.1.2, glob-parent@^3.1.0, glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
...
...
@@ -6341,10 +6313,10 @@ infer-owner@^1.0.3, infer-owner@^1.0.4:
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
inflection@1.1
2.0
:
version "1.1
2.0
"
resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.1
2.0
.tgz#
a200935656d6f5f6bc4dc7502e1aecb703228416
"
integrity sha
1-ogCTVlbW9fa8TcdQLhrstwMihBY
=
inflection@1.1
3.1
:
version "1.1
3.1
"
resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.1
3.1
.tgz#
c5cadd80888a90cf84c2e96e340d7edc85d5f0cb
"
integrity sha
512-dldYtl2WlN0QDkIDtg8+xFwOS2Tbmp12t1cHa5/YClU6ZQjTFm7B66UcVbh9NQB+HvT5BAd2t5+yKsBkw5pcqA=
=
inflight@^1.0.4:
version "1.0.6"
...
...
@@ -6584,7 +6556,7 @@ is-extendable@^1.0.1:
dependencies:
is-plain-object "^2.0.4"
is-extglob@^2.1.0,
is-extglob@^2.1.1:
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
...
...
@@ -6616,13 +6588,6 @@ is-generator@^1.0.2:
resolved "https://registry.yarnpkg.com/is-generator/-/is-generator-1.0.3.tgz#c14c21057ed36e328db80347966c693f886389f3"
integrity sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
dependencies:
is-extglob "^2.1.0"
is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
...
...
@@ -8813,11 +8778,6 @@ path-browserify@0.0.1:
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
...
...
@@ -9670,10 +9630,10 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
indexes-of "^1.0.1"
uniq "^1.0.1"
postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
version "7.0.3
5
"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.3
5
.tgz#
d2be00b998f7f211d8a276974079f2e92b970e24
"
integrity sha512-
3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg
==
postcss@7.0.36,
postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
version "7.0.3
6
"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.3
6
.tgz#
056f8cffa939662a8f5905950c07d5285644dfcb
"
integrity sha512-
BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw
==
dependencies:
chalk "^2.4.2"
source-map "^0.6.1"
...
...
@@ -9752,10 +9712,10 @@ prettier@^1.18.2:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
prettier@^2.3.
0
:
version "2.3.
1
"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.
1
.tgz#
76903c3f8c4449bc9ac597acefa24dc5ad4cbea6
"
integrity sha512-
p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA
==
prettier@^2.3.
2
:
version "2.3.
2
"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.
2
.tgz#
ef280a05ec253712e486233db5c6f23441e7342d
"
integrity sha512-
lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ
==
pretty-bytes@^5.6.0:
version "5.6.0"
...
...
@@ -10827,14 +10787,14 @@ sequelize-slugify@^1.5.0:
dependencies:
sluglife "^0.9.8"
sequelize@^6.6.
2
:
version "6.6.
2
"
resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-6.6.
2
.tgz#
3681b0a4aeb106e31079d3a537d8
8542
051dab2e
"
integrity sha512-
H/zrzmTK+tis9PJaSigkuXI57nKBvNCtPQol0yxCvau1iWLzSOuq8t3tMOVeQ+Ep8QH2HoD9/+FCCIAqzUr/BQ
==
sequelize@^6.6.
4
:
version "6.6.
4
"
resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-6.6.
4
.tgz#
616072aa5e7226db1050cc4
85
9
42
ee2fd04d475f
"
integrity sha512-
SOSu3tclOjHJfvuIITUlAsh2Q642gFxjpNN+IM1quFZ7jU5Pep7FIAwBK8UWgTpNc9TK9rUr1cyLB/G25CGicA
==
dependencies:
debug "^4.1.1"
dottie "^2.0.0"
inflection "1.1
2.0
"
inflection "1.1
3.1
"
lodash "^4.17.20"
moment "^2.26.0"
moment-timezone "^0.5.31"
...
...
@@ -12001,10 +11961,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typescript@^4.3.
4
:
version "4.3.
4
"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.
4
.tgz#
3f85b986945bcf31071decdd96cf8bfa65f9dcbc
"
integrity sha512-
uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew
==
typescript@^4.3.
5
:
version "4.3.
5
"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.
5
.tgz#
4d1c37cc16e893973c45a06886b7113234f119f4
"
integrity sha512-
DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA
==
ua-parser-js@^0.7.28:
version "0.7.28"
...
...
@@ -12368,10 +12328,10 @@ vue-hot-reload-api@^2.3.0:
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
vue-i18n@^8.24.
4
:
version "8.24.
4
"
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.24.
4
.tgz#
b158614c1df7db183d9cadddbb73e1d540269492
"
integrity sha512-
RZE94WUAGxEiBAANxQ0pptbRwDkNKNSXl3fnJslpFOxVMF6UkUtMDSuYGuW2blDrVgweIXVpethOVkYoNNT9xw
==
vue-i18n@^8.24.
5
:
version "8.24.
5
"
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.24.
5
.tgz#
7127a666d5be2199be69be39e439a419a90ff931
"
integrity sha512-
p8W5xOmniuZ8fj76VXe0vBL3bRWVU87jHuC/v8VwmhKVH2iMQsKnheB1U+umxDBqC/5g9K+NwzokepcLxnBAVQ
==
vue-loader@^15.9.7:
version "15.9.7"
...
...
@@ -12477,11 +12437,16 @@ vuetify-loader@^1.7.1, vuetify-loader@^1.7.2:
file-loader "^6.2.0"
loader-utils "^2.0.0"
vuetify@^2.5.3
, vuetify@^2.5.4
:
vuetify@^2.5.3:
version "2.5.4"
resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.5.4.tgz#037cc8d430b61188ab15b9a8cc1ee67e620fa6e7"
integrity sha512-0EIXSCuy9LGXHgWbGiOdUUbGI6feodWoB3s+0Kr7rIppQWsq54tjPaQ1NobjAuDYKG7xsqkr+j0rnJUhc+GIag==
vuetify@^2.5.6:
version "2.5.6"
resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.5.6.tgz#9cbb1eacece6c42028216312b9be23e35a7f5cf4"
integrity sha512-2T8ML5PYuJ/AdMVH3ZIvzHnsM0nX8t4Xzj+0HFFGfLT7jLlptCFpG+JE8+kyrgGZlbUgulyOwCUu8hJkVsReFA==
vuex@^3.6.2:
version "3.6.2"
resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.6.2.tgz#236bc086a870c3ae79946f107f16de59d5895e71"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment