Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wiki-js
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
wiki-js
Commits
47dcc90f
You need to sign in or sign up before continuing.
Commit
47dcc90f
authored
Aug 05, 2018
by
NGPixel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: storage extra metadata + user search fix
parent
bcd6ceb2
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
123 additions
and
14 deletions
+123
-14
admin-storage.vue
client/components/admin/admin-storage.vue
+21
-1
admin-theme.vue
client/components/admin/admin-theme.vue
+44
-1
user-search.vue
client/components/common/user-search.vue
+2
-1
setup.vue
client/components/setup.vue
+13
-4
storage-query-targets.gql
client/graph/admin/storage/storage-query-targets.gql
+3
-0
users-query-list.gql
client/graph/admin/users/users-query-list.gql
+1
-1
common-users-query-search.gql
client/graph/common/common-users-query-search.gql
+1
-1
user.js
server/graph/resolvers/user.js
+2
-2
storage.graphql
server/graph/schemas/storage.graphql
+3
-0
user.graphql
server/graph/schemas/user.graphql
+2
-2
definition.yml
server/modules/storage/azure/definition.yml
+3
-0
definition.yml
server/modules/storage/box/definition.yml
+3
-0
definition.yml
server/modules/storage/digitalocean/definition.yml
+4
-1
definition.yml
server/modules/storage/disk/definition.yml
+3
-0
definition.yml
server/modules/storage/dropbox/definition.yml
+3
-0
definition.yml
server/modules/storage/gdrive/definition.yml
+3
-0
definition.yml
server/modules/storage/git/definition.yml
+3
-0
definition.yml
server/modules/storage/onedrive/definition.yml
+3
-0
definition.yml
server/modules/storage/s3/definition.yml
+3
-0
definition.yml
server/modules/storage/scp/definition.yml
+3
-0
No files found.
client/components/admin/admin-storage.vue
View file @
47dcc90f
...
@@ -24,6 +24,12 @@
...
@@ -24,6 +24,12 @@
v-tab-item(v-for='(tgt, n) in activeTargets', :key='tgt.key', :transition='false', :reverse-transition='false')
v-tab-item(v-for='(tgt, n) in activeTargets', :key='tgt.key', :transition='false', :reverse-transition='false')
v-card.pa-3(flat, tile)
v-card.pa-3(flat, tile)
v-form
v-form
.targetlogo
img(:src='tgt.logo', :alt='tgt.title')
v-subheader.pl-0
{{
tgt
.
title
}}
.caption
{{
tgt
.
description
}}
.caption: a(:href='tgt.website')
{{
tgt
.
website
}}
v-divider.mt-3
v-subheader.pl-0 Target Configuration
v-subheader.pl-0 Target Configuration
.body-1.ml-3(v-if='!tgt.config || tgt.config.length < 1') This storage target has no configuration options you can modify.
.body-1.ml-3(v-if='!tgt.config || tgt.config.length < 1') This storage target has no configuration options you can modify.
template(v-else, v-for='cfg in tgt.config')
template(v-else, v-for='cfg in tgt.config')
...
@@ -163,6 +169,20 @@ export default {
...
@@ -163,6 +169,20 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
'scss'
>
<
style
lang=
'scss'
scoped
>
.targetlogo
{
width
:
250px
;
height
:
85px
;
float
:right
;
display
:
flex
;
justify-content
:
flex-end
;
align-items
:
center
;
img
{
max-width
:
100%
;
max-height
:
50px
;
}
}
</
style
>
</
style
>
client/components/admin/admin-theme.vue
View file @
47dcc90f
...
@@ -39,6 +39,46 @@
...
@@ -39,6 +39,46 @@
v-btn(color='primary', :loading='loading', @click='save')
v-btn(color='primary', :loading='loading', @click='save')
v-icon(left) chevron_right
v-icon(left) chevron_right
span Save
span Save
v-card.mt-3
v-toolbar(color='primary', dark, dense, flat)
v-toolbar-title
.subheading Code Injection
v-card-text
v-textarea(
v-model='injectCSS'
label='CSS Override'
outline
background-color='grey lighten-1'
color='primary'
persistent-hint
hint='CSS code to inject after system default CSS'
auto-grow
)
v-textarea.mt-2(
v-model='injectHeader'
label='Site Header'
outline
background-color='grey lighten-1'
color='primary'
persistent-hint
hint='HTML code to be injected just before the closing head tag'
auto-grow
)
v-textarea.mt-2(
v-model='injectFooter'
label='Site Footer'
outline
background-color='grey lighten-1'
color='primary'
persistent-hint
hint='HTML code to be injected just before the closing body tag'
auto-grow
)
v-card-chin
v-spacer
v-btn(color='primary', :loading='loading', @click='save')
v-icon(left) chevron_right
span Save
v-flex(lg6 xs12)
v-flex(lg6 xs12)
v-card
v-card
v-toolbar(color='teal', dark, dense, flat)
v-toolbar(color='teal', dark, dense, flat)
...
@@ -61,7 +101,10 @@ export default {
...
@@ -61,7 +101,10 @@ export default {
{
text
:
'Default'
,
author
:
'requarks.io'
,
value
:
'default'
}
{
text
:
'Default'
,
author
:
'requarks.io'
,
value
:
'default'
}
],
],
selectedTheme
:
'default'
,
selectedTheme
:
'default'
,
darkModeInitial
:
false
darkModeInitial
:
false
,
injectCSS
:
''
,
injectHeader
:
''
,
injectFooter
:
''
}
}
},
},
computed
:
{
computed
:
{
...
...
client/components/common/user-search.vue
View file @
47dcc90f
...
@@ -21,9 +21,10 @@
...
@@ -21,9 +21,10 @@
label='Search Users...'
label='Search Users...'
v-model='search'
v-model='search'
prepend-icon='search'
prepend-icon='search'
:
class
='$vuetify.dark ? "grey darken-4" : "blue lighten-5"'
:
background-color
='$vuetify.dark ? "grey darken-4" : "blue lighten-5"'
color='primary'
color='primary'
ref='searchIpt'
ref='searchIpt'
hide-details
)
)
v-list(two-line)
v-list(two-line)
template(v-for='(usr, idx) in items')
template(v-for='(usr, idx) in items')
...
...
client/components/setup.vue
View file @
47dcc90f
...
@@ -286,14 +286,19 @@
...
@@ -286,14 +286,19 @@
v-stepper-content(:step='conf.upgrade ? 6 : 5')
v-stepper-content(:step='conf.upgrade ? 6 : 5')
v-card.text-xs-center(flat)
v-card.text-xs-center(flat)
template(v-if='loading')
template(v-if='loading')
v-progress-circular(size='64', indeterminate, color='blue')
.mt-3(style='width: 64px; display:inline-block;')
.subheading Finalizing your installation...
atom-spinner(
:animation-duration='800'
:size='64'
color='#1976d2'
)
.subheading.primary--text.mt-3 Finalizing your installation...
template(v-else-if='final.ok')
template(v-else-if='final.ok')
svg.icons.is-64: use(xlink:href='#nc-check-bold')
svg.icons.is-64: use(xlink:href='#nc-check-bold')
.subheading Installation complete!
.subheading
.green--text
Installation complete!
template(v-else)
template(v-else)
svg.icons.is-64: use(xlink:href='#nc-square-remove')
svg.icons.is-64: use(xlink:href='#nc-square-remove')
.subheading Something went wrong...
.subheading
.red--text
Something went wrong...
v-container
v-container
v-alert(type='success', outline, :value='!loading && final.ok') Wiki.js was configured successfully and is now ready for use.
v-alert(type='success', outline, :value='!loading && final.ok') Wiki.js was configured successfully and is now ready for use.
v-alert(type='error', outline, :value='!loading && !final.ok')
{{
final
.
error
}}
v-alert(type='error', outline, :value='!loading && !final.ok')
{{
final
.
error
}}
...
@@ -315,8 +320,12 @@
...
@@ -315,8 +320,12 @@
import
axios
from
'axios'
import
axios
from
'axios'
import
_
from
'lodash'
import
_
from
'lodash'
import
{
AtomSpinner
}
from
'epic-spinners'
export
default
{
export
default
{
components
:
{
AtomSpinner
},
props
:
{
props
:
{
telemetryId
:
{
telemetryId
:
{
type
:
String
,
type
:
String
,
...
...
client/graph/admin/storage/storage-query-targets.gql
View file @
47dcc90f
...
@@ -4,6 +4,9 @@ query {
...
@@ -4,6 +4,9 @@ query {
isEnabled
isEnabled
key
key
title
title
description
logo
website
mode
mode
config
{
config
{
key
key
...
...
client/graph/admin/users/users-query-list.gql
View file @
47dcc90f
...
@@ -4,7 +4,7 @@ query {
...
@@ -4,7 +4,7 @@ query {
id
id
name
name
email
email
provider
provider
Key
role
role
createdAt
createdAt
updatedAt
updatedAt
...
...
client/graph/common/common-users-query-search.gql
View file @
47dcc90f
...
@@ -4,7 +4,7 @@ query ($query: String!) {
...
@@ -4,7 +4,7 @@ query ($query: String!) {
id
id
name
name
email
email
provider
provider
Key
}
}
}
}
}
}
server/graph/resolvers/user.js
View file @
47dcc90f
...
@@ -11,14 +11,14 @@ module.exports = {
...
@@ -11,14 +11,14 @@ module.exports = {
UserQuery
:
{
UserQuery
:
{
async
list
(
obj
,
args
,
context
,
info
)
{
async
list
(
obj
,
args
,
context
,
info
)
{
return
WIKI
.
models
.
users
.
query
()
return
WIKI
.
models
.
users
.
query
()
.
select
(
'id'
,
'email'
,
'name'
,
'provider'
,
'role'
,
'createdAt'
,
'updatedAt'
)
.
select
(
'id'
,
'email'
,
'name'
,
'provider
Key
'
,
'role'
,
'createdAt'
,
'updatedAt'
)
},
},
async
search
(
obj
,
args
,
context
,
info
)
{
async
search
(
obj
,
args
,
context
,
info
)
{
return
WIKI
.
models
.
users
.
query
()
return
WIKI
.
models
.
users
.
query
()
.
where
(
'email'
,
'like'
,
`%
${
args
.
query
}
%`
)
.
where
(
'email'
,
'like'
,
`%
${
args
.
query
}
%`
)
.
orWhere
(
'name'
,
'like'
,
`%
${
args
.
query
}
%`
)
.
orWhere
(
'name'
,
'like'
,
`%
${
args
.
query
}
%`
)
.
limit
(
10
)
.
limit
(
10
)
.
select
(
'id'
,
'email'
,
'name'
,
'provider'
,
'role'
,
'createdAt'
,
'updatedAt'
)
.
select
(
'id'
,
'email'
,
'name'
,
'provider
Key
'
,
'role'
,
'createdAt'
,
'updatedAt'
)
},
},
async
single
(
obj
,
args
,
context
,
info
)
{
async
single
(
obj
,
args
,
context
,
info
)
{
let
usr
=
await
WIKI
.
models
.
users
.
query
().
findById
(
args
.
id
)
let
usr
=
await
WIKI
.
models
.
users
.
query
().
findById
(
args
.
id
)
...
...
server/graph/schemas/storage.graphql
View file @
47dcc90f
...
@@ -39,6 +39,9 @@ type StorageTarget {
...
@@ -39,6 +39,9 @@ type StorageTarget {
isEnabled
:
Boolean
!
isEnabled
:
Boolean
!
key
:
String
!
key
:
String
!
title
:
String
!
title
:
String
!
description
:
String
logo
:
String
website
:
String
mode
:
String
mode
:
String
config
:
[
KeyValuePair
]
config
:
[
KeyValuePair
]
}
}
...
...
server/graph/schemas/user.graphql
View file @
47dcc90f
...
@@ -85,14 +85,14 @@ type UserMinimal {
...
@@ -85,14 +85,14 @@ type UserMinimal {
id
:
Int
!
id
:
Int
!
name
:
String
!
name
:
String
!
email
:
String
!
email
:
String
!
provider
:
String
!
provider
Key
:
String
!
}
}
type
User
{
type
User
{
id
:
Int
!
id
:
Int
!
name
:
String
!
name
:
String
!
email
:
String
!
email
:
String
!
provider
:
String
!
provider
Key
:
String
!
providerId
:
String
providerId
:
String
role
:
UserRole
!
role
:
UserRole
!
createdAt
:
Date
!
createdAt
:
Date
!
...
...
server/modules/storage/azure/definition.yml
View file @
47dcc90f
key
:
azure
key
:
azure
title
:
Azure Blob Storage
title
:
Azure Blob Storage
description
:
Azure Blob Storage by Microsoft provides massively scalable object storage for unstructured data.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/azure.svg
website
:
https://azure.microsoft.com/services/storage/blobs/
props
:
props
:
accountName
:
String
accountName
:
String
accountKey
:
String
accountKey
:
String
...
...
server/modules/storage/box/definition.yml
View file @
47dcc90f
key
:
box
key
:
box
title
:
Box
title
:
Box
description
:
Box is a cloud content management and file sharing service for businesses.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/box.svg
website
:
https://www.box.com/platform
props
:
props
:
clientId
:
String
clientId
:
String
clientSecret
:
String
clientSecret
:
String
...
...
server/modules/storage/digitalocean/definition.yml
View file @
47dcc90f
key
:
digitalocean
key
:
digitalocean
title
:
DigialOcean Spaces
title
:
DigitalOcean Spaces
description
:
DigitalOcean provides developers and businesses a reliable, easy-to-use cloud computing platform of virtual servers (Droplets), object storage (Spaces) and more.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/digitalocean.svg
website
:
https://www.digitalocean.com/products/spaces/
props
:
props
:
accessKeyId
:
String
accessKeyId
:
String
accessSecret
:
String
accessSecret
:
String
...
...
server/modules/storage/disk/definition.yml
View file @
47dcc90f
key
:
disk
key
:
disk
title
:
Local File System
title
:
Local File System
description
:
Local storage on disk or network shares.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/local-fs.svg
website
:
https://wiki.js.org
props
:
props
:
path
:
path
:
type
:
String
type
:
String
...
...
server/modules/storage/dropbox/definition.yml
View file @
47dcc90f
key
:
dropbox
key
:
dropbox
title
:
Dropbox
title
:
Dropbox
description
:
Dropbox is a file hosting service that offers cloud storage, file synchronization, personal cloud, and client software.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/dropbox.svg
website
:
https://dropbox.com
props
:
props
:
appKey
:
String
appKey
:
String
appSecret
:
String
appSecret
:
String
server/modules/storage/gdrive/definition.yml
View file @
47dcc90f
key
:
gdrive
key
:
gdrive
title
:
Google Drive
title
:
Google Drive
description
:
Google Drive is a file storage and synchronization service developed by Google.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/google-drive.svg
website
:
https://www.google.com/drive/
props
:
props
:
clientId
:
String
clientId
:
String
clientSecret
:
String
clientSecret
:
String
server/modules/storage/git/definition.yml
View file @
47dcc90f
key
:
git
key
:
git
title
:
Git
title
:
Git
description
:
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/git-alt.svg
website
:
https://git-scm.com/
props
:
props
:
authType
:
authType
:
type
:
String
type
:
String
...
...
server/modules/storage/onedrive/definition.yml
View file @
47dcc90f
key
:
onedrive
key
:
onedrive
title
:
OneDrive
title
:
OneDrive
description
:
OneDrive is a file hosting service operated by Microsoft as part of its suite of Office Online services.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/onedrive.svg
website
:
https://onedrive.live.com/about/
props
:
props
:
clientId
:
String
clientId
:
String
clientSecret
:
String
clientSecret
:
String
server/modules/storage/s3/definition.yml
View file @
47dcc90f
key
:
s3
key
:
s3
title
:
Amazon S3
title
:
Amazon S3
description
:
Amazon S3 is a cloud computing web service offered by Amazon Web Services which provides object storage.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/aws-s3.svg
website
:
https://aws.amazon.com/s3/
props
:
props
:
accessKeyId
:
String
accessKeyId
:
String
accessSecret
:
String
accessSecret
:
String
...
...
server/modules/storage/scp/definition.yml
View file @
47dcc90f
key
:
scp
key
:
scp
title
:
SCP (SSH)
title
:
SCP (SSH)
description
:
SSH is a software package that enables secure system administration and file transfers over insecure networks.
author
:
requarks.io
author
:
requarks.io
logo
:
https://static.requarks.io/logo/ssh.svg
website
:
https://www.ssh.com/ssh/
props
:
props
:
host
:
String
host
:
String
port
:
port
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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