Merge branch 'main' of https://github.lci.ulsa.mx/AlexRG/genesis-2 into issue/63-aplicar-migraciones-de-asignatura

This commit is contained in:
2026-03-17 16:33:09 -06:00
4 changed files with 16 additions and 105 deletions
+10 -5
View File
@@ -1,13 +1,12 @@
name: Supa-backup
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
schedule:
- cron: '0 0 * * *' # Runs every day at midnight
jobs:
run_db_backup:
runs-on: ubuntu-latest
@@ -17,21 +16,27 @@ jobs:
SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_DESARROLLO_ACCESS_TOKEN }}
SUPABASE_PROJECT_ID: ${{ secrets.SUPABASE_DESARROLLO_PROJECT_ID }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
# Si es un PR, usa la rama origen. Si no, usa la rama que disparó el evento (main).
ref: ${{ github.head_ref || github.ref }}
- uses: supabase/setup-cli@v1
with:
version: latest
- name: Link Project
run: supabase link --project-ref $SUPABASE_PROJECT_ID
- name: Backup roles
run: supabase db dump -f supabase/roles.sql --role-only
- name: Backup schema
run: supabase db dump -f supabase/schema.sql
- name: Backup data
run: supabase db dump -f supabase/data.sql --data-only --use-copy
- uses: stefanzweifel/git-auto-commit-action@v4
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Supabase backup
+4 -4
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,4 +1,4 @@
export type Json =
export type Json =
| string
| number
| boolean
@@ -3,6 +3,7 @@ import { corsHeaders } from "../_shared/cors.ts";
import { HttpError, sendError, sendSuccess } from "../_shared/utils.ts";
import { createClient } from "@supabase/supabase-js";
import type { Database, Json } from "../_shared/database.types.ts";
import { definicionesDeEstructurasDeColumnas } from "../_shared/estructuras.ts";
import { z } from "zod";
import {
OpenAIService,
@@ -599,98 +600,3 @@ Deno.serve(async (req: Request): Promise<Response> => {
);
}
});
const definicionesDeEstructurasDeColumnas = {
contenido_tematico: {
"type": "object",
"properties": {
"x-column": {
"type": "string",
"enum": [
"contenido_tematico",
],
},
"x-definicion": {
"type": "array",
"items": {
"type": "object",
"properties": {
"unidad": {
"type": "integer",
},
"titulo": {
"type": "string",
},
"temas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nombre": {
"type": "string",
},
"horasEstimadas": {
"type": "integer",
"description":
"Horas del tema. La suma de todas las horasEstimadas debe ser igual a las horas académicas del prompt.",
},
},
"required": [
"nombre",
"horasEstimadas",
],
"additionalProperties": false,
},
},
},
"required": [
"unidad",
"titulo",
"temas",
],
"additionalProperties": false,
},
},
},
"required": [
"x-column",
"x-definicion",
],
"additionalProperties": false,
},
criterios_de_evaluacion: {
"type": "object",
"properties": {
"x-column": {
"type": "string",
"enum": [
"criterios_de_evaluacion",
],
},
"x-definicion": {
"type": "array",
"items": {
"type": "object",
"properties": {
"criterio": {
"type": "string",
},
"porcentaje": {
"type": "integer",
},
},
"required": [
"criterio",
"porcentaje",
],
"additionalProperties": false,
},
},
},
"required": [
"x-column",
"x-definicion",
],
"additionalProperties": false,
},
};