diff --git a/.graphqlconfig.yml b/.graphqlconfig.yml index a8912d6..35cf1ee 100644 --- a/.graphqlconfig.yml +++ b/.graphqlconfig.yml @@ -2,7 +2,7 @@ projects: DeenDownAPI: schemaPath: amplify/backend/api/RukuAPI/build/schema.graphql includes: - - src/graphql/**/*.ts + - src/graphql/*.ts excludes: - ./amplify/** - src/graphql/api.ts diff --git a/amplify/backend/api/RukuAPI/schema.graphql b/amplify/backend/api/RukuAPI/schema.graphql index a45419e..7599865 100644 --- a/amplify/backend/api/RukuAPI/schema.graphql +++ b/amplify/backend/api/RukuAPI/schema.graphql @@ -283,13 +283,37 @@ type Organization ] ) creator: User! @belongsTo(fields: ["creatorID"]) - members: [User]! @manyToMany(relationName: "OrganizationMember") + members: [OrganizationMember]! @hasMany(indexName: "byOrganization", fields: ["id"]) mosques: [Mosque]! @hasMany(indexName: "byOrganization", fields: ["id"]) createdAt: AWSDateTime updatedAt: AWSDateTime owners: [String] @auth(rules: [{ allow: owner }]) } +type OrganizationMember + @model( + queries: null + mutations: { update: null } + subscriptions: { onUpdate: null } + ) + @auth( + rules: [ + { allow: owner, ownerField: "owners" } + { allow: private, operations: [read] } + { allow: public, operations: [read] } + ] + ) { + id: ID! + role: MemberRole! + organizationID: ID! @index(name: "byOrganization") + organization: Organization! @belongsTo(fields: ["organizationID"]) + memberID: ID! @index(name: "byMember") + member: User! @belongsTo(fields: ["memberID"]) + createdAt: AWSDateTime! + updatedAt: AWSDateTime! + owners: [String] @auth(rules: [{ allow: owner }]) +} + type User @model( queries: { get: "getUser", list: null } @@ -322,7 +346,7 @@ type User createdMosques: [Mosque]! @hasMany(indexName: "byCreator", fields: ["id"]) donations: [Donation]! @hasMany(indexName: "byDonor", fields: ["id"]) mosques: [Mosque]! @manyToMany(relationName: "MosqueFollower") - organizations: [Organization]! @manyToMany(relationName: "OrganizationMember") + organizations: [OrganizationMember]! @hasMany(indexName: "byMember", fields: ["id"]) likes: [Like]! @hasMany(indexName: "byCreator", fields: ["id"]) updatedPrayerTimes: [PrayerTime]! @hasMany(indexName: "byUpdatedByUser", fields: ["id"]) createdAt: AWSDateTime! @@ -401,6 +425,11 @@ enum FundraisingCampaignType { REFUGEES } +enum MemberRole { + ADMIN + MEMBER +} + enum UserStatus { ACTIVE BLOCKED diff --git a/amplify/team-provider-info.json b/amplify/team-provider-info.json index 16a5e72..e01b401 100644 --- a/amplify/team-provider-info.json +++ b/amplify/team-provider-info.json @@ -25,38 +25,38 @@ "EMAILSUBJECT": "Confirm your account", "EMAILMESSAGE": "Tap the link to confirm your account.", "deploymentBucketName": "amplify-ruku-dev-192339-deployment", - "s3Key": "amplify-builds/RukuAuthCustomMessage-56433977674156417a6e-build.zip" + "s3Key": "amplify-builds/RukuAuthCustomMessage-4754555468316a664644-build.zip" }, "RukuAuthPostAuthentication": { "deploymentBucketName": "amplify-ruku-dev-192339-deployment", - "s3Key": "amplify-builds/RukuAuthPostAuthentication-5975666554614f666954-build.zip" + "s3Key": "amplify-builds/RukuAuthPostAuthentication-36477961596d75544970-build.zip" }, "RukuAuthPostConfirmation": { "GROUP": "Jamaah", "deploymentBucketName": "amplify-ruku-dev-192339-deployment", - "s3Key": "amplify-builds/RukuAuthPostConfirmation-382f4b5a596d4c324134-build.zip" + "s3Key": "amplify-builds/RukuAuthPostConfirmation-644c63696476306e794e-build.zip" }, "RukuAuthPreAuthentication": { "deploymentBucketName": "amplify-ruku-dev-192339-deployment", - "s3Key": "amplify-builds/RukuAuthPreAuthentication-336a754f446a75654831-build.zip" + "s3Key": "amplify-builds/RukuAuthPreAuthentication-5473373131704d647a63-build.zip" }, "RukuAuthPreSignup": { "DOMAINALLOWLIST": " ", "DOMAINDENYLIST": " ", "deploymentBucketName": "amplify-ruku-dev-192339-deployment", - "s3Key": "amplify-builds/RukuAuthPreSignup-6a7046544634432b5448-build.zip" + "s3Key": "amplify-builds/RukuAuthPreSignup-5654774d2b78486c4748-build.zip" }, "RukuAPILambdaAuthorizer": { "deploymentBucketName": "amplify-ruku-dev-192339-deployment", - "s3Key": "amplify-builds/RukuAPILambdaAuthorizer-5978575a302f55583965-build.zip" + "s3Key": "amplify-builds/RukuAPILambdaAuthorizer-72476e5953686d4b542f-build.zip" }, "RukuStorageTrigger": { "deploymentBucketName": "amplify-ruku-dev-192339-deployment", - "s3Key": "amplify-builds/RukuStorageTrigger-6b6d732b4c3254502f74-build.zip" + "s3Key": "amplify-builds/RukuStorageTrigger-554363316f6863587a57-build.zip" }, "AdminQueriesa8865030": { "deploymentBucketName": "amplify-ruku-dev-192339-deployment", - "s3Key": "amplify-builds/AdminQueriesa8865030-7235554f305048653979-build.zip" + "s3Key": "amplify-builds/AdminQueriesa8865030-3242457642316b324d42-build.zip" }, "rukuCommonLayerTs": { "deploymentBucketName": "amplify-ruku-dev-192339-deployment",