Merge branch 'main' into MED-105
This commit is contained in:
5
.env
5
.env
@@ -51,7 +51,4 @@ LOGGER=pino
|
|||||||
NEXT_PUBLIC_DEFAULT_LOCALE=et
|
NEXT_PUBLIC_DEFAULT_LOCALE=et
|
||||||
|
|
||||||
NEXT_PUBLIC_TEAM_NAVIGATION_STYLE=custom
|
NEXT_PUBLIC_TEAM_NAVIGATION_STYLE=custom
|
||||||
NEXT_PUBLIC_USER_NAVIGATION_STYLE=custom
|
NEXT_PUBLIC_USER_NAVIGATION_STYLE=custom
|
||||||
|
|
||||||
# MEDUSA
|
|
||||||
NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=
|
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
# This file is used to define environment variables for the development environment.
|
# This file is used to define environment variables for the development environment.
|
||||||
# These values are only used when running the app in development mode.
|
# These values are only used when running the app in development mode.
|
||||||
|
|
||||||
# SUPABASE
|
# SUPABASE DEVELOPMENT
|
||||||
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321
|
NEXT_PUBLIC_SUPABASE_URL=https://oqsdacktkhmbylmzstjq.supabase.co
|
||||||
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0
|
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9xc2RhY2t0a2htYnlsbXpzdGpxIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDY1MjgxMjMsImV4cCI6MjA2MjEwNDEyM30.LdHCTWxijFmhXdnT9KVuLRAVbtSwY7OO-oLtpd8GmO0
|
||||||
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU
|
|
||||||
|
|
||||||
## THIS IS FOR DEVELOPMENT ONLY - DO NOT USE IN PRODUCTION
|
## THIS IS FOR DEVELOPMENT ONLY - DO NOT USE IN PRODUCTION
|
||||||
SUPABASE_DB_WEBHOOK_SECRET=WEBHOOKSECRET
|
SUPABASE_DB_WEBHOOK_SECRET=WEBHOOKSECRET
|
||||||
@@ -14,8 +13,6 @@ SUPABASE_DB_WEBHOOK_SECRET=WEBHOOKSECRET
|
|||||||
# CONTACT FORM
|
# CONTACT FORM
|
||||||
CONTACT_EMAIL=test@makerkit.dev
|
CONTACT_EMAIL=test@makerkit.dev
|
||||||
|
|
||||||
# STRIPE
|
|
||||||
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
|
|
||||||
|
|
||||||
# MAILER
|
# MAILER
|
||||||
MAILER_PROVIDER=nodemailer
|
MAILER_PROVIDER=nodemailer
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE.
|
## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE.
|
||||||
|
|
||||||
# SUPABASE
|
# SUPABASE
|
||||||
NEXT_PUBLIC_SUPABASE_URL=
|
NEXT_PUBLIC_SUPABASE_URL=https://oqsdacktkhmbylmzstjq.supabase.co
|
||||||
|
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9xc2RhY2t0a2htYnlsbXpzdGpxIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDY1MjgxMjMsImV4cCI6MjA2MjEwNDEyM30.LdHCTWxijFmhXdnT9KVuLRAVbtSwY7OO-oLtpd8GmO0
|
||||||
|
|
||||||
|
|
||||||
# STRIPE
|
|
||||||
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
|
|
||||||
|
|||||||
39
Dockerfile
39
Dockerfile
@@ -1,17 +1,50 @@
|
|||||||
|
# --- Stage 1: Build ---
|
||||||
FROM node:20-alpine as builder
|
FROM node:20-alpine as builder
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
RUN npm install -g pnpm@9
|
RUN npm install -g pnpm@9
|
||||||
|
RUN npm install -g dotenv-cli
|
||||||
|
|
||||||
# Copy necessary files for workspace resolution
|
|
||||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
||||||
COPY packages packages
|
COPY packages packages
|
||||||
COPY tooling tooling
|
COPY tooling tooling
|
||||||
|
COPY .env .env
|
||||||
|
COPY .env.production .env.production
|
||||||
|
|
||||||
# Install all dependencies
|
# Load env file and echo a specific variable
|
||||||
|
# RUN dotenv -e .env -- printenv | grep 'SUPABASE' || true
|
||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN pnpm build
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
|
# 🔍 Optional: Log key envs for debug
|
||||||
|
RUN echo "📄 .env.production contents:" && cat .env.production \
|
||||||
|
&& echo "🔧 Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV' || true
|
||||||
|
RUN node check-env.js
|
||||||
|
|
||||||
|
RUN pnpm build
|
||||||
|
|
||||||
|
|
||||||
|
# --- Stage 2: Runtime ---
|
||||||
|
FROM node:20-alpine
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY --from=builder /app ./
|
||||||
|
|
||||||
|
RUN npm install -g pnpm@9 \
|
||||||
|
&& pnpm install --prod --frozen-lockfile
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
|
# 🔍 Optional: Log key envs for debug
|
||||||
|
RUN echo "📄 .env.production contents:" && cat .env.production \
|
||||||
|
&& echo "🔧 Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV' || true
|
||||||
|
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
CMD ["pnpm", "start"]
|
||||||
|
|||||||
1
check-env.js
Normal file
1
check-env.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
console.log('ENV =', process.env.MEDUSA_BACKEND_URL);
|
||||||
@@ -6,9 +6,11 @@ let MEDUSA_BACKEND_URL = "http://localhost:9000";
|
|||||||
if (process.env.MEDUSA_BACKEND_URL) {
|
if (process.env.MEDUSA_BACKEND_URL) {
|
||||||
MEDUSA_BACKEND_URL = process.env.MEDUSA_BACKEND_URL;
|
MEDUSA_BACKEND_URL = process.env.MEDUSA_BACKEND_URL;
|
||||||
}
|
}
|
||||||
console.log("MEDUSA_BACKEND_URL", MEDUSA_BACKEND_URL);
|
|
||||||
export const sdk = new Medusa({
|
export const SDK_CONFIG = {
|
||||||
baseUrl: MEDUSA_BACKEND_URL,
|
baseUrl: MEDUSA_BACKEND_URL,
|
||||||
debug: process.env.NODE_ENV === "development",
|
debug: process.env.NODE_ENV === "development",
|
||||||
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
|
publishableKey: process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY,
|
||||||
});
|
};
|
||||||
|
|
||||||
|
export const sdk = new Medusa(SDK_CONFIG);
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
"use server"
|
"use server";
|
||||||
|
|
||||||
import { sdk } from "@lib/config"
|
import { sdk, SDK_CONFIG } from "@lib/config";
|
||||||
import { HttpTypes } from "@medusajs/types"
|
import { HttpTypes } from "@medusajs/types";
|
||||||
import { getCacheOptions } from "./cookies"
|
import { getCacheOptions } from "./cookies";
|
||||||
|
|
||||||
export const retrieveCollection = async (id: string) => {
|
export const retrieveCollection = async (id: string) => {
|
||||||
const next = {
|
const next = {
|
||||||
...(await getCacheOptions("collections")),
|
...(await getCacheOptions("collections")),
|
||||||
}
|
};
|
||||||
|
|
||||||
return sdk.client
|
return sdk.client
|
||||||
.fetch<{ collection: HttpTypes.StoreCollection }>(
|
.fetch<{ collection: HttpTypes.StoreCollection }>(
|
||||||
@@ -17,19 +17,19 @@ export const retrieveCollection = async (id: string) => {
|
|||||||
cache: "force-cache",
|
cache: "force-cache",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.then(({ collection }) => collection)
|
.then(({ collection }) => collection);
|
||||||
}
|
};
|
||||||
|
|
||||||
export const listCollections = async (
|
export const listCollections = async (
|
||||||
queryParams: Record<string, string> = {}
|
queryParams: Record<string, string> = {}
|
||||||
): Promise<{ collections: HttpTypes.StoreCollection[]; count: number }> => {
|
): Promise<{ collections: HttpTypes.StoreCollection[]; count: number }> => {
|
||||||
const next = {
|
const next = {
|
||||||
...(await getCacheOptions("collections")),
|
...(await getCacheOptions("collections")),
|
||||||
}
|
};
|
||||||
|
|
||||||
queryParams.limit = queryParams.limit || "100"
|
|
||||||
queryParams.offset = queryParams.offset || "0"
|
|
||||||
|
|
||||||
|
queryParams.limit = queryParams.limit || "100";
|
||||||
|
queryParams.offset = queryParams.offset || "0";
|
||||||
|
console.log("SDK_CONFIG: ", SDK_CONFIG.baseUrl);
|
||||||
return sdk.client
|
return sdk.client
|
||||||
.fetch<{ collections: HttpTypes.StoreCollection[]; count: number }>(
|
.fetch<{ collections: HttpTypes.StoreCollection[]; count: number }>(
|
||||||
"/store/collections",
|
"/store/collections",
|
||||||
@@ -39,15 +39,15 @@ export const listCollections = async (
|
|||||||
cache: "force-cache",
|
cache: "force-cache",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.then(({ collections }) => ({ collections, count: collections.length }))
|
.then(({ collections }) => ({ collections, count: collections.length }));
|
||||||
}
|
};
|
||||||
|
|
||||||
export const getCollectionByHandle = async (
|
export const getCollectionByHandle = async (
|
||||||
handle: string
|
handle: string
|
||||||
): Promise<HttpTypes.StoreCollection> => {
|
): Promise<HttpTypes.StoreCollection> => {
|
||||||
const next = {
|
const next = {
|
||||||
...(await getCacheOptions("collections")),
|
...(await getCacheOptions("collections")),
|
||||||
}
|
};
|
||||||
|
|
||||||
return sdk.client
|
return sdk.client
|
||||||
.fetch<HttpTypes.StoreCollectionListResponse>(`/store/collections`, {
|
.fetch<HttpTypes.StoreCollectionListResponse>(`/store/collections`, {
|
||||||
@@ -55,5 +55,5 @@ export const getCollectionByHandle = async (
|
|||||||
next,
|
next,
|
||||||
cache: "force-cache",
|
cache: "force-cache",
|
||||||
})
|
})
|
||||||
.then(({ collections }) => collections[0])
|
.then(({ collections }) => collections[0]);
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -1,227 +1,227 @@
|
|||||||
create table "public"."connected_online_providers" (
|
-- create table "public"."connected_online_providers" (
|
||||||
"id" bigint not null,
|
-- "id" bigint not null,
|
||||||
"name" text not null,
|
-- "name" text not null,
|
||||||
"email" text,
|
-- "email" text,
|
||||||
"phone_number" text,
|
-- "phone_number" text,
|
||||||
"can_select_worker" boolean not null,
|
-- "can_select_worker" boolean not null,
|
||||||
"personal_code_required" boolean not null,
|
-- "personal_code_required" boolean not null,
|
||||||
"created_at" timestamp with time zone not null default now(),
|
-- "created_at" timestamp with time zone not null default now(),
|
||||||
"updated_at" timestamp without time zone default now()
|
-- "updated_at" timestamp without time zone default now()
|
||||||
);
|
-- );
|
||||||
|
|
||||||
|
|
||||||
alter table "public"."connected_online_providers" enable row level security;
|
-- alter table "public"."connected_online_providers" enable row level security;
|
||||||
|
|
||||||
create table "public"."connected_online_services" (
|
-- create table "public"."connected_online_services" (
|
||||||
"id" bigint not null,
|
-- "id" bigint not null,
|
||||||
"clinic_id" bigint not null,
|
-- "clinic_id" bigint not null,
|
||||||
"sync_id" bigint not null,
|
-- "sync_id" bigint not null,
|
||||||
"name" text not null,
|
-- "name" text not null,
|
||||||
"description" text,
|
-- "description" text,
|
||||||
"price" double precision not null,
|
-- "price" double precision not null,
|
||||||
"requires_payment" boolean not null,
|
-- "requires_payment" boolean not null,
|
||||||
"duration" bigint not null,
|
-- "duration" bigint not null,
|
||||||
"neto_duration" bigint,
|
-- "neto_duration" bigint,
|
||||||
"display" text,
|
-- "display" text,
|
||||||
"price_periods" text,
|
-- "price_periods" text,
|
||||||
"online_hide_duration" bigint,
|
-- "online_hide_duration" bigint,
|
||||||
"online_hide_price" bigint,
|
-- "online_hide_price" bigint,
|
||||||
"code" text not null,
|
-- "code" text not null,
|
||||||
"has_free_codes" boolean not null,
|
-- "has_free_codes" boolean not null,
|
||||||
"created_at" timestamp with time zone not null default now(),
|
-- "created_at" timestamp with time zone not null default now(),
|
||||||
"updated_at" timestamp with time zone default now()
|
-- "updated_at" timestamp with time zone default now()
|
||||||
);
|
-- );
|
||||||
|
|
||||||
|
|
||||||
alter table "public"."connected_online_services" enable row level security;
|
-- alter table "public"."connected_online_services" enable row level security;
|
||||||
|
|
||||||
CREATE UNIQUE INDEX connected_online_providers_id_key ON public.connected_online_providers USING btree (id);
|
-- CREATE UNIQUE INDEX connected_online_providers_id_key ON public.connected_online_providers USING btree (id);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX connected_online_providers_pkey ON public.connected_online_providers USING btree (id);
|
-- CREATE UNIQUE INDEX connected_online_providers_pkey ON public.connected_online_providers USING btree (id);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX connected_online_services_id_key ON public.connected_online_services USING btree (id);
|
-- CREATE UNIQUE INDEX connected_online_services_id_key ON public.connected_online_services USING btree (id);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX connected_online_services_pkey ON public.connected_online_services USING btree (id);
|
-- CREATE UNIQUE INDEX connected_online_services_pkey ON public.connected_online_services USING btree (id);
|
||||||
|
|
||||||
alter table "public"."connected_online_providers" add constraint "connected_online_providers_pkey" PRIMARY KEY using index "connected_online_providers_pkey";
|
-- alter table "public"."connected_online_providers" add constraint "connected_online_providers_pkey" PRIMARY KEY using index "connected_online_providers_pkey";
|
||||||
|
|
||||||
alter table "public"."connected_online_services" add constraint "connected_online_services_pkey" PRIMARY KEY using index "connected_online_services_pkey";
|
-- alter table "public"."connected_online_services" add constraint "connected_online_services_pkey" PRIMARY KEY using index "connected_online_services_pkey";
|
||||||
|
|
||||||
alter table "public"."connected_online_providers" add constraint "connected_online_providers_id_key" UNIQUE using index "connected_online_providers_id_key";
|
-- alter table "public"."connected_online_providers" add constraint "connected_online_providers_id_key" UNIQUE using index "connected_online_providers_id_key";
|
||||||
|
|
||||||
alter table "public"."connected_online_services" add constraint "connected_online_services_clinic_id_fkey" FOREIGN KEY (clinic_id) REFERENCES connected_online_providers(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
-- alter table "public"."connected_online_services" add constraint "connected_online_services_clinic_id_fkey" FOREIGN KEY (clinic_id) REFERENCES connected_online_providers(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
||||||
|
|
||||||
alter table "public"."connected_online_services" validate constraint "connected_online_services_clinic_id_fkey";
|
-- alter table "public"."connected_online_services" validate constraint "connected_online_services_clinic_id_fkey";
|
||||||
|
|
||||||
alter table "public"."connected_online_services" add constraint "connected_online_services_id_key" UNIQUE using index "connected_online_services_id_key";
|
-- alter table "public"."connected_online_services" add constraint "connected_online_services_id_key" UNIQUE using index "connected_online_services_id_key";
|
||||||
|
|
||||||
grant delete on table "public"."connected_online_providers" to "service_role";
|
-- grant delete on table "public"."connected_online_providers" to "service_role";
|
||||||
|
|
||||||
grant insert on table "public"."connected_online_providers" to "service_role";
|
-- grant insert on table "public"."connected_online_providers" to "service_role";
|
||||||
|
|
||||||
grant references on table "public"."connected_online_providers" to "service_role";
|
-- grant references on table "public"."connected_online_providers" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."connected_online_providers" to "service_role";
|
-- grant select on table "public"."connected_online_providers" to "service_role";
|
||||||
|
|
||||||
grant trigger on table "public"."connected_online_providers" to "service_role";
|
-- grant trigger on table "public"."connected_online_providers" to "service_role";
|
||||||
|
|
||||||
grant truncate on table "public"."connected_online_providers" to "service_role";
|
-- grant truncate on table "public"."connected_online_providers" to "service_role";
|
||||||
|
|
||||||
grant update on table "public"."connected_online_providers" to "service_role";
|
-- grant update on table "public"."connected_online_providers" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."connected_online_providers" to "authenticated";
|
-- grant select on table "public"."connected_online_providers" to "authenticated";
|
||||||
|
|
||||||
grant delete on table "public"."connected_online_services" to "service_role";
|
-- grant delete on table "public"."connected_online_services" to "service_role";
|
||||||
|
|
||||||
grant insert on table "public"."connected_online_services" to "service_role";
|
-- grant insert on table "public"."connected_online_services" to "service_role";
|
||||||
|
|
||||||
grant references on table "public"."connected_online_services" to "service_role";
|
-- grant references on table "public"."connected_online_services" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."connected_online_services" to "service_role";
|
-- grant select on table "public"."connected_online_services" to "service_role";
|
||||||
|
|
||||||
grant trigger on table "public"."connected_online_services" to "service_role";
|
-- grant trigger on table "public"."connected_online_services" to "service_role";
|
||||||
|
|
||||||
grant truncate on table "public"."connected_online_services" to "service_role";
|
-- grant truncate on table "public"."connected_online_services" to "service_role";
|
||||||
|
|
||||||
grant update on table "public"."connected_online_services" to "service_role";
|
-- grant update on table "public"."connected_online_services" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."connected_online_services" to "authenticated";
|
-- grant select on table "public"."connected_online_services" to "authenticated";
|
||||||
|
|
||||||
create type "audit"."request_status" as enum ('SUCCESS', 'FAIL');
|
-- create type "audit"."request_status" as enum ('SUCCESS', 'FAIL');
|
||||||
|
|
||||||
create table "audit"."request_entries" (
|
-- create table "audit"."request_entries" (
|
||||||
"id" bigint generated by default as identity not null,
|
-- "id" bigint generated by default as identity not null,
|
||||||
"personal_code" bigint,
|
-- "personal_code" bigint,
|
||||||
"request_api" text not null,
|
-- "request_api" text not null,
|
||||||
"request_api_method" text not null,
|
-- "request_api_method" text not null,
|
||||||
"status" audit.request_status not null,
|
-- "status" audit.request_status not null,
|
||||||
"comment" text,
|
-- "comment" text,
|
||||||
"service_provider_id" bigint,
|
-- "service_provider_id" bigint,
|
||||||
"service_id" bigint,
|
-- "service_id" bigint,
|
||||||
"requested_start_date" timestamp with time zone,
|
-- "requested_start_date" timestamp with time zone,
|
||||||
"requested_end_date" timestamp with time zone,
|
-- "requested_end_date" timestamp with time zone,
|
||||||
"created_at" timestamp with time zone not null default now()
|
-- "created_at" timestamp with time zone not null default now()
|
||||||
);
|
-- );
|
||||||
|
|
||||||
|
|
||||||
alter table "audit"."request_entries" enable row level security;
|
-- alter table "audit"."request_entries" enable row level security;
|
||||||
|
|
||||||
CREATE UNIQUE INDEX request_entries_pkey ON audit.request_entries USING btree (id);
|
-- CREATE UNIQUE INDEX request_entries_pkey ON audit.request_entries USING btree (id);
|
||||||
|
|
||||||
alter table "audit"."request_entries" add constraint "request_entries_pkey" PRIMARY KEY using index "request_entries_pkey";
|
-- alter table "audit"."request_entries" add constraint "request_entries_pkey" PRIMARY KEY using index "request_entries_pkey";
|
||||||
|
|
||||||
grant delete on table "audit"."request_entries" to "service_role";
|
-- grant delete on table "audit"."request_entries" to "service_role";
|
||||||
|
|
||||||
grant insert on table "audit"."request_entries" to "service_role";
|
-- grant insert on table "audit"."request_entries" to "service_role";
|
||||||
|
|
||||||
grant references on table "audit"."request_entries" to "service_role";
|
-- grant references on table "audit"."request_entries" to "service_role";
|
||||||
|
|
||||||
grant select on table "audit"."request_entries" to "service_role";
|
-- grant select on table "audit"."request_entries" to "service_role";
|
||||||
|
|
||||||
grant trigger on table "audit"."request_entries" to "service_role";
|
-- grant trigger on table "audit"."request_entries" to "service_role";
|
||||||
|
|
||||||
grant truncate on table "audit"."request_entries" to "service_role";
|
-- grant truncate on table "audit"."request_entries" to "service_role";
|
||||||
|
|
||||||
grant update on table "audit"."request_entries" to "service_role";
|
-- grant update on table "audit"."request_entries" to "service_role";
|
||||||
|
|
||||||
create policy "service_role_all"
|
-- create policy "service_role_all"
|
||||||
on "audit"."request_entries"
|
-- on "audit"."request_entries"
|
||||||
as permissive
|
-- as permissive
|
||||||
for all
|
-- for all
|
||||||
to service_role
|
-- to service_role
|
||||||
using (true);
|
-- using (true);
|
||||||
|
|
||||||
create table "public"."connected_online_reservation" (
|
-- create table "public"."connected_online_reservation" (
|
||||||
"id" bigint generated by default as identity not null,
|
-- "id" bigint generated by default as identity not null,
|
||||||
"user_id" uuid not null,
|
-- "user_id" uuid not null,
|
||||||
"booking_code" text not null,
|
-- "booking_code" text not null,
|
||||||
"service_id" bigint not null,
|
-- "service_id" bigint not null,
|
||||||
"clinic_id" bigint not null,
|
-- "clinic_id" bigint not null,
|
||||||
"service_user_id" bigint,
|
-- "service_user_id" bigint,
|
||||||
"sync_user_id" bigint not null,
|
-- "sync_user_id" bigint not null,
|
||||||
"requires_payment" boolean not null,
|
-- "requires_payment" boolean not null,
|
||||||
"comments" text,
|
-- "comments" text,
|
||||||
"start_time" timestamp with time zone not null,
|
-- "start_time" timestamp with time zone not null,
|
||||||
"lang" text not null,
|
-- "lang" text not null,
|
||||||
"discount_code" text,
|
-- "discount_code" text,
|
||||||
"created_at" timestamp with time zone not null default now(),
|
-- "created_at" timestamp with time zone not null default now(),
|
||||||
"updated_at" timestamp with time zone default now()
|
-- "updated_at" timestamp with time zone default now()
|
||||||
);
|
-- );
|
||||||
|
|
||||||
|
|
||||||
alter table "public"."connected_online_reservation" enable row level security;
|
-- alter table "public"."connected_online_reservation" enable row level security;
|
||||||
|
|
||||||
CREATE UNIQUE INDEX connected_online_reservation_booking_code_key ON public.connected_online_reservation USING btree (booking_code);
|
-- CREATE UNIQUE INDEX connected_online_reservation_booking_code_key ON public.connected_online_reservation USING btree (booking_code);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX connected_online_reservation_pkey ON public.connected_online_reservation USING btree (id);
|
-- CREATE UNIQUE INDEX connected_online_reservation_pkey ON public.connected_online_reservation USING btree (id);
|
||||||
|
|
||||||
alter table "public"."connected_online_reservation" add constraint "connected_online_reservation_pkey" PRIMARY KEY using index "connected_online_reservation_pkey";
|
-- alter table "public"."connected_online_reservation" add constraint "connected_online_reservation_pkey" PRIMARY KEY using index "connected_online_reservation_pkey";
|
||||||
|
|
||||||
alter table "public"."connected_online_reservation" add constraint "connected_online_reservation_booking_code_key" UNIQUE using index "connected_online_reservation_booking_code_key";
|
-- alter table "public"."connected_online_reservation" add constraint "connected_online_reservation_booking_code_key" UNIQUE using index "connected_online_reservation_booking_code_key";
|
||||||
|
|
||||||
alter table "public"."connected_online_reservation" add constraint "connected_online_reservation_user_id_fkey" FOREIGN KEY (user_id) REFERENCES auth.users(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
-- alter table "public"."connected_online_reservation" add constraint "connected_online_reservation_user_id_fkey" FOREIGN KEY (user_id) REFERENCES auth.users(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
||||||
|
|
||||||
alter table "public"."connected_online_reservation" validate constraint "connected_online_reservation_user_id_fkey";
|
-- alter table "public"."connected_online_reservation" validate constraint "connected_online_reservation_user_id_fkey";
|
||||||
|
|
||||||
grant delete on table "public"."connected_online_reservation" to "service_role";
|
-- grant delete on table "public"."connected_online_reservation" to "service_role";
|
||||||
|
|
||||||
grant insert on table "public"."connected_online_reservation" to "service_role";
|
-- grant insert on table "public"."connected_online_reservation" to "service_role";
|
||||||
|
|
||||||
grant references on table "public"."connected_online_reservation" to "service_role";
|
-- grant references on table "public"."connected_online_reservation" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."connected_online_reservation" to "service_role";
|
-- grant select on table "public"."connected_online_reservation" to "service_role";
|
||||||
|
|
||||||
grant trigger on table "public"."connected_online_reservation" to "service_role";
|
-- grant trigger on table "public"."connected_online_reservation" to "service_role";
|
||||||
|
|
||||||
grant truncate on table "public"."connected_online_reservation" to "service_role";
|
-- grant truncate on table "public"."connected_online_reservation" to "service_role";
|
||||||
|
|
||||||
grant update on table "public"."connected_online_reservation" to "service_role";
|
-- grant update on table "public"."connected_online_reservation" to "service_role";
|
||||||
|
|
||||||
create policy "service_role_all"
|
-- create policy "service_role_all"
|
||||||
on "public"."connected_online_reservation"
|
-- on "public"."connected_online_reservation"
|
||||||
as permissive
|
-- as permissive
|
||||||
for all
|
-- for all
|
||||||
to service_role
|
-- to service_role
|
||||||
using (true);
|
-- using (true);
|
||||||
|
|
||||||
|
|
||||||
CREATE TRIGGER connected_online_providers_change_record_timestamps AFTER INSERT OR UPDATE ON public.connected_online_providers FOR EACH ROW EXECUTE FUNCTION trigger_set_timestamps();
|
-- CREATE TRIGGER connected_online_providers_change_record_timestamps AFTER INSERT OR UPDATE ON public.connected_online_providers FOR EACH ROW EXECUTE FUNCTION trigger_set_timestamps();
|
||||||
|
|
||||||
CREATE TRIGGER connected_online_services_change_record_timestamps AFTER INSERT OR UPDATE ON public.connected_online_services FOR EACH ROW EXECUTE FUNCTION trigger_set_timestamps();
|
-- CREATE TRIGGER connected_online_services_change_record_timestamps AFTER INSERT OR UPDATE ON public.connected_online_services FOR EACH ROW EXECUTE FUNCTION trigger_set_timestamps();
|
||||||
|
|
||||||
create policy "service_role_all"
|
-- create policy "service_role_all"
|
||||||
on "public"."connected_online_providers"
|
-- on "public"."connected_online_providers"
|
||||||
as permissive
|
-- as permissive
|
||||||
for all
|
-- for all
|
||||||
to service_role
|
-- to service_role
|
||||||
using (true);
|
-- using (true);
|
||||||
|
|
||||||
|
|
||||||
create policy "service_role_all"
|
-- create policy "service_role_all"
|
||||||
on "public"."connected_online_services"
|
-- on "public"."connected_online_services"
|
||||||
as permissive
|
-- as permissive
|
||||||
for all
|
-- for all
|
||||||
to service_role
|
-- to service_role
|
||||||
using (true);
|
-- using (true);
|
||||||
|
|
||||||
create policy "authenticated_select"
|
-- create policy "authenticated_select"
|
||||||
on "public"."connected_online_providers"
|
-- on "public"."connected_online_providers"
|
||||||
as permissive
|
-- as permissive
|
||||||
for select
|
-- for select
|
||||||
to authenticated
|
-- to authenticated
|
||||||
using (true);
|
-- using (true);
|
||||||
|
|
||||||
create policy "authenticated_select"
|
-- create policy "authenticated_select"
|
||||||
on "public"."connected_online_services"
|
-- on "public"."connected_online_services"
|
||||||
as permissive
|
-- as permissive
|
||||||
for select
|
-- for select
|
||||||
to authenticated
|
-- to authenticated
|
||||||
using (true);
|
-- using (true);
|
||||||
|
|
||||||
|
|
||||||
create policy "own_all"
|
-- create policy "own_all"
|
||||||
on "public"."connected_online_reservation"
|
-- on "public"."connected_online_reservation"
|
||||||
as permissive
|
-- as permissive
|
||||||
for all
|
-- for all
|
||||||
to authenticated
|
-- to authenticated
|
||||||
using ((( SELECT auth.uid() AS uid) = user_id));
|
-- using ((( SELECT auth.uid() AS uid) = user_id));
|
||||||
@@ -1,225 +1,225 @@
|
|||||||
|
|
||||||
create table "public"."medreport_product_groups" (
|
-- create table "public"."medreport_product_groups" (
|
||||||
"id" bigint generated by default as identity not null,
|
-- "id" bigint generated by default as identity not null,
|
||||||
"name" text not null,
|
-- "name" text not null,
|
||||||
"created_at" timestamp with time zone not null default now(),
|
-- "created_at" timestamp with time zone not null default now(),
|
||||||
"updated_at" timestamp with time zone
|
-- "updated_at" timestamp with time zone
|
||||||
);
|
-- );
|
||||||
|
|
||||||
create table "public"."medreport_products" (
|
-- create table "public"."medreport_products" (
|
||||||
"id" bigint generated by default as identity not null,
|
-- "id" bigint generated by default as identity not null,
|
||||||
"name" text not null,
|
-- "name" text not null,
|
||||||
"product_group_id" bigint,
|
-- "product_group_id" bigint,
|
||||||
"created_at" timestamp with time zone not null default now(),
|
-- "created_at" timestamp with time zone not null default now(),
|
||||||
"updated_at" timestamp with time zone default now()
|
-- "updated_at" timestamp with time zone default now()
|
||||||
);
|
-- );
|
||||||
|
|
||||||
|
|
||||||
alter table "public"."medreport_products" enable row level security;
|
-- alter table "public"."medreport_products" enable row level security;
|
||||||
|
|
||||||
create table "public"."medreport_products_analyses_relations" (
|
-- create table "public"."medreport_products_analyses_relations" (
|
||||||
"product_id" bigint not null,
|
-- "product_id" bigint not null,
|
||||||
"analysis_element_id" bigint,
|
-- "analysis_element_id" bigint,
|
||||||
"analysis_id" bigint
|
-- "analysis_id" bigint
|
||||||
);
|
-- );
|
||||||
|
|
||||||
alter table "public"."medreport_product_groups" enable row level security;
|
-- alter table "public"."medreport_product_groups" enable row level security;
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" enable row level security;
|
-- alter table "public"."medreport_products_analyses_relations" enable row level security;
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_product_groups_name_key ON public.medreport_product_groups USING btree (name);
|
-- CREATE UNIQUE INDEX medreport_product_groups_name_key ON public.medreport_product_groups USING btree (name);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_product_groups_pkey ON public.medreport_product_groups USING btree (id);
|
-- CREATE UNIQUE INDEX medreport_product_groups_pkey ON public.medreport_product_groups USING btree (id);
|
||||||
|
|
||||||
alter table "public"."medreport_product_groups" add constraint "medreport_product_groups_pkey" PRIMARY KEY using index "medreport_product_groups_pkey";
|
-- alter table "public"."medreport_product_groups" add constraint "medreport_product_groups_pkey" PRIMARY KEY using index "medreport_product_groups_pkey";
|
||||||
|
|
||||||
alter table "public"."medreport_product_groups" add constraint "medreport_product_groups_name_key" UNIQUE using index "medreport_product_groups_name_key";
|
-- alter table "public"."medreport_product_groups" add constraint "medreport_product_groups_name_key" UNIQUE using index "medreport_product_groups_name_key";
|
||||||
|
|
||||||
alter table "public"."medreport_products" add constraint "medreport_products_product_groups_id_fkey" FOREIGN KEY (product_group_id) REFERENCES medreport_product_groups(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
-- alter table "public"."medreport_products" add constraint "medreport_products_product_groups_id_fkey" FOREIGN KEY (product_group_id) REFERENCES medreport_product_groups(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
||||||
|
|
||||||
alter table "public"."medreport_products" validate constraint "medreport_products_product_groups_id_fkey";
|
-- alter table "public"."medreport_products" validate constraint "medreport_products_product_groups_id_fkey";
|
||||||
|
|
||||||
grant select on table "public"."medreport_product_groups" to "anon";
|
-- grant select on table "public"."medreport_product_groups" to "anon";
|
||||||
|
|
||||||
grant select on table "public"."medreport_product_groups" to "authenticated";
|
-- grant select on table "public"."medreport_product_groups" to "authenticated";
|
||||||
|
|
||||||
grant delete on table "public"."medreport_product_groups" to "service_role";
|
-- grant delete on table "public"."medreport_product_groups" to "service_role";
|
||||||
|
|
||||||
grant insert on table "public"."medreport_product_groups" to "service_role";
|
-- grant insert on table "public"."medreport_product_groups" to "service_role";
|
||||||
|
|
||||||
grant references on table "public"."medreport_product_groups" to "service_role";
|
-- grant references on table "public"."medreport_product_groups" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."medreport_product_groups" to "service_role";
|
-- grant select on table "public"."medreport_product_groups" to "service_role";
|
||||||
|
|
||||||
grant trigger on table "public"."medreport_product_groups" to "service_role";
|
-- grant trigger on table "public"."medreport_product_groups" to "service_role";
|
||||||
|
|
||||||
grant truncate on table "public"."medreport_product_groups" to "service_role";
|
-- grant truncate on table "public"."medreport_product_groups" to "service_role";
|
||||||
|
|
||||||
grant update on table "public"."medreport_product_groups" to "service_role";
|
-- grant update on table "public"."medreport_product_groups" to "service_role";
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_products_analyses_analysis_element_id_key ON public.medreport_products_analyses_relations USING btree (analysis_element_id);
|
-- CREATE UNIQUE INDEX medreport_products_analyses_analysis_element_id_key ON public.medreport_products_analyses_relations USING btree (analysis_element_id);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_products_analyses_analysis_id_key ON public.medreport_products_analyses_relations USING btree (analysis_id);
|
-- CREATE UNIQUE INDEX medreport_products_analyses_analysis_id_key ON public.medreport_products_analyses_relations USING btree (analysis_id);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_products_analyses_pkey ON public.medreport_products_analyses_relations USING btree (product_id);
|
-- CREATE UNIQUE INDEX medreport_products_analyses_pkey ON public.medreport_products_analyses_relations USING btree (product_id);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_products_name_key ON public.medreport_products USING btree (name);
|
-- CREATE UNIQUE INDEX medreport_products_name_key ON public.medreport_products USING btree (name);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_products_pkey ON public.medreport_products USING btree (id);
|
-- CREATE UNIQUE INDEX medreport_products_pkey ON public.medreport_products USING btree (id);
|
||||||
|
|
||||||
alter table "public"."medreport_products" add constraint "medreport_products_pkey" PRIMARY KEY using index "medreport_products_pkey";
|
-- alter table "public"."medreport_products" add constraint "medreport_products_pkey" PRIMARY KEY using index "medreport_products_pkey";
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_pkey" PRIMARY KEY using index "medreport_products_analyses_pkey";
|
-- alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_pkey" PRIMARY KEY using index "medreport_products_analyses_pkey";
|
||||||
|
|
||||||
alter table "public"."medreport_products" add constraint "medreport_products_name_key" UNIQUE using index "medreport_products_name_key";
|
-- alter table "public"."medreport_products" add constraint "medreport_products_name_key" UNIQUE using index "medreport_products_name_key";
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_analysis_element_id_fkey" FOREIGN KEY (analysis_element_id) REFERENCES analysis_elements(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
-- alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_analysis_element_id_fkey" FOREIGN KEY (analysis_element_id) REFERENCES analysis_elements(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" validate constraint "medreport_products_analyses_analysis_element_id_fkey";
|
-- alter table "public"."medreport_products_analyses_relations" validate constraint "medreport_products_analyses_analysis_element_id_fkey";
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_analysis_element_id_key" UNIQUE using index "medreport_products_analyses_analysis_element_id_key";
|
-- alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_analysis_element_id_key" UNIQUE using index "medreport_products_analyses_analysis_element_id_key";
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_analysis_id_fkey" FOREIGN KEY (analysis_id) REFERENCES analyses(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
-- alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_analysis_id_fkey" FOREIGN KEY (analysis_id) REFERENCES analyses(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" validate constraint "medreport_products_analyses_analysis_id_fkey";
|
-- alter table "public"."medreport_products_analyses_relations" validate constraint "medreport_products_analyses_analysis_id_fkey";
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_analysis_id_key" UNIQUE using index "medreport_products_analyses_analysis_id_key";
|
-- alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_analysis_id_key" UNIQUE using index "medreport_products_analyses_analysis_id_key";
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_product_id_fkey" FOREIGN KEY (product_id) REFERENCES medreport_products(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
-- alter table "public"."medreport_products_analyses_relations" add constraint "medreport_products_analyses_product_id_fkey" FOREIGN KEY (product_id) REFERENCES medreport_products(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" validate constraint "medreport_products_analyses_product_id_fkey";
|
-- alter table "public"."medreport_products_analyses_relations" validate constraint "medreport_products_analyses_product_id_fkey";
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" add constraint "product_can_be_tied_to_only_one_external_item" CHECK (((analysis_id IS NULL) OR (analysis_element_id IS NULL))) not valid;
|
-- alter table "public"."medreport_products_analyses_relations" add constraint "product_can_be_tied_to_only_one_external_item" CHECK (((analysis_id IS NULL) OR (analysis_element_id IS NULL))) not valid;
|
||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" validate constraint "product_can_be_tied_to_only_one_external_item";
|
-- alter table "public"."medreport_products_analyses_relations" validate constraint "product_can_be_tied_to_only_one_external_item";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products" to "anon";
|
-- grant select on table "public"."medreport_products" to "anon";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products" to "authenticated";
|
-- grant select on table "public"."medreport_products" to "authenticated";
|
||||||
|
|
||||||
grant delete on table "public"."medreport_products" to "service_role";
|
-- grant delete on table "public"."medreport_products" to "service_role";
|
||||||
|
|
||||||
grant insert on table "public"."medreport_products" to "service_role";
|
-- grant insert on table "public"."medreport_products" to "service_role";
|
||||||
|
|
||||||
grant references on table "public"."medreport_products" to "service_role";
|
-- grant references on table "public"."medreport_products" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products" to "service_role";
|
-- grant select on table "public"."medreport_products" to "service_role";
|
||||||
|
|
||||||
grant trigger on table "public"."medreport_products" to "service_role";
|
-- grant trigger on table "public"."medreport_products" to "service_role";
|
||||||
|
|
||||||
grant truncate on table "public"."medreport_products" to "service_role";
|
-- grant truncate on table "public"."medreport_products" to "service_role";
|
||||||
|
|
||||||
grant update on table "public"."medreport_products" to "service_role";
|
-- grant update on table "public"."medreport_products" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products_analyses_relations" to "anon";
|
-- grant select on table "public"."medreport_products_analyses_relations" to "anon";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products_analyses_relations" to "authenticated";
|
-- grant select on table "public"."medreport_products_analyses_relations" to "authenticated";
|
||||||
|
|
||||||
grant delete on table "public"."medreport_products_analyses_relations" to "service_role";
|
-- grant delete on table "public"."medreport_products_analyses_relations" to "service_role";
|
||||||
|
|
||||||
grant insert on table "public"."medreport_products_analyses_relations" to "service_role";
|
-- grant insert on table "public"."medreport_products_analyses_relations" to "service_role";
|
||||||
|
|
||||||
grant references on table "public"."medreport_products_analyses_relations" to "service_role";
|
-- grant references on table "public"."medreport_products_analyses_relations" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products_analyses_relations" to "service_role";
|
-- grant select on table "public"."medreport_products_analyses_relations" to "service_role";
|
||||||
|
|
||||||
grant trigger on table "public"."medreport_products_analyses_relations" to "service_role";
|
-- grant trigger on table "public"."medreport_products_analyses_relations" to "service_role";
|
||||||
|
|
||||||
grant truncate on table "public"."medreport_products_analyses_relations" to "service_role";
|
-- grant truncate on table "public"."medreport_products_analyses_relations" to "service_role";
|
||||||
|
|
||||||
grant update on table "public"."medreport_products_analyses_relations" to "service_role";
|
-- grant update on table "public"."medreport_products_analyses_relations" to "service_role";
|
||||||
|
|
||||||
create policy "Enable read access for all users"
|
-- create policy "Enable read access for all users"
|
||||||
on "public"."medreport_products_analyses_relations"
|
-- on "public"."medreport_products_analyses_relations"
|
||||||
as permissive
|
-- as permissive
|
||||||
for select
|
-- for select
|
||||||
to public
|
-- to public
|
||||||
using (true);
|
-- using (true);
|
||||||
|
|
||||||
|
|
||||||
ALTER TABLE medreport_products_analyses_relations
|
-- ALTER TABLE medreport_products_analyses_relations
|
||||||
ADD CONSTRAINT product_can_be_tied_to_only_one_analysis_item
|
-- ADD CONSTRAINT product_can_be_tied_to_only_one_analysis_item
|
||||||
CHECK (analysis_id IS NULL OR analysis_element_id IS NULL);
|
-- CHECK (analysis_id IS NULL OR analysis_element_id IS NULL);
|
||||||
|
|
||||||
|
|
||||||
create table "public"."medreport_products_external_services_relations" (
|
-- create table "public"."medreport_products_external_services_relations" (
|
||||||
"product_id" bigint not null,
|
-- "product_id" bigint not null,
|
||||||
"connected_online_service_id" bigint not null
|
-- "connected_online_service_id" bigint not null
|
||||||
);
|
-- );
|
||||||
|
|
||||||
alter table "public"."medreport_products_external_services_relations" enable row level security;
|
-- alter table "public"."medreport_products_external_services_relations" enable row level security;
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_products_connected_online_services_id_key ON public.medreport_products_external_services_relations USING btree (connected_online_service_id);
|
-- CREATE UNIQUE INDEX medreport_products_connected_online_services_id_key ON public.medreport_products_external_services_relations USING btree (connected_online_service_id);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medreport_products_connected_online_services_pkey ON public.medreport_products_external_services_relations USING btree (connected_online_service_id);
|
-- CREATE UNIQUE INDEX medreport_products_connected_online_services_pkey ON public.medreport_products_external_services_relations USING btree (connected_online_service_id);
|
||||||
|
|
||||||
alter table "public"."medreport_products_external_services_relations" add constraint "medreport_products_connected_online_services_pkey" PRIMARY KEY using index "medreport_products_connected_online_services_pkey";
|
-- alter table "public"."medreport_products_external_services_relations" add constraint "medreport_products_connected_online_services_pkey" PRIMARY KEY using index "medreport_products_connected_online_services_pkey";
|
||||||
|
|
||||||
alter table "public"."medreport_products_external_services_relations" add constraint "medreport_products_connected_online_services_id_fkey" FOREIGN KEY (connected_online_service_id) REFERENCES connected_online_services(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
-- alter table "public"."medreport_products_external_services_relations" add constraint "medreport_products_connected_online_services_id_fkey" FOREIGN KEY (connected_online_service_id) REFERENCES connected_online_services(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
||||||
|
|
||||||
alter table "public"."medreport_products_external_services_relations" validate constraint "medreport_products_connected_online_services_id_fkey";
|
-- alter table "public"."medreport_products_external_services_relations" validate constraint "medreport_products_connected_online_services_id_fkey";
|
||||||
|
|
||||||
alter table "public"."medreport_products_external_services_relations" add constraint "medreport_products_connected_online_services_id_key" UNIQUE using index "medreport_products_connected_online_services_id_key";
|
-- alter table "public"."medreport_products_external_services_relations" add constraint "medreport_products_connected_online_services_id_key" UNIQUE using index "medreport_products_connected_online_services_id_key";
|
||||||
|
|
||||||
alter table "public"."medreport_products_external_services_relations" add constraint "medreport_products_connected_online_services_product_id_fkey" FOREIGN KEY (product_id) REFERENCES medreport_products(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
-- alter table "public"."medreport_products_external_services_relations" add constraint "medreport_products_connected_online_services_product_id_fkey" FOREIGN KEY (product_id) REFERENCES medreport_products(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;
|
||||||
|
|
||||||
alter table "public"."medreport_products_external_services_relations" validate constraint "medreport_products_connected_online_services_product_id_fkey";
|
-- alter table "public"."medreport_products_external_services_relations" validate constraint "medreport_products_connected_online_services_product_id_fkey";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products_external_services_relations" to "anon";
|
-- grant select on table "public"."medreport_products_external_services_relations" to "anon";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products_external_services_relations" to "authenticated";
|
-- grant select on table "public"."medreport_products_external_services_relations" to "authenticated";
|
||||||
|
|
||||||
grant delete on table "public"."medreport_products_external_services_relations" to "service_role";
|
-- grant delete on table "public"."medreport_products_external_services_relations" to "service_role";
|
||||||
|
|
||||||
grant insert on table "public"."medreport_products_external_services_relations" to "service_role";
|
-- grant insert on table "public"."medreport_products_external_services_relations" to "service_role";
|
||||||
|
|
||||||
grant references on table "public"."medreport_products_external_services_relations" to "service_role";
|
-- grant references on table "public"."medreport_products_external_services_relations" to "service_role";
|
||||||
|
|
||||||
grant select on table "public"."medreport_products_external_services_relations" to "service_role";
|
-- grant select on table "public"."medreport_products_external_services_relations" to "service_role";
|
||||||
|
|
||||||
grant trigger on table "public"."medreport_products_external_services_relations" to "service_role";
|
-- grant trigger on table "public"."medreport_products_external_services_relations" to "service_role";
|
||||||
|
|
||||||
grant truncate on table "public"."medreport_products_external_services_relations" to "service_role";
|
-- grant truncate on table "public"."medreport_products_external_services_relations" to "service_role";
|
||||||
|
|
||||||
grant update on table "public"."medreport_products_external_services_relations" to "service_role";
|
-- grant update on table "public"."medreport_products_external_services_relations" to "service_role";
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION check_tied_to_connected_online()
|
-- CREATE OR REPLACE FUNCTION check_tied_to_connected_online()
|
||||||
RETURNS TRIGGER AS $$
|
-- RETURNS TRIGGER AS $$
|
||||||
BEGIN
|
-- BEGIN
|
||||||
IF EXISTS (
|
-- IF EXISTS (
|
||||||
SELECT 1
|
-- SELECT 1
|
||||||
FROM medreport_products_external_services_relations
|
-- FROM medreport_products_external_services_relations
|
||||||
WHERE product_id = NEW.product_id
|
-- WHERE product_id = NEW.product_id
|
||||||
) THEN
|
-- ) THEN
|
||||||
RAISE EXCEPTION 'Value "%" already exists in medreport_products_external_services_relations', NEW.product_id;
|
-- RAISE EXCEPTION 'Value "%" already exists in medreport_products_external_services_relations', NEW.product_id;
|
||||||
END IF;
|
-- END IF;
|
||||||
|
|
||||||
RETURN NEW;
|
-- RETURN NEW;
|
||||||
END;
|
-- END;
|
||||||
$$ LANGUAGE plpgsql;
|
-- $$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION check_tied_to_analysis_item()
|
-- CREATE OR REPLACE FUNCTION check_tied_to_analysis_item()
|
||||||
RETURNS TRIGGER AS $$
|
-- RETURNS TRIGGER AS $$
|
||||||
BEGIN
|
-- BEGIN
|
||||||
IF EXISTS (
|
-- IF EXISTS (
|
||||||
SELECT 1
|
-- SELECT 1
|
||||||
FROM medreport_products_analyses_relations
|
-- FROM medreport_products_analyses_relations
|
||||||
WHERE product_id = NEW.product_id
|
-- WHERE product_id = NEW.product_id
|
||||||
) THEN
|
-- ) THEN
|
||||||
RAISE EXCEPTION 'Value "%" already exists in medreport_products_analyses_relations', NEW.product_id;
|
-- RAISE EXCEPTION 'Value "%" already exists in medreport_products_analyses_relations', NEW.product_id;
|
||||||
END IF;
|
-- END IF;
|
||||||
|
|
||||||
RETURN NEW;
|
-- RETURN NEW;
|
||||||
END;
|
-- END;
|
||||||
$$ LANGUAGE plpgsql;
|
-- $$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
CREATE TRIGGER check_not_already_tied_to_connected_online BEFORE INSERT OR UPDATE ON public.medreport_products_analyses_relations FOR EACH ROW EXECUTE FUNCTION check_tied_to_connected_online();
|
-- CREATE TRIGGER check_not_already_tied_to_connected_online BEFORE INSERT OR UPDATE ON public.medreport_products_analyses_relations FOR EACH ROW EXECUTE FUNCTION check_tied_to_connected_online();
|
||||||
|
|
||||||
CREATE TRIGGER check_not_already_tied_to_analysis BEFORE INSERT OR UPDATE ON public.medreport_products_external_services_relations FOR EACH ROW EXECUTE FUNCTION check_tied_to_analysis_item();
|
-- CREATE TRIGGER check_not_already_tied_to_analysis BEFORE INSERT OR UPDATE ON public.medreport_products_external_services_relations FOR EACH ROW EXECUTE FUNCTION check_tied_to_analysis_item();
|
||||||
|
|
||||||
create policy "read_all"
|
-- create policy "read_all"
|
||||||
on "public"."medreport_product_groups"
|
-- on "public"."medreport_product_groups"
|
||||||
as permissive
|
-- as permissive
|
||||||
for select
|
-- for select
|
||||||
to public
|
-- to public
|
||||||
using (true);
|
-- using (true);
|
||||||
|
|||||||
@@ -680,17 +680,17 @@ drop policy "accounts_self_update" on "public"."accounts";
|
|||||||
|
|
||||||
drop policy "create_org_account" on "public"."accounts";
|
drop policy "create_org_account" on "public"."accounts";
|
||||||
|
|
||||||
drop policy "restrict_mfa_accounts" on "public"."accounts";
|
-- drop policy "restrict_mfa_accounts" on "public"."accounts";
|
||||||
|
|
||||||
drop policy "super_admins_access_accounts" on "public"."accounts";
|
-- drop policy "super_admins_access_accounts" on "public"."accounts";
|
||||||
|
|
||||||
drop policy "accounts_memberships_delete" on "public"."accounts_memberships";
|
drop policy "accounts_memberships_delete" on "public"."accounts_memberships";
|
||||||
|
|
||||||
drop policy "accounts_memberships_read" on "public"."accounts_memberships";
|
drop policy "accounts_memberships_read" on "public"."accounts_memberships";
|
||||||
|
|
||||||
drop policy "restrict_mfa_accounts_memberships" on "public"."accounts_memberships";
|
-- drop policy "restrict_mfa_accounts_memberships" on "public"."accounts_memberships";
|
||||||
|
|
||||||
drop policy "super_admins_access_accounts_memberships" on "public"."accounts_memberships";
|
-- drop policy "super_admins_access_accounts_memberships" on "public"."accounts_memberships";
|
||||||
|
|
||||||
drop policy "analysis_all" on "public"."analyses";
|
drop policy "analysis_all" on "public"."analyses";
|
||||||
|
|
||||||
@@ -742,53 +742,53 @@ drop policy "invitations_read_self" on "public"."invitations";
|
|||||||
|
|
||||||
drop policy "invitations_update" on "public"."invitations";
|
drop policy "invitations_update" on "public"."invitations";
|
||||||
|
|
||||||
drop policy "restrict_mfa_invitations" on "public"."invitations";
|
-- drop policy "restrict_mfa_invitations" on "public"."invitations";
|
||||||
|
|
||||||
drop policy "super_admins_access_invitations" on "public"."invitations";
|
-- drop policy "super_admins_access_invitations" on "public"."invitations";
|
||||||
|
|
||||||
drop policy "read_all" on "public"."medreport_product_groups";
|
drop policy "read_all" on "public"."medreport_product_groups";
|
||||||
|
|
||||||
drop policy "Enable read access for all users" on "public"."medreport_products_analyses_relations";
|
drop policy "Enable read access for all users" on "public"."medreport_products_analyses_relations";
|
||||||
|
|
||||||
drop policy "Users can read their own nonces" on "public"."nonces";
|
-- drop policy "Users can read their own nonces" on "public"."nonces";
|
||||||
|
|
||||||
drop policy "notifications_read_self" on "public"."notifications";
|
drop policy "notifications_read_self" on "public"."notifications";
|
||||||
|
|
||||||
drop policy "notifications_update_self" on "public"."notifications";
|
drop policy "notifications_update_self" on "public"."notifications";
|
||||||
|
|
||||||
drop policy "restrict_mfa_notifications" on "public"."notifications";
|
-- drop policy "restrict_mfa_notifications" on "public"."notifications";
|
||||||
|
|
||||||
drop policy "order_items_read_self" on "public"."order_items";
|
drop policy "order_items_read_self" on "public"."order_items";
|
||||||
|
|
||||||
drop policy "restrict_mfa_order_items" on "public"."order_items";
|
-- drop policy "restrict_mfa_order_items" on "public"."order_items";
|
||||||
|
|
||||||
drop policy "super_admins_access_order_items" on "public"."order_items";
|
-- drop policy "super_admins_access_order_items" on "public"."order_items";
|
||||||
|
|
||||||
drop policy "orders_read_self" on "public"."orders";
|
drop policy "orders_read_self" on "public"."orders";
|
||||||
|
|
||||||
drop policy "restrict_mfa_orders" on "public"."orders";
|
-- drop policy "restrict_mfa_orders" on "public"."orders";
|
||||||
|
|
||||||
drop policy "super_admins_access_orders" on "public"."orders";
|
-- drop policy "super_admins_access_orders" on "public"."orders";
|
||||||
|
|
||||||
drop policy "restrict_mfa_role_permissions" on "public"."role_permissions";
|
-- drop policy "restrict_mfa_role_permissions" on "public"."role_permissions";
|
||||||
|
|
||||||
drop policy "role_permissions_read" on "public"."role_permissions";
|
drop policy "role_permissions_read" on "public"."role_permissions";
|
||||||
|
|
||||||
drop policy "super_admins_access_role_permissions" on "public"."role_permissions";
|
-- drop policy "super_admins_access_role_permissions" on "public"."role_permissions";
|
||||||
|
|
||||||
drop policy "roles_read" on "public"."roles";
|
drop policy "roles_read" on "public"."roles";
|
||||||
|
|
||||||
drop policy "restrict_mfa_subscription_items" on "public"."subscription_items";
|
-- drop policy "restrict_mfa_subscription_items" on "public"."subscription_items";
|
||||||
|
|
||||||
drop policy "subscription_items_read_self" on "public"."subscription_items";
|
drop policy "subscription_items_read_self" on "public"."subscription_items";
|
||||||
|
|
||||||
drop policy "super_admins_access_subscription_items" on "public"."subscription_items";
|
-- drop policy "super_admins_access_subscription_items" on "public"."subscription_items";
|
||||||
|
|
||||||
drop policy "restrict_mfa_subscriptions" on "public"."subscriptions";
|
-- drop policy "restrict_mfa_subscriptions" on "public"."subscriptions";
|
||||||
|
|
||||||
drop policy "subscriptions_read_self" on "public"."subscriptions";
|
drop policy "subscriptions_read_self" on "public"."subscriptions";
|
||||||
|
|
||||||
drop policy "super_admins_access_subscriptions" on "public"."subscriptions";
|
-- drop policy "super_admins_access_subscriptions" on "public"."subscriptions";
|
||||||
|
|
||||||
alter table "public"."accounts" drop constraint "accounts_created_by_fkey";
|
alter table "public"."accounts" drop constraint "accounts_created_by_fkey";
|
||||||
|
|
||||||
@@ -888,7 +888,7 @@ alter table "public"."medreport_products_analyses_relations" drop constraint "pr
|
|||||||
|
|
||||||
alter table "public"."medreport_products_analyses_relations" drop constraint "product_can_be_tied_to_only_one_external_item";
|
alter table "public"."medreport_products_analyses_relations" drop constraint "product_can_be_tied_to_only_one_external_item";
|
||||||
|
|
||||||
alter table "public"."nonces" drop constraint "nonces_user_id_fkey";
|
-- alter table "public"."nonces" drop constraint "nonces_user_id_fkey";
|
||||||
|
|
||||||
alter table "public"."notifications" drop constraint "notifications_account_id_fkey";
|
alter table "public"."notifications" drop constraint "notifications_account_id_fkey";
|
||||||
|
|
||||||
@@ -956,7 +956,7 @@ alter table "public"."medreport_products_analyses_relations" drop constraint "me
|
|||||||
|
|
||||||
alter table "public"."medreport_products_external_services_relations" drop constraint "medreport_products_connected_online_services_pkey";
|
alter table "public"."medreport_products_external_services_relations" drop constraint "medreport_products_connected_online_services_pkey";
|
||||||
|
|
||||||
alter table "public"."nonces" drop constraint "nonces_pkey";
|
-- alter table "public"."nonces" drop constraint "nonces_pkey";
|
||||||
|
|
||||||
alter table "public"."notifications" drop constraint "notifications_pkey";
|
alter table "public"."notifications" drop constraint "notifications_pkey";
|
||||||
|
|
||||||
@@ -5160,47 +5160,47 @@ revoke truncate on table "public"."medreport_products_external_services_relation
|
|||||||
|
|
||||||
revoke update on table "public"."medreport_products_external_services_relations" from "service_role";
|
revoke update on table "public"."medreport_products_external_services_relations" from "service_role";
|
||||||
|
|
||||||
revoke delete on table "public"."nonces" from "anon";
|
-- revoke delete on table "public"."nonces" from "anon";
|
||||||
|
|
||||||
revoke insert on table "public"."nonces" from "anon";
|
-- revoke insert on table "public"."nonces" from "anon";
|
||||||
|
|
||||||
revoke references on table "public"."nonces" from "anon";
|
-- revoke references on table "public"."nonces" from "anon";
|
||||||
|
|
||||||
revoke select on table "public"."nonces" from "anon";
|
-- revoke select on table "public"."nonces" from "anon";
|
||||||
|
|
||||||
revoke trigger on table "public"."nonces" from "anon";
|
-- revoke trigger on table "public"."nonces" from "anon";
|
||||||
|
|
||||||
revoke truncate on table "public"."nonces" from "anon";
|
-- revoke truncate on table "public"."nonces" from "anon";
|
||||||
|
|
||||||
revoke update on table "public"."nonces" from "anon";
|
-- revoke update on table "public"."nonces" from "anon";
|
||||||
|
|
||||||
revoke delete on table "public"."nonces" from "authenticated";
|
-- revoke delete on table "public"."nonces" from "authenticated";
|
||||||
|
|
||||||
revoke insert on table "public"."nonces" from "authenticated";
|
-- revoke insert on table "public"."nonces" from "authenticated";
|
||||||
|
|
||||||
revoke references on table "public"."nonces" from "authenticated";
|
-- revoke references on table "public"."nonces" from "authenticated";
|
||||||
|
|
||||||
revoke select on table "public"."nonces" from "authenticated";
|
-- revoke select on table "public"."nonces" from "authenticated";
|
||||||
|
|
||||||
revoke trigger on table "public"."nonces" from "authenticated";
|
-- revoke trigger on table "public"."nonces" from "authenticated";
|
||||||
|
|
||||||
revoke truncate on table "public"."nonces" from "authenticated";
|
-- revoke truncate on table "public"."nonces" from "authenticated";
|
||||||
|
|
||||||
revoke update on table "public"."nonces" from "authenticated";
|
-- revoke update on table "public"."nonces" from "authenticated";
|
||||||
|
|
||||||
revoke delete on table "public"."nonces" from "service_role";
|
-- revoke delete on table "public"."nonces" from "service_role";
|
||||||
|
|
||||||
revoke insert on table "public"."nonces" from "service_role";
|
-- revoke insert on table "public"."nonces" from "service_role";
|
||||||
|
|
||||||
revoke references on table "public"."nonces" from "service_role";
|
-- revoke references on table "public"."nonces" from "service_role";
|
||||||
|
|
||||||
revoke select on table "public"."nonces" from "service_role";
|
-- revoke select on table "public"."nonces" from "service_role";
|
||||||
|
|
||||||
revoke trigger on table "public"."nonces" from "service_role";
|
-- revoke trigger on table "public"."nonces" from "service_role";
|
||||||
|
|
||||||
revoke truncate on table "public"."nonces" from "service_role";
|
-- revoke truncate on table "public"."nonces" from "service_role";
|
||||||
|
|
||||||
revoke update on table "public"."nonces" from "service_role";
|
-- revoke update on table "public"."nonces" from "service_role";
|
||||||
|
|
||||||
revoke delete on table "public"."notifications" from "anon";
|
revoke delete on table "public"."notifications" from "anon";
|
||||||
|
|
||||||
@@ -5410,7 +5410,7 @@ drop table "public"."medreport_products_analyses_relations";
|
|||||||
|
|
||||||
drop table "public"."medreport_products_external_services_relations";
|
drop table "public"."medreport_products_external_services_relations";
|
||||||
|
|
||||||
drop table "public"."nonces";
|
-- drop table "public"."nonces";
|
||||||
|
|
||||||
drop table "public"."notifications";
|
drop table "public"."notifications";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user