mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Merge branch 'master' into remove-activity-pub
This commit is contained in:
commit
0e1dea6002
@ -21,11 +21,13 @@ export const messageQuery = () => {
|
||||
return gql`
|
||||
query($roomId: ID!) {
|
||||
Message(roomId: $roomId) {
|
||||
_id
|
||||
id
|
||||
content
|
||||
author {
|
||||
id
|
||||
}
|
||||
senderId
|
||||
username
|
||||
avatar
|
||||
date
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
@ -184,20 +184,23 @@ describe('Message', () => {
|
||||
|
||||
describe('room exists with authenticated user chatting', () => {
|
||||
it('returns the messages', async () => {
|
||||
await expect(query({
|
||||
const result = await query({
|
||||
query: messageQuery(),
|
||||
variables: {
|
||||
roomId,
|
||||
},
|
||||
})).resolves.toMatchObject({
|
||||
})
|
||||
expect(result).toMatchObject({
|
||||
errors: undefined,
|
||||
data: {
|
||||
Message: [{
|
||||
id: expect.any(String),
|
||||
_id: result.data.Message[0].id,
|
||||
content: 'Some nice message to other chatting user',
|
||||
author: {
|
||||
id: 'chatting-user',
|
||||
},
|
||||
senderId: 'chatting-user',
|
||||
username: 'Chatting User',
|
||||
avatar: expect.any(String),
|
||||
date: expect.any(String),
|
||||
}],
|
||||
},
|
||||
})
|
||||
@ -235,29 +238,32 @@ describe('Message', () => {
|
||||
{
|
||||
id: expect.any(String),
|
||||
content: 'Some nice message to other chatting user',
|
||||
author: {
|
||||
id: 'chatting-user',
|
||||
},
|
||||
senderId: 'chatting-user',
|
||||
username: 'Chatting User',
|
||||
avatar: expect.any(String),
|
||||
date: expect.any(String),
|
||||
},
|
||||
{
|
||||
id: expect.any(String),
|
||||
content: 'A nice response message to chatting user',
|
||||
author: {
|
||||
id: 'other-chatting-user',
|
||||
},
|
||||
senderId: 'other-chatting-user',
|
||||
username: 'Other Chatting User',
|
||||
avatar: expect.any(String),
|
||||
date: expect.any(String),
|
||||
},
|
||||
{
|
||||
id: expect.any(String),
|
||||
content: 'And another nice message to other chatting user',
|
||||
author: {
|
||||
id: 'chatting-user',
|
||||
},
|
||||
}
|
||||
senderId: 'chatting-user',
|
||||
username: 'Chatting User',
|
||||
avatar: expect.any(String),
|
||||
date: expect.any(String),
|
||||
},
|
||||
],
|
||||
},
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('room exists, authenticated user not in room', () => {
|
||||
|
||||
@ -13,7 +13,13 @@ export default {
|
||||
id: context.user.id,
|
||||
},
|
||||
}
|
||||
return neo4jgraphql(object, params, context, resolveInfo)
|
||||
const resolved = await neo4jgraphql(object, params, context, resolveInfo)
|
||||
if (resolved) {
|
||||
resolved.forEach((message) => {
|
||||
message._id = message.id
|
||||
})
|
||||
}
|
||||
return resolved
|
||||
},
|
||||
},
|
||||
Mutation: {
|
||||
|
||||
@ -11,6 +11,11 @@ type Message {
|
||||
|
||||
author: User! @relation(name: "CREATED", direction: "IN")
|
||||
room: Room! @relation(name: "INSIDE", direction: "OUT")
|
||||
|
||||
senderId: String! @cypher(statement: "MATCH (this)<-[:CREATED]-(user:User) RETURN user.id")
|
||||
username: String! @cypher(statement: "MATCH (this)<-[:CREATED]-(user:User) RETURN user.name")
|
||||
avatar: String @cypher(statement: "MATCH (this)<-[:CREATED]-(:User)-[:AVATAR_IMAGE]->(image:Image) RETURN image.url")
|
||||
date: String! @cypher(statement: "RETURN this.createdAt")
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
|
||||
@ -89,13 +89,13 @@
|
||||
<label for="checkbox0">
|
||||
{{ $t('components.registration.create-user-account.termsAndCondsEtcConfirmed') }}
|
||||
<br />
|
||||
<a :href="'/terms-and-conditions'" target="_blank">
|
||||
<page-params-link :pageParams="links.TERMS_AND_CONDITIONS" forceTargetBlank>
|
||||
{{ $t('site.termsAndConditions') }}
|
||||
</a>
|
||||
</page-params-link>
|
||||
<br />
|
||||
<a :href="'/data-privacy'" target="_blank">
|
||||
<page-params-link :pageParams="links.DATA_PRIVACY" forceTargetBlank>
|
||||
{{ $t('site.data-privacy') }}
|
||||
</a>
|
||||
</page-params-link>
|
||||
</label>
|
||||
</ds-text>
|
||||
<ds-text>
|
||||
@ -123,20 +123,22 @@
|
||||
import { VERSION } from '~/constants/terms-and-conditions-version.js'
|
||||
import links from '~/constants/links'
|
||||
import emails from '~/constants/emails'
|
||||
import { SignupVerificationMutation } from '~/graphql/Registration.js'
|
||||
import { SweetalertIcon } from 'vue-sweetalert-icons'
|
||||
import PasswordStrength from '~/components/Password/Strength'
|
||||
import EmailDisplayAndVerify from './EmailDisplayAndVerify'
|
||||
import { SweetalertIcon } from 'vue-sweetalert-icons'
|
||||
import PageParamsLink from '~/components/_new/features/PageParamsLink/PageParamsLink'
|
||||
import PasswordForm from '~/components/utils/PasswordFormHelper'
|
||||
import { SignupVerificationMutation } from '~/graphql/Registration.js'
|
||||
import ShowPassword from '../ShowPassword/ShowPassword.vue'
|
||||
|
||||
export default {
|
||||
name: 'RegistrationSlideCreate',
|
||||
components: {
|
||||
PasswordStrength,
|
||||
EmailDisplayAndVerify,
|
||||
SweetalertIcon,
|
||||
PageParamsLink,
|
||||
PasswordStrength,
|
||||
ShowPassword,
|
||||
SweetalertIcon,
|
||||
},
|
||||
props: {
|
||||
sliderData: { type: Object, required: true },
|
||||
|
||||
@ -1,17 +1,12 @@
|
||||
<template>
|
||||
<nuxt-link
|
||||
v-if="pageParams.isInternalPage"
|
||||
v-if="isInternalLink"
|
||||
:to="pageParams.internalPage.pageRoute"
|
||||
:data-test="pageParams.name + '-nuxt-link'"
|
||||
>
|
||||
<slot />
|
||||
</nuxt-link>
|
||||
<a
|
||||
v-else
|
||||
:href="pageParams.externalLink.url"
|
||||
:target="pageParams.externalLink.target"
|
||||
:data-test="pageParams.name + '-link'"
|
||||
>
|
||||
<a v-else :href="href" :target="target" :data-test="pageParams.name + '-link'">
|
||||
<slot />
|
||||
</a>
|
||||
</template>
|
||||
@ -21,6 +16,24 @@ export default {
|
||||
name: 'PageParamsLink',
|
||||
props: {
|
||||
pageParams: { type: Object, required: true },
|
||||
forceTargetBlank: { type: Boolean, default: false },
|
||||
},
|
||||
computed: {
|
||||
href() {
|
||||
return this.pageParams.isInternalPage
|
||||
? this.pageParams.internalPage.pageRoute
|
||||
: this.pageParams.externalLink.url
|
||||
},
|
||||
target() {
|
||||
return this.forceTargetBlank
|
||||
? '_blank'
|
||||
: !this.pageParams.isInternalPage
|
||||
? this.pageParams.externalLink.target
|
||||
: ''
|
||||
},
|
||||
isInternalLink() {
|
||||
return !this.forceTargetBlank && this.pageParams.isInternalPage
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user