-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Auto-generate graphql types #44
Conversation
|
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesCodacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more |
Terraform plan in terraform/environment/wildsea With variablesenvironment = "primary"
saml_metadata_url = (sensitive value) Plan: 0 to add, 2 to change, 0 to destroy.Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
!~ update in-place
Terraform will perform the following actions:
# module.wildsea.aws_appsync_graphql_api.graphql will be updated in-place
!~ resource "aws_appsync_graphql_api" "graphql" {
id = "tfiz6mnf2nhyzpzkwm554sir5q"
name = "Wildsea-primary"
!~ schema = <<-EOT
+ scalar AWSDateTime
+
type Mutation {
createGame(input: CreateGameInput!): Game! @aws_cognito_user_pools
}
type Query {
getGame(id: ID!): Game! @aws_cognito_user_pools
}
input CreateGameInput {
name: String!
description: String
}
type Game @aws_cognito_user_pools {
id: ID!
name: String!
description: String
publicNotes: String
privateNotes: String
fireflyUserId: ID!
players: [ID!]
# playerSheets: [PlayerSheet!]!
# shipSheet: ShipSheet
# clocks: [Clock!]!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
}
EOT
tags = {
"Name" = "Wildsea-primary"
}
# (9 unchanged attributes hidden)
# (2 unchanged blocks hidden)
}
# module.wildsea.aws_appsync_resolver.resolver["getGame"] will be updated in-place
!~ resource "aws_appsync_resolver" "resolver" {
!~ code = <<-EOT
// query/getGame/appsync.ts
import { util } from "@aws-appsync/utils";
function request(context) {
if (!context.identity) {
util.error("Unauthorized: Identity information is missing.");
}
const identity = context.identity;
if (!identity.sub) {
util.error("Unauthorized: User ID is missing.");
}
const id = context.arguments.id;
const key = {
PK: "GAME#" + id,
SK: "GAME"
};
return {
operation: "GetItem",
key: util.dynamodb.toMapValues(key)
};
}
function response(context) {
if (context.error) {
util.appendError(context.error.message, context.error.type, context.result);
return;
}
const identity = context.identity;
if (!identity.sub) {
util.appendError("Unauthorized: User ID is missing.");
return;
}
if (!permitted(identity, context.result)) {
util.appendError(
"Unauthorized: User does not have access to the game."
);
return;
}
return context.result;
}
function permitted(identity, data) {
if (data === null) {
return false;
}
if (data.fireflyUserId === identity.sub) {
return true;
}
- for (const player of data.players) {
- if (player === identity.sub) {
- return true;
+ if (data.players) {
+ for (const player of data.players) {
+ if (player === identity.sub) {
+ return true;
+ }
}
}
return false;
}
export {
request,
response
};
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiYXBwc3luYy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFBQSxTQUFTLFlBQTZDO0FBRy9DLFNBQVMsUUFDZCxTQUN3QjtBQUN4QixNQUFJLENBQUMsUUFBUSxVQUFVO0FBQ3JCLFNBQUssTUFBTSxnREFBMEQ7QUFBQSxFQUN2RTtBQUVBLFFBQU0sV0FBVyxRQUFRO0FBQ3pCLE1BQUksQ0FBQyxTQUFTLEtBQUs7QUFDakIsU0FBSyxNQUFNLG1DQUE2QztBQUFBLEVBQzFEO0FBRUEsUUFBTSxLQUFLLFFBQVEsVUFBVTtBQUM3QixRQUFNLE1BQU07QUFBQSxJQUNWLElBQUksVUFBVTtBQUFBLElBQ2QsSUFBSTtBQUFBLEVBQ047QUFFQSxTQUFPO0FBQUEsSUFDTCxXQUFXO0FBQUEsSUFDWCxLQUFLLEtBQUssU0FBUyxZQUFZLEdBQUc7QUFBQSxFQUNwQztBQUNGO0FBRU8sU0FBUyxTQUFTLFNBQWtCO0FBQ3pDLE1BQUksUUFBUSxPQUFPO0FBQ2pCLFNBQUssWUFBWSxRQUFRLE1BQU0sU0FBUyxRQUFRLE1BQU0sTUFBTSxRQUFRLE1BQU07QUFDMUU7QUFBQSxFQUNGO0FBRUEsUUFBTSxXQUFXLFFBQVE7QUFDekIsTUFBSSxDQUFDLFNBQVMsS0FBSztBQUNqQixTQUFLLFlBQVksbUNBQTZDO0FBQzlEO0FBQUEsRUFDRjtBQUVBLE1BQUksQ0FBQyxVQUFVLFVBQVUsUUFBUSxNQUFNLEdBQUc7QUFDeEMsU0FBSztBQUFBLE1BQ0g7QUFBQSxJQUNGO0FBQ0E7QUFBQSxFQUNGO0FBRUEsU0FBTyxRQUFRO0FBQ2pCO0FBTUEsU0FBUyxVQUFVLFVBQWtDLE1BQXFCO0FBQ3hFLE1BQUksU0FBUyxNQUFNO0FBQ2pCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxLQUFLLGtCQUFrQixTQUFTLEtBQUs7QUFDdkMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxhQUFXLFVBQVUsS0FBSyxTQUFTO0FBQ2pDLFFBQUksV0FBVyxTQUFTLEtBQUs7QUFDM0IsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiYXBwc3luYy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFBQSxTQUFTLFlBQTZDO0FBSS9DLFNBQVMsUUFDZCxTQUN3QjtBQUN4QixNQUFJLENBQUMsUUFBUSxVQUFVO0FBQ3JCLFNBQUssTUFBTSxnREFBMEQ7QUFBQSxFQUN2RTtBQUVBLFFBQU0sV0FBVyxRQUFRO0FBQ3pCLE1BQUksQ0FBQyxTQUFTLEtBQUs7QUFDakIsU0FBSyxNQUFNLG1DQUE2QztBQUFBLEVBQzFEO0FBRUEsUUFBTSxLQUFLLFFBQVEsVUFBVTtBQUM3QixRQUFNLE1BQU07QUFBQSxJQUNWLElBQUksVUFBVTtBQUFBLElBQ2QsSUFBSTtBQUFBLEVBQ047QUFFQSxTQUFPO0FBQUEsSUFDTCxXQUFXO0FBQUEsSUFDWCxLQUFLLEtBQUssU0FBUyxZQUFZLEdBQUc7QUFBQSxFQUNwQztBQUNGO0FBRU8sU0FBUyxTQUFTLFNBQWtCO0FBQ3pDLE1BQUksUUFBUSxPQUFPO0FBQ2pCLFNBQUssWUFBWSxRQUFRLE1BQU0sU0FBUyxRQUFRLE1BQU0sTUFBTSxRQUFRLE1BQU07QUFDMUU7QUFBQSxFQUNGO0FBRUEsUUFBTSxXQUFXLFFBQVE7QUFDekIsTUFBSSxDQUFDLFNBQVMsS0FBSztBQUNqQixTQUFLLFlBQVksbUNBQTZDO0FBQzlEO0FBQUEsRUFDRjtBQUVBLE1BQUksQ0FBQyxVQUFVLFVBQVUsUUFBUSxNQUFNLEdBQUc7QUFDeEMsU0FBSztBQUFBLE1BQ0g7QUFBQSxJQUNGO0FBQ0E7QUFBQSxFQUNGO0FBRUEsU0FBTyxRQUFRO0FBQ2pCO0FBRUEsU0FBUyxVQUFVLFVBQWtDLE1BQXFCO0FBQ3hFLE1BQUksU0FBUyxNQUFNO0FBQ2pCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxLQUFLLGtCQUFrQixTQUFTLEtBQUs7QUFDdkMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLEtBQUssU0FBUztBQUNoQixlQUFXLFVBQVUsS0FBSyxTQUFTO0FBQ2pDLFVBQUksV0FBVyxTQUFTLEtBQUs7QUFDM0IsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
EOT
id = "tfiz6mnf2nhyzpzkwm554sir5q-Query-getGame"
# (9 unchanged attributes hidden)
# (1 unchanged block hidden)
}
Plan: 0 to add, 2 to change, 0 to destroy. ✅ Plan applied in Environment Main - Apply #40 |
No description provided.