summaryrefslogtreecommitdiffstats
path: root/src/schema.c
Commit message (Collapse)AuthorAgeFilesLines
* rest: add GET,POST /image/restrictOpenGnSys Support Team2024-07-171-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow to restrict image to scope: POST /image/restrict { "image" : 49, "scopes" : [ 1,3 ] } response: 200 OK This restricts image with ID 49 to scopes 1 and 3. You can also fetch the current list of restrictions: GET /image/restrict { "image" : 49 } response: 200 OK { "image" : 49, "scopes" : [ 1,3 ] } Existing limitations in this interface: - Only restriction of image to center is possible at this moment. - This is only used by ogCP to validate if this is possible, no existing code in the ogserver uses this to restrict POST image/restore. This is a usability feature.
* rest: add checksum to GET /imagesOpenGnSys Support Team2024-07-051-0/+30
| | | | | Add a new checksum attribute to GET /images, extend database to add a new checksum field to images table.
* schema: add cache table to store image files in clientOpenGnSys Support Team2024-05-291-0/+36
| | | | | Add a new table to store the image file that are stores in the client cache. Use bigint to store file size in bytes.
* client: parse permissions and lastupdate in /image/create response from clientv1.2.5-5OpenGnSys Support Team2023-12-121-0/+32
| | | | | | Use permissions and last update from client. update src/schema.c to add a new database version.
* schema: fix bug when og_dbi_open cannot open a connectionJose M. Guisado2023-09-281-4/+2
| | | | | | | | | | | | When og_dbi_open cannot open a connection during schema update, then ogServer crashes. og_dbi_open returns NULL when it cannot open a DB connection. Do not use dbi variable if og_dbi_open is unable to open a DB connection. Add syslog message when database schema couldn't be updated.
* #1074 rest: set_mode: add support for different ogserver addressesJavier Sánchez Parra2022-06-011-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add foreign key "identornos" from table "entornos" to table "ordenadores". A row in table "entornos" represent a valid ogServer address. Multiple ogServer valid addresses can exist when running several instances or a single ogServer instance is exposed to different networks. Can't delete rows in "entornos" table nor update their id (primary key) if the row has any associated clients ({ON UPDATE/ON DELETE} RESTRICT). Allows assigning different but valid ogServer IPs to clients. Enabling support for multiple instances of ogServer (e.g: load balancing) or exposing a single ogServer instance to different networks (e.g: VLAN). Look up for the valid ogServer IP of a given client when changing a client's mode (og_set_client_mode). Determines valid ogServer IP using a JOIN statement. JOIN entornos USING(identorno) Reuses the fetched ip using a statement variable. @serverip:=entornos.ipserveradm For example, for a two VLAN setup: vlan1 ogserver: 192.168.56.10 vlan2 ogserver: 192.168.57.10 The "entornos" table should look like: identorno ipserveradm ... --------- ----------- ... 1 192.168.56.10 ... 2 192.168.57.10 ... And computers in the "ordenadores" table might look like: idordenador identorno ... ---------- --------- ... 1 1 ... 2 1 ... 3 2 ... 4 2 ... ... ... ... Additionally, splits the SQL query for better readability. Co-authored-by: Jose Guisado <jguisado@soleta.eu>
* #1042 fix multiple definition of ogconfigOpenGnSys Support Team2021-05-271-2/+0
| | | | | | /usr/bin/ld: src/schema.o:/home/soleta/opengnsys/ogServer/src/schema.c:50: multiple definition of `ogconfig'; src/main.o:/home/soleta/opengnsys/ogServer/src/main.c:31: first defined here collect2: error: ld returned 1 exit status make: *** [Makefile:411: ogserver] Error 1
* #1037 Simplify database update v3 codeJavier Sánchez Parra2021-05-271-15/+8
| | | | | | Simplify database update v3, no need for iteration. Fixes: 12d8fff (#1037 Add disk type)
* #1037 Add disk typeJavier Sánchez Parra2021-05-261-0/+38
| | | | | | | Add ogServer support for parsing and storing in the DB disk type data from ogClient refresh response. See also commits with #1037 in ogClient and WebConsole repo.
* ogServer is AGPLv3+OpenGnSys Support Team2021-05-041-2/+3
| | | | Update license header in files.
* #1042 Add schema version 2Jose M. Guisado2021-04-281-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add foreign keys (version 1 introduced innoDB as default db engine) allowing cascade deletions for some tables: - perfilessoft_softwares If a software profile or a software component is deleted, the corresponding row in this table will be deleted too. - ordenadores_particiones If a computer or a partition is deleted from the DB, delete the corresponding row inside this table. - aulas If the center the room is in is removed, delete the room too. - ordenadores If the room in which a computer is in is removed, the computer will be deleted accordingly. We should take into account that this schema superseeds some code regarding deletions inside WebConsole that probably are not needed any more, at least for the tables mentioned. (See admin/WebConsole/gestores/relaciones/*.php in OpenGnsys repo)
* #1042 Update database schema automaticallyJose M. Guisado2021-04-201-0/+159
This patch adds database schema management capabilities to ogServer: - ogServer now tracks the version of its database schema, if no version is detected, creates a 'version' table with a single row starting at 0. - ogServer can upgrade its database schema to a newer version if detected. (ogServer ships required SQL commands to do so) If ogServer is unable to upgrade the schema at startup (if needed be) it *will not* start. Defines schema update v1 which upgrades database engine tables of ogServer database (usually named 'ogAdmBD') from myISAM to innoDB.