Commit Graph

160 Commits

Author SHA1 Message Date
gearnode
58eda95d93 Rewrite the global id system to include tenant id
The API should be aware of the tenant they are working on. Many solution
is possible like passing a header, adding the tenant id in each function
call, encode the tenant id in the GID.

I consider the header as a hack it force the client to keep in mind to
pass this header, having to returns an error in case of not defined
header and add a non standard header make the API more harder to use.

Passing the tenant id everywhere will be a good option but since Relay
impose to have node(id: ID!) Node interface it is not possible or by
hacking by wrapping node(id: ID!) Node in top query who getting the
tenant_id.

I finish by simpliy encode the tenant id directly in the object id, it
what AWS do too, it allow to always have the information, and it ensure
a right data isolation.

Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-10 13:54:55 +01:00
gearnode
b2b1305abe Fix bootstrap organization failed
We use organization id as tenant id, so the organization insert cannot
take scope as it self scoped tenant.

Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-10 10:29:10 +01:00
gearnode
a4611f5433 Force scope usage even for insert
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-10 10:27:30 +01:00
gearnode
dc2cac9317 Remove unused omitempty
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-10 10:27:01 +01:00
gearnode
0b3bd6fd67 Fix missing aws config
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-09 15:39:16 +01:00
gearnode
3bd4762e12 Remove CORS configuration by default
Since the frontend is embded it's not needed to have CORS by default.

Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-09 15:32:33 +01:00
gearnode
92826c40f5 Fix malformed filename
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-09 15:31:18 +01:00
gearnode
123a538d82 Embded frontend inside go binary
This will simplify the self hosting of the platform.

Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-09 15:30:28 +01:00
gearnode
93801e1d11 Add support of postgresql TLS configuration
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-08 21:11:27 +01:00
gearnode
4d1305f192 Fix panic on configuration load
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-08 11:26:38 +01:00
gearnode
65f2245167 Fix migration organization ref
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-06 10:21:33 +01:00
gearnode
b539abf5f0 Fix migration error
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-06 10:20:13 +01:00
gearnode
d4723024a0 Use signed cookie
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-06 08:33:38 +01:00
gearnode
13153e8f85 Add cookie signer helpers
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-05 17:35:03 +01:00
gearnode
8e09774958 Sign session cookie to avoid tapping
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-05 17:34:42 +01:00
gearnode
9526061861 Add data to session and floating duration
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-05 17:26:07 +01:00
gearnode
b214b0930c Add policy owner
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-05 11:25:08 +01:00
gearnode
c69b988ba1 Add policy review date
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-05 11:05:59 +01:00
gearnode
312474354c Add policies
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-04 12:09:22 +01:00
gearnode
cf12d3966e Replace pgx.NamedArgs to pgx.StrictNamedArgs
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-02 08:48:52 +01:00
gearnode
75c2813578 Style
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-01 23:12:36 +01:00
gearnode
bb463be895 Refactor sql row can using collectable rows
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-01 23:09:15 +01:00
gearnode
67edb3783e Add missing license headers
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-01 21:05:44 +01:00
gearnode
10b9ded41c Add delete evidence
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-01 21:02:28 +01:00
gearnode
29f23e3f77 Add evidence preview modal
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-01 19:33:55 +01:00
gearnode
312885ebd0 Add filename field to Evidence type
Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-01 18:59:52 +01:00
gearnode
8d8149e692 Fix missing values for control SQL insert
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 14:30:38 +01:00
gearnode
c9253f3aae Add evidence attachments upload
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 14:23:57 +01:00
gearnode
b36b6ed3e4 Add original filename to evidence
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 14:13:30 +01:00
gearnode
66b4761154 Configure s3 client when probod start
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 14:13:07 +01:00
gearnode
521fc20766 Add awsconfig helper
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 14:11:34 +01:00
gearnode
cfabe3ee80 Add file upload for task evidence
The feature allows users to attach evidence files to control tasks by
clicking an upload icon, enhancing compliance documentation
capabilities.

Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 11:01:19 +01:00
gearnode
9f03583edf Add multipart form transport support
Will allow to upload file via the GrahQL API

Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 10:57:06 +01:00
gearnode
2f274aabad Fix SQL syntax error when insert evidence state transition
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 10:56:32 +01:00
gearnode
124b8db62c Fix SQL syntax error on evidence insert
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 10:56:18 +01:00
gearnode
ad19ef5b24 Fix task not found when create evidence
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-28 10:55:47 +01:00
gearnode
40ee608005 Add update control
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-27 15:37:10 +01:00
gearnode
4bb7c116b9 Refactor update payload
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-27 14:47:36 +01:00
gearnode
c946e51015 Add update framework
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-27 14:42:49 +01:00
gearnode
c54febadb8 Add create control and framework
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-27 14:22:08 +01:00
gearnode
664e2cdd78 Refactor user render
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-27 11:51:40 +01:00
gearnode
6be112e340 Add delete task
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-26 15:58:51 +01:00
gearnode
eaaab56968 Add task creation
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-26 15:47:57 +01:00
gearnode
58fddfc240 Add update task state
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-26 15:25:58 +01:00
gearnode
def17c6a1a Allow organization creation on signup
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-26 14:48:08 +01:00
gearnode
b8eb0198db Add create organization
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-26 10:05:56 +01:00
gearnode
3ee3b37dac Add missing fullname for signup
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-25 23:24:52 +01:00
gearnode
0c176674a0 Add multi-tenant system
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-25 22:52:06 +01:00
gearnode
29ce55e89c Fix sql syntax error migration
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-25 18:48:42 +01:00
gearnode
e9ae77a4a0 Add login/register logic
Signed-off-by: gearnode <bryan@frimin.fr>
2025-02-25 17:32:26 +01:00