+export const findFeaturedEvents = $runtime.makeTypedQueryFactory("\n\n\n\nWITH\ncapacities AS (\nSELECT\n\"attendanceId\",\nSUM(\"capacity\") AS sum\nFROM \"attendance_pool\"\nGROUP BY \"attendanceId\"\n),\n\nattendees AS (\nSELECT\n\"attendanceId\",\nCOUNT(*) AS count\nFROM \"attendee\"\nGROUP BY \"attendanceId\"\n)\n\nSELECT\n\"event\".*,\nCOALESCE(capacities.sum, 0) AS \"totalCapacity\",\nCOALESCE(attendees.count, 0) AS \"attendeeCount\",\n\nCASE \"event\".\"type\"\nWHEN 'GENERAL_ASSEMBLY' THEN 1\nWHEN 'COMPANY' THEN 2\nWHEN 'ACADEMIC' THEN 2\nELSE 3\nEND AS \"typeRank\",\n\nCASE\nWHEN \"event\".\"attendanceId\" IS NOT NULL\nAND NOW() BETWEEN attendance.\"registerStart\" AND attendance.\"registerEnd\"\nAND COALESCE(capacities.sum, 0) > 0\nAND COALESCE(attendees.count, 0) < COALESCE(capacities.sum, 0)\nTHEN 1\n\nWHEN \"event\".\"attendanceId\" IS NOT NULL\nAND NOW() < attendance.\"registerStart\"\nTHEN 2\n\nWHEN \"event\".\"attendanceId\" IS NULL\nOR COALESCE(capacities.sum, 0) = 0\nTHEN 3\n\nWHEN \"event\".\"attendanceId\" IS NOT NULL\nAND COALESCE(capacities.sum, 0) > 0\nAND COALESCE(attendees.count, 0) >= COALESCE(capacities.sum, 0)\nTHEN 4\n\nELSE 4\nEND AS \"registrationBucket\"\n\nFROM \"event\"\nLEFT JOIN \"attendance\"\nON \"attendance\".\"id\" = \"event\".\"attendanceId\"\nLEFT JOIN capacities\nON capacities.\"attendanceId\" = \"event\".\"attendanceId\"\nLEFT JOIN attendees\nON attendees.\"attendanceId\" = \"event\".\"attendanceId\"\n\nWHERE\n\"event\".\"status\" = 'PUBLIC'\nAND \"event\".\"start\" > NOW()\n\nORDER BY\n\"typeRank\" ASC,\n\"registrationBucket\" ASC,\n\"event\".\"start\" ASC\n\nOFFSET $1\nLIMIT $2;") as (offset: number, limit: number) => $runtime.TypedSql<findFeaturedEvents.Parameters, findFeaturedEvents.Result>
0 commit comments