Merge pull request #98 from Oloodi/97-backend-define-and-deploy-teammemberinvite-schema
new teamMemberInvite entity
This commit is contained in:
36
dataconnect/connector/teamMemberInvite/mutations.gql
Normal file
36
dataconnect/connector/teamMemberInvite/mutations.gql
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
mutation CreateTeamMemberInvite(
|
||||||
|
$teamId: UUID!,
|
||||||
|
$email: String!,
|
||||||
|
$inviteStatus: TeamMemberInviteStatus!
|
||||||
|
) @auth(level: USER) {
|
||||||
|
teamMemberInvite_insert(
|
||||||
|
data: {
|
||||||
|
teamId: $teamId
|
||||||
|
email: $email
|
||||||
|
inviteStatus: $inviteStatus
|
||||||
|
# inviteCode se genera por default con uuidV4()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
mutation UpdateTeamMemberInvite(
|
||||||
|
$id: UUID!,
|
||||||
|
$teamId: UUID,
|
||||||
|
$email: String,
|
||||||
|
$inviteStatus: TeamMemberInviteStatus
|
||||||
|
) @auth(level: USER) {
|
||||||
|
teamMemberInvite_update(
|
||||||
|
id: $id,
|
||||||
|
data: {
|
||||||
|
teamId: $teamId
|
||||||
|
email: $email
|
||||||
|
inviteStatus: $inviteStatus
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
mutation DeleteTeamMemberInvite(
|
||||||
|
$id: UUID!
|
||||||
|
) @auth(level: USER) {
|
||||||
|
teamMemberInvite_delete(id: $id)
|
||||||
|
}
|
||||||
41
dataconnect/connector/teamMemberInvite/queries.gql
Normal file
41
dataconnect/connector/teamMemberInvite/queries.gql
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
query listTeamMemberInvite @auth(level: USER) {
|
||||||
|
teamMemberInvites {
|
||||||
|
id
|
||||||
|
teamId
|
||||||
|
inviteCode
|
||||||
|
email
|
||||||
|
inviteStatus
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query getTeamMemberInviteById(
|
||||||
|
$id: UUID!
|
||||||
|
) @auth(level: USER) {
|
||||||
|
teamMemberInvite(id: $id) {
|
||||||
|
id
|
||||||
|
teamId
|
||||||
|
inviteCode
|
||||||
|
email
|
||||||
|
inviteStatus
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query filterTeamMemberInvite(
|
||||||
|
$teamId: UUID,
|
||||||
|
$email: String,
|
||||||
|
$inviteStatus: TeamMemberInviteStatus
|
||||||
|
) @auth(level: USER) {
|
||||||
|
teamMemberInvites(
|
||||||
|
where: {
|
||||||
|
teamId: { eq: $teamId }
|
||||||
|
email: { eq: $email }
|
||||||
|
inviteStatus: { eq: $inviteStatus }
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
teamId
|
||||||
|
inviteCode
|
||||||
|
email
|
||||||
|
inviteStatus
|
||||||
|
}
|
||||||
|
}
|
||||||
17
dataconnect/schema/teamMemberInvite.gql
Normal file
17
dataconnect/schema/teamMemberInvite.gql
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
enum TeamMemberInviteStatus {
|
||||||
|
PENDING
|
||||||
|
ACCEPTED
|
||||||
|
EXPIRED
|
||||||
|
CANCELLED
|
||||||
|
}
|
||||||
|
|
||||||
|
type TeamMemberInvite @table(name: "team_member_invites") {
|
||||||
|
id: UUID! @default(expr: "uuidV4()")
|
||||||
|
teamId: UUID!
|
||||||
|
inviteCode: String! @default(expr: "uuidV4()")
|
||||||
|
email: String!
|
||||||
|
inviteStatus: TeamMemberInviteStatus!
|
||||||
|
createdDate: Timestamp @default(expr: "request.time")
|
||||||
|
updatedDate: Timestamp @default(expr: "request.time")
|
||||||
|
createdBy: String @default(expr: "auth.uid")
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user