Skip to content

Commit 02f5351

Browse files
committed
chore: update build and dependencies
1 parent 9a60d2f commit 02f5351

File tree

10 files changed

+1506
-963
lines changed

10 files changed

+1506
-963
lines changed
File renamed without changes.

Cargo.lock

Lines changed: 1404 additions & 844 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
11
[package]
22
name = "libre-oneroster"
3-
version = "0.2.0"
3+
version = "0.2.2"
44
authors = ["fffnite <[email protected]>"]
55
edition = "2021"
66

77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10-
surf = "2.2"
10+
surf = "2.3"
1111
tide = "0.16"
1212
tide-rustls = "0.3"
13-
async-std = { version = "1.9", features = ["attributes"] }
13+
async-std = { version = "1.13", features = ["attributes"] }
1414
futures = "0.3"
1515
chrono = { version = "0.4", features = ["serde"] }
1616
serde = { version = "1.0", features = ["derive"] }
1717
serde_json = "1.0"
18-
serde_with = "3.0.0"
18+
serde_with = "3.0"
1919
log = "0.4"
20-
env_logger = "0.10.0"
21-
clap = { version = "4.3.4", features = [ "derive", "env" ] }
22-
sqlx = { version = "0.7.0-alpha.3", features = [ "sqlite", "runtime-async-std-native-tls", "chrono" ] }
23-
jsonwebtoken = "8.0.0-beta.0"
20+
env_logger = "0.11"
21+
clap = { version = "4.5", features = [ "derive", "env" ] }
22+
sqlx = { version = "0.8", features = [ "sqlite", "runtime-async-std-native-tls", "chrono" ] }
23+
jsonwebtoken = "9.3"
2424
openssl = "0.10"
25-
lazy_static = "1.4"
26-
uuid = { version = "1.3.4", features = [ "v4" ] }
25+
lazy_static = "1.5"
26+
uuid = { version = "1.16", features = [ "v4" ] }
2727
rand = { version = "0.8", features = [ "getrandom" ]}
2828
hex = "0.4"
29-
bcrypt = "0.14"
30-
http-types = "2.10"
29+
http-types = "2.12"
3130
jq-rs = "0.4"
32-
regex = "1.5"
33-
tiberius = { version = "0.12.2", features = [ "sql-browser-async-std" ] }
31+
regex = "1.11"
32+
tiberius = { version = "0.12", features = [ "sql-browser-async-std" ] }
33+
bcrypt = "0.17.0"

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ oneroster server -d myoneroster.db -j oneroster.pem -J oneroster.key.pem -w oner
7373
docker compose up
7474
```
7575

76+
### Logs
77+
78+
logging level can be configured via the `RUST_LOG` environment variable
79+
80+
```bash
81+
RUST_LOG=debug oneroster server --init ...
82+
```
7683

7784
## Client
7885

compose.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
services:
22
oneroster:
3-
#image: git.bgw.dev/bgw/libre-oneroster:0.2.0
4-
image: localhost/libre-oneroster:0.2.0
3+
image: ghcr.io/bgwdotdev/libre-oneroster:0.2.2
54
ports:
65
- "8080:8080"
76
volumes:

db/init.sql

Lines changed: 61 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,73 @@
11
INSERT
2-
OR IGNORE INTO scopes (
3-
scope)
4-
VALUES (
5-
'roster-core.readonly')
6-
, (
7-
'roster-core.createput')
8-
, (
9-
'admin.readonly');
2+
OR IGNORE INTO scopes (scope) VALUES
3+
('roster-core.readonly')
4+
, ('roster-core.createput')
5+
, ('admin.readonly')
6+
;
107

118
INSERT
12-
OR IGNORE INTO StatusType (
13-
token)
14-
VALUES (
15-
'active')
16-
, (
17-
'tobedeleted')
18-
, (
19-
'inactive');
9+
OR IGNORE INTO StatusType (token) VALUES
10+
('active')
11+
, ('tobedeleted')
12+
, ('inactive')
13+
;
2014

2115
INSERT
22-
OR IGNORE INTO OrgType (
23-
token)
24-
VALUES (
25-
'department')
26-
, (
27-
'school')
28-
, (
29-
'district')
30-
, (
31-
'local')
32-
, (
33-
'state')
34-
, (
35-
'national');
16+
OR IGNORE INTO OrgType (token) VALUES
17+
('department')
18+
, ('school')
19+
, ('district')
20+
, ('local')
21+
, ('state')
22+
, ('national')
23+
;
3624

3725
INSERT
38-
OR IGNORE INTO ClassType (
39-
token)
40-
VALUES (
41-
'homeroom')
42-
, (
43-
'scheduled');
26+
OR IGNORE INTO ClassType (token) VALUES
27+
('homeroom')
28+
, ('scheduled');
4429

4530
INSERT
46-
OR IGNORE INTO RoleType (
47-
token)
48-
VALUES (
49-
'administrator')
50-
, (
51-
'aide')
52-
, (
53-
'guardian')
54-
, (
55-
'parent')
56-
, (
57-
'proctor')
58-
, (
59-
'relative')
60-
, (
61-
'student')
62-
, (
63-
'teacher');
31+
OR IGNORE INTO RoleType (token) VALUES
32+
('administrator')
33+
, ('aide')
34+
, ('guardian')
35+
, ('parent')
36+
, ('proctor')
37+
, ('relative')
38+
, ('student')
39+
, ('teacher')
40+
;
6441

6542
INSERT
66-
OR IGNORE INTO SessionType (
67-
token)
68-
VALUES (
69-
'gradingPeriod')
70-
, (
71-
'semester')
72-
, (
73-
'schoolYear')
74-
, (
75-
'term');
43+
OR IGNORE INTO SessionType (token) VALUES
44+
('gradingPeriod')
45+
, ('semester')
46+
, ('schoolYear')
47+
, ('term')
48+
;
7649

77-
INSERT OR IGNORE INTO GradeType (token, description) VALUES
78-
('IT', 'Infant/toddler'),
79-
('PR', 'Preschool'),
80-
('PK', 'Prekindergarten'),
81-
('TK', 'Transitional Kindergarten'),
82-
('KG', 'Kindergarten'),
83-
('01', 'First grade'),
84-
('02', 'Second grade'),
85-
('03', 'Third grade'),
86-
('04', 'Fourth grade'),
87-
('05', 'Fifth grade'),
88-
('06', 'Sixth grade'),
89-
('07', 'Seventh grade'),
90-
('08', 'Eigth grade'),
91-
('09', 'Ninth grade'),
92-
('10', 'Tenth grade'),
93-
('11', 'Eleventh grade'),
94-
('12', 'Twelfth grade'),
95-
('13', 'Grade 13'),
96-
('PS', 'Postsecondary'),
97-
('UG', 'Ungraded'),
98-
('Other', 'Other');
50+
INSERT
51+
OR IGNORE INTO GradeType (token, description) VALUES
52+
('IT', 'Infant/toddler')
53+
, ('PR', 'Preschool')
54+
, ('PK', 'Prekindergarten')
55+
, ('TK', 'Transitional Kindergarten')
56+
, ('KG', 'Kindergarten')
57+
, ('01', 'First grade')
58+
, ('02', 'Second grade')
59+
, ('03', 'Third grade')
60+
, ('04', 'Fourth grade')
61+
, ('05', 'Fifth grade')
62+
, ('06', 'Sixth grade')
63+
, ('07', 'Seventh grade')
64+
, ('08', 'Eigth grade')
65+
, ('09', 'Ninth grade')
66+
, ('10', 'Tenth grade')
67+
, ('11', 'Eleventh grade')
68+
, ('12', 'Twelfth grade')
69+
, ('13', 'Grade 13')
70+
, ('PS', 'Postsecondary')
71+
, ('UG', 'Ungraded')
72+
, ('Other', 'Other')
73+
;

flake.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@
1717
name = cargoToml.package.name;
1818
in
1919
rec {
20-
devShell = pkgs.mkShell {
20+
devShells.default = pkgs.mkShell {
2121
packages = with pkgs; [
2222
cargo
2323
rustc
2424
rust-analyzer
25-
jq.lib
25+
rustfmt
26+
jq
2627
openssl.dev
2728
sqlite
2829
oniguruma
29-
pkgconfig
30+
pkg-config
3031
];
31-
JQ_LIB_DIR = "${pkgs.jq.lib}";
32+
JQ_LIB_DIR = "${pkgs.jq}";
3233
DATABASE_URL = "sqlite:db/oneroster.db";
3334
shellHook = ''
3435
if [ ! -f db/oneroster.db ]; then
@@ -45,20 +46,20 @@
4546
src = ./.;
4647
cargoLock.lockFile = ./Cargo.lock;
4748
nativeBuildInputs = [
48-
pkgs.pkgconfig
49+
pkgs.pkg-config
4950
pkgs.openssl.dev
5051
pkgs.sqlite
5152
];
5253
buildInputs = [
53-
pkgs.jq.lib
54+
pkgs.jq
5455
pkgs.oniguruma
5556
];
5657
preConfigure = ''
5758
sqlite3 db/oneroster.db < db/schema.sql
5859
sqlite3 db/oneroster.db < db/init.sql
5960
'';
6061
doCheck = false;
61-
JQ_LIB_DIR = "${pkgs.jq.lib}";
62+
JQ_LIB_DIR = "${pkgs.jq}";
6263
DATABASE_URL = "sqlite:db/oneroster.db";
6364
PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
6465
};

src/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ mod db;
33
pub mod errors;
44
mod params;
55

6+
use async_std::prelude::*;
67
pub use errors::*;
78
use http_types::mime;
89
use std::io::prelude::*;
910
use tide::prelude::*;
1011
use tide::utils::After;
1112
use tide::Request;
1213
use tide_rustls::TlsListener;
13-
use async_std::prelude::*;
1414

1515
type Result<T> = std::result::Result<T, ServerError>;
1616

src/server/auth/jwt.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use tide::prelude::*;
55

66
#[derive(Debug, Deserialize, Serialize)]
77
pub(crate) struct Claims {
8-
aud: String,
98
exp: u64,
109
sub: String,
1110
pub(crate) scope: String,
@@ -33,7 +32,6 @@ pub(crate) async fn create_token(
3332
let exp = SystemTime::now().duration_since(std::time::UNIX_EPOCH)?
3433
+ std::time::Duration::from_secs(exp_in);
3534
let claims = Claims {
36-
aud: "localhost".to_string(),
3735
exp: exp.as_secs(),
3836
sub: id,
3937
scope: scope.clone(),
@@ -65,6 +63,9 @@ pub(crate) async fn validate_token(token: String, key: &jsonwebtoken::DecodingKe
6563
log::debug!("validated:\n{:?}", t);
6664
true
6765
}
68-
Err(_) => false,
66+
Err(e) => {
67+
log::debug!("invalid: {e}");
68+
false
69+
}
6970
}
7071
}

0 commit comments

Comments
 (0)