Skip to content
Snippets Groups Projects
Unverified Commit b9fb24f2 authored by Martin Weise's avatar Martin Weise
Browse files

Added more to API

parent 9c3f6233
Branches
Tags
2 merge requests!163Relase 1.3.0,!155Added readme to authentication service and added eureka service
...@@ -53,6 +53,36 @@ class IdentifierService { ...@@ -53,6 +53,36 @@ class IdentifierService {
}) })
}) })
} }
export (pid) {
return new Promise((resolve, reject) => {
api.get(`/api/pid/${pid}`, { headers: { Accept: 'text/xml' } })
.then((response) => {
const identifier = response.data
console.debug('response identifier', identifier)
resolve(identifier)
})
.catch((error) => {
const { code, message } = error
console.error('Failed to export identifier', error)
Vue.$toast.error(`[${code}] Failed to export identifier: ${message}`)
reject(error)
})
})
}
delete (pid) {
return new Promise((resolve, reject) => {
api.delete(`/api/pid/${pid}`, { headers: { Accept: 'application/json' } })
.then(() => resolve())
.catch((error) => {
const { code, message } = error
console.error('Failed to delete identifier', error)
Vue.$toast.error(`[${code}] Failed to delete identifier: ${message}`)
reject(error)
})
})
}
} }
export default new IdentifierService() export default new IdentifierService()
...@@ -120,16 +120,12 @@ ...@@ -120,16 +120,12 @@
</template> </template>
<script> <script>
import { isDeveloper } from '@/utils'
import AuthenticationService from '@/api/authentication.service' import AuthenticationService from '@/api/authentication.service'
import DatabaseService from '@/api/database.service' import DatabaseService from '@/api/database.service'
import TableService from '@/api/table.service' import TableService from '@/api/table.service'
import IdentifierService from '@/api/identifier.service' import IdentifierService from '@/api/identifier.service'
export default { export default {
name: 'DefaultLayout',
components: {
},
data () { data () {
return { return {
drawer: false, drawer: false,
...@@ -146,8 +142,7 @@ export default { ...@@ -146,8 +142,7 @@ export default {
}, },
computed: { computed: {
availableLocales () { availableLocales () {
// return this.$i18n.locales.filter(i => i.code !== this.$i18n.locale) return this.$i18n.locales.filter(i => i.code !== this.$i18n.locale)
return []
}, },
token () { token () {
return this.$store.state.token return this.$store.state.token
...@@ -167,9 +162,6 @@ export default { ...@@ -167,9 +162,6 @@ export default {
database () { database () {
return this.$store.state.database return this.$store.state.database
}, },
isDeveloper () {
return isDeveloper(this.user)
},
version () { version () {
return this.$config.version return this.$config.version
}, },
......
...@@ -6,7 +6,7 @@ test.before(before) ...@@ -6,7 +6,7 @@ test.before(before)
test.after(after) test.after(after)
test('databases_seeDatabases_succeeds', pageMacro, async (t, page) => { test('databases_seeDatabases_succeeds', pageMacro, async (t, page) => {
await page.go('/container') await page.go('/database')
/* test */ /* test */
const success = await page.waitForSelector('main >> header >> text=Databases') const success = await page.waitForSelector('main >> header >> text=Databases')
t.true(!!success, 'Failed to find \'Databases\' in page') t.true(!!success, 'Failed to find \'Databases\' in page')
...@@ -15,7 +15,7 @@ test('databases_seeDatabases_succeeds', pageMacro, async (t, page) => { ...@@ -15,7 +15,7 @@ test('databases_seeDatabases_succeeds', pageMacro, async (t, page) => {
test('databases_createDatabase_succeeds', pageMacro, async (t, page) => { test('databases_createDatabase_succeeds', pageMacro, async (t, page) => {
const state = { token: null, user: null, database: null, table: null, access: null } const state = { token: null, user: null, database: null, table: null, access: null }
await page.go('/container') await page.go('/database')
mutations.SET_TOKEN(state, 'ABC') mutations.SET_TOKEN(state, 'ABC')
mutations.SET_USER(state, { username: 'ava' }) mutations.SET_USER(state, { username: 'ava' })
await page.screenshot({ path: './screenshots/databases_createDatabase_succeeds.png' }) await page.screenshot({ path: './screenshots/databases_createDatabase_succeeds.png' })
......
...@@ -28,27 +28,6 @@ function isNonNegativeInteger (str) { ...@@ -28,27 +28,6 @@ function isNonNegativeInteger (str) {
return str >>> 0 === parseFloat(str) return str >>> 0 === parseFloat(str)
} }
function isDeveloper (user) {
if (!user || !user.roles || user.roles.length === 0) {
return false
}
return user.roles.filter(a => a === 'ROLE_DEVELOPER').length === 1
}
function isResearcher (user) {
if (!user || !user.roles || user.roles.length === 0) {
return false
}
return user.roles.filter(a => a === 'ROLE_RESEARCHER').length === 1
}
function isDataSteward (user) {
if (!user || !user.roles || user.roles.length === 0) {
return false
}
return user.roles.filter(a => a === 'ROLE_DATA_STEWARD').length === 1
}
function formatDateUTC (str) { function formatDateUTC (str) {
if (str === null) { if (str === null) {
return null return null
...@@ -113,8 +92,5 @@ module.exports = { ...@@ -113,8 +92,5 @@ module.exports = {
isNonNegativeInteger, isNonNegativeInteger,
formatYearUTC, formatYearUTC,
formatMonthUTC, formatMonthUTC,
formatDayUTC, formatDayUTC
isDeveloper,
isResearcher,
isDataSteward
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment