Skip to content

Commit

Permalink
feat(shared): partner can have multiple sponsorships.
Browse files Browse the repository at this point in the history
  • Loading branch information
GerardPaligot committed Apr 23, 2024
1 parent 3933af1 commit 34fe370
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,11 @@ class PartnerDao(
.mapToList(dispatcher).flatMapConcat { types ->
return@flatMapConcat combine(
types.map { type ->
db.partnerQueries.selectPartners(eventId, type.name, partnerMapper)
.asFlow()
.mapToList(dispatcher)
.map { type.name to it }
db.partnerQueries.selectPartners(
event_id = eventId,
name = type.name,
mapper = partnerMapper
).asFlow().mapToList(dispatcher).map { type.name to it }
},
transform = { results ->
PartnerGroupsUi(
Expand Down Expand Up @@ -136,6 +137,11 @@ class PartnerDao(
latitude = partner.address?.lat,
longitude = partner.address?.lng
)
db.partnerQueries.insertPartnerAndType(
partner_id = partner.id,
sponsor_id = entry.key,
event_id = eventId
)
partner.jobs.forEach {
db.partnerQueries.insertJob(
url = it.url,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CREATE TABLE PartnerAndType (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
partner_id TEXT NOT NULL,
sponsor_id TEXT NOT NULL,
event_id TEXT NOT NULL
);
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@ name TEXT NOT NULL PRIMARY KEY,
event_id TEXT NOT NULL
);

CREATE TABLE PartnerAndType (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
partner_id TEXT NOT NULL,
sponsor_id TEXT NOT NULL,
event_id TEXT NOT NULL
);

CREATE TABLE Job (
url TEXT NOT NULL PRIMARY KEY,
partner_id TEXT NOT NULL,
Expand All @@ -51,6 +58,9 @@ INSERT OR REPLACE INTO Partner(
id, name, description, event_id, type_id, type, logo_url, site_url, twitter_url, twitter_message, linkedin_url, linkedin_message, formatted_address, address, latitude, longitude
) VALUES (?, ?,?,?, ?,?,?, ?, ?, ?, ?, ?, ?, ?, ?, ?);

insertPartnerAndType:
INSERT OR REPLACE INTO PartnerAndType(partner_id, sponsor_id, event_id) VALUES (?, ?, ?);

insertJob:
INSERT OR REPLACE INTO Job(
url, partner_id, event_id, title, company_name, location, salary_min, salary_max, salary_recurrence, requirements, publish_date, propulsed
Expand All @@ -60,7 +70,12 @@ selectPartnerTypes:
SELECT order_, name FROM PartnerType WHERE event_id == ? ORDER BY order_ ASC;

selectPartners:
SELECT id, name, description, logo_url, site_url, twitter_url, twitter_message, linkedin_url, linkedin_message, formatted_address, address, latitude, longitude FROM Partner WHERE event_id == ? AND type_id == ? ORDER BY name ASC;
SELECT Partner.id, Partner.name, Partner.description, Partner.logo_url, Partner.site_url, Partner.twitter_url, Partner.twitter_message, Partner.linkedin_url, Partner.linkedin_message, Partner.formatted_address, Partner.address, Partner.latitude, Partner.longitude
FROM PartnerAndType
INNER JOIN Partner ON PartnerAndType.partner_id = Partner.id
INNER JOIN PartnerType ON PartnerAndType.sponsor_id = PartnerType.name
WHERE PartnerType.name == ? AND PartnerAndType.event_id == ?
ORDER BY Partner.name ASC;

selectPartner:
SELECT id, name, description, logo_url, site_url, twitter_url, twitter_message, linkedin_url, linkedin_message, formatted_address, address, latitude, longitude FROM Partner WHERE event_id == ? AND id == ? ORDER BY name ASC;
Expand Down

0 comments on commit 34fe370

Please sign in to comment.