this repo has no description
1package db
2
3import "core:crypto"
4import "core:encoding/uuid"
5import "core:strings"
6
7
8db_url: cstring = "oudio.db"
9
10gen_id :: proc(prefix: Maybe(string), allocator := context.allocator) -> string {
11 id: string
12
13 context.random_generator = crypto.random_generator()
14
15 id_uuid := uuid.generate_v7_basic()
16
17 uuid_str := uuid.to_string(id_uuid, allocator)
18 defer delete(uuid_str)
19
20 if (prefix != nil) {
21 id = strings.concatenate([]string{prefix.?, "_", uuid_str})
22 } else {
23 id = uuid_str
24 }
25
26 return id
27}
28
29DatabaseErrors :: enum {
30 None,
31 UniqueConstraint,
32 UnknownError,
33}