From 86e82c3de8c27d870d9e75a47da2f12b27c0f40d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Salazar?= <73718835+joshrs23@users.noreply.github.com> Date: Wed, 26 Nov 2025 14:31:40 -0500 Subject: [PATCH] new activityLog entity --- .../connector/activityLog/mutations.gql | 43 ++++++++++++++++++ dataconnect/connector/activityLog/queries.gql | 44 +++++++++++++++++++ dataconnect/schema/activityLog.gql | 21 +++++++++ 3 files changed, 108 insertions(+) create mode 100644 dataconnect/connector/activityLog/mutations.gql create mode 100644 dataconnect/connector/activityLog/queries.gql create mode 100644 dataconnect/schema/activityLog.gql diff --git a/dataconnect/connector/activityLog/mutations.gql b/dataconnect/connector/activityLog/mutations.gql new file mode 100644 index 00000000..7bf01863 --- /dev/null +++ b/dataconnect/connector/activityLog/mutations.gql @@ -0,0 +1,43 @@ +mutation CreateActivityLog( + $title: String!, + $description: String!, + $activityType: ActivityType!, + $userId: UUID!, + $isRead: Boolean +) @auth(level: USER) { + activityLog_insert( + data: { + title: $title + description: $description + activityType: $activityType + userId: $userId + isRead: $isRead + } + ) +} + +mutation UpdateActivityLog( + $id: UUID!, + $title: String, + $description: String, + $activityType: ActivityType, + $userId: UUID, + $isRead: Boolean +) @auth(level: USER) { + activityLog_update( + id: $id, + data: { + title: $title + description: $description + activityType: $activityType + userId: $userId + isRead: $isRead + } + ) +} + +mutation DeleteActivityLog( + $id: UUID! +) @auth(level: USER) { + activityLog_delete(id: $id) +} diff --git a/dataconnect/connector/activityLog/queries.gql b/dataconnect/connector/activityLog/queries.gql new file mode 100644 index 00000000..c3391d0d --- /dev/null +++ b/dataconnect/connector/activityLog/queries.gql @@ -0,0 +1,44 @@ +query listActivityLog @auth(level: USER) { + activityLogs { + id + title + description + activityType + userId + isRead + } +} + +query getActivityLogById( + $id: UUID! +) @auth(level: USER) { + activityLog(id: $id) { + id + title + description + activityType + userId + isRead + } +} + +query filterActivityLog( + $userId: UUID, + $activityType: ActivityType, + $isRead: Boolean +) @auth(level: USER) { + activityLogs( + where: { + userId: { eq: $userId } + activityType: { eq: $activityType } + isRead: { eq: $isRead } + } + ) { + id + title + description + activityType + userId + isRead + } +} diff --git a/dataconnect/schema/activityLog.gql b/dataconnect/schema/activityLog.gql new file mode 100644 index 00000000..735fef46 --- /dev/null +++ b/dataconnect/schema/activityLog.gql @@ -0,0 +1,21 @@ +enum ActivityType { + EVENT_CREATED + EVENT_UPDATED + STAFF_ASSIGNED + INVOICE_PAID + INVOICE_CREATED + VENDOR_APPROVED + MESSAGE_RECEIVED +} + +type ActivityLog @table(name: "activity_logs") { + id: UUID! @default(expr: "uuidV4()") + title: String! + description: String! + activityType: ActivityType! + userId: UUID! # user_id (FK lógica a User.id) + isRead: Boolean @default(expr: "false") + createdDate: Timestamp @default(expr: "request.time") + updatedDate: Timestamp @default(expr: "request.time") + createdBy: String @default(expr: "auth.uid") +}