mirror of
https://gitlab.com/fabinfra/fabaccess/fabaccess-api.git
synced 2025-03-12 14:51:42 +01:00
Merge branch 'NewStructur' of gitlab.com:fabinfra/fabaccess/fabaccess-api into NewStructur
* 'NewStructur' of gitlab.com:fabinfra/fabaccess/fabaccess-api: Changed: Move Info to Struct Updated: DESFire File Content Methods
This commit is contained in:
commit
3e5ba09f10
@ -19,19 +19,9 @@ struct Machine {
|
|||||||
disabled @4;
|
disabled @4;
|
||||||
reserved @5;
|
reserved @5;
|
||||||
}
|
}
|
||||||
|
struct MachineInfoExtended {
|
||||||
struct MachineInfo {
|
user @0 :User;
|
||||||
id @0 :General.UUID;
|
transferuser @1 :User;
|
||||||
space @1 :Space;
|
|
||||||
name @2 :Text;
|
|
||||||
info @3 :Text;
|
|
||||||
|
|
||||||
state @4 :MachineState;
|
|
||||||
|
|
||||||
user @5 :User;
|
|
||||||
transferuser @6 :User;
|
|
||||||
|
|
||||||
manager @7:User;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Reservation {
|
struct Reservation {
|
||||||
@ -40,16 +30,23 @@ struct Machine {
|
|||||||
end @2: UInt64;
|
end @2: UInt64;
|
||||||
}
|
}
|
||||||
|
|
||||||
info @0 :Info;
|
id @0 :General.UUID;
|
||||||
|
space @1 :Space;
|
||||||
|
name @2 :Text;
|
||||||
|
description @3 :Text;
|
||||||
|
state @4 :MachineState;
|
||||||
|
manager @5:User;
|
||||||
|
|
||||||
|
info @6 :Info;
|
||||||
interface Info $CSharp.name("InfoInterface") {
|
interface Info $CSharp.name("InfoInterface") {
|
||||||
getMachineInfo @0 () -> ( machineInfo :MachineInfo);
|
getMachineInfoExtended @0 () -> ( machineInfoExtended :MachineInfoExtended);
|
||||||
|
|
||||||
getPropertyList @1 () -> ( propertyList :List(General.KeyValuePair) );
|
getPropertyList @1 () -> ( propertyList :List(General.KeyValuePair) );
|
||||||
|
|
||||||
getReservationList @2 () -> ( reservationList :List(Reservation) );
|
getReservationList @2 () -> ( reservationList :List(Reservation) );
|
||||||
}
|
}
|
||||||
|
|
||||||
use @1 :Use;
|
use @7 :Use;
|
||||||
interface Use $CSharp.name("UseInterface") {
|
interface Use $CSharp.name("UseInterface") {
|
||||||
use @0 ();
|
use @0 ();
|
||||||
|
|
||||||
@ -57,7 +54,7 @@ struct Machine {
|
|||||||
reserveto @2 (start :UInt64, end :UInt64);
|
reserveto @2 (start :UInt64, end :UInt64);
|
||||||
}
|
}
|
||||||
|
|
||||||
inuse @2 :InUse;
|
inuse @8 :InUse;
|
||||||
interface InUse $CSharp.name("InUseInterface") {
|
interface InUse $CSharp.name("InUseInterface") {
|
||||||
giveBack @0 ();
|
giveBack @0 ();
|
||||||
|
|
||||||
@ -66,19 +63,19 @@ struct Machine {
|
|||||||
sendRawData @2 (data :Data);
|
sendRawData @2 (data :Data);
|
||||||
}
|
}
|
||||||
|
|
||||||
transfer @3 :Transfer;
|
transfer @9 :Transfer;
|
||||||
interface Transfer $CSharp.name("TransferInterface") {
|
interface Transfer $CSharp.name("TransferInterface") {
|
||||||
accept @0 ();
|
accept @0 ();
|
||||||
reject @1 ();
|
reject @1 ();
|
||||||
}
|
}
|
||||||
|
|
||||||
check @4 :Check;
|
check @10 :Check;
|
||||||
interface Check $CSharp.name("CheckInterface") {
|
interface Check $CSharp.name("CheckInterface") {
|
||||||
check @0 ();
|
check @0 ();
|
||||||
reject @1 ();
|
reject @1 ();
|
||||||
}
|
}
|
||||||
|
|
||||||
manage @5 :Manage;
|
manage @11 :Manage;
|
||||||
interface Manage $CSharp.name("ManageInterface") {
|
interface Manage $CSharp.name("ManageInterface") {
|
||||||
setProperty @0 (property :General.KeyValuePair);
|
setProperty @0 (property :General.KeyValuePair);
|
||||||
removeProperty @1 (property :General.KeyValuePair);
|
removeProperty @1 (property :General.KeyValuePair);
|
||||||
@ -92,7 +89,7 @@ struct Machine {
|
|||||||
disabled @6 ();
|
disabled @6 ();
|
||||||
}
|
}
|
||||||
|
|
||||||
admin @6 :Admin;
|
admin @12 :Admin;
|
||||||
interface Admin $CSharp.name("AdminInterface") {
|
interface Admin $CSharp.name("AdminInterface") {
|
||||||
forceSetState @0 ( state :MachineState );
|
forceSetState @0 ( state :MachineState );
|
||||||
forceSetUser @1 ( user :User );
|
forceSetUser @1 ( user :User );
|
||||||
|
45
user.capnp
45
user.capnp
@ -11,13 +11,10 @@ using Space = import "space.capnp".Space;
|
|||||||
using Role = import "role.capnp".Role;
|
using Role = import "role.capnp".Role;
|
||||||
|
|
||||||
struct User
|
struct User
|
||||||
{
|
|
||||||
struct UserInfo
|
|
||||||
{
|
{
|
||||||
id @0 :General.UUID;
|
id @0 :General.UUID;
|
||||||
username @1 :Text;
|
username @1 :Text;
|
||||||
space @2 :Space;
|
space @2 :Space;
|
||||||
}
|
|
||||||
|
|
||||||
struct UserInfoExtended
|
struct UserInfoExtended
|
||||||
{
|
{
|
||||||
@ -32,42 +29,44 @@ struct User
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
info @0 :Info;
|
info @3 :Info;
|
||||||
interface Info $CSharp.name("InfoInterface") {
|
interface Info $CSharp.name("InfoInterface") {
|
||||||
getUserInfo @0 () -> ( userInfo :UserInfo );
|
|
||||||
}
|
|
||||||
|
|
||||||
manage @1 :Manage;
|
|
||||||
interface Manage $CSharp.name("ManageInterface") {
|
|
||||||
getUserInfoExtended @0 () -> ( userInfoExtended :UserInfoExtended );
|
getUserInfoExtended @0 () -> ( userInfoExtended :UserInfoExtended );
|
||||||
pwd @1 ( pwd :Text ) -> ();
|
|
||||||
|
|
||||||
addRole @2 ( role :Role ) -> ();
|
|
||||||
removeRole @3 ( role :Role ) -> ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cardDESFire @2 :CardDESFire;
|
manage @4 :Manage;
|
||||||
interface CardDESFire $CSharp.name("CardDESFireInterface") {
|
interface Manage $CSharp.name("ManageInterface") {
|
||||||
|
pwd @0 ( pwd :Text ) -> ();
|
||||||
|
}
|
||||||
|
|
||||||
|
admin @5 :Admin;
|
||||||
|
interface Admin $CSharp.name("AdminInterface") {
|
||||||
|
addRole @0 ( role :Role ) -> ();
|
||||||
|
removeRole @1 ( role :Role ) -> ();
|
||||||
|
}
|
||||||
|
|
||||||
|
cardDESFireEV2 @6 :CardDESFireEV2;
|
||||||
|
interface CardDESFireEV2 $CSharp.name("CardDESFireInterface") {
|
||||||
# Card authentication using NXP/MiFare DESFire cards.
|
# Card authentication using NXP/MiFare DESFire cards.
|
||||||
# These cards have the ability to restrict access for data on the cards using symmetric
|
# These cards have the ability to restrict access for data on the cards using symmetric
|
||||||
# encryption and using a keyed Diffie-Hellman to prevent eavesdropping by any relaying
|
# encryption and using a keyed Diffie-Hellman to prevent eavesdropping by any relaying
|
||||||
# party.
|
# party.
|
||||||
|
|
||||||
getPIDList @0 () -> ( pids :List(Text) );
|
getTokenList @0 () -> ( tokens :List(Data) );
|
||||||
# Get a list of all user URL currently bound to an user. This will generally be the number
|
# Get a list of all user Token currently bound to an user. This will generally be the number
|
||||||
# of cards they use.
|
# of cards they use.
|
||||||
|
|
||||||
genUserURL @1 () -> ( url :Text );
|
genCardToken @1 () -> ( token :Data );
|
||||||
# Generate a new URL that can be used to access an user in a pseudonymized fashion.
|
# Generate a new Token that can be used to access an user in a pseudonymized fashion.
|
||||||
# This call is extremely cheap to make as the server will not store the URL.
|
# This call is extremely cheap to make as the server will not store this Token.
|
||||||
|
|
||||||
bind @2 ( url :Text, auth_key :Data ) -> ();
|
bind @2 ( token :Data, auth_key :Data ) -> ();
|
||||||
# Bind a given URL to a given auth key. The server will store both URL and key, so using
|
# Bind a given URL to a given auth key. The server will store both URL and key, so using
|
||||||
# this frequently will force the server to store large amounts of data.
|
# this frequently will force the server to store large amounts of data.
|
||||||
# Trying to bind a new key to an existing URL will fail.
|
# Trying to bind a new key to an existing URL will fail.
|
||||||
|
|
||||||
revoke @3 ( url :Text ) -> ();
|
unbind @3 ( token :Text ) -> ();
|
||||||
# Revoke the key associated with the given URL. This will fail all future attempts to use
|
# Unbind the key associated with the given token. This will fail all future attempts to use
|
||||||
# the card with the associated key.
|
# the card with the associated key.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user