Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/controller-deploy-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
DATABASE_URL: "op://AppDev Scripture Accessibility/languageapi-dev/connection string"
BUS_CONN: "op://AppDev Scripture Accessibility/languageapi-bus-con/dev/conn_string"
- name: "Load PNPM"
uses: pnpm/action-setup@v2
with:
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ hasura/seeds/languageapi/data_dump.sql
data_dump.sql
proj_notes.md
mise.toml
.tool-versions
.tool-versions
launch.json
6 changes: 6 additions & 0 deletions controller/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
WORKDIR /home/site/wwwroot
COPY . .


RUN apt-get update && \
apt-get install -y postgresql-client && \
rm -rf /var/lib/apt/lists/*


ARG DATABASE_URL
# I have no clue why, but when I included azure core tools as part of the controller dependencies using the core tools node package, the func command reliably broke, but not when installed globally
# Enable `pnpm add --global` on Alpine Linux by setting
Expand Down
49 changes: 49 additions & 0 deletions controller/drizzle/0015_outgoing_the_anarchist.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@

-- REMOVE OLD CONSTRAINTS
ALTER TABLE "languages_to_languages" DROP CONSTRAINT "languages_to_languages_gateway_language_ietf_language_ietf_code";
--> statement-breakpoint

ALTER TABLE "languages_to_languages" DROP CONSTRAINT "languages_to_languages_gateway_language_to_ietf_language_ietf_c";
--> statement-breakpoint

ALTER TABLE "languages_to_languages" DROP CONSTRAINT "languages_to_languages_gateway_language_ietf_gateway_language_t";
--> statement-breakpoint

ALTER TABLE "connected_content" DROP CONSTRAINT "connected_content_content_id_1_content_id_2";--> statement-breakpoint
ALTER TABLE "country_to_language" DROP CONSTRAINT "country_to_language_language_ietf_code_country_alpha_2";--> statement-breakpoint
ALTER TABLE "connected_content" ADD CONSTRAINT "connected_content_pkey" PRIMARY KEY("content_id_1","content_id_2");--> statement-breakpoint
ALTER TABLE "country_to_language" ADD CONSTRAINT "country_to_language_pkey" PRIMARY KEY("language_ietf_code","country_alpha_2");--> statement-breakpoint


-- RENAME TABLE
ALTER TABLE IF EXISTS "languages_to_languages" RENAME TO "gateway_language_to_dependent_language";
--> statement-breakpoint

-- RENAME COLUMN
ALTER TABLE "gateway_language_to_dependent_language" RENAME COLUMN "gateway_language_to_ietf" TO "dependent_language_ietf";
--> statement-breakpoint





-- ADD NEW CONSTRAINTS
-- primary
ALTER TABLE "gateway_language_to_dependent_language" ADD CONSTRAINT "gateway_dependent_pkey" PRIMARY KEY("gateway_language_ietf","dependent_language_ietf");
--> statement-breakpoint

-- foreign
DO $$ BEGIN
ALTER TABLE "gateway_language_to_dependent_language" ADD CONSTRAINT "gl_glietf_language_ietf_code_fk" FOREIGN KEY ("gateway_language_ietf") REFERENCES "language"("ietf_code") ON DELETE cascade ON UPDATE cascade;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint

-- foreign
DO $$ BEGIN
ALTER TABLE "gateway_language_to_dependent_language" ADD CONSTRAINT "gl_dependent_ietf_language_ietf_code_fk" FOREIGN KEY ("dependent_language_ietf") REFERENCES "language"("ietf_code") ON DELETE cascade ON UPDATE cascade;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
5 changes: 5 additions & 0 deletions controller/drizzle/0016_sudden_jocasta.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
ALTER TABLE "scriptural_rendering_metadata" ALTER COLUMN "book_name" DROP NOT NULL;--> statement-breakpoint
ALTER TABLE "scriptural_rendering_metadata" ALTER COLUMN "chapter" DROP NOT NULL;--> statement-breakpoint
ALTER TABLE "scriptural_rendering_metadata" ADD COLUMN "is_whole_chapter" boolean NOT NULL;--> statement-breakpoint
ALTER TABLE "scriptural_rendering_metadata" ADD COLUMN "is_whole_book" boolean NOT NULL;--> statement-breakpoint
ALTER TABLE "scriptural_rendering_metadata" ADD COLUMN "is_whole_project" boolean NOT NULL;
2 changes: 2 additions & 0 deletions controller/drizzle/0017_fat_loa.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE "wa_language_meta" ADD COLUMN "is_gateway" boolean NOT NULL;--> statement-breakpoint
ALTER TABLE "rendering" ADD COLUMN "hash" varchar;
31 changes: 31 additions & 0 deletions controller/drizzle/0018_dry_professor_monster.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
-- Custom SQL migration file, put you code below! --
-- Custom SQL migration file, put your code below! --
-- View: public.vw_langnames

CREATE OR REPLACE VIEW public.vw_langnames
AS
SELECT language.ietf_code AS lc,
language.national_name AS ln,
language.english_name AS ang,
language.direction AS ld,
CASE
WHEN (
EXISTS (
SELECT 1 FROM wa_language_meta WHERE wa_language_meta.ietf_code = language.ietf_code AND wa_language_meta.is_gateway
)
) THEN true
ELSE false
END AS gw,
array_agg(DISTINCT country_cc.alpha_2) AS cc,
array_remove(array_agg(DISTINCT language_alternate_name.name), NULL::text) AS alt,
language.home_country_alpha2 AS hc,
world_region.region AS lr,
1 AS pk
FROM language
LEFT JOIN country_to_language ON language.ietf_code::text = country_to_language.language_ietf_code::text
LEFT JOIN country AS country_cc ON country_to_language.country_alpha_2::text = country_cc.alpha_2::text
LEFT JOIN country AS country_hc ON language.home_country_alpha2::text = country_hc.alpha_2::text
LEFT JOIN language_alternate_name ON language.ietf_code::text = language_alternate_name.ietf_code::text
LEFT JOIN world_region ON country_hc.world_region_id = world_region.id
LEFT JOIN wa_language_meta on language.ietf_code::text = wa_language_meta.ietf_code::text
GROUP BY language.ietf_code, language.national_name, language.english_name, language.direction, world_region.region;
2 changes: 2 additions & 0 deletions controller/drizzle/0019_square_jubilee.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ALTER TABLE "rendering" DROP COLUMN IF EXISTS "does_cover_all_content";--> statement-breakpoint
ALTER TABLE "scriptural_rendering_metadata" DROP COLUMN IF EXISTS "is_whole_chapter";
1 change: 1 addition & 0 deletions controller/drizzle/0020_right_mojo.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALTER TABLE "scriptural_rendering_metadata" ALTER COLUMN "book_slug" DROP NOT NULL;
Loading