목 차
input CreateNoticeInput {
title: String
contents: String
date: AWSDateTime
}
input CreateTeamAutoMatcher_QuestionnaireInput {
questionTitle: String!
questionList: [String]!
bDuplicate: Boolean!
}
input CreateTeamInput {
id: String!
name: String
people: [teamListInput]
skills: [String]
outline: String
owner: String
reponame: String
contents: [dashboardContentInput]
state: String
createdAt: AWSDateTime
comments: [commentsInput]
}
input CreateUserInput {
question: [questionInput]
haveTeam: Boolean
surveyCompleted: Boolean
mail: [mailInput]
personState: String
teamList: [teamListInput]
}
input DeleteNoticeInput {
id: ID!
}
input DeleteTeamAutoMatcher_QuestionnaireInput {
id: ID!
}
input DeleteTeamInput {
id: ID!
}
input DeleteUserInput {
id: ID!
}
type ModelSingleUserConnection {
items: [user]
nextToken: String
}
type Mutation {
createTeamAutoMatcher_Questionnaire(input: CreateTeamAutoMatcher_QuestionnaireInput!): TeamAutoMatcher_Questionnaire
updateTeamAutoMatcher_Questionnaire(input: UpdateTeamAutoMatcher_QuestionnaireInput!): TeamAutoMatcher_Questionnaire
deleteTeamAutoMatcher_Questionnaire(input: DeleteTeamAutoMatcher_QuestionnaireInput!): TeamAutoMatcher_Questionnaire
createUser(input: CreateUserInput!): user
updateUser(input: UpdateUserInput!): user
deleteUser(input: DeleteUserInput!): user
createTeam(input: CreateTeamInput!): teamDashboard
updateTeam(input: UpdateTeamInput!): teamDashboard
deleteTeam(input: DeleteTeamInput!): teamDashboard
createNotice(input: CreateNoticeInput!): notice
deleteNotice(input: DeleteNoticeInput!): notice
}
type Query {
getQuestionnaire(id: ID!): TeamAutoMatcher_Questionnaire
listQuestionnaires(nextToken: String): TeamAutoMatcher_QuestionnaireConnection
listNotice(nextToken: String): notice_Connection
@aws_api_key
@aws_cognito_user_pools
getUser: ModelSingleUserConnection
getUserById(id: String!): user
listUser(nextToken: String): userList_Connection
@aws_api_key
@aws_cognito_user_pools
getTeamDashboard(id: String!): teamDashboard
listTeamDashboard(nextToken: String): teamDashbaord_Connection
@aws_api_key
@aws_cognito_user_pools
}
type Subscription {
onCreateTeamAutoMatcher_Questionnaire(
id: ID,
questionTitle: String,
questionList: [String],
bDuplicate: Boolean
): TeamAutoMatcher_Questionnaire
@aws_subscribe(mutations: ["createTeamAutoMatcher_Questionnaire"])
onUpdateTeamAutoMatcher_Questionnaire(
id: ID,
questionTitle: String,
questionList: [String],
bDuplicate: Boolean
): TeamAutoMatcher_Questionnaire
@aws_subscribe(mutations: ["updateTeamAutoMatcher_Questionnaire"])
onDeleteTeamAutoMatcher_Questionnaire(
id: ID,
questionTitle: String,
questionList: [String],
bDuplicate: Boolean
): TeamAutoMatcher_Questionnaire
@aws_subscribe(mutations: ["deleteTeamAutoMatcher_Questionnaire"])
onCreateUser(id: ID, question: [questionInput], mail: [mailInput]): user
@aws_subscribe(mutations: ["createUser"])
onUpdateUser(id: ID, question: [questionInput], mail: [mailInput]): user
@aws_subscribe(mutations: ["updateUser"])
onDeleteUser(id: ID, question: [questionInput]): user
@aws_subscribe(mutations: ["deleteUser"])
}
input TableBooleanFilterInput {
ne: Boolean
eq: Boolean
}
input TableFloatFilterInput {
ne: Float
eq: Float
le: Float
lt: Float
ge: Float
gt: Float
contains: Float
notContains: Float
between: [Float]
}
input TableIDFilterInput {
ne: ID
eq: ID
le: ID
lt: ID
ge: ID
gt: ID
contains: ID
notContains: ID
between: [ID]
beginsWith: ID
}
input TableIntFilterInput {
ne: Int
eq: Int
le: Int
lt: Int
ge: Int
gt: Int
contains: Int
notContains: Int
between: [Int]
}
input TableStringFilterInput {
ne: String
eq: String
le: String
lt: String
ge: String
gt: String
contains: String
notContains: String
between: [String]
beginsWith: String
}
input TableTeamAutoMatcher_QuestionnaireFilterInput {
id: TableIDFilterInput
questionTitle: TableStringFilterInput
questionList: TableStringFilterInput
bDuplicate: TableBooleanFilterInput
}
input TableUserFilterInput {
id: TableIDFilterInput
question: TableStringFilterInput
}
type TeamAutoMatcher_Questionnaire {
id: ID!
questionTitle: String!
questionBrief: String!
priority: Int!
questionList: [String]!
bDuplicate: Boolean!
}
type TeamAutoMatcher_QuestionnaireConnection {
items: [TeamAutoMatcher_Questionnaire]
nextToken: String
}
input UpdateTeamAutoMatcher_QuestionnaireInput {
id: ID!
questionTitle: String
priority: Int
questionList: [String]
bDuplicate: Boolean
}
input UpdateTeamInput {
id: ID!
name: String
people: [teamListInput]
skills: [String]
outline: String
owner: String
contents: [dashboardContentInput]
reponame: String
state: String
createdAt: AWSDateTime
comments: [commentsInput]
}
input UpdateUserInput {
id: ID!
haveTeam: Boolean
surveyCompleted: Boolean
teamList: [teamListInput]
question: [questionInput]
mail: [mailInput]
personState: String
}
input commentsInput {
date: AWSDateTime
owner: String
comment: String
name: String
}
type commnetsType @aws_api_key
@aws_cognito_user_pools {
date: AWSDateTime
owner: String
comment: String
name: String
}
type dashboardContent @aws_api_key
@aws_cognito_user_pools {
title: String
text: String
}
input dashboardContentInput {
title: String
text: String
}
input mailInput {
from: String!
teamId: String
type: String
teamName: String
date: AWSDateTime
}
type mailType @aws_api_key
@aws_cognito_user_pools {
from: String!
teamId: String
type: String
teamName: String
date: AWSDateTime
}
type notice @aws_api_key
@aws_cognito_user_pools {
id: ID!
title: String
contents: String
date: AWSDateTime
}
type notice_Connection @aws_api_key
@aws_cognito_user_pools {
items: [notice]
nextToken: String
}
input questionInput {
title: String
answers: [String]
}
type questionType @aws_api_key
@aws_cognito_user_pools {
title: String
answers: [String]
}
type teamDashbaord_Connection @aws_api_key
@aws_cognito_user_pools {
items: [teamDashboard]
nextToken: String
}
type teamDashboard @aws_api_key
@aws_cognito_user_pools {
id: ID!
name: String
people: [teamListType]
skills: [String]
outline: String
contents: [dashboardContent]
mail: [mailType]
reponame: String
owner: String
state: String
createdAt: AWSDateTime
comments: [commnetsType]
}
input teamListInput {
id: String
name: String
}
type teamListType @aws_api_key
@aws_cognito_user_pools {
id: String
name: String
}
type user @aws_api_key
@aws_cognito_user_pools {
id: ID!
haveTeam: Boolean
surveyCompleted: Boolean
question: [questionType]
owner: String
personState: String
teamList: [teamListType]
mail: [mailType]
}
type userList_Connection @aws_api_key
@aws_cognito_user_pools {
items: [user]
nextToken: String
}
createUser(...): user
## Below example shows how to create an object from all provided GraphQL arguments
## The primary key of the obejct is a randomly generated UUD using the $util.autoId() utility
## Other utilities include $util.matches() for regular expressions, $util.time.nowISO8601() or
## $util.time.nowEpochMilliSeconds() for timestamps, and even List or Map helpers like
## $util.list.copyAndRetainAll() $util.map.copyAndRemoveAllKeys() for shallow copies
## Read more: <https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html#utility-helpers-in-util>
## [Start] Set default values. **
$util.qr($context.args.input.put("id", $util.defaultIfNull($ctx.args.input.id, $util.autoId())))
#set( $createdAt = $util.time.nowISO8601() )
## Automatically set the createdAt timestamp. **
$util.qr($context.args.input.put("createdAt", $util.defaultIfNull($ctx.args.input.createdAt, $createdAt)))
## Automatically set the updatedAt timestamp. **
$util.qr($context.args.input.put("updatedAt", $util.defaultIfNull($ctx.args.input.updatedAt, $createdAt)))
## [End] Set default values. **
## [Start] Determine request authentication mode **
#if( $util.isNullOrEmpty($authMode) && !$util.isNull($ctx.identity) && !$util.isNull($ctx.identity.sub) && !$util.isNull($ctx.identity.issuer) && !$util.isNull($ctx.identity.username) && !$util.isNull($ctx.identity.claims) && !$util.isNull($ctx.identity.sourceIp) && !$util.isNull($ctx.identity.defaultAuthStrategy) )
#set( $authMode = "userPools" )
#end
## [End] Determine request authentication mode **
## [Start] Check authMode and execute owner/group checks **
#if( $authMode == "userPools" )
## No Static Group Authorization Rules **
## No Dynamic Group Authorization Rules **
## [Start] Owner Authorization Checks **
#set( $isOwnerAuthorized = false )
## Authorization rule: { allow: owner, ownerField: "owner", identityClaim: "cognito:username" } **
#set( $allowedOwners0 = $util.defaultIfNull($ctx.args.input.owner, null) )
#set( $identityValue = $util.defaultIfNull($ctx.identity.claims.get("username"), $util.defaultIfNull($ctx.identity.claims.get("cognito:username"), "___xamznone____")) )
#if( $util.isList($allowedOwners0) )
#foreach( $allowedOwner in $allowedOwners0 )
#if( $allowedOwner == $identityValue )
#set( $isOwnerAuthorized = true )
#end
#end
#end
#if( $util.isString($allowedOwners0) )
#if( $allowedOwners0 == $identityValue )
#set( $isOwnerAuthorized = true )
#end
#end
#if( $util.isNull($allowedOwners0) && (! $ctx.args.input.containsKey("owner")) )
$util.qr($ctx.args.input.put("owner", $identityValue))
#set( $isOwnerAuthorized = true )
#end
## [End] Owner Authorization Checks **
## [Start] Throw if unauthorized **
#if( !($isStaticGroupAuthorized == true || $isDynamicGroupAuthorized == true || $isOwnerAuthorized == true) )
$util.unauthorized()
#end
## [End] Throw if unauthorized **
#end
## [End] Check authMode and execute owner/group checks **
## [Start] Prepare DynamoDB PutItem Request. **
$util.qr($context.args.input.put("__typename", "User"))
#set( $condition = {
"expression": "attribute_not_exists(#id)",
"expressionNames": {
"#id": "id"
}
} )
#if( $context.args.condition )
#set( $condition.expressionValues = {} )
#set( $conditionFilterExpressions = $util.parseJson($util.transform.toDynamoDBConditionExpression($context.args.condition)) )
$util.qr($condition.put("expression", "($condition.expression) AND $conditionFilterExpressions.expression"))
$util.qr($condition.expressionNames.putAll($conditionFilterExpressions.expressionNames))
$util.qr($condition.expressionValues.putAll($conditionFilterExpressions.expressionValues))
#end
#if( $condition.expressionValues && $condition.expressionValues.size() == 0 )
#set( $condition = {
"expression": $condition.expression,
"expressionNames": $condition.expressionNames
} )
#end
{
"version": "2018-05-29",
"operation": "PutItem",
"key": #if( $modelObjectKey ) $util.toJson($modelObjectKey) #else {
"id": $util.dynamodb.toDynamoDBJson($ctx.args.input.id)
} #end,
"attributeValues": $util.dynamodb.toMapValuesJson($context.args.input),
"condition": $util.toJson($condition)
}
## [End] Prepare DynamoDB PutItem Request. **
#if( $ctx.error )
$util.error($ctx.error.message, $ctx.error.type)
#else
$util.toJson($ctx.result)
#end
createTeam(...): teamDashboard
## Below example shows how to create an object from all provided GraphQL arguments
## The primary key of the obejct is a randomly generated UUD using the $util.autoId() utility
## Other utilities include $util.matches() for regular expressions, $util.time.nowISO8601() or
## $util.time.nowEpochMilliSeconds() for timestamps, and even List or Map helpers like
## $util.list.copyAndRetainAll() $util.map.copyAndRemoveAllKeys() for shallow copies
## Read more: <https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html#utility-helpers-in-util>
{
"version" : "2018-05-29",
"operation" : "PutItem",
"key" : {
"id": $util.dynamodb.toDynamoDBJson($ctx.args.input.id)
},
"attributeValues" : $util.dynamodb.toMapValuesJson($ctx.args.input)
}
## Pass back the result from DynamoDB. **
$util.toJson($ctx.result)