parent
3518da8b00
commit
41141632f5
@ -0,0 +1,77 @@
|
||||
ALTER TABLE "plan_suscripcion" DROP CONSTRAINT "plan_suscripcion_calidad_escucha_conocida";--> statement-breakpoint
|
||||
ALTER TABLE "plan_suscripcion" ALTER COLUMN "calidad_escucha" DROP NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "plan_suscripcion" ADD COLUMN "ambito" text DEFAULT 'musica' NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "plan_suscripcion" ADD COLUMN "acceso_contenido_taller" boolean DEFAULT false NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "plan_suscripcion" ADD COLUMN "descarga_material_taller" boolean DEFAULT false NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "plan_suscripcion" ADD CONSTRAINT "plan_suscripcion_ambito_conocido" CHECK ("plan_suscripcion"."ambito" in ('musica', 'taller_letras'));--> statement-breakpoint
|
||||
ALTER TABLE "plan_suscripcion" ADD CONSTRAINT "plan_suscripcion_capacidades_segun_ambito" CHECK ((
|
||||
"plan_suscripcion"."ambito" = 'musica'
|
||||
and "plan_suscripcion"."calidad_escucha" is not null
|
||||
and not "plan_suscripcion"."acceso_contenido_taller"
|
||||
and not "plan_suscripcion"."descarga_material_taller"
|
||||
) or (
|
||||
"plan_suscripcion"."ambito" = 'taller_letras'
|
||||
and "plan_suscripcion"."calidad_escucha" is null
|
||||
and not "plan_suscripcion"."incluye_publicidad"
|
||||
and "plan_suscripcion"."descargas_incluidas" = 0
|
||||
and "plan_suscripcion"."calidad_descarga" is null
|
||||
and not "plan_suscripcion"."acceso_versiones"
|
||||
));--> statement-breakpoint
|
||||
ALTER TABLE "plan_suscripcion" ADD CONSTRAINT "plan_suscripcion_calidad_escucha_conocida" CHECK ("plan_suscripcion"."calidad_escucha" is null or "plan_suscripcion"."calidad_escucha" in ('media', 'alta'));
|
||||
--> statement-breakpoint
|
||||
UPDATE "plan_suscripcion"
|
||||
SET
|
||||
"descripcion" = CASE "codigo"
|
||||
WHEN 'follower' THEN 'Para descubrir el catálogo a tu ritmo, crear tus listas y apoyar el proyecto desde el primer día.'
|
||||
WHEN 'friend' THEN 'Una escucha sin interrupciones para quienes quieren llevarse sus canciones favoritas.'
|
||||
WHEN 'vip' THEN 'La experiencia musical más completa: más descargas y acceso a las distintas versiones de cada canción.'
|
||||
END,
|
||||
"prestaciones" = '["Favoritos y listas de reproducción"]'::jsonb,
|
||||
"actualizado_en" = now()
|
||||
WHERE "codigo" IN ('follower', 'friend', 'vip');
|
||||
--> statement-breakpoint
|
||||
INSERT INTO "plan_suscripcion" (
|
||||
"id", "codigo", "nombre", "descripcion", "nivel", "precio_centimos", "moneda",
|
||||
"periodicidad", "intervalos", "ambito", "incluye_publicidad", "calidad_escucha",
|
||||
"descargas_incluidas", "calidad_descarga", "acceso_versiones",
|
||||
"acceso_contenido_taller", "descarga_material_taller", "prestaciones", "estado"
|
||||
) VALUES (
|
||||
'08af3913-6788-47b9-ad50-ce2371d0f05d',
|
||||
'taller-letras',
|
||||
'Taller de letras',
|
||||
'Un año para profundizar en la escritura de canciones, avanzar a tu ritmo y conservar todos los materiales.',
|
||||
1,
|
||||
990,
|
||||
'eur',
|
||||
'ano',
|
||||
1,
|
||||
'taller_letras',
|
||||
false,
|
||||
null,
|
||||
0,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
'["Aprendizaje a tu ritmo"]'::jsonb,
|
||||
'disponible'
|
||||
)
|
||||
ON CONFLICT ("codigo") DO UPDATE SET
|
||||
"nombre" = EXCLUDED."nombre",
|
||||
"descripcion" = EXCLUDED."descripcion",
|
||||
"nivel" = EXCLUDED."nivel",
|
||||
"precio_centimos" = EXCLUDED."precio_centimos",
|
||||
"moneda" = EXCLUDED."moneda",
|
||||
"periodicidad" = EXCLUDED."periodicidad",
|
||||
"intervalos" = EXCLUDED."intervalos",
|
||||
"ambito" = EXCLUDED."ambito",
|
||||
"incluye_publicidad" = EXCLUDED."incluye_publicidad",
|
||||
"calidad_escucha" = EXCLUDED."calidad_escucha",
|
||||
"descargas_incluidas" = EXCLUDED."descargas_incluidas",
|
||||
"calidad_descarga" = EXCLUDED."calidad_descarga",
|
||||
"acceso_versiones" = EXCLUDED."acceso_versiones",
|
||||
"acceso_contenido_taller" = EXCLUDED."acceso_contenido_taller",
|
||||
"descarga_material_taller" = EXCLUDED."descarga_material_taller",
|
||||
"prestaciones" = EXCLUDED."prestaciones",
|
||||
"estado" = EXCLUDED."estado",
|
||||
"actualizado_en" = now();
|
||||
@ -0,0 +1,9 @@
|
||||
UPDATE "plan_suscripcion"
|
||||
SET
|
||||
"nombre" = CASE "codigo"
|
||||
WHEN 'follower' THEN 'Seguidor'
|
||||
WHEN 'friend' THEN 'Amigo'
|
||||
WHEN 'vip' THEN 'Buen amigo'
|
||||
END,
|
||||
"actualizado_en" = now()
|
||||
WHERE "codigo" IN ('follower', 'friend', 'vip');
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,10 @@
|
||||
import { planesDeSuscripcionPublicos } from '$lib/server/suscripciones';
|
||||
import { planesDeSuscripcionActivos, planesDeSuscripcionPublicos } from '$lib/server/suscripciones';
|
||||
|
||||
export async function load() {
|
||||
return { planes: await planesDeSuscripcionPublicos() };
|
||||
export async function load({ locals }) {
|
||||
const [planes, planesActivos] = await Promise.all([
|
||||
planesDeSuscripcionPublicos(),
|
||||
planesDeSuscripcionActivos(locals.usuario?.id)
|
||||
]);
|
||||
|
||||
return { planes, planesActivos };
|
||||
}
|
||||
|
||||
Loading…
Reference in new issue